版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Click to add your text上位机控制调整上位机控制调整24小时制电子时钟小时制电子时钟硬件设计上位机控制调整上位机控制调整24小时制电子时钟小时制电子时钟程序设计#include #include #define LCD_DAT P1 /P1口宏定义sbit LCD_EN=P20; /1602使能端sbit LCD_RW=P21;/1602rw端sbit LCD_RS=P22;/1602rs 端sbit KEY1=P00;/选项键上位机控制调整上位机控制调整24小时制电子时钟小时制电子时钟程序设计sbit KEY2=P01;/加按键sbit KEY3=P02;/减按键sbit
2、 KEY4=P03;/退出键bit flag_1S; /1秒标志位bit flag2; /按键修改标志位bit KEY1_TEMP1,KEY1_TEMP2,KEY1_TEMP3;/去抖缓冲变量上位机控制调整上位机控制调整24小时制电子时钟小时制电子时钟程序设计bit KEY2_TEMP1,KEY2_TEMP2,KEY2_TEMP3;bit KEY3_TEMP1,KEY3_TEMP2,KEY3_TEMP3;bit KEY4_TEMP1,KEY4_TEMP2,KEY4_TEMP3;unsigned char sec,min,hour,number,fun; /fun值:1小时2调分3调4退出。un
3、signed char code cursor_place=0,5,8,11;/光标闪烁位置 unsigned char code data0=0123456789;上位机控制调整上位机控制调整24小时制电子时钟小时制电子时钟程序设计 unsigned char RX_Data=0,0,0,0,0;unsigned char num=0;/*延时函数*/ void delay(unsigned int z)unsigned int x,y;for(x=z;x0;x-)for(y=120;y0;y-);上位机控制调整上位机控制调整24小时制电子时钟小时制电子时钟程序设计/*LCD写指令*/voi
4、d LCD_write_com(unsigned char com) LCD_RS=0;LCD_RW=0;LCD_EN=0;LCD_DAT=com;LCD_EN=1;delay(5);LCD_EN=0;/*LCD写数据*/void LCD_write_data(unsigned char dat) 上位机控制调整上位机控制调整24小时制电子时钟小时制电子时钟程序设计 LCD_RS=1;LCD_RW=0;LCD_EN=0;LCD_DAT=dat;LCD_EN=1;delay(5);LCD_EN=0;/*LCD显示*/void disp_string(unsigned char addr,char
5、 *string) unsigned char len,i,k;len=strlen(string);/计算字符串大小 上位机控制调整上位机控制调整24小时制电子时钟小时制电子时钟程序设计if(addr0 x10) LCD_write_com(0 x80+addr);for(i=0;ilen;i+)k=addr+i;if(k=0 x10)LCD_write_com(0 x80+0 x40); LCD_write_data(*(string+i);k=0; else 上位机控制调整上位机控制调整24小时制电子时钟小时制电子时钟程序设计LCD_write_com(addr-0 x10+0 xC0)
6、;for(i=0;i59) /分 sec=0;min+;if(min59) /小时 min=0;hour+; if(hour23) hour=0;上位机控制调整上位机控制调整24小时制电子时钟小时制电子时钟程序设计void timedisplay(unsigned char add,unsigned char dat)/时间显示 LCD_write_com(0 x80+add); LCD_write_data(data0dat/10); LCD_write_data(data0dat%10); void display()/总显示timedisplay(5,hour);timedisplay(
7、8,min);timedisplay(11,sec);上位机控制调整上位机控制调整24小时制电子时钟小时制电子时钟程序设计/*按键处理*/void key_scan() if (KEY1_TEMP1&KEY1_TEMP2&(KEY1_TEMP3)&(KEY1) /光标显示位置fun+;/通过数值确定光标位置if(fun0)&(fun=4)LCD_write_com(0 x0c);fun=0;flag2=0;上位机控制调整上位机控制调整24小时制电子时钟小时制电子时钟程序设计KEY1_TEMP1=KEY1_TEMP2; /去抖动KEY1_TEMP2=KEY1_TE
8、MP3;KEY1_TEMP3=KEY1;if(KEY2_TEMP1&KEY2_TEMP2&(KEY2_TEMP3)&(KEY2) /加按键 switch(fun) /通过fun值,确定修改某时间变量 case 1 :hour+;if(hour23) hour=0;timedisplay(5,hour);LCD_write_com(0 x80+6);break;case 2 :min+;if(min59) min=0;timedisplay(8,min);上位机控制调整上位机控制调整24小时制电子时钟小时制电子时钟程序设计LCD_write_com(0 x80+9);br
9、eak;case 3 :sec+;if(sec59) sec=0;timedisplay(11,sec);LCD_write_com(0 x80+12);break;上位机控制调整上位机控制调整24小时制电子时钟小时制电子时钟程序设计KEY2_TEMP1=KEY2_TEMP2;KEY2_TEMP2=KEY2_TEMP3;KEY2_TEMP3=KEY2;if(KEY3_TEMP1&KEY3_TEMP2&(KEY3_TEMP3)&(KEY3) /减按键 switch(fun) case 1 :hour-;上位机控制调整上位机控制调整24小时制电子时钟小时制电子时钟程序设计i
10、f(hour23) hour=23;timedisplay(5,hour);LCD_write_com(0 x80+6);break;case 2 :min-;if(min59) min=59;timedisplay(8,min);上位机控制调整上位机控制调整24小时制电子时钟小时制电子时钟程序设计LCD_write_com(0 x80+9);break;case 3 :sec-;if(sec59) sec=59;timedisplay(11,sec);LCD_write_com(0 x80+12);break;上位机控制调整上位机控制调整24小时制电子时钟小时制电子时钟程序设计KEY3_TE
11、MP1=KEY3_TEMP2;KEY3_TEMP2=KEY3_TEMP3;KEY3_TEMP3=KEY3;if(KEY4_TEMP1&KEY4_TEMP2&(KEY4_TEMP3)&(KEY4) /退出调时flag2=0;fun=0;LCD_write_com(0 x0c);上位机控制调整上位机控制调整24小时制电子时钟小时制电子时钟程序设计KEY4_TEMP1=KEY4_TEMP2;KEY4_TEMP2=KEY4_TEMP3;KEY4_TEMP3=KEY4; /*总初始化*/void init()init_t1();init_1602();disp_string(0,
12、TiMe:00:00:00);上位机控制调整上位机控制调整24小时制电子时钟小时制电子时钟程序设计/*主函数体*/void main()init();while(1)key_scan();if(flag2=0)time_chuli();/时间函数if(RX_Data0=0 x55)/串口显示RX_Data0=0 x00;hour=RX_Data1;上位机控制调整上位机控制调整24小时制电子时钟小时制电子时钟程序设计min=RX_Data2;sec=RX_Data3; display();/显示void time_T0() interrupt 1 /定时器 T0中断TH0=0 x3C;TL0=0 xB0;number+;if(number=20)上位机控制调整上位机控制调整24小时制电子时钟小时制电子时钟程序设计number=0;flag_1S=1;void ZD1() interrupt 4 /串口中断函数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026福建厦门市教育局直属学校招聘事业单位专业技术岗位骨干教师6人考试备考题库及答案解析
- 2026顺义区大孙各庄社区卫生服务中心第一次编外招聘4人参考考试试题及答案解析
- 2026辽宁大连理工大学教授 - 海外优青岗位招聘参考考试试题及答案解析
- 突泉县六户镇巨力学校2025-2026学年度第一学期教学质量检测五年级期末科学试题
- 吉林省吉林市昌邑区联考2025-2026学年八年级上学期期末考试物理试题(含答案)
- 2026年中原油田考试题库及答案
- 2026年辩证法的考试题目及答案
- 2026年孕产妇健康管理考试题目及答案
- 广州专用中考试卷及答案
- 2026年反洗钱远程培训终结性考试题库带答案(能力提升)
- 2025年安全教育主题课件
- 2025年广东茂名市属国有企业招聘49人笔试参考题库附带答案详解(3卷)
- 2026元旦主题班会:马年猜猜乐猜成语 (共130题)【课件】
- 2026年中级经济师之中级经济师金融专业考试题库300道含完整答案(各地真题)
- 2026年安全教育培训计划
- 2026年太原城市职业技术学院单招综合素质考试题库汇编
- 2026年盘锦职业技术学院单招职业技能测试题库及参考答案详解一套
- 倒运物料合同范本
- 2026年关于护士长工作计划4篇
- 2025至2030全球及中国手机用锂离子电池行业调研及市场前景预测评估报告
- 【MOOC】C程序设计-西北工业大学 中国大学慕课MOOC答案
评论
0/150
提交评论