




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
电子时钟基于AT89c51单片机的设计电子时钟原理图开机显示仿真图: 当按下仿真键时电子时钟开机页面显示第一行显示JD12102Class-16,第二行显示动态TINE:12:00:04。 电子时钟调时间仿真图:当按下K1为1次时,光标直接跳到电子时钟的秒,可以按下K2进行调节。当按下K1为2次时,光标直接跳到电子时钟的分,可以按下K2进行调节。当按下K1为3次时,光标直接跳到电子时钟的时,可以按下K2进行调节。当按下K1为4次时,光标直接跳完,电子时钟可以进行正常计时。电子时钟闹钟调节仿真:当按下K3为1次时,直接跳到闹钟显示界面00:00:00,按下K2可以对闹钟的秒进行调节。当按下K3为2次时,可以调到分,按下K2可以对闹钟的分进行调节。当按下K3为3次时,可以调到时,按下K2可以对闹钟的时进行调节。当按下K3为4次时,直接跳到计时界面,对闹钟进行到计时,时间到可以发出滴滴声。#include#define uchar unsigned char /预定义一下#define uint unsigned intuchar table=JD12102Class-21;/显示内容sbit lcden=P34; /寄存器EN片选引脚sbit lcdrs=P35; /寄存器RS选择引脚sbit beep=P36; /接蜂鸣器extern void key1();extern void key2();extern void key3();uchar num,hour=12,minite,second,ahour,aminite,asecond,a,F_k1,F_k2,F_k3; /定义变量void delay(uint z) /延时 uint x,y;for(x=z;x0;x-)for(y=110;y0;y-); void write_com(uchar com)lcdrs=0;P0=com; /送出指令,写指令时序delay(5);lcden=1;delay(5);lcden=0;void write_data(uchar date)lcdrs=1;P0=date;/送出数据,写指令程序delay(5);lcden=1;delay(5);lcden=0;void write_add(uchar add,uchar date)uchar aa,bb;aa=date/10;bb=date%10;write_com(0x80+add);write_data(0x30+aa);write_data(0x30+bb);void init() /初始化lcden=0;write_com(0x38); /设置16*2显示,5*7点阵write_com(0x0c); /开显示,不显示光标write_com(0x06);/地址加1,写入数据是光标右移1位write_com(0x01); /清屏write_com(0x80); /起点为第一行第一个字符开始void display(uchar h,uchar m,uchar s) /显示设计程序write_com(0x80+0x16);write_com(0xC0+0x00);write_data(T);write_data(I);write_data(M);write_data(E); write_data(:);write_data(0x30+(h/10);write_data(0x30+(h%10);write_data(:);write_data(0x30+(m/10);write_data(0x30+(m%10);write_data(:);write_data(0x30+(s/10);write_data(0x30+(s%10);write_data( );write_data( );write_data( );void main()init();TMOD=0X01; /设置T0定时方式1TH0=(65535-50000)/256; /设置初值TL0=(65535-50000)%256;EA=1; /开总中断TR0=1;/启动T0ET0=1;for(num=0;num16;num+)/依次读出数据write_data(tablenum);while(1)key1();key2();key3();if(ahour=hour&aminite=minite&second10) /时间到闹钟响beep=beep;if(F_k1=0&F_k3=0)/K1和K3按下次数为零就直接显示时分秒display(hour,minite,second);void timer0() interrupt 1 /T0中断函数 TH0=(65535-50000)/256; /装载计数器初值 TL0=(65535-50000)%256; a+; if(a=20) /进位设置60秒进1分,60分进1时,24时进0时a=0;second+;if(second=60)second=0;minite+;if(minite=60)minite=0;hour+;if(hour=24)hour=0;#include /调时间程序#define uchar unsigned char#define uint unsigned intsbit k1=P10;/定义3个变量sbit k2=P11;sbit k3=P12;extern uchar F_k1,F_k3,second,minite,hour,ahour,aminite,asecond; /预定义变量extern void write_com(uchar com);extern void write_add(uchar add,uchar date);extern void display(uchar h,uchar m,uchar s);void delay_key(int i)while(i-);void key1() if(k1=0) /按下K1零次时,直接计时与开机显示delay_key(100);if(k1=0)TR0=0;while(!k1);F_k1+;if(F_k1=4)F_k1=0; write_com(0x0c);TR0=1;if(F_k1=1|F_k3=1)write_com(0xC0+0x0c);write_com(0x0f);if(F_k1=2|F_k3=2)write_com(0xC0+0x09);if(F_k1=3|F_k3=3)write_com(0xC0+0x06);void key2()if(k2=0)delay_key(100);while(!k2);if(F_k1=1) /按下K1一次时设置闹钟的秒second+;if(second=60)second=0;write_add(0x4b,second);if(F_k1=2) /按下K3两次时设置闹钟的分minite+;if(minite=60)minite=0;write_add(0x48,minite);if(F_k1=3) / 按下K1三次时设置闹钟的时hour+;if(hour=24)hour=0;write_add(0x45,hour);if(F_k3=1) /按下K3一次时设置闹钟的秒 asecond+; if(asecond=60)asecond=0; write_add(0x4b,asecond);if(F_k3=2) /按下K3两次时设置闹钟的分aminite+;if(aminite=60)aminite=0;write_add(0x48,aminite);if(F_k3=3) /按下3三次时设置闹钟的时ahour+;if(ahour=24)ahour=0;writ
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工艺方案评审意见(3篇)
- 公司员工医疗管理制度
- 公园特许经营招商方案(3篇)
- 军品生产现场管理制度
- 县级电力营销管理制度
- 单位独立运行管理制度
- 公司计件员工管理制度
- 地下遗址改造方案(3篇)
- 广电播出变更管理制度
- DB62T 4485-2021 葡萄抗寒性评价规范
- 消毒产品加工合同范本
- 重庆市藻渡水库工程环境影响报告书-上报
- 福建省宁德市2023-2024学年八年级下学期期末考试语文试题
- QCT457-2023救护车技术规范
- 整形美容科发展规划书
- 国际谈判与国际公文写作-知到答案、智慧树答案
- 抑郁障碍课件
- 半月板损伤的保养与治疗
- GB/T 144-2024原木检验
- 交流与传承-东西文化中碰撞中的艺术嬗变
- 丝绸行业市场分析
评论
0/150
提交评论