找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機溫度控制高溫低溫報警 帶proteus仿真和匯編源碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:164042 發(fā)表于 2017-2-11 15:51 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
proteus仿真圖


51單片機溫度控制高溫低溫報警匯編語言源程序:
  1. LED_0        EQU         30H
  2. LED_1         EQU         31H
  3. LED_2         EQU         32H
  4. ADC                EQU                35H
  5. TCNTA        EQU                36H
  6. TCNTB        EQU                37H
  7. H_TEMP        EQU                38H                                ;溫度上限
  8. L_TEMP        EQU                39H                                ;溫度下限
  9. FLAG        BIT                00H
  10. H_ALM        BIT                P3.0
  11. L_ALM        BIT                P3.1
  12. SOUND        BIT                P3.7
  13. CLOCK        BIT                P2.4
  14. ST                 BIT         P2.5
  15. EOC         BIT         P2.6
  16. OE                 BIT         P2.7

  17.                 ORG         00H
  18.                 SJMP        START
  19.                 ORG                0BH
  20.                 LJMP        INT_T0
  21.                 ORG                1BH
  22.                 LJMP        INT_T1
  23.                
  24. START:        MOV                LED_0,#00H
  25.                 MOV                LED_1,#00H
  26.                 MOV                LED_2,#00H
  27.                 MOV                DPTR,#TABLE
  28.                 MOV                H_TEMP,#153
  29.                 MOV                L_TEMP,#77
  30.                 MOV                TMOD,#12H
  31.                 MOV                TH0,#245
  32.                 MOV                TL0,#0
  33.                 MOV                TH1,#(65536-1000)/256
  34.                 MOV                TL1,#(65536-1000)MOD 256
  35.                 MOV                IE,#8aH
  36.                 CLR                C
  37.                 SETB        TR0                                ;為ADC0808提供時鐘

  38. WAIT:        SETB        H_ALM
  39.                 SETB        L_ALM
  40.                 CLR         ST
  41.                 SETB         ST
  42.                 CLR         ST                                ;啟動轉(zhuǎn)換
  43.                 JNB         EOC,$
  44.                 SETB         OE
  45.                 MOV         ADC,P1                        ;讀取AD轉(zhuǎn)換結(jié)果
  46.                 CLR         OE
  47.                 MOV                A,ADC

  48.                 SUBB        A,#77                           ;判斷是否低于下限
  49.                 JC                LALM
  50.                 MOV                A,H_TEMP
  51.                 MOV                R0,ADC
  52.                 SUBB        A,R0                        ;判斷是否高于上限
  53.                 JC                HALM
  54.                 CLR                TR1
  55.                 LJMP        PROC

  56. LALM:                                                        ;低溫報警
  57.                 CLR                L_ALM
  58.                 SETB        TR1
  59.                 CLR                FLAG
  60.                 LJMP        PROC

  61. HALM:                                                           ;高溫報警
  62.                 CLR                H_ALM
  63.                 SETB        TR1
  64.                 SETB        FLAG
  65.                 LJMP        PROC

  66. PROC:        MOV         A,ADC                         ;數(shù)值轉(zhuǎn)換
  67.                 MOV         B,#100
  68.                 DIV         AB
  69.                 MOV         LED_2,A
  70.                 MOV         A,B
  71.                 MOV         B,#10
  72.                 DIV         AB
  73.                 MOV         LED_1,A
  74.                 MOV         LED_0,B
  75.                 LCALL        DISP
  76.                 SJMP         WAIT

  77. INT_T0:        CPL                CLOCK                           ;提供ADC0808時鐘
  78.                 RETI

  79. INT_T1:        MOV                TH1,#(65536-1000)/256
  80.                 MOV                TL1,#(65536-1000)MOD 256
  81.                 CPL                SOUND
  82.                 INC                TCNTA
  83.                 MOV                A,TCNTA
  84.                 JB                FLAG,I1                           ;判斷是高溫警報還是低溫警報
  85.                 CJNE        A,#30,RETUNE        ;低溫警報聲
  86.                 SJMP        I2
  87.         I1:        CJNE        A,#20,RETUNE        ;高溫警報聲
  88.         I2:        MOV                TCNTA,#0
  89.                 INC                TCNTB
  90.                 MOV                A,TCNTB
  91.                 CJNE        A,#25,RETUNE
  92.                 MOV                TCNTA,#0
  93.                 MOV                TCNTB,#0
  94.                 LCALL        DELAY2
  95. RETUNE:        RETI
  96.                
  97. DISP:        MOV                A,LED_0                        ;數(shù)碼顯示子程序
  98.                 MOVC        A,@A+DPTR
  99.                 CLR                P2.3
  100.                 MOV                P0,A
  101.                 LCALL        DELAY
  102.                 SETB        P2.3

  103.                 MOV                A,LED_1
  104.                 MOVC        A,@A+DPTR
  105.                 CLR                P2.2
  106.                 MOV                P0,A
  107.                 LCALL        DELAY
  108.                 SETB        P2.2

  109.                 MOV                A,LED_2
  110.                 MOVC        A,@A+DPTR
  111.                 CLR                P2.1
  112.                 MOV                P0,A
  113.                 LCALL        DELAY
  114.                 SETB        P2.1
  115.                 RET

  116. DELAY:        MOV                R6,#10
  117. D1:                MOV                R7,#250
  118.                 DJNZ        R7,$
  119.                 DJNZ        R6,D1
  120.                 RET
  121. DELAY2:        MOV                R5,#20
  122. D2:                MOV                R6,#20
  123. D3:                MOV                R7,#250
  124.                 DJNZ        R7,$
  125.                 DJNZ        R6,D3
  126.                 DJNZ        R5,D2
  127.                 RET
  128. TABLE:         DB                 3FH,06H,5BH,4FH,66H
  129.                 DB                 6DH,7DH,07H,7FH,6FH
  130.                 END
復(fù)制代碼


51單片機溫度控制高溫低溫報警仿真工程文件和匯編源碼下載:
55 Temperatuer Monitor.zip (55.01 KB, 下載次數(shù): 41)

評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩

相關(guān)帖子

回復(fù)

使用道具 舉報

沙發(fā)
ID:170906 發(fā)表于 2017-3-15 16:35 | 只看該作者
先下載看看。
回復(fù)

使用道具 舉報

板凳
ID:207506 發(fā)表于 2017-6-4 14:14 | 只看該作者
老哥,你這個不能用按鍵設(shè)置溫度么
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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