六位数码管示时分秒.doc

六位数码管示时分秒.doc

ID:55589036

大小:80.50 KB

页数:5页

时间:2020-05-19

六位数码管示时分秒.doc_第1页
六位数码管示时分秒.doc_第2页
六位数码管示时分秒.doc_第3页
六位数码管示时分秒.doc_第4页
六位数码管示时分秒.doc_第5页
资源描述:

《六位数码管示时分秒.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、六位数码管显示时分秒,通过四个按键进行时间的控制。按下"调时"按键,时间显示停止;按下"选择时分秒"按键,数码管上方的发光二极管会点亮,对应着选中的要修改的时间是小时、分钟还是秒;按下"按下增加"按键,选中的时间将会增加;按下"完成"按键,时间继续显示。已通过proteus仿真,电路图如下所示,希望大家多多指点,积极留言://编程:jumpmysoul#include#defineulongunsignedlongchartab[10]={0xc0,0xf9,0xa4,0xb0

2、,0x99,0x92,0x82,0xf8,0x80,0x90};//共阳数码管数字码chartab_dp[10]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x70,0x10};//共阳数码管数字码(带小数点)#defineLEDP0//P0为数码管的段选#defineLIGHTP1//P1为时分秒位的指示灯#defineWSP2//P2为数码管的位选sbittime_change=P3^0;//P3^0为“调时”按键sbittime_choose=P3^

3、1;//P3^1为“选择时分秒”按键sbittime_inc=P3^2;//P3^2为“增加”按键sbittime_ok=P3^3;//P3^3为“完成”按键ulongt;ulongsec,min,hour,sec_ge,sec_shi,min_ge,min_shi,hour_ge,hour_shi;//定义秒,分,时,秒的个位,十位,分的个位,十位,时的个位,十位intchoose_n;//按下“选择时分秒”按键的次数intflag;//定义“调时”按键的标志位//--------------

4、-------------------------------------------------------voidinit();voiddisplay();voiddelay(int);voidtime_modify();//---------------------------------------------------------------------voidmain(){init();while(1){TR0=1;display();time_modify();}}//-----

5、----------------------------------------------------------------voidinit(){WS=t=LIGHT=choose_n=0;sec_ge=sec_shi,min_ge,min_shi,hour_ge,hour_shi=sec=min=hour=flag=0;TMOD=0x01;//定义定时器0工作与方式1TH0=(65536-5536)/256;//定时器赋初值TL0=(65536-5536)%256;EA=1;//开总中断和

6、T0中断ET0=1;}//--------------------------------延时子函数------------------------------------voiddelay(intx){inti,j;for(i=x;i>0l;i--)for(j=255;j>0;j--);}//-------------------------------显示子函数---------------------------------------voiddisplay(){inti=0;if(TF0

7、==1)//如果定时器溢出{TF0=0;//清中断标志位t++;if(t==10){t=0;sec++;//秒加1if(sec==60)//如果秒为60,则清零,分加1{sec=0;min++;}if(min==60)//如果分为60,则清零,时加1{min=0;hour++;}if(hour==24)//如果时为24,则清零{hour=0;}}}sec_ge=sec%10;//秒的个位和十位sec_shi=sec/10;min_ge=min%10;//分的个位和十位min_shi=min/10

8、;hour_ge=hour%10;//时的个位和十位hour_shi=hour/10;WS=0x20;//循环扫描LED=tab[sec_ge];delay(1);WS=0x10;LED=tab[sec_shi];delay(1);WS=0x08;LED=tab_dp[min_ge];delay(1);WS=0x04;LED=tab[min_shi];delay(1);WS=0x02;LED=tab_dp[hour_ge];delay(1);WS=0x01;LED=tab[hour_shi];d

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。