资源描述:
《单片机实现电子钟万年历秒表闹铃.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、.程序清单***************************************************************///项目名称:数字电子钟//项目设计者://项目设计时间:2011年12月23日//项目功能:电子钟上电或按键复位后能自动显示系统提示符“P.”,并不断闪烁进入时钟准备状态;第一次按电子钟启动/调整键,电子钟从0时0分0秒开始运行,进入时钟运行状态;再次按电子钟启动/调整键,则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按启动/调整键再次进入时钟运行状态。电子钟能显示年月日时分秒、秒表,任意时间闹铃,整点闹铃/
2、**************************************************************//*crystal=12Mhz*/#include#defineucharunsignedchar#defineuintunsignedintsbitkaig=P1^0;/*启动/调制键*/sbitksec=P1^1;/*调整秒/日/秒表开关*/sbitkmin=P1^2;/*调整分/月/显示秒表*/sbitkhour=P1^3;/*调整时/年的低两位*/sbitdate=P1^4;/*显示日期开关*/sbitbai=P1^
3、5;/*调整年高二位/整点闹钟开关*/sbitsave=P1^6;/*保存设置的闹铃时间*/sbitoffl=P1^7;/*闹铃开关*/sbitloud=P3^1;/*扬声器*/uintnum=0,sec=0,min=0,hour=0,hao=0,miao=0,fen=0,shi=0;//计时秒分时毫秒秒分时uintday=1,mou=1,year=2000,dx=0,co=0,stopnao=0,shour=0,smin=2;//日月年显示整点//闹铃开关时分ucharsecshi=0,secge=0,minshi=0,minge=0,hourshi=0,hour
4、ge=0;//时间秒个位秒十位分个位分十位时个位时十位uchari=0,flag=0,j=0,yearqian=0,yearbai=0;//上电标志电子钟启停标志秒表启动标志年千位年百位ucharmoushi=0,mouge=0,dayge=0,dayshi=0,yearshi=0,yearge=0;//月十位月个位日个位日十位年十位年个位ucharhaoshi=0,haoge=0,miaoshi=0,miaoge=0,fenge=0,fenshi=0,shige=0,shishi=0;//秒表毫秒十位个位秒十位秒个位分个位分十位时个位时十位Unsignedchar
5、codetable[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};/*********0***1****2****3****4****5****6****7****8***9************/....voiddelay(unsignedintz);//延时1ms函数voidtime0();//定时器0中断方式工作voidtime1();//定时器1中断方式工作voiddisplay();//显示子程序voidkeyscan();//键扫描键功能子程序/*********************
6、***********************************************///函数名:main()//功能:主函数//调用函数:display(),keyscan()/********************************************************************/main(){TMOD=0x11;P3=0X0FF;IP=0X02;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TH1=(65536-10000)/256;TL1=(65536-10000)%256;
7、EA=1;/*开启中断总开关*/ET0=1;/*开启定时器0中断*/i=0;/*控制显示,开关是否开启过*/TR0=0;/*关闭定时器*/ET1=0;TR1=1;while(1){keyscan();display();}}/********************************************************************///函数名:voiddelay(uintz)//功能:延时时间为1ms//输入参数:z,1ms计数//说明:总共延时时间为1ms乘以z,crystal=12Mhz/********************