



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
用89C2051的最简单的电子钟(含电路图及用C51编写的源程序清单)附:用C51编写的源程序清单(已由实验板运行通过)#include /*包含器件配置文件*/#define uchar unsigned char#define uint unsigned intchar DATA_7SEG10=0xC0,0xF9,0xA4,0xB0,0x99, 0x92,0x82,0xF8,0x80,0x90,;/*09的数码管段码*/uchar hour=0,min=0,sec=0;/*时、分、秒单元清零*/uchar deda=0; /*5mS计数单元清零*/ uchar t_hour=0,t_min=0; /*闹时时、分单元清零*/bit d_05s=0; /*0.5秒标志*/bit o_f=0; /*闹时启/停标志*/uchar set=0;/*模式设定标志*/uchar m=0;uchar flag=0;/*RAM掉电标志*/void delay(uint k);/*延时子函数*/void conv();/*走时单元转换*/void p_out();/*判别闹时到否子函数*/void dirve();/*走时时间输出驱动子函数*/void t_dirve();/*闹时时间输出驱动子函数*/*闹时启/停子函数*/void time1_of()uchar m;if(P3_7=0)delay(1);if(P3_7=0)o_f=1;for(m=0;m30;m+)t_dirve();P1=DATA_7SEGt_min/10;P3=0xfd;delay(1);if(P3_1=0)if(o_f=1)P1_7=0;else P1_7=1;delay(1);if(P3_5=0)delay(1);if(P3_5=0)o_f=0;for(m=0;m=4)set=0;if(set=1)flag=0x55;F0:if(P3_4=0)goto F0;/*按键未释放,在此等候*/*延时子函数*/void delay(uint k)uint i,j;for(i=0;ik;i+)for(j=0;j121;j+);/*5mS定时中断服务子函数*/void zd(void) interrupt 1 TH0=-(4800/256);TL0=-(4800%256);deda+;/*调整走时时间*/void time_adj()uchar m;if(P3_5=0)delay(1);if(P3_5=0)hour+;if(hour=24)hour=0;for(m=0;m30;m+)dirve();if(P3_2=0)P1_7=0;else P1_7=1;delay(1);if(P3_7=0)delay(1);if(P3_7=0)min+;if(min=60)min=0;for(m=0;m30;m+)dirve();if(P3_2=0)P1_7=0;else P1_7=1;delay(1);/*调整闹时时间*/void time1_adj()uchar m;if(P3_5=0)delay(1);if(P3_5=0)t_hour+;if(t_hour=24)t_hour=0;for(m=0;m30;m+)t_dirve();if(P3_7=0)delay(1);if(P3_7=0)t_min+;if(t_min=60)t_min=0;for(m=0;m30;m+)t_dirve();/*时、分、秒单元及走时单元转换*/void conv()if(deda=200)sec+;deda=0;if(sec=60)min+;sec=0;if(min=60)hour+;min=0;if(hour=24)hour=0;/*走时时间输出驱动子函数*/void dirve()P1=DATA_7SEGhour/10;P3=0xf7;delay(1);P1=DATA_7SEGhour%10;P3=0xfb;delay(1);if(d_05s=1)if(P3_2=0)P1_7=0;else P1_7=1;delay(1);P1=DATA_7SEGmin/10;P3=0xfd;delay(1);if(o_f=1)if(P3_1=0)P1_7=0;else P1_7=1;delay(1);P1=DATA_7SEGmin%10;P3=0xfe;delay(1);/*闹时时间输出驱动子函数*/void t_dirve()P1=DATA_7SEGt_hour/10;P3=0xf7;delay(1);if(P3_3=0)P1_7=0;else P1_7=1;delay(1);P1=DATA_7SEGt_hour%10;P3=0xfb;delay(1);P1=DATA_7SEGt_min/10;P3=0xfd;delay(1);P1=DATA_7SEGt_min%10;P3=0xfe;delay(1);/*判别闹时到否子函数*/void p_out()if(o_f=1)if(t_hour=hour)if(t_min=min)if(P3_0=0)P1_7=0;delay(1);else P1_7=1;/*主函数*/void main()init_timer(); /*定时器T0初始化*/while(1)/*无限循环*/if(P3_4=0)scan_key();/*有按键,调用按键扫描子函数*/switch(set)/*根据set键值散转*/case 0:time();break;/*走时时间程序*/case 1:time1_adj();break;/*闹时时间调整*/case 2:time_adj();break;/*走时时间调整*/case 3:time1_of();break;/*启/停闹时*/default:break;/*其它退出*/ if(flag!=0x55)/*判断掉电标志*/for(m=0;m100;m+)/*点亮四个8字400mS*/P1=0x80;P3=0xf7;de
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 听力音符测试题及答案
- 乡村特岗考试试题及答案
- 2024年老年三区护理理论试题及答案
- (2025)工业机器人系统操作员技术及理论知识竞赛试题库(附含参考答案)
- 三级营销员模考试题含答案
- 免疫规划培训试题及答案2024
- 2025年建筑师专业注册资格证考试题库与答案
- 2025年学校、托幼机构传染病防控工作培训考试试题(附答案)
- 《汽车使用性能与检测》配套教学检测:期末测试题
- 早产的临床诊断与治疗指南考核试题及答案
- MSOP(测量标准作业规范)测量SOP
- 年度安全生产投入台账(详细模板)
- 【波司登羽绒服企业研发支出的会计处理】9000字论文
- 营养风险筛查(NRS2002)解读
- 食材配送服务方案投标方案(技术标)
- 读书分享读书交流会《活着》课件
- 2020-2021成都电子科技大学实验中学小学数学小升初试题及答案
- 农业与食品行业营销方案
- CBL教学法应用介绍
- DB43-T 140-2023 造林技术规程
- 过敏性休克病例讨论
评论
0/150
提交评论