找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4942|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)12864圖形溫度計仿真 ds1302 ds18b20 矩陣鍵盤

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:213197 發(fā)表于 2017-6-21 09:28 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
12864圖形+溫度計+ds1302+ds18b20+矩陣鍵盤仿真與程序
時間設(shè)置:先點想設(shè)置的項,然后點加或者減!
花的時間不多。程序里難免有不足之處。



單片機(jī)源程序如下:
  1. //南陽理工學(xué)院
  2. //網(wǎng)站:proteus.5d6d.com
  3. //12864+圖形溫度計+ds1302+ds18b20+矩陣鍵盤
  4. //此程序如果要在硬件電路上實現(xiàn)要改一些地方!
  5. //不曾努力,就沒有資格說失!
  6. #include "ds18b20.h"
  7. #include "12864.h"
  8. #include "1302.h"
  9. #include "key.h"
  10. #include "zifu.h"
  11. bit flagg=0;
  12. uchar ip;
  13. main()
  14. {
  15.   uchar i;
  16.   systemtime realtime;
  17.   choose12864(2);
  18.   init12864();
  19.   clear12864();
  20.   play8(0,0,0,shu2);                 //屏,列,頁,地址
  21.   play8(0,1,0,shu0);
  22.   play16(0,4,0,nian);
  23.   play16(1,0,0,yue);
  24.   play16(1,4,0,ri);
  25.   play16(0,2,1,shi);
  26.   play16(0,6,1,fen);
  27.   play16(1,2,1,miao);
  28.   
  29.   play16(1,0,2,xing);
  30.   play16(1,2,2,qi);
  31.   vertical(3,63,63);
  32.   vertical(3,63,62);
  33.   vertical(3,63,58);
  34.   vertical(3,63,57);
  35.   for(i=0;i<7;i++)
  36.   {
  37.     dot(57+i,3);
  38.         dot(57+i,63);
  39.   }
  40.   for(i=0;i<12;i++)
  41.   {
  42.     dot(59,8+5*i);
  43.   }
  44.   for(i=0;i<7;i++)
  45.   {
  46.     if(i<4)
  47.         {
  48.           play16(0,i*2,3,ming+i*32);
  49.         }
  50.         if(i>=4)
  51.         {
  52.           play16(1,(i-4)*2,3,ming+i*32);
  53.         }
  54.   }
  55.   init_ds1302();
  56.   init_time();
  57.   do
  58.   {
  59.      gettime(&realtime);
  60.          play8(0,2,0,(shu0+16*datastring[0]));
  61.          play8(0,3,0,(shu0+16*datastring[1]));
  62.          play8(0,6,0,(shu0+16*datastring[2]));
  63.          play8(0,7,0,(shu0+16*datastring[3]));
  64.          play8(1,2,0,(shu0+16*datastring[4]));
  65.          play8(1,3,0,(shu0+16*datastring[5]));
  66.          play8(0,0,1,(shu0+16*datastring[6]));
  67.          play8(0,1,1,(shu0+16*datastring[7]));
  68.          play8(0,4,1,(shu0+16*datastring[8]));
  69.          play8(0,5,1,(shu0+16*datastring[9]));
  70.          play8(1,0,1,(shu0+16*datastring[10]));
  71.          play8(1,1,1,(shu0+16*datastring[11]));
  72.          play16(1,4,2,(yi+32*(datastring[12]-1)));
  73.          gettemperature();
  74.          if(flag)
  75.          {
  76.            play8(0,0,2,fu);
  77.            play8(1,6,3,fu);
  78.          }
  79.          else
  80.           {
  81.             clear8(6,4,0);
  82.                 play8(1,6,3,zheng);
  83.           }
  84.          play8(0,4+flag,2,dian);
  85.      play8(0,5+flag,2,C);
  86.          play8(0,0+flag,2,(shu0+16*temp[0]));
  87.          play8(0,1+flag,2,(shu0+16*temp[1]));
  88.          play8(0,2+flag,2,xiao);
  89.          play8(0,3+flag,2,(shu0+16*temp[2]));
  90.          change();
  91.          keyscan();
  92.          switch(sum)
  93.          {
  94.           case 0:ip=ds1302_year;flagg=1;break;
  95.           case 1:ip=ds1302_month;flagg=1;break;
  96.           case 2:ip=ds1302_week;flagg=1;break;
  97.           case 3:ip=ds1302_day;flagg=1;break;
  98.           case 4:ip=ds1302_hour;flagg=1;break;
  99.           case 5:ip=ds1302_minute;flagg=1;break;
  100.           case 6:ip=ds1302_second;flag=1;break;
  101.           default:break;
  102.          }
  103.          if(flagg==1)
  104.          {
  105.            keyscan();
  106. ……………………

  107. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
12864 圖形溫度計 ds1302 ds18b20 矩陣鍵盤.rar (81.58 KB, 下載次數(shù): 54)


評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:325288 發(fā)表于 2018-5-23 21:33 | 只看該作者
非常好的學(xué)習(xí)資料,謝謝
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表