电子表程序设计.ppt
上传人:天马****23 上传时间:2024-09-11 格式:PPT 页数:23 大小:382KB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

电子表程序设计.ppt

电子表程序设计.ppt

预览

免费试读已结束,剩余 13 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

3.6.1设计任务图3-6-1硬件电路图3.6.2系统功能分析二、显示时间输出显示终端为6位数码管,从左到右分别显示时分秒,小时、分钟和秒各占2位数码管共6位。在调整过程中,要求对应的调整位置以0.5的速度进行闪烁,以示区别3.6.3实例代码voiddelay(ucharx)//延迟函数{while(x--);}voidkey_scan(void)//按键扫描函数{if(key1==0)//按键1{key1=1;delay(3000);if(key1==0)key1_down=1;}if(key1==1&&key1_down==1){key1_mode++;key1_down=0;if(key1_mode==4)key1_mode=1;}if(key2==0)//按键2{key2=1;delay(3000);if(key2==0)key2_down=1;}if(key2==1&&key2_down==1&&key1_mode==1){key2_down=0;sec++;}if(key2==1&&key2_down==1&&key1_mode==2){key2_down=0;min++;}if(key2==1&&key2_down==1&&key1_mode==3){key2_down=0;hou++;}if(key3==0)//按键3{key3=1;delay(3000);if(key3==0)key3_down=1;}if(key3==1&&key3_down==1&&key1_mode==1){key3_down=0;sec--;if(sec<0)sec=59;}if(key2==1&&key2_down==1&&key1_mode==2){key3_down=0;min--;if(min<0)min=59;}if(key2==1&&key2_down==1&&key1_mode==3){key3_down=0;hou--;if(hou<0)sec=23;}if(key4==0)//按键4{key4=1;delay(3000);if(key4==0)key4_down=1;}if(key4==1&&key4_down==1){key4_down=0;key1_mode=0;}}voidtimer0_init(void)//初始化{TMOD=0x01;TH0=0xec;TL0=0x78;TR0=1;EA=1;ET0=1;}voidtimer0_isr(void)interrupt1//中断{TR0=0;EA=0;TH0=0xec;TL0=0x78;TR0=1;EA=1;i++;if(i>=100)//半秒{flash=~flash;k++;i=0;}if(k>=2)//刚好1秒{k=0;sec++;}if(sec>=60){sec=0;min++;}if(min>=60){min=0;hou++;}P2=1;if(key1_mode==0)//正常显示{switch(j){case0:P0=seven_seg[sec%10];break;case1:P0=seven_seg[sec/10];break;case2:P0=seven_seg[min%10]&0x7f;break;case3:P0=seven_seg[min/10];break;case4:P0=seven_seg[hou%10]&0x7f;break;case5:P0=seven_seg[hou/10];break;}P2=seven_bit[j];j++;if(j==6)j=0;}if(key1_mode==1)//选定秒{k=0;switch(j){case0:P0=seven_seg[sec%10]|flash;break;case1:P0=seven_seg[s