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

51单片机实时测温课程设计 含proteus仿真文件,汇编语言源码

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
51单片机实时测温课程设计 含proteus仿真文件,汇编语言源码
2 J4 G% U+ N" {0 o; t. f5 p: b7 e1 S: D; L1 S  {% e4 j1 B" n
; S* \* W6 l" t) \3 G3 a: ]
这是51单片机课程设计7 l1 e- H3 ^3 c- _2 H
. l" g" I# @' m, {
1 A) \  @- O0 b
; X' `# P% \; o# @

- L; M" @. g; B: W, f附件包含测温系统的源代码
. \3 m$ C- W& {- L和proteus仿真工程文件
7 a2 ~  j4 B, b6 O# F

3 W. H) _; L7 v$ ?. d# W& y

% _/ U1 a! Y3 _8 Q! r) Z* w2 i下载:4 C5 d% a8 O' t
游客,如果您要查看本帖隐藏内容请回复

6 h" Z, W0 @! S8 c! _( y9 C# [+ H" ^9 w3 j/ a8 C
请大家多多指,下面是汇编语言源代码:
' c/ f6 ^0 i! Q+ ?- ~   DQ       BIT P3.7 ; 1 wire line4 R4 ]7 p( n8 P1 d9 |
   swpH     equ  0d2H
6 H6 k( V/ y( v8 h/ ^  E* f   swpL     equ  0ffH
( u$ |7 M! e* j- ^   WDLSB    DATA 30H ;1 D2 R" H# ^+ K
   WDMSB    DATA 31H ;" u. \7 Y- D. h% L& K
;***************************************************************
0 P: C, ^/ }/ Q, R. h   ORG 0000H
  T* {; }, W+ }; E   LJMP MAIN
$ N' W% m% q/ j8 s   ORG 000BH( P% \* `+ K* A# u; ~
   LJMP TMR0   ; Timer0 isr( d  p# K: ~" l2 ~  d
3 x. X' L* F7 w/ h2 L: U2 n

2 g: F9 j: e0 G' O8 H;********************************************************) c9 |6 k8 Q1 i8 W/ R
; Timer0 Interrupt Service Routine: S5 I. }  t* _8 Z7 j+ O# @6 o# D
TMR0:    MOV   TH0,#swpH
9 U5 T3 q" S) C         MOV   TL0,#swpL$ A1 h; T: ?/ h
         JB    21H,DSL# R( R. `- {$ S/ g4 a9 h& e2 ?
         MOV   P0,42H
7 y6 d* `! w& I1 q8 N" C3 U7 Y' Q" H         ORL   P0,#00100000B
* a3 ?! ?9 q1 z* r3 U4 j         SJMP  EXIT
* }1 e2 V( S: R4 S7 Y/ @- ~( RDSL:  
: Q5 C! e* A4 J6 C% r         MOV   P0,43H( o3 l' ], }, e7 q
         ORL   P0,#00010000B' ~7 R" ^) i1 m% ?0 |
EXIT:
8 \( w  ^8 \+ F+ n1 l         CPL   21H
' u8 _# K3 R8 j         RETI
! R0 O/ E1 F8 K* C
& v5 v0 @, W" O1 K2 f* ^
/ G  O: |$ k# F. U
; Main program
$ [7 f( N  e% W( O  S) J* hMAIN:   
' J+ g; _* q: t: ~6 [" g* Z0 qTOINIT: % t7 ^  v9 s  [: A
         CLR   EA* w& T0 \: l2 V6 a( {; X$ @
         MOV   TMOD,#01H' Y0 B" e0 }. l% s( o' `3 Z7 ?
         MOV   TH0,#swpH8 M. m- b- X0 g! d+ a
         MOV   TL0,#swpL
$ c; n; d- p- U- B2 @         SETB  EA
1 u) `) J& q3 F- Y- V2 i0 |/ w         SETB  ET0
7 m3 D0 t7 ?$ N7 {         SETB  TR0
& s! @" U1 @( K" G2 D% s" E3 }7 n; l3 p. D
, u5 g# w, w- T  j- m
;***********************************************************       / K( u9 U& Q$ i% H
;
/ r7 G* L+ k/ @1 u& X         MOV   R2,#2; F9 z; |4 U( m% p3 F- x8 C
         MOV   R0,#42H ;: r+ A1 v; ~# J1 [6 ~1 ^
OVER:1 z0 _7 r, M6 t$ B+ U, Q; J
         MOV   @R0,#00H; # `) K8 U6 W, P- f6 D, u
         INC   R0! G; x# Z+ T2 {* q9 a% V) j
         DJNZ  R2,OVER
9 R: e+ U) p) K7 V   
$ _1 k6 j% y) v- r7 }+ ILOOP:
: P; W5 Y: n6 j' h  M, m         LCALL DSWD ;      & N$ w9 ]) s, t
         SJMP  LOOP, d) _. f3 b, @% w: e0 t

; B2 t# F. g3 ^7 J3 x" o6 ?: [
4 f* G3 x: T* }7 i, X
;**********************************************************% M8 ^. @0 k7 N7 J2 `1 ?  m+ y
; Read a temperature from the DS18B20
) R8 \9 a& R8 `0 z3 W/ I3 w* fDSWD:
4 ~% Q/ F* ?! y- N: Q         LCALL RSTSNR      ; Init of the DS18B20
# R& ?/ S; a1 x4 N; j         JNB   F0,KEND     
# Y. g  M+ J* n1 n         MOV   R0,#0CCH/ p1 ^, i" V9 G; b3 F
         LCALL SEND_BYTE   
' G- U( l/ F7 i         MOV   R0,#44H     * \- G1 ?. f7 o; W! A) b: g
         LCALL SEND_BYTE   ; Send a Convert Command     D  K. o- z4 V
         SETB  EA
3 D& h& O% Z1 \( X4 ^! N         MOV   48H,#1      " V! g( k) x- \6 [% v  a% e* P
SS2:
9 S1 N6 B/ W4 _) Q" y         MOV   49H,#255
9 A1 N- N5 g( w! o9 c3 ^6 ]SS1:3 X3 }7 T  A& _# _( R& ~) n7 T
         MOV   4AH,#2553 F% @' T5 k+ C7 l
SS0: - c' ^0 A! S. X2 C" H
         DJNZ  4AH,SS01 g1 ~6 m2 I" k
         DJNZ  49H,SS1
+ c( Y( G: B+ V+ i% q3 Y  _& \         DJNZ  48H,SS2
7 [2 P$ p* D) I         CLR   EA( l" A) m0 c6 |/ h( C# L# F
         LCALL RSTSNR
) a: L' T; Q0 A8 k         JNB   F0,KEND' W4 k7 l+ L; f
         MOV   R0,#0CCH       * W5 R5 T+ c* W1 G4 h' [3 e
         LCALL SEND_BYTE: u+ ?) Q3 c. Q  O3 A3 G7 q3 a
         MOV   R0,#0BEH         0 H( r# C+ u: O; e$ X" ?3 t
         LCALL SEND_BYTE      ; Send Read Scratchpad command
7 \7 K' d! f$ K6 P& x# V& g! `; X         LCALL READ_BYTE      ; Read the low byte from scratchpad 4 \3 O2 y( d% V$ a# a2 T
         MOV   WDLSB,A        ; Save the temperature (low byte)8 n4 S6 t8 Q, c. l9 ?2 h
         LCALL READ_BYTE      ; Read the high byte from scratchpad
/ z' |' h/ B" h+ ?6 ?5 E  C) s$ Q8 o/ ]         MOV   WDMSB,A        ; Save the temperature (high byte)3 L% f( Q% u/ z3 a: W- [
         LCALL TRANS12
2 w+ ~6 ?/ ^5 l; X* z& Q( KKEND:   
: v. ~2 `3 q$ U* h& R( i         SETB  EA
, ~3 u! U. R' g$ g9 C7 W* J6 h         RET
3 s( T3 x9 H4 h; x' y1 F, h4 s;**********************************************************. ~# A7 i* G1 `. g- q' c" a
;# w' L* U5 B, H+ z; X5 k0 w6 ]
TRANS12:" e  K1 p7 ?: h7 w, N0 p/ w* I( ]
         MOV   A,30H8 W* F  e* m1 t. M; s+ P5 P
         ANL   A,#0F0H
+ N9 B( U( J0 Z: s. c3 E         MOV   3AH,A
8 Z6 y* C. b2 Y2 U6 m, r         MOV   A,31H
- w. s( Y, X8 |0 Y" B; _- e& F/ q         ANL   A,#0FH3 s/ S6 s$ g) L8 ?0 z
         ORL   A,3AH) i/ Y2 \' k/ C: e& \
         SWAP  A- X6 b! \9 ]4 H) h
         MOV   B,#10
. S) j/ n% d/ q5 h9 Z         DIV   AB" R7 n5 {- A5 h- v
         ;MOV 42H,A! @! [7 Z+ O5 N6 ^
         MOV   43H,B ;
% D  N5 T! j, a4 b1 l  u# j         MOV   b,#106 c* K- y9 i7 I8 ~; y8 {# x
         DIV   ab% T% G- _+ j2 w! y& ^4 R
         MOV   42H,B8 Y: X6 P4 V& p1 `& t
         MOV   41H,A
- o2 u$ o: r) _7 e: [, u" `         RET
* v2 v4 u! _! L) Z/ M% h5 J;*************************************************
  m9 _# j: W; L) ^) K" N; k  J1 f; Send a byte to the 1 wire line; P1 r6 f' x: U$ k
SEND_BYTE: ;7 H: f( C1 A2 C9 ^: [
         MOV   A,R0
" Y, i1 i8 ~- ]" S! K         MOV   R5,#8
% ?. l' M9 |/ J* Q# f9 ?SEN3:    CLR   C
$ W. J+ X% ]: f9 d. h5 p         RRC   A
1 y" |2 e# \7 l2 c         JC    SEN12 m$ v# _7 X6 L- Z( ^
         LCALL WRITE_09 v$ W8 Z' u+ n4 d3 r" e& Z
         SJMP  SEN2
' T" h2 x* c8 QSEN1:    LCALL WRITE_1
; j, z0 h7 f, P# Q0 h0 w# bSEN2:    DJNZ  R5,SEN3 ;
% U& Y: t( y2 S4 P- e" {         RET
5 h2 l6 s2 f/ f' r;*************************************************6 H& L1 b: Q1 F
; Read a byte from the 1 wire line; z  M$ G. D" R4 W# a
READ_BYTE:
+ u. Y6 j4 ]3 _6 K         MOV   R5,#8
# L0 W: d8 g" l) CREAD1:   LCALL READ
# E3 p; `  ?% `6 s+ b- u: Q( P         RRC   A
6 h* y5 M- [* ]' x% O         DJNZ  R5,READ1 ; ; N4 b- E3 d2 Q- F
         MOV   R0,A
' I9 y" p  T6 y2 ?& E. P2 q         RET; t: d) X! s! z: w# {( F
;*************************************************
8 {2 W1 ]0 w1 ?; Reset 1 wire line
2 f, r& [. C* ~. GRSTSNR:  SETB  DQ
6 d0 o+ p. B7 d         NOP
1 p/ d; D- R8 \7 X" ?3 N         NOP3 t, e! E9 @* J) X* k1 K3 R
         CLR   DQ
& _4 h( \2 H% j9 g; ?2 d         MOV   R6,#250 ;! W6 e" c% U' {& u/ Z! Y
         DJNZ  R6,$
0 {. B. ]! \9 h' m& f         MOV   R6,#50
: O$ I% @, A* {         DJNZ  R6,$
% N- [5 J% d0 T: e0 |         SETB  DQ ;- q8 t5 `5 O8 Q7 m+ h
         MOV   R6,#154 R% h, @0 F) ^2 m: C
         DJNZ  R6,$  n/ f9 o6 @* Q  C
         CALL  CHCK ;5 h; w& W0 t& t% e1 C
         MOV   R6,#60( K* _, N% v) W% \, \
         DJNZ  R6,$
" W; }& V5 U: }; W/ v         SETB  DQ
0 m; Q* l  f2 S+ V, C         RET
5 m# M, W, f5 `* ~! P) a* O$ U- @& _+ d) A( O/ l* q4 u" S% {: C! d
- n6 }$ `- _1 F" O0 L# E1 a
( X% @9 M5 C, l$ {9 E+ s

" n4 a# @3 M, s;*************************************************
4 q6 K3 ^4 X, o1 T; o2 h* w5 C; low level subroutines0 H9 G6 \3 i/ I
CHCK:    MOV   C,DQ& {2 F% v* r# z$ v
         JC    RST0
* f9 R4 X6 i- ~% ~1 T         SETB  F0 ;: u0 ^. b( Q1 M" Y
         SJMP  CHCK0! T/ F/ g/ f7 R$ B+ M/ g! }8 t
RST0:    CLR   F0 ;" Q( }+ N8 Y# s, l4 X$ b  c
CHCK0:   RET8 Q) w/ f+ e2 w
3 I1 q& i1 d/ P+ V9 T
8 z! D; m, O9 f6 ]* p1 P
;*************************************************
+ j; c2 [7 h# m8 t7 aWRITE_0: ' |' K/ P2 L$ I' p& Z, N9 g
         CLR   DQ
6 A! s  O  }: X: S- H         MOV   R6,#30/ m( F- P  F' B$ {4 c
         DJNZ  R6,$5 a1 y9 Q, W0 q- D/ N6 k
         SETB  DQ
8 k! [6 U; b2 D6 F- M4 I, [         RET9 W* Z1 l/ W9 f
;*************************************************  p5 G/ ~0 I& I$ X! c
WRITE_1: " Z6 L! ~! @( y& |. n  J# M
         CLR   DQ
$ W; O8 t% B4 i& }4 B$ g         NOP2 U! J( g2 R4 {  ?- Q  s
         NOP
1 ^" t6 a. I. c3 Q- Z         NOP
, \2 u* e5 O6 Z  ?! {* q         NOP
' C8 S1 m- T2 u. Z/ C6 n+ X9 R         NOP
% y! b7 n' x: L         SETB  DQ" p% \1 i; P$ j! h& N, L+ f" z
         MOV   R6,#30
/ H6 {0 w7 ^7 h4 c1 @  Z: s9 I, ^         DJNZ  R6,$( B( u) d; r& [- T; ]# Z: _2 ~2 L
         RET
, X, T& X1 V8 h5 k0 q) g& F7 K- G; ]+ Y
7 p$ S: [) z% _0 x  F
;*************************************************
/ B( [' f$ x& o; k' e- r' MREAD:    SETB  DQ ;
5 g1 b0 m" _6 Z6 v4 P" [         NOP, \3 |! O( A, H) r
         NOP
' O% {; V4 P$ Y2 ]8 ]         CLR   DQ/ d- I8 B8 `" @- L3 _/ I8 ]
         NOP
/ t/ b6 B; x2 E) `         NOP' n$ `) F5 c4 F( {+ I' V' C# D
         SETB  DQ ;9 J1 ]/ H" z# e. O
         NOP
/ f6 O- J% J1 T         NOP
* g5 G5 H9 }+ l; ^2 v% D  F         NOP9 d! w- J2 ~( u' J) ?
         NOP
/ ^/ S' i1 F. \7 u5 z         NOP% D9 `% _' e+ Y* P
         NOP
5 E& j% o# ~5 |1 }: l         NOP+ {6 E/ A; T9 }: V. o6 M
         MOV   C,DQ+ b8 o( |7 k3 q7 s( ~
         MOV   R6,#23
7 _9 H: s! s5 I$ [4 g, N% E; p! q         DJNZ  R6,$: b  Y0 e, u, C2 e) T2 U/ R) [3 _
         RET
: w3 W7 e+ N' o4 H( F7 {
4 q! y/ u& O7 ~9 ^: r$ j
7 q( I, M; u3 v& m
;**********************************************
" y% K7 O. v7 h% IDELAY10: MOV   R4,#20# g' S  C4 N5 w! V5 C, o
D2:      MOV   R5,#30. C& g8 Q' g% E* v6 E$ v$ \% h
         DJNZ  R5,$6 w* \- v# O: k9 A, E6 l
         DJNZ  R4,D2
# N+ |. I: f* q3 A         RET
( M& _8 E3 |% x2 v; f5 H$ `$ w* k+ g: h' Q
& c( D0 d6 V- c& h" ^. }
         end
& O( Z& s4 t2 O' _+ c8 |+ e9 E" A1 N" g; ]
8 U; P5 f7 R8 C# @3 e; H
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-23 06:59 , Processed in 0.140625 second(s), 26 queries , Gzip On.

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

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

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