首页 > 编程知识 正文

单片机万年历程序设计(单片机万年历(LCD12864、DS18B20、DS1302))

时间:2023-05-05 19:07:52 阅读:121977 作者:1469

我想要比单片机万年历(LCD12864、DS18B20、DS1302 )更多的项目私人wo! 另一方面,该电路由AT89C51最小电路基板、LCD12864显示模块、DS18B20温度模块、DS1302时钟模块构成。

主要功能是显示实时时间和当前温度。

二、运行效果

三、部分代码/*想要更多项目的私人wo! //includere g51.h # included s18 b 20.h # includeds 1302.h # include LCD 12864.hunsignedcharj [8]; sbit KEY1=P3^2; sbit KEY2=P3^3; sbit KEY3=P3^4; sbit独特的啤酒=P3^5; sbit wxdlb=P3^6; sbit lsdxxm=P3^7; uchar time0_count; //time0voidDelay10(void ) ) {unsigned char i,j; for(I=0; i255; I ) for ) j=0; j200; j; } unsigned char conver (unsigned chara,unsigned char b,unsignedcharc ) if((a0x0f )==0x0a ) a=a 6; if(a==b ) a=c; 返回a; (}main ) {bit flag_2=1; 比特标志_3=1; 比特标志_4=1; int i; char a; unsigned char choose=0x01; init液晶屏(; //LCD12864for(I=0; i13; I ) shownumber(6,i*8 16,i 14 ); }show32x32(0、0、0 ); show China (4,0,7 ); ShowChina(4、16、8 ); show China (4,32,9 ); show China (4,48,10 ); 显示编号(4,64,10 ); //被惯坏了的奥特曼read_serial(j; //ds1302硬门show number (2,32,j[2]40x03 ); show number (2,40,j[2]0x0f ); show China (2,48,3 ); show number (2,64,j[1]40x07 ); show number (2,72,j[1]0x0f ); show China (2,80,4 ); show number (2,96,j[0]40x07 ); show number (2,104,j[0]0x0f ); show China (2,112,5 ); show number (0,32,j[6]40x0f ); show number (0,40,j[6]0x0f ); show China (0,48,0 ); show number (0,64,j[4]40x01 ); show number (0,72,j[4]0x0f ); show China (0,80,1 ); show number (0,96,j[3]40x03 ); show number (0,104,j[3]0x0f ); show China (0,112,2 ); show China (4,104,6 ); show number (4,120,j[5]-10x07 ); while(1) if ) flag_2==1) read_serial(j ) j; //ds1302硬门elsewrite_date_time(j; a=Read_Temperature (; //ds18b20if(a0 )//) a=)-1 ) a; //典雅的人生(4,72,11 ); //else { show number (4,72,12 ); //show number (4,80,a/100 ); //被惯坏了的奥特曼show number (4,88,a/10 ); //show number (4,96,a ); //lsdxxm=1; wxdlb=0; 独特的啤酒=1; if(a40 ) {lsdxxm=0; wxdlb=1; 独特的啤酒=1; (if ) a30 ) {lsdxxm=1; wxdlb=1; 独特的啤酒=0; ((if ) key1==0)//() ) ) ) ) (()强壮的枫叶({delay10 ); if(key1==1) {delay10 ); flag_2=~flag_2; (if ) key2==0)/() ) ) ) ) () () ) ) Delay10 ); if(key2==1) {delay10 ); 选择; if (选择==8)选择=0x 01; ((if ) key3==0)/() ) ) ) ) ) (()强壮的枫叶({delay10 ); if(key3==1) {delay10 ); 交换机(选择) {case 1:j[6]; j [6]=转换器(j [6],0xa 0,0x 00 ); 布雷克; //case 2:j[5]; j[5]=conver(j[5],0x 07,0x 00 ); 布雷克; //case 3:j[4]; j[4]=conver(j[4],0x 13,0x 01 ); 布雷克; //case 4:j[3]; j[3]=conver(j[3],0x 32,0x 01 ); 布雷克; //case 5:j[2]; j[2]=conver(j[2],0x24,0x 00 ); 布雷克; //case 6:j[1]; j[1]=conver(j[1],0x 60,0x 00 ); 布雷克; //case 7:j[0]; j[0]=conver(j[0],0x 60,0x 00 ); 布雷克; //}if(flag_2==1) read_serial(j ); //ds1302硬门elsewrite_date_time(j;//zxd XYZ (2,32,j[2]40x03 ); show number (2,40,j[2]0x0f ); show China (2,48,3 ); show number (2,64,j[1]40x07 ); show number (2,72,j[1]0x0f ); show China (2,80,4 ); show number (2,96,j[0]40x07 ); show number (2,104,j[0]0x0f ); show China (2,112,5 );//show number (0,32,j[6]40x0f ); show number (0,40,j[6]0x0f ); show China (0,48,0 ); show number (0,64,j[4]40x01 ); show number (0,72,j[4]0x0f ); show China (0,80,1 ); show number (0,96,j[3]40x03 ); show number (0,104,j[3]0x0f ); show China (0,112,2 ); show China (4,104,6 ); show number (4,120,j[5]-10x07 ); }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。