基于c51功能最全的电子钟程序lcd1602Word下载.docx
- 文档编号:14098703
- 上传时间:2022-10-18
- 格式:DOCX
- 页数:39
- 大小:152.37KB
基于c51功能最全的电子钟程序lcd1602Word下载.docx
《基于c51功能最全的电子钟程序lcd1602Word下载.docx》由会员分享,可在线阅读,更多相关《基于c51功能最全的电子钟程序lcd1602Word下载.docx(39页珍藏版)》请在冰豆网上搜索。
//减1
sbitspeaker=P2^3;
//蜂鸣器
sbitkey4=P2^4;
//闹钟设计
bitcal_year=1;
//进入判断闰年标志位
bitleap_year;
//闰年标志位
bitcalculate=0;
//日加一标记
bitrun=0;
//闹钟标志
bitbeep=0;
//整点报时标志
//uint8num=0;
//调整是给的脉冲
uint8codestr1[]="
D:
"
;
uint8codestr2[]="
T:
uint8codestr3[]="
Wek"
uint8daystr[]="
2013-07-29"
//年月日格式
uint8timestr[]="
21:
30:
59N"
//时分秒格式
uint8daystr1[]="
//闹钟年月日格式
uint8timestr1[]="
//闹钟时分秒格式
uint8numweek=0;
//星期加1标记
charweek=1;
//星期
charsec=53;
//秒
charmin=50;
//分
charhour=23;
//时
uint8day=30;
//日
uint8month=9;
//月
uint16year=2013;
//年
charweek1=1;
//闹钟星期
charsec1=58;
//闹钟秒
charmin1=50;
//闹钟分
charhour1=23;
//闹钟时
uint8day1=30;
//闹钟日
uint8month1=9;
//闹钟月
uint16year1=2013;
//闹钟年
uint8WeekData1;
//闹钟星期标记
uint8number=0;
//定时
uint8WeekData;
//星期标记
uint8speaker_num;
//整点报时次数
uint8scan_key(void);
//函数声名
/*************************************************************************************
**********************更新LCD时间分离读取************************************
**************************************************************************************/
voidTimeChange()
{
//时分秒
timestr[7]=sec%10+'
0'
timestr[6]=sec/10+'
timestr[4]=min%10+'
timestr[3]=min/10+'
timestr[1]=hour%10+'
timestr[0]=hour/10+'
//年月日
daystr[9]=day%10+'
daystr[8]=day/10+'
daystr[6]=month%10+'
daystr[5]=month/10+'
daystr[3]=year%10+'
daystr[2]=year/10%10+'
daystr[1]=year/100%10+'
daystr[0]=year/1000+'
//星期
WeekData=week+'
}
**********************闹钟更新LCD时间分离读取************************************
voidTimeChange1()
timestr1[7]=sec1%10+'
timestr1[6]=sec1/10+'
timestr1[4]=min1%10+'
timestr1[3]=min1/10+'
timestr1[1]=hour1%10+'
timestr1[0]=hour1/10+'
daystr1[9]=day1%10+'
daystr1[8]=day1/10+'
daystr1[6]=month1%10+'
daystr1[5]=month1/10+'
daystr1[3]=year1%10+'
daystr1[2]=year1/10%10+'
daystr1[1]=year1/100%10+'
daystr1[0]=year1/1000+'
WeekData1=week1+'
**********************初始化系统定时器0************************************
voidsystimer0_init(void)
TMOD|=0x01;
//设置为1时用或(|)
TMOD&
=0xfd;
//设置为0时用与(&
)
TH0=0xDC;
//定时10ms
TL0=0x00;
EA=1;
ET0=1;
TR0=1;
EX0=1;
**********************闹钟时间设置********************************
voidnaozhong()
uint8number=1;
uint8a=0;
uint8b=0;
if(0==key4)
{
Delay1Ms(5);
if(0==key4)
{
a=1;
LCD_write_command(0xc0+9);
LCD_write_command(0x0f);
}
while(!
key4);
}
while(a)
{
if(0==key4)
a=0;
run=~run;
while(!
}
}
if(run)
timestr[9]='
Y'
else
N'
if(0==key1)
b=1;
key1);
while(b)
{
Delay1Ms(5);
if(0==key1)
{
number++;
if(4==number)
{
b=0;
}
while(!
if(number==1)
LCD_write_command(0xc0+9);
LCD_write_command(0x0f);
if(number==2)
LCD_write_command(0xc0+6);
if(number==3)
LCD_write_command(0xc0+3);
}
swi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 c51 功能 电子钟 程序 lcd1602
![提示](https://static.bdocx.com/images/bang_tan.gif)