上位机控制调整小时制电子时钟硬件设计与程序_第1页
上位机控制调整小时制电子时钟硬件设计与程序_第2页
上位机控制调整小时制电子时钟硬件设计与程序_第3页
上位机控制调整小时制电子时钟硬件设计与程序_第4页
上位机控制调整小时制电子时钟硬件设计与程序_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论