2.8
来源:互联网 发布:赣州教育软件代理 编辑:程序博客网 时间:2024/05/01 07:35
#include<reg52.h>
extern void InitLcd1602();
extern void LcdShowStr(unsigned char x,unsigned char y,unsigned char *str);
void ShowBcdByte(unsigned char x,unsigned char y,unsigned char bcd);
extern void E2Read(unsigned char *buf,unsigned char addr,unsigned char len);
extern void E2Write(unsigned char *buf,unsigned char addr,unsigned char len);
unsigned char sec=0;
unsigned char min=0;
unsigned char hour=12 ;
bit flag = 0;
void main()
{
unsigned char buf[4];
EA = 1;
TMOD = 0x01;
TH0 = 0xFC;
TL0 = 0x67;
ET0 = 1;
TR0 = 1;
InitLcd1602();
LcdShowStr(4,1," : : ");
while(1)
{
E2Read(buf,0x20,sizeof(buf));
MemToStr(str,buf,sizeof(buf));
if(flag == 1)
{
flag = 0;
sec++;
if(sec >= 60)
{
sec = 0;
min++;
if(min >= 60)
{
min = 0;
hour++;
if(hour >= 24)
{
hour = 0;
}
}
}
buf[0] = sec;
buf[1] = min;
buf[2] = hour;
E2Write(buf,0x20,sizeof(buf));
}
ShowBcdByte(4,1,hour);
ShowBcdByte(7,1,min);
ShowBcdByte(10,1,sec);
}
}
void MemToStr(unsigned char *str,unsigned char *src,unsigned char len)
{
unsigned char tmp;
while(len--)
{
tmp = *src>>4;
if(tmp <= 9)
*str++ = tmp + '0';
else
*str++ = tmp - 10 + 'A';
tmp = *src&0x0F;
if(tmp <= 9)
*str++ = tmp + '0';
else
*str++ = tmp - 10 + 'A';
*str++ = ' ';
src++;
}
}
void ShowBcdByte(unsigned char x,unsigned char y,unsigned char bcd)
{
unsigned char str[3];
str[0] = (bcd/10)+'0';
str[1] = (bcd%10)+'0';
str[2] = '\0';
LcdShowStr(x,y,str);
}
void InterruptTimer0() interrupt 1
{
static unsigned int cnt = 0;
TH0 = 0xFC;
TL0 = 0x67;
cnt++;
if(cnt >= 1000)
{
cnt = 0;
flag = 1;
}
}
extern void InitLcd1602();
extern void LcdShowStr(unsigned char x,unsigned char y,unsigned char *str);
void ShowBcdByte(unsigned char x,unsigned char y,unsigned char bcd);
extern void E2Read(unsigned char *buf,unsigned char addr,unsigned char len);
extern void E2Write(unsigned char *buf,unsigned char addr,unsigned char len);
unsigned char sec=0;
unsigned char min=0;
unsigned char hour=12 ;
bit flag = 0;
void main()
{
unsigned char buf[4];
EA = 1;
TMOD = 0x01;
TH0 = 0xFC;
TL0 = 0x67;
ET0 = 1;
TR0 = 1;
InitLcd1602();
LcdShowStr(4,1," : : ");
while(1)
{
E2Read(buf,0x20,sizeof(buf));
MemToStr(str,buf,sizeof(buf));
if(flag == 1)
{
flag = 0;
sec++;
if(sec >= 60)
{
sec = 0;
min++;
if(min >= 60)
{
min = 0;
hour++;
if(hour >= 24)
{
hour = 0;
}
}
}
buf[0] = sec;
buf[1] = min;
buf[2] = hour;
E2Write(buf,0x20,sizeof(buf));
}
ShowBcdByte(4,1,hour);
ShowBcdByte(7,1,min);
ShowBcdByte(10,1,sec);
}
}
void MemToStr(unsigned char *str,unsigned char *src,unsigned char len)
{
unsigned char tmp;
while(len--)
{
tmp = *src>>4;
if(tmp <= 9)
*str++ = tmp + '0';
else
*str++ = tmp - 10 + 'A';
tmp = *src&0x0F;
if(tmp <= 9)
*str++ = tmp + '0';
else
*str++ = tmp - 10 + 'A';
*str++ = ' ';
src++;
}
}
void ShowBcdByte(unsigned char x,unsigned char y,unsigned char bcd)
{
unsigned char str[3];
str[0] = (bcd/10)+'0';
str[1] = (bcd%10)+'0';
str[2] = '\0';
LcdShowStr(x,y,str);
}
void InterruptTimer0() interrupt 1
{
static unsigned int cnt = 0;
TH0 = 0xFC;
TL0 = 0x67;
cnt++;
if(cnt >= 1000)
{
cnt = 0;
flag = 1;
}
}
0 0
- 2.8
- 2.8
- 2.8 DOM
- A4Proxy 2.8
- XYTipsWindow 2.8
- hdu1.2.8
- 【例 2.8】
- 2.8 list
- 2.8.1
- 2.8.2
- 2.8 总结
- OSWorkFlow 2.8 发布
- phpmyadmin 2.8配置
- Html Password v3.2.8
- phpMyAdmin-2.8.2安装
- 2.8有雨
- DotFix NiceProtect v 2.8
- 功夫显IP 2.8
- JavaScript学习
- 转:ueditor使用小结
- oracle 导入导出命令
- Java 工厂模式简述
- Writer
- 2.8
- GOP/ 码流 /码率 / 比特率 / 帧速率 / 分辨率【转】
- 蓝桥杯 历届试题 九宫重排 BFS Java
- 逻辑运算符 ||, && ,| 三目运算符 使用分析
- Activity 启动模式
- 搭建Android源代码编译环境-linux
- Android中WebView加载页面出现白屏解决方案
- 观音山一天游
- 视频云直播中的关键帧技术探秘