【精选】数字钟显示时间日期温度C语言程序,AT89C51单片机1602液晶显示时钟程序 |
您所在的位置:网站首页 › lcd显示时钟程序 › 【精选】数字钟显示时间日期温度C语言程序,AT89C51单片机1602液晶显示时钟程序 |
这是一款AT89C51单片机1602液晶显示时钟程序,功能主要有:温度、时间、日期、星期显示以及调节。有多级菜单显示。第一级菜单调节时间、日期。第二级菜单显示自定义信息。 #include"reg52.h" #include"intrins.h" #define uchar unsigned char #define uint unsigned int sbit DQ=P2^1; sbit light=P2^7; sbit k1=P1^0; sbit k2=P1^1; sbit k3=P1^2; sbit k4=P1^3; sbit k5=P1^4; sbit LED1=P1^3; sbit LED2=P1^4; sbit DS1302_CE=P3^5; sbit DS1302_IO=P3^6; sbit DS1302_SCLK=P3^7; sbit LCD1602_RS=P2^4; sbit LCD1602_RW=P2^5; sbit LCD1602_EN=P2^6; extern uchar wendu[4]; extern void get_wendu(); extern void LCD1602_init(); extern void LCD1602_wcmd(uchar cmd); extern void LCD1602_wdat(uchar dat); extern void LCD1602_pos(uchar x,bit y); //定义显示位置,x为列,y为行,0上1下 extern void LCD1602_dischar(uchar x,bit y,uchar dat); //在指定位置显示字符 extern void LCD1602_prints(uchar x,bit y,uchar *p); //显示字符串 extern uchar dt[7]; extern void set_time(); extern void get_time(); extern void DS1302_init(); uchar dt[7]; void DS1302_write_byte(uchar dat) { char i; for(i=0;i uchar i; uchar dat = 0; for(i=0;i DS1302_CE=0; _nop_(); _nop_(); DS1302_SCLK=0; _nop_(); _nop_(); DS1302_CE=1; _nop_(); _nop_(); DS1302_write_byte(address); DS1302_write_byte(dat); DS1302_SCLK=1; DS1302_CE=0; } uchar DS1302_read(uchar address) { uchar dat; DS1302_CE=0; _nop_(); _nop_(); DS1302_SCLK=0; _nop_(); _nop_(); DS1302_CE=1; _nop_(); _nop_(); DS1302_write_byte(address); dat =DS1302_read_byte(); DS1302_SCLK=1; DS1302_CE=0; dat=dat/16*10+dat; return dat; } void DS1302_init() { DS1302_write(0x8e,0x00); DS1302_write(0x80,0x00); DS1302_write(0x82,0x00); DS1302_write(0x84,0x12); DS1302_write(0x86,0x10); DS1302_write(0x88,0x11); DS1302_write(0x8a,0x06); DS1302_write(0x8c,0x12); DS1302_write(0x8e,0x80); } void set_time() { uchar i,j=0x80; for(i=0;i DS1302_write(j,dt[i]); j+=2; } DS1302_write(0x8e,0x80); } void get_time() { dt[0] =DS1302_read(0x81); dt[1] =DS1302_read(0x83); dt[2] =DS1302_read(0x85); dt[3] =DS1302_read(0x87); dt[4] =DS1302_read(0x89); dt[5] =DS1302_read(0x8b); dt[6] =DS1302_read(0x8d); } void chaongdiaon() //充电 { |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |