找回密码
 注册
关于网站域名变更的通知
查看: 739|回复: 4
打印 上一主题 下一主题

51单片机温度控制高温低温报警 带proteus仿真和汇编源码

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-1-16 14:32 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 kinidrily 于 2019-1-16 14:33 编辑 + c8 k1 Q- E) p; U& j6 [5 W0 Q$ \

3 i- ?  }) f% S* S51单片机温度控制高温低温报警 带proteus仿真和汇编源码
! |7 l: q7 w! W5 K! ?" {1 z" G& U8 p  V
) f) s- v6 P" f; h
proteus仿真图( m% d: T1 X& P6 k& W1 U  X
4 S8 a; G1 K: h5 b5 D3 N
# M& Z2 U! u. l( m" i6 s
51单片机温度控制高温低温报警汇编语言源程序:+ ^8 Q1 o" K( g4 r) _
LED_0        EQU         30H( ^7 m7 F6 t; ~: i6 N
LED_1         EQU         31H
4 u/ W5 i! v, @LED_2         EQU         32H
7 L- U7 |4 c$ G- f2 ?" d9 ^! QADC                EQU                35H5 j/ a! H3 I6 y! j8 q$ f- K
TCNTA        EQU                36H
$ |# v* |* [% }) _- XTCNTB        EQU                37H
9 o  x6 P6 Z# Y; O# {, ]: M; z+ FH_TEMP        EQU                38H                                ;温度上限6 C2 {  u7 {9 S6 r$ e
L_TEMP        EQU                39H                                ;温度下限
0 {- a% `* s! \/ k# m8 pFLAG        BIT                00H; J; ~( K9 d) g) Y/ ]0 ]/ d
H_ALM        BIT                P3.0. P% I2 T  X; Z2 [% T) Q
L_ALM        BIT                P3.19 O2 O+ ~  D5 n9 F) K/ S2 A
SOUND        BIT                P3.7
0 `  W7 }3 E1 t; z9 FCLOCK        BIT                P2.4! S* \+ y2 e( @
ST                 BIT         P2.5* e4 a# J7 t+ t9 ^4 J( o
EOC         BIT         P2.67 u' w' v/ G0 C" K1 \3 p/ ~, e0 R
OE                 BIT         P2.7
; c" C5 q/ V/ w6 i  }                ORG         00H
  u7 f# o( w7 g                SJMP        START" v& I* g0 Z  M7 ]
                ORG                0BH
8 _/ f( E+ q+ U: {                LJMP        INT_T0
3 @* A& |0 {, I. Z                ORG                1BH. m# O9 C0 |+ ]8 x- g. `: g
                LJMP        INT_T17 t& a2 `& a4 U* Y) `& J' j
                ; w/ K4 d! b9 t4 n$ L- f4 ?
START:        MOV                LED_0,#00H, p6 I+ n3 s7 Q6 N
                MOV                LED_1,#00H, S" |6 M2 r2 [" n# G# b, \
                MOV                LED_2,#00H. r& {7 ~7 v; B$ j$ l
                MOV                DPTR,#TABLE  ^3 w3 n8 p4 h2 X
                MOV                H_TEMP,#1530 v* l) W% ~/ ~4 {8 L) |3 k; _
                MOV                L_TEMP,#773 F/ _/ \; X1 d3 T7 c; u$ h
                MOV                TMOD,#12H
2 K% |% H, g: I  o1 E                MOV                TH0,#245
5 f  {: u6 E) x0 x1 h$ g0 i1 K                MOV                TL0,#02 d/ d8 P9 v) H6 F6 G
                MOV                TH1,#(65536-1000)/256! J9 j& `& y( K8 Z9 k7 \
                MOV                TL1,#(65536-1000)MOD 256% K# K& l1 u: g+ A7 |3 E
                MOV                IE,#8aH% [1 i' t$ {: X7 ?1 S7 Z6 u
                CLR                C
* h" D: H2 M& }( y% W! ~( D                SETB        TR0                                ;为ADC0808提供时钟
3 W8 Q, m8 T) R  A; X5 r2 h& BWAIT:        SETB        H_ALM
! a: C, o) ~( R3 d                SETB        L_ALM
! N2 h4 _  I" [& m8 p: W7 _                CLR         ST
+ w, h) r, K% ?9 Z: Z$ R2 L! q: M                SETB         ST& o9 ]: D( i5 \0 w" [( F/ U9 ]
                CLR         ST                                ;启动转换
: T* S9 P& ]7 V# ^9 x3 A9 |9 x1 h                 JNB         EOC,$$ l8 ~$ k! R7 r) K
                SETB         OE
2 P& k  {% z$ a0 g. a7 \7 b                MOV         ADC,P1                        ;读取AD转换结果
) a; ~; ~# j; m: ?# t" _                CLR         OE
/ H* S% A& @" K                MOV                A,ADC
( W2 X. A+ S: I. \$ ]2 H# O5 B                SUBB        A,#77                           ;判断是否低于下限% Z$ ?4 u& j% k3 J3 Z
                JC                LALM
; `  w9 ~4 Z* d: ?% ~                MOV                A,H_TEMP
7 i! m4 i. R; L7 a1 ?                MOV                R0,ADC
1 L! m" V0 M  C" e7 a- \$ E                SUBB        A,R0                        ;判断是否高于上限
4 C0 B. u5 P( r" x2 h. ]                JC                HALM
# k1 ?6 ~6 v- V7 A/ A4 o# _! J                CLR                TR1
. g# U* A9 l8 [                LJMP        PROC) e- Z( l2 U& ]) q
LALM:                                                        ;低温报警
- n/ f+ r4 i3 u. j2 B  H                CLR                L_ALM
" s8 D! ]2 x0 |( h                SETB        TR1* i, o0 J. X, _6 l7 u
                CLR                FLAG- A0 L# g6 a+ h. X. o) ^1 b7 d3 v* k
                LJMP        PROC2 W5 U( }* {8 i# T$ @/ M' t
HALM:                                                           ;高温报警
4 B$ i+ K# O; ]. L2 g5 F                CLR                H_ALM
' S$ v5 [0 U* B& @, d4 l3 h                SETB        TR1
9 ?6 O7 e; {3 y8 b9 q                SETB        FLAG
  ^0 d4 x" `6 O$ i. z8 ?                LJMP        PROC7 H, n! H6 R+ s( I0 ~; H
PROC:        MOV         A,ADC                         ;数值转换' ^5 b5 \) L) {; h
                MOV         B,#100: ~  y7 ]; r9 U/ P
                DIV         AB
6 K! ^% ]5 t; r' c; V6 b2 ?9 u                MOV         LED_2,A
# O  b" \1 H0 w( _+ w. g                MOV         A,B9 K0 @' {: `2 ]) A) @
                MOV         B,#106 \  Q- e5 H7 F/ [' C) J# r
                DIV         AB+ n; T- ~$ Y& p* i; s) g7 S; l
                MOV         LED_1,A4 l7 y! w- w# v0 G+ R
                MOV         LED_0,B
" ^: G8 c3 c6 b# d. n* M6 U" @                LCALL        DISP
( K2 y5 k( v6 J) S3 b# `; I                SJMP         WAIT# S6 ]) c1 F5 ~
INT_T0:        CPL                CLOCK                           ;提供ADC0808时钟
# o, u3 `8 C# P# W( Y" C# b  H' i                RETI
( _# n" y2 A* l% \5 {) xINT_T1:        MOV                TH1,#(65536-1000)/256
/ f5 W7 N! J6 F9 I                MOV                TL1,#(65536-1000)MOD 256
" O  E1 _( s  I) s6 @' d                CPL                SOUND+ s7 [3 h$ \- @3 O/ o7 r  z
                INC                TCNTA! Q! k/ s( A: T7 j
                MOV                A,TCNTA
' k/ e5 V# A2 Y  j                JB                FLAG,I1                           ;判断是高温警报还是低温警报
3 g& C! I3 j' U; V& X+ m, \                CJNE        A,#30,RETUNE        ;低温警报声
/ p  M# @4 ^5 h0 x; x                SJMP        I2% j# l, o: K0 a' r  [! ?% A0 W
        I1:        CJNE        A,#20,RETUNE        ;高温警报声. J! Z( W3 K& a- h0 ?  G
        I2:        MOV                TCNTA,#0
$ Q$ ~: i8 p9 S3 X6 T                INC                TCNTB" h! F" _9 y! i2 i& ~
                MOV                A,TCNTB& a& ~' \1 ^  W' B! ]( d
                CJNE        A,#25,RETUNE8 h* Y/ _; P5 P7 F% A+ A+ v
                MOV                TCNTA,#0
: L  c; E- Q0 V: J# ~" y% l                MOV                TCNTB,#0
6 ]/ z8 d0 e' ~                LCALL        DELAY2
# A: d9 S: }* _RETUNE:        RETI
- {9 x7 N5 P8 S4 z                3 v# V# D( B& O" V0 O6 X
DISP:        MOV                A,LED_0                        ;数码显示子程序
- w4 Y0 y* ?# r  p# v; w0 t. S. q                MOVC        A,@A+DPTR  x! }! f+ ?. j3 R% U, m9 F
                CLR                P2.3
! ?8 z  ^6 O- Q" J6 i                MOV                P0,A
4 w; y$ v$ Q' I$ `& @; B+ J/ j8 I                LCALL        DELAY
3 Q+ h$ s/ Q: q* K4 Y) o                SETB        P2.3) d- O* m9 t, ^; B
                MOV                A,LED_1; c( T$ I3 B/ h& k" E9 Q. W9 d8 c
                MOVC        A,@A+DPTR2 Y1 a/ h! X2 ?8 z; k! Z* ?
                CLR                P2.2
8 R; j1 y1 D$ L8 ^+ A5 w                MOV                P0,A
; `4 U  K5 `0 o" z1 M2 N                LCALL        DELAY
7 |' H7 z) `; w8 I3 B- V7 u                SETB        P2.2
( _6 `. D3 }# x9 j# J                MOV                A,LED_2, H3 _' Q7 w" C, r
                MOVC        A,@A+DPTR; o  K2 @4 A* {! h
                CLR                P2.1
5 G# j' k, r( t" K. O                MOV                P0,A! @3 V. L' ]7 O% N, T
                LCALL        DELAY
, _) z& r% Y, m                SETB        P2.1
6 G  \9 @6 n* c! e' s                RET5 n: \( f2 Y) }+ Y3 x9 b
DELAY:        MOV                R6,#10  w1 V1 z" V$ f. ]5 M" a. h& {
D1:                MOV                R7,#250/ D4 H' U+ m$ O" C0 Q
                DJNZ        R7,$
4 X# g* C# @: L' y' j& D                DJNZ        R6,D1
  F( c: r; x' O5 X                RET5 Y  p  U! u" U2 j# ?, z, {; T9 E
DELAY2:        MOV                R5,#205 J1 \5 t( r# K) \6 {/ I
D2:                MOV                R6,#20
5 V7 K6 q" Y+ ND3:                MOV                R7,#2509 M; c8 N  H, {0 E$ H& v7 g
                DJNZ        R7,$4 w2 C( F1 q9 w
                DJNZ        R6,D3# [) O  {% S! u, D* \" m# o
                DJNZ        R5,D2; d3 {3 e' t4 }% |* y7 X5 ]
                RET5 A0 {! O# M/ J4 m# I  R& m
TABLE:         DB                 3FH,06H,5BH,4FH,66H( E" e- [( \8 l6 \$ d
                DB                 6DH,7DH,07H,7FH,6FH2 O$ M  s$ E6 [' V; Z
                END
+ u+ D$ J- j/ S9 r
  F7 E" N8 s6 R* \9 a
- }2 G, k' W" y) ~$ s4 v# o" Q' v( d
51单片机温度控制高温低温报警仿真工程文件和汇编源码下载:
9 E, t: r- l7 v0 I0 }
游客,如果您要查看本帖隐藏内容请回复

- y, e1 |6 R; d3 i, r/ E4 x! U  [) `, ]1 z3 e# H* Y; {4 N

该用户从未签到

3#
发表于 2019-9-9 09:44 | 只看该作者
666666666666666666666666666666666
* K( R  N, g7 t# t, P7 z

该用户从未签到

5#
发表于 2020-6-10 15:56 | 只看该作者
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-11 21:45 , Processed in 0.140625 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表