找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

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

單片機(jī)空調(diào)控制模擬源程序與Proteus仿真原理圖

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機(jī)源程序如下:
  1. #include <reg52.h>          
  2. #include <intrins.h>
  3. #include "lcd1602.h"
  4. #include "delay.h"
  5. #include "ds18b20.h"
  6. #include "key.h"
  7. unsigned long S;
  8. #define uchar unsigned char  
  9. #define uint  unsigned int
  10. uchar data disdata[5];// 百、十、個(gè)、小數(shù)位1、小數(shù)位2、        小數(shù)位3、
  11. uchar data disdata1[6];
  12. uint tvalue,time,Level,High,t; // 溫度值
  13. uchar tflag; // 溫度正負(fù)標(biāo)志
  14. bit K1flag;
  15. bit K2flag;
  16. bit K3flag;
  17. void Display() // 溫度值顯示
  18. {
  19.         uchar flagdat;
  20.         disdata[0]=tvalue/1000+0x30; // 百位數(shù)
  21.         disdata[1]=tvalue%1000/100+0x30;// 十位數(shù)
  22.         disdata[2]=tvalue%100/10+0x30; // 個(gè)位數(shù)
  23.         disdata[3]=tvalue%10+0x30; // 小數(shù)位
  24.        
  25.         if(tflag==0)
  26.                 flagdat=0x2b; // 正溫度顯示符號(hào) :+
  27.         else
  28.                 flagdat=0x2d; // 負(fù)溫度顯示負(fù)號(hào) :-

  29.         if(disdata[0]==0x30)
  30.         {
  31.                 disdata[0]=0x20; // 如果百位為 0,不顯示
  32.                 if(disdata[1]==0x30)
  33.                 {
  34.                         disdata[1]=0x20; // 如果百位為 0,十位為 0 也不顯示
  35.                 }
  36.         }
  37.         if(disdata1[0]==0x30)
  38.         {
  39.                 disdata1[0]=0x20; // 如果百位為 0,不顯示
  40.                 if(disdata1[1]==0x30)
  41.                 {
  42.                         disdata1[1]=0x20; // 如果百位為 0,十位為 0 也不顯示
  43.                 }
  44.         }
  45.         if(disdata1[3]==0x30)
  46.         {
  47.                 disdata1[3]=0x20; // 如果百位為 0,不顯示
  48.                 if(disdata1[4]==0x30)
  49.                 {
  50.                         disdata1[4]=0x20; // 如果百位為 0,十位為 0 也不顯示
  51.                 }
  52.         }       
  53.         wr_com(0x80+0x0C);  // 定位數(shù)據(jù)指針的位置:第二行第八個(gè)字符處
  54.         wr_dat(disdata[1]);  // 顯示十位
  55.         wr_com(0x80+0x0D);  // 定位數(shù)據(jù)指針的位置:第二行第九個(gè)字符處
  56.         wr_dat(disdata[2]);  // 顯示個(gè)位
  57.         wr_com(0x80+0x0E);  // 定位數(shù)據(jù)指針的位置:第二行第十個(gè)字符處
  58.         wr_dat(0x2e); // 顯示小數(shù)點(diǎn)
  59.         wr_com(0x80+0x0F);  // 定位數(shù)據(jù)指針的位置:第二行第十一個(gè)字符處
  60.         wr_dat(disdata[3]);  // 顯示小數(shù)位

  61. }
  62. void main()
  63. {       
  64.         init_play();  // 調(diào)用 lcd 初始化顯示子函數(shù)
  65.         while(1)
  66.         {
  67.                 keyscan();
  68.                 read_temp(); // 調(diào)用 ds18b20 讀取溫度
  69.                 Display(); // 調(diào)用溫度顯示子函數(shù)
  70.         }
  71. }
復(fù)制代碼

所有資料51hei提供下載:
空調(diào)仿真.zip (93.69 KB, 下載次數(shù): 75)

評(píng)分

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

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:832536 發(fā)表于 2021-5-10 10:53 來(lái)自手機(jī) | 只看該作者
樓主,仿真打開(kāi)一直顯示被破壞或者與原理圖不符是什么原因呢
回復(fù)

使用道具 舉報(bào)

板凳
ID:939662 發(fā)表于 2021-6-20 17:04 | 只看該作者
圖很清晰,思路很明確
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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