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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 kinidrily 于 2019-1-16 14:33 编辑
( Q% r* c3 D3 K* e7 [8 Q
7 E# F2 t: p  k- e" [1 c51单片机温度控制高温低温报警 带proteus仿真和汇编源码+ K  p, w; }1 Q6 b5 U7 J

# G; I* X. {5 O1 o4 @2 U) ]! W
" x  l+ V) i9 N4 B# N4 E; Yproteus仿真图( l% N. D! \1 `
' I- q) q2 k2 p5 I7 C' b  K( l
" D- K" G& ^2 ?* ~/ W
51单片机温度控制高温低温报警汇编语言源程序:$ Z' O. Z; X3 Z  r
LED_0        EQU         30H
8 y* e. E2 W& L0 ?. F/ }0 NLED_1         EQU         31H# J7 l  b! N5 f# A( E, a% C
LED_2         EQU         32H
/ D  k4 c: r4 r& x  `ADC                EQU                35H. g% O, s) \, V3 k& [  J* L* Q
TCNTA        EQU                36H
' X7 z5 S4 f4 A6 R3 ?- G8 ^2 j1 g) |TCNTB        EQU                37H
" }6 R$ b& p) a" ]2 \H_TEMP        EQU                38H                                ;温度上限
( y, s. _5 \( K3 W$ O2 k  A% B" [  K" G! IL_TEMP        EQU                39H                                ;温度下限
! z% C1 @" K- [6 m. R3 sFLAG        BIT                00H
; ?% z  q: n" v. H  j7 `' m  E- XH_ALM        BIT                P3.0
. q# p1 \! [" X+ g* J4 M( `3 aL_ALM        BIT                P3.1- R$ N! \1 T+ }4 ^# x* @0 U5 g
SOUND        BIT                P3.7
) i2 A' E1 h6 W9 S+ TCLOCK        BIT                P2.42 X, d+ Z+ `. O7 K! \+ e
ST                 BIT         P2.5
/ N6 X, c% v9 A+ N" nEOC         BIT         P2.6% d$ k- Z/ B8 P# N, y  W( g
OE                 BIT         P2.7% Y# {* f% P) B" x& n' L- f7 D! |
                ORG         00H' u$ O1 ~+ v% R) T+ q( u
                SJMP        START1 H' V6 v- C$ o/ s. O
                ORG                0BH  {  H5 J2 r& _! I  ]
                LJMP        INT_T07 V; [" V4 e% `7 `$ e$ h
                ORG                1BH! ~8 |! f; y; b3 z3 z
                LJMP        INT_T1
) H4 U6 l# W3 j" L* k& G% d% Y& B! Q               
" P# p! {! d; {5 FSTART:        MOV                LED_0,#00H
! V4 V  k! R$ r0 ?3 d                MOV                LED_1,#00H
/ u0 V; X+ _. I( K6 p! I1 Y                MOV                LED_2,#00H
1 Q) z1 v  B% \6 Y% I                MOV                DPTR,#TABLE& `$ O: M: `, _0 ?
                MOV                H_TEMP,#153
: q! e& C2 k% |) Q/ `) O                MOV                L_TEMP,#77
+ Q2 Y% d% T# \  ]                MOV                TMOD,#12H  |! e4 G3 A8 y
                MOV                TH0,#245/ [% Q6 T* t" ^
                MOV                TL0,#0
9 L5 K/ _. H7 P, S/ |                MOV                TH1,#(65536-1000)/256
) r6 A9 p+ O) }2 k. D- ]1 d                MOV                TL1,#(65536-1000)MOD 256
+ Z& m) _& k' A- M- W7 T                MOV                IE,#8aH6 O! c% g+ \/ w6 e$ t$ k5 Y) k
                CLR                C
. Y, J1 S) n" K: Z% Z- s5 Z                SETB        TR0                                ;为ADC0808提供时钟* t0 B- O0 a% g5 b" P! |
WAIT:        SETB        H_ALM
& T: v4 ]) j9 K/ S                SETB        L_ALM0 S: t* ^0 t7 b
                CLR         ST% N9 n7 d' L4 W: x. h
                SETB         ST  G4 i8 \' z4 a4 F  k9 m2 i
                CLR         ST                                ;启动转换3 |1 r, k7 p1 I6 Q; r2 j
                 JNB         EOC,$
0 ]" }; A( V, `' ~; t                SETB         OE : e: r* \* \% Y, E  ?2 f/ H/ d
                MOV         ADC,P1                        ;读取AD转换结果
+ m* Z- r7 y: X# R  ?! }                CLR         OE% v  A9 G) M8 s- k6 q
                MOV                A,ADC3 A( ~# c3 ~* ~1 p, L
                SUBB        A,#77                           ;判断是否低于下限( T, P; [' \6 ?& n" V
                JC                LALM) |" T* T" g" k
                MOV                A,H_TEMP
7 `9 a0 l3 m, S/ [                MOV                R0,ADC7 b8 Y, ~5 ]* t' g) f% n
                SUBB        A,R0                        ;判断是否高于上限
( X- j, q) V8 u0 W# d, |                JC                HALM, e1 i: `$ `3 n5 M+ J$ O
                CLR                TR1+ x( F1 ^; Z& ?7 {2 p1 u; w
                LJMP        PROC9 Z4 r/ l# a: c- Z$ j# I  S# ]7 l+ s
LALM:                                                        ;低温报警
+ B0 h, e: Z1 M+ ?- g! h0 B                CLR                L_ALM. T: W9 X8 T; X3 _; Z6 w9 R
                SETB        TR11 \2 N& M6 k  ]9 ^
                CLR                FLAG( s+ N* r1 d* [
                LJMP        PROC
) [% Q; p+ D4 S# K4 \, I' ^* U; XHALM:                                                           ;高温报警, j6 q4 F: @1 y" r5 T) {
                CLR                H_ALM
9 {& k9 W3 w, L2 S' O5 e2 V) @                SETB        TR1; I1 T. j9 F1 U" H
                SETB        FLAG- M" U: k1 j' V' F3 F2 X. E' X
                LJMP        PROC- f8 y) n! U: G! n
PROC:        MOV         A,ADC                         ;数值转换0 V7 o2 @/ S) b3 L( s
                MOV         B,#100$ W) r& h1 \# j
                DIV         AB! M' w$ d  O3 S, T, [3 E. Q" W
                MOV         LED_2,A
3 W( ?2 g4 O! C% Z                MOV         A,B
1 ~% D" W4 t$ e+ i9 H9 J$ ~' G                MOV         B,#10
& w. l) }3 L. q7 m+ G+ [                DIV         AB
2 m3 l6 B1 s8 B8 ]$ q( R                MOV         LED_1,A! O2 Y+ _8 F7 z) @' t" a# M; E8 R" `# J
                MOV         LED_0,B
" t% p- P0 s4 E. l+ @7 o1 X                LCALL        DISP9 a1 N! q7 [4 _; f  ^5 F! u
                SJMP         WAIT
. {, e$ `0 }0 {" X8 k- m$ l& fINT_T0:        CPL                CLOCK                           ;提供ADC0808时钟% {: o( n# U2 b+ U! W* t
                RETI/ W  a. t3 e" g# I, k4 z
INT_T1:        MOV                TH1,#(65536-1000)/256
- H1 |" @9 k4 E7 B* z! P( X4 E; r                MOV                TL1,#(65536-1000)MOD 256) Q0 c  U7 z% O+ j+ ?4 ]5 w+ m
                CPL                SOUND
4 @0 f9 O( ], C, e* x$ y8 r( y; ~                INC                TCNTA6 a- O8 N" e  c: A) n
                MOV                A,TCNTA
4 |: ?, k' x( V2 W                JB                FLAG,I1                           ;判断是高温警报还是低温警报/ p7 o7 h; s/ A4 o( e& T$ S2 _2 `: {
                CJNE        A,#30,RETUNE        ;低温警报声3 N* j- {  q/ _" J! K( q
                SJMP        I24 _7 }* a# J* m1 v) Q1 N( i2 X
        I1:        CJNE        A,#20,RETUNE        ;高温警报声) T3 \& M8 T* L2 ^
        I2:        MOV                TCNTA,#0' P. }; X  S3 z8 Y0 |
                INC                TCNTB
- I; k0 X6 N3 P* H# o1 Y                MOV                A,TCNTB
( F4 A& u+ _8 g                CJNE        A,#25,RETUNE3 I0 ~4 g. n/ P( @
                MOV                TCNTA,#0
/ p* N1 k& C: M3 I; f" Q& r7 a                MOV                TCNTB,#0( _6 O/ Z( \5 H& A; ?+ d
                LCALL        DELAY2
1 d& j* |! F) ]% HRETUNE:        RETI& E6 @) Y9 n- C# G0 \& d
                # S7 C1 e- Q0 a1 I
DISP:        MOV                A,LED_0                        ;数码显示子程序+ e: [: x  y' `; V% k" Z) [
                MOVC        A,@A+DPTR
; f; N' J1 t& {3 k                CLR                P2.3
" w. I3 H: X) M3 V* N                MOV                P0,A3 n& G+ [: s, l$ v* p
                LCALL        DELAY
% ^5 \9 j! L) V5 G" T                SETB        P2.3
% ~6 J2 |3 _. T* ~+ P                MOV                A,LED_1, C) i1 Q% M7 N' \
                MOVC        A,@A+DPTR9 J" ~8 L& x, B# U7 W  A5 O7 ^. _5 ?
                CLR                P2.2
! x& I% F8 N  S5 R* k                MOV                P0,A
% x, n0 g9 N) c9 ?0 S                LCALL        DELAY: k5 ~- }( w2 o2 p
                SETB        P2.2
. Q' f5 M. ~1 y- y6 p8 R                MOV                A,LED_2
  M$ N  z% G9 P0 h% H# G: V& ^                MOVC        A,@A+DPTR( A% l' |7 I+ B0 s0 \+ T7 w
                CLR                P2.11 `( `9 ^" [0 S: Z5 b
                MOV                P0,A8 A: f+ X6 S* ?- Y2 d0 O6 F
                LCALL        DELAY( f2 ]; m1 S9 [
                SETB        P2.1
* ^# z, E0 B% {9 W7 M                RET
: e9 b4 `$ m/ J. f3 B7 N) @! A5 hDELAY:        MOV                R6,#10
# }, o* A' ^2 i) v. }/ ?5 cD1:                MOV                R7,#2507 t9 x3 J2 n" r. x$ P' K2 L
                DJNZ        R7,$% ~) w$ S5 f5 F1 I
                DJNZ        R6,D1  _% i) I" S; \  I+ w3 L2 k
                RET
. N+ K* g5 }" c8 RDELAY2:        MOV                R5,#20
  `8 |( _7 t8 M, U6 qD2:                MOV                R6,#20
9 i3 G- e& v% B0 Y6 BD3:                MOV                R7,#250  U6 G4 B4 }* S( P
                DJNZ        R7,$: }5 w$ q/ Z8 w/ p- W
                DJNZ        R6,D3+ `: G3 I5 H9 F8 i" v
                DJNZ        R5,D2
' }: p& O) P  ~8 i( C7 x$ n                RET* B9 v5 r' T" V3 ~
TABLE:         DB                 3FH,06H,5BH,4FH,66H8 u$ c5 b' A6 Z, R4 b6 z! s5 f! p
                DB                 6DH,7DH,07H,7FH,6FH
+ l/ e, s: t" N, ^; \4 P$ K                END
+ ~7 W' }9 V6 n: y* u  e/ r
, M, q$ ]2 U% |6 `
5 o5 P# j6 \) |  W. ], v% W9 _+ l; p* j
51单片机温度控制高温低温报警仿真工程文件和汇编源码下载:
. j3 c  k1 d- S: A5 C1 k# k4 a
游客,如果您要查看本帖隐藏内容请回复
1 g# K8 i( G/ R+ r( k2 M) P
& `; z% O3 y/ L* E4 w6 @

该用户从未签到

3#
发表于 2019-9-9 09:44 | 只看该作者
666666666666666666666666666666666# x5 M" o. N# k/ S7 V3 Z5 J0 S- v

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-5 16:13 , Processed in 0.171875 second(s), 26 queries , Gzip On.

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

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

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