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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 kinidrily 于 2019-1-16 14:33 编辑 ; b  y, [3 A. C% M/ n7 z8 z: @

6 K" w% I) a& G! V: [51单片机温度控制高温低温报警 带proteus仿真和汇编源码
1 Z3 u! B( F8 h7 G: G- A) v& L3 g4 L0 e0 ]! E* v4 N; M# z; D
% O, s3 ?) ]2 Q
proteus仿真图, V  Q8 T  P# V$ G
9 i8 P2 `! c  y5 t" H4 d5 X

( g6 ?  i1 A  ?' d) b5 T51单片机温度控制高温低温报警汇编语言源程序:
! ]8 n; p: {6 L  }LED_0        EQU         30H' s. W% _3 Y/ K" t  P, J
LED_1         EQU         31H
# N3 \* Y8 H6 ?) r& r" |$ NLED_2         EQU         32H7 m, ^! ^0 q: M- k4 K4 K
ADC                EQU                35H1 P: g6 `8 k& _9 U, E& P/ ?
TCNTA        EQU                36H! v0 L! c' D0 O: C
TCNTB        EQU                37H
$ l& e' k% o* X4 AH_TEMP        EQU                38H                                ;温度上限
% i8 [, T6 x  k- \L_TEMP        EQU                39H                                ;温度下限
8 Y8 O. M% `5 gFLAG        BIT                00H& H$ }. @) c4 b1 r
H_ALM        BIT                P3.0
( X1 ?1 g" G+ V2 u6 tL_ALM        BIT                P3.1" E$ M) o  D5 q/ \4 j4 q
SOUND        BIT                P3.72 z- ~0 G2 r/ X6 ]2 k; `. R
CLOCK        BIT                P2.4
. B8 @6 m% K4 b- t% i# X# B: \ST                 BIT         P2.5: ^! s: I% \. l2 ^' E( }
EOC         BIT         P2.6
* Y' R: L' ^9 [. l3 F/ ?2 V0 L# HOE                 BIT         P2.7- U& q$ @9 X! B' Y# k" T$ d! Q# z
                ORG         00H
# V& \: V1 t# I' @                SJMP        START
( w' `7 o; F; R, c. H2 j2 y" Q                ORG                0BH
% r/ y: ~/ z0 z! u                LJMP        INT_T0
* @6 q4 c  ?) V% j1 m  U$ X                ORG                1BH
! E* b* ~- b% J0 ~5 h                LJMP        INT_T10 S$ m3 v6 ~0 L; O+ A& |' G" Y
               
6 \% L, q# L+ h' X1 Y% USTART:        MOV                LED_0,#00H; B# c. v$ R9 E, }
                MOV                LED_1,#00H! O1 n, [, ?  G8 B& }
                MOV                LED_2,#00H
) V& L0 I$ W: T3 x                MOV                DPTR,#TABLE  O  Y& [2 M6 t! q: v. u6 E' H+ @7 [
                MOV                H_TEMP,#153) e2 x1 m) X% g+ A% I7 d; F
                MOV                L_TEMP,#77
2 X/ ?7 V3 q5 Q; ]# \. k                MOV                TMOD,#12H
' `% v3 J/ E; o! U; X                MOV                TH0,#245+ b' i  s, e9 u% r* @& N. I( D9 }. _
                MOV                TL0,#0
1 q  }% A$ c- ]. N, ^" R                MOV                TH1,#(65536-1000)/2560 M2 t( U1 U) r- v
                MOV                TL1,#(65536-1000)MOD 256) T+ _$ E6 L" _( X' w* e4 C! C) l  y1 h* z
                MOV                IE,#8aH
. K% B  y4 p. \                CLR                C4 f5 L& i7 _5 R+ Q, q* W' @* l
                SETB        TR0                                ;为ADC0808提供时钟* H2 V! P- g6 x( G
WAIT:        SETB        H_ALM! w7 H: C( H9 b; h
                SETB        L_ALM
$ M/ w  _- j: H+ b0 O' |7 L                CLR         ST( t1 d; m% j4 ]5 q0 s* B0 X
                SETB         ST+ n1 M8 T, {  ^" W5 d+ j4 Y
                CLR         ST                                ;启动转换  U! N3 o  k9 \7 F4 ^$ E
                 JNB         EOC,$
' e* z! k( e" ^% p                SETB         OE
+ V$ H" K6 @" P4 g* q& c                MOV         ADC,P1                        ;读取AD转换结果( R; Q* K7 o4 P- n- _
                CLR         OE
' O+ w, ?. ?3 O! ~" K1 ]                MOV                A,ADC
% R. ]" y2 D: P3 m# k- f                SUBB        A,#77                           ;判断是否低于下限& K. Z3 K# F9 x/ r
                JC                LALM" A, m  O5 N& c6 O7 I" p
                MOV                A,H_TEMP2 l6 ~5 l( k9 _2 K) \
                MOV                R0,ADC8 b7 Z  k2 x7 a( w
                SUBB        A,R0                        ;判断是否高于上限4 O$ S0 G2 `9 s- E
                JC                HALM6 t* ?" L4 y: g- C% g, l' O9 x
                CLR                TR1
8 Z- U. Q$ p3 S4 p! n& n                LJMP        PROC  b6 d3 S5 }& S7 p6 W" E8 Q
LALM:                                                        ;低温报警% }) k! r9 x2 i6 _, y
                CLR                L_ALM" J2 A2 B: Q/ ^# [3 C
                SETB        TR1
* m; V* D  B# W7 V                CLR                FLAG% E0 ~) U- Q; j- Q6 D9 C
                LJMP        PROC% w! x  Q7 k" n; A
HALM:                                                           ;高温报警
7 x+ P! {3 ]8 W) n                CLR                H_ALM7 X/ I6 I. k$ J
                SETB        TR1& V8 B  C4 H5 v3 J2 ~1 i
                SETB        FLAG
1 U! S6 m0 v0 f  |( f                LJMP        PROC4 V' n% S: X' |
PROC:        MOV         A,ADC                         ;数值转换  [  J5 V  s) E* ~, r+ Q* k
                MOV         B,#100: n( @, z3 s: q. h8 I6 {
                DIV         AB
+ M" l+ n$ v: B                MOV         LED_2,A, H: s8 n9 P1 O: @
                MOV         A,B
" Q7 J: ?( v+ W" i& `                MOV         B,#100 I- e0 q. ^/ D/ c! X. \' P" B0 J9 r  p
                DIV         AB+ J# ]2 Q# f' x2 ?* U/ k# D5 p
                MOV         LED_1,A+ g* \- ^5 ?' d" N% R7 D
                MOV         LED_0,B; F9 V2 I1 ~2 f" _; B
                LCALL        DISP2 t/ }6 h# Z$ e$ X5 T
                SJMP         WAIT4 k, q  _  e1 F( ?/ r- w" d' C
INT_T0:        CPL                CLOCK                           ;提供ADC0808时钟# V. @  _4 s* F  p! T! f. }6 b
                RETI
3 R$ C5 F; T9 t8 tINT_T1:        MOV                TH1,#(65536-1000)/256
; r: S; Z, W% o8 c1 p- @% j- Z                MOV                TL1,#(65536-1000)MOD 256
+ Y4 H$ a! ]3 T- i0 k* k                CPL                SOUND
" {/ [# M4 U3 Y# M$ d* j                INC                TCNTA1 h$ S5 Q. _5 ], V: u, g6 V; T6 O
                MOV                A,TCNTA
' G8 s& d5 ]$ q6 ^8 J) S3 g( f                JB                FLAG,I1                           ;判断是高温警报还是低温警报
- L9 d) b1 Z$ q6 T+ p( T' x* b& w; {                CJNE        A,#30,RETUNE        ;低温警报声
4 [4 f: J% z4 J, r. \9 O                SJMP        I25 J$ U. q: w- h  u
        I1:        CJNE        A,#20,RETUNE        ;高温警报声, T; m# d7 U2 t9 g9 S- u& Z5 P
        I2:        MOV                TCNTA,#0: K6 h* N) d' D
                INC                TCNTB
/ ^4 f% u( Y7 p( [; X/ _' k1 P+ w                MOV                A,TCNTB& R! M" j, F# h! S, o  z
                CJNE        A,#25,RETUNE
7 J* h/ p" n% t4 n% }! [                MOV                TCNTA,#0
& s& Q/ z6 y/ k1 K                MOV                TCNTB,#0
/ I2 S  q1 J; L" h( `4 M  a                LCALL        DELAY2
! ?, r) p$ V7 P3 L1 ARETUNE:        RETI, K% s" Z9 J6 B7 d0 V
                ! Z( h' e/ J8 b# A8 r3 j
DISP:        MOV                A,LED_0                        ;数码显示子程序5 h: \# a& N$ y$ }1 r* ?% {; U9 J
                MOVC        A,@A+DPTR
% K% B3 N- h. v- m                CLR                P2.3
" C; O; [0 X4 {' g$ \. r                MOV                P0,A
) Q% c5 K/ B) \% B                LCALL        DELAY. T& q6 K1 i4 L( w8 c# g7 X
                SETB        P2.3
& F4 Z5 Z5 t% l! [: m                MOV                A,LED_1
* {; T: v9 e: R7 P$ I0 m7 N, ?9 p9 A) h                MOVC        A,@A+DPTR3 I& b. H, J$ `! E
                CLR                P2.2
. l2 B  M+ _& O- X* q% C                MOV                P0,A6 }1 {, B) ~# l. D
                LCALL        DELAY7 Z8 J$ U  a3 J8 O, O/ W
                SETB        P2.2: T9 d/ `4 A7 `& \# k. V$ R
                MOV                A,LED_2
/ l, y2 p9 ~4 e0 |; g3 Z8 N: K, N                MOVC        A,@A+DPTR) d% H# h7 p+ d3 f- x5 l) @
                CLR                P2.1# L6 R" ~- o. f0 t* z3 ?
                MOV                P0,A
* e7 u" Q6 P; y8 I  [                LCALL        DELAY0 v; }8 n2 i+ {% Q9 k
                SETB        P2.1( K* F3 Q% s9 f) b" D( q
                RET2 T% x" }1 O: Q1 h
DELAY:        MOV                R6,#10+ h* s) ~# ], I/ ?4 V/ a! r( N( i
D1:                MOV                R7,#250! L' K% Z& A: x( n5 x# L* [
                DJNZ        R7,$
! M4 ?$ f4 X9 {) T* ]  d- m                DJNZ        R6,D1
# O6 ]0 y$ m- v/ a4 g+ n( l$ v5 J                RET
7 p  {2 L0 w* v$ b+ S% U3 G$ nDELAY2:        MOV                R5,#20$ W8 q$ e& x4 m, R# [
D2:                MOV                R6,#208 `* c2 p" B* G4 S
D3:                MOV                R7,#250+ e) f/ H) C; T' J6 e
                DJNZ        R7,$
; Y" n/ f* P7 v8 c+ \! Y+ m  e                DJNZ        R6,D3
# k: E) K/ @& ?; b  l                DJNZ        R5,D2/ {4 Y  `1 p) {; V# I9 L% T" T3 n
                RET( O% U/ e- ~" E, w  q9 i1 F
TABLE:         DB                 3FH,06H,5BH,4FH,66H* M+ Q* Z5 U: w  k: p, s
                DB                 6DH,7DH,07H,7FH,6FH- w2 n, @1 a) R8 k3 Z0 T- O; C0 }
                END
* |4 c3 d% p5 L# v
1 t3 o. g& H2 ^# A5 [
8 E5 ]7 d' l7 {! B4 t* f: Y
& }- t  T3 K  O* r51单片机温度控制高温低温报警仿真工程文件和汇编源码下载:
3 D! q: k/ g! F& v1 M5 j" L
游客,如果您要查看本帖隐藏内容请回复
! G" n: M( ~2 h
- e! T2 Q# e7 N+ y, `

该用户从未签到

3#
发表于 2019-9-9 09:44 | 只看该作者
666666666666666666666666666666666
% D3 D" B* C( c( o: n$ E5 X  ~" Z

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-19 21:24 , Processed in 0.125000 second(s), 26 queries , Gzip On.

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

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

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