<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 12864液晶電子時(shí)鐘+溫度顯示

          12864液晶電子時(shí)鐘+溫度顯示

          作者: 時(shí)間:2012-08-06 來(lái)源:網(wǎng)絡(luò) 收藏

          void delay(uint t)
          {
          uint i,j;
          for(i=120;i>0;i--);
          for(j=t;j>0;j--);
          }
          /**********************************************************
          void delay_us(uchar t) //延時(shí)計(jì)算公式:5+2*t
          {
          while(--t);
          }
          ***********************************************************/
          void read_busy()
          {
          EN=0;
          RW=1;
          RS=0;
          EN=1;
          while(P00x80);
          EN=0;
          }
          void write_com(uchar com) //寫命令
          {
          read_busy();
          EN=1;
          RS=0;
          RW=0;
          P0=com;
          delay(1);
          EN=0;

          }
          void write_dat(uchar dat) //寫數(shù)據(jù)
          {
          read_busy();
          EN=1;
          RS=1;
          RW=0;
          P0=dat;
          delay(1);
          EN=0;
          }

          控制閃爍的函數(shù)如下:

          void shan(void)
          {
          uchar i;
          write_com(0x94); //將數(shù)據(jù)寫在0x94地址上
          if(f==1) //按鍵按一下年開(kāi)份始閃爍
          {
          {
          tab2[8]=' '; //向要閃爍的位置寫空格
          tab2[9]=' ';
          }
          for (i=8;i=15;i++)
          {
          write_dat(tab2[i]); //寫數(shù)據(jù)
          }
          goto return1;
          }
          if(f==2) //按鍵按兩下月份開(kāi)始閃爍
          {
          {
          tab2[11]=' ';
          tab3[12]=' ';

          }

          for (i=8;i=15;i++)
          {
          write_dat(tab2[i]);
          }
          goto return1;
          }
          if(f==3) //按鍵按三下,日期開(kāi)始閃爍
          {
          {
          tab2[14]=' ';
          tab2[15]=' ';
          }
          for (i=8;i=15;i++)
          {
          write_dat(tab2[i]);
          }

          goto return1;
          }
          write_com(0x8b);
          if(f==4) //按鍵按四下,小時(shí)開(kāi)始閃爍
          {
          {
          tab3[6]=' ';
          tab3[7]=' ';
          }
          for (i=6;i=13;i++)
          {
          write_dat(tab3[i]);
          }

          goto return1;
          }
          if(f==5) //按鍵按五下,分鐘開(kāi)始閃爍
          {
          {
          tab3[9]=' ';
          tab3[10]=' ';
          }
          for (i=6;i=13;i++)
          {
          write_dat(tab3[i]);
          }

          goto return1;
          }
          if(f==6) //按鍵按六下,秒開(kāi)始閃爍
          {
          {
          tab3[12]=' ';
          tab3[13]=' ';
          }
          for (i=6;i=13;i++)
          {
          write_dat(tab3[i]);
          }

          goto return1;
          }
          if(f==7) //按鍵按七下,調(diào)時(shí)完畢,停止閃爍,開(kāi)始走時(shí)
          {
          {
          for (i=6;i=13;i++)
          {
          write_dat(tab3[i]);
          TR0=1; //時(shí)間設(shè)定完畢,打開(kāi)定時(shí)器
          }
          }
          }

          return1:_nop_();

          }

          顯示數(shù)組:

          uchar code tab1[]="時(shí)鐘 + ";
          uchar tab2[16]="日期:20";
          uchar tab3[14]="時(shí)間:";
          uchar tab4[12]="當(dāng)前溫度:" ;

          定時(shí)器初始化,ASCii碼轉(zhuǎn)換

          /**********************************************************
          程序功能:液晶顯示電子時(shí)鐘(包括年月日時(shí)分秒),具有閃爍,移位,調(diào)時(shí)功能
          并顯示當(dāng)前溫度
          程序編譯環(huán)境:keil4
          程序運(yùn)行環(huán)境:HJM-1
          整理人:張家越 QQ:435835181
          整理時(shí)間:2011-04-17

          *********************************************************/
          #include reg52.h>
          #include"lcd.h"
          #include intrins.h>
          #include "flash.h"
          #include"scan.h"
          #include "18B20.h"
          uchar tempreture[2];
          #define uchar unsigned char
          #define uint unsigned int
          uchar utime; //定時(shí)20ms,每20ms,utime++
          void shan(); //控制閃爍函數(shù)
          void tkey(void); //按鍵處理函數(shù)

          void init_clock() //定時(shí)器初始化函數(shù)
          {
          TMOD=0x01;
          TH0=(65536-50000)/256;
          TL0=(65536-50000)%256;
          ET0=1 ;
          EA=1;
          TR0=1;
          }
          void iscii_change() //將需要顯示的時(shí)間轉(zhuǎn)換成ISCii碼
          {
          tab3[6]=clock[3]/10+0x30;
          tab3[7]=clock[3]%10+0x30;

          tab3[8]=0x3a;
          tab3[9]=clock[4]/10+0x30;
          tab3[10]=clock[4]%10+0x30;

          tab3[11]=0x3a;
          tab3[12]=clock[5]/10+0x30;
          tab3[13]=clock[5]%10+0x30;

          tab2[8]=clock[0]/10+0x30;
          tab2[9]=clock[0]%10+0x30;
          tab2[10]=0x2d;
          tab2[11]=clock[1]/10+0x30;
          tab2[12]=clock[1]%10+0x30;
          tab2[13]=0x2d;
          tab2[14]=clock[2]/10+0x30;
          tab2[15]=clock[2]%10+0x30;

          tab4[10]=temp/10+0x30;
          tab4[11]=temp%10+0x30;
          }
          void display() //顯示函數(shù)
          {
          uchar i;
          write_com(0x80);
          for(i=0;i16;i++)
          {
          write_dat(tab1[i]);
          }
          write_com(0x90);
          for(i=0;i16;i++)
          {
          write_dat(tab2[i]);
          }
          write_com(0x88);
          for(i=0;i14;i++)
          {
          write_dat(tab3[i]);
          delay(1);
          }
          write_com(0x98);
          for(i=0;i12;i++)
          {
          write_dat(tab4[i]);
          }
          }
          void main()
          {
          init_clock();
          init_12864();

          while(1)
          {
          Read_temp();
          iscii_change();
          display();
          tkey();
          shan();


          }

          }



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();