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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
51单片机实时测温课程设计 含proteus仿真文件,汇编语言源码+ Y% @9 \7 {' m$ T0 ^- y1 K

. c0 _( v# a6 z6 }% m1 d' I- B9 ~

8 ^: Y" I3 X1 p这是51单片机课程设计
% Z9 h5 V/ W" }) t! r, U5 }
( H1 E9 A# u+ c* o0 @- d
& o" g1 C5 ~! B8 o9 Z  ]; Z0 T% c
0 X3 q& M4 O2 h+ w
" R5 r% H/ f- [& l) |附件包含测温系统的源代码- N" q$ V+ V3 l; z
和proteus仿真工程文件

" e$ t" U1 f. r6 @. t9 r! I9 q1 @8 a) D- T2 W) @- N( f
6 e' X2 v. N& f& r# s- O
下载:" s4 v3 \# B2 n( W- Y
游客,如果您要查看本帖隐藏内容请回复

# D1 x% Q( A' E5 `$ d2 Q- I' H2 ~3 W; o
请大家多多指,下面是汇编语言源代码:* k  s! F; b8 u% ]/ }
   DQ       BIT P3.7 ; 1 wire line
: n1 a5 o( ]% ]0 W. r" G   swpH     equ  0d2H& D# p4 W3 {# b' ]# X! u
   swpL     equ  0ffH
- s/ Y% B6 V+ @7 ], J   WDLSB    DATA 30H ;
# i4 ^# p7 ?& o0 m3 R* b" L   WDMSB    DATA 31H ;3 L, D$ c! p4 O' n! r. q9 M/ @& |
;***************************************************************' s, f: x* R4 w6 @$ T
   ORG 0000H
! a; k$ G, y! l; o   LJMP MAIN
' G7 O9 d& T4 G1 D, D# ?$ ?   ORG 000BH
- s1 T0 O7 E$ q8 c   LJMP TMR0   ; Timer0 isr
' i: T' x, O! k$ u  a' }7 M1 l# ]2 L! b0 c' E
$ ?- f/ i5 ?8 h4 {
;********************************************************
! I: l' a! \& p6 Y2 c) [; Timer0 Interrupt Service Routine
" C5 f# g; {4 d4 y# JTMR0:    MOV   TH0,#swpH
, R. [" C5 P8 x2 m         MOV   TL0,#swpL
+ T6 l! f( |+ {# P; f         JB    21H,DSL
; }9 R- Z7 K- P+ H# H0 I         MOV   P0,42H
% l& D+ T  m( ?* ]         ORL   P0,#00100000B
5 d+ u! O+ H, |+ H" \, E: f         SJMP  EXIT) w9 _: o" a0 q! `+ P  r* ^
DSL:  + X$ {6 @! D6 z  P  a
         MOV   P0,43H
4 Q3 N% ?1 L% ]) Q% q& R! f+ P( H         ORL   P0,#00010000B
$ h* V% s2 `# M" pEXIT: 8 t; q& B, w8 A1 ~
         CPL   21H' A0 I3 D# w9 @! T0 Q8 r6 l
         RETI# }" t6 \/ ~/ t1 S# A' ?, {

) r$ v! A& c( F) s& u- U9 _- U6 A# m% W

, C: K. H7 {1 c7 e/ H9 E, W; Main program
& F8 ?0 h+ g4 v9 ^' I9 P" x2 y% MMAIN:    3 |- G% v, D  h3 ~! p" p# U' ]
TOINIT: 2 q8 Q* Y+ ^* H* e7 n& I1 }
         CLR   EA( ^; g1 P! j( A% {5 c
         MOV   TMOD,#01H& j/ X, K% O0 Y& h8 v& v
         MOV   TH0,#swpH
! n: L( c2 q4 _- S         MOV   TL0,#swpL
) j! V" ?, j! O. B. N         SETB  EA
4 R2 R- Q5 q  \! D         SETB  ET06 v  a( q* o3 n  Y4 q8 j$ n
         SETB  TR0; M9 Y, D0 ]- g6 c1 a( Z+ ]& ?
2 I* ~. ^  Z& P+ z- D( `
! Y6 Y' t* d; Z, g9 w  [4 a% a- C
;***********************************************************      
$ F9 M% D6 d2 X. l. E;
5 Z1 E: \) D1 o( f) S5 y/ r         MOV   R2,#2
$ b; D3 W) n  h$ J" r$ |  g+ B         MOV   R0,#42H ;. ]0 Y( d) j5 |2 E6 R: t
OVER:+ Z# h9 V; Q2 h; |3 |
         MOV   @R0,#00H; ! c" N8 K8 s' Z+ x$ h: O
         INC   R0) {6 |& w, K1 s4 P5 Q# B- S
         DJNZ  R2,OVER" C+ T9 n$ |6 H: ^& L6 R) \
   1 H1 m4 p4 A6 S+ S0 Q4 j' H
LOOP:
7 B& |3 q$ K6 K& U4 s2 }' \* e. V9 _         LCALL DSWD ;      7 n& w% t4 G5 R9 j# }7 o8 D' a
         SJMP  LOOP/ ^2 Y8 x) X) k% [1 v, B, g

7 |3 Z8 D8 t/ ~
; l1 u& z6 [8 N, Y* Q  w( w2 ?
;**********************************************************
6 _* L  Y) h/ ?' i; Read a temperature from the DS18B20
/ P% c% Z" v" z: ]4 WDSWD:
4 {9 _4 q/ j! y( ~+ ^# s         LCALL RSTSNR      ; Init of the DS18B20 : i# v* G( O6 P$ N
         JNB   F0,KEND     
( S9 N, E. x* K: \7 \         MOV   R0,#0CCH- W" U7 e# A7 }! A$ m  o
         LCALL SEND_BYTE    2 }5 a, K* ]; B
         MOV   R0,#44H     9 T8 |% M, {* I  }
         LCALL SEND_BYTE   ; Send a Convert Command   
" H3 x& i/ i7 J: \+ d1 w         SETB  EA
* _" u' n& X& N4 K6 h; N8 ]) v         MOV   48H,#1      
7 c' }3 x! \4 S- r; zSS2:
, `! |0 e8 z  ^0 z2 T         MOV   49H,#2555 [0 \5 q0 G. a3 ^
SS1:$ ?5 D2 r% f) j. v
         MOV   4AH,#255
; b% J4 a6 c* `SS0:
, P& W/ T( X* \4 E; X3 A/ t- o. L         DJNZ  4AH,SS0$ f. s( i3 f0 o2 {
         DJNZ  49H,SS1
/ W7 x4 M4 N; V         DJNZ  48H,SS20 j' e" x( \% d" D' s
         CLR   EA6 w  [( Z) k, W& d1 ~# t8 m( d
         LCALL RSTSNR
9 S; M9 h2 n( C5 p         JNB   F0,KEND
  n4 R. ]  t3 ?3 |" k3 R8 |         MOV   R0,#0CCH      
, G" H; R* }( e9 L, ^2 w         LCALL SEND_BYTE& p1 J# F. U1 n( V# J0 I/ \# E2 u$ F
         MOV   R0,#0BEH         - w- s6 T8 u: F1 `/ [; M
         LCALL SEND_BYTE      ; Send Read Scratchpad command
5 G2 Q* o3 z. w; a         LCALL READ_BYTE      ; Read the low byte from scratchpad / ]3 q. h3 I9 J% t
         MOV   WDLSB,A        ; Save the temperature (low byte)9 M% x  g; f' c, F
         LCALL READ_BYTE      ; Read the high byte from scratchpad- y2 P( c) }) x5 d/ T
         MOV   WDMSB,A        ; Save the temperature (high byte)
: A" K. ]0 J2 v# ^6 E/ ~0 Z0 t( u$ U         LCALL TRANS12" L- {" \2 L0 J* T6 n
KEND:   
; _% z/ Q  h& h; c4 s; d         SETB  EA+ F9 `9 j7 S; X6 f& `+ R4 g# b
         RET4 _  w7 _) d0 l$ ]
;**********************************************************- d7 P1 W7 v+ z' ]. p, x& ]
;
  e; T& x, }, J( p5 `% Z$ ETRANS12:/ {( E& g" H1 R, V6 e( \* _' O. {
         MOV   A,30H8 _! z, z5 I- v8 i/ h1 I4 k0 _: L
         ANL   A,#0F0H+ m) b9 W$ f1 T/ G3 O3 L
         MOV   3AH,A% }; @5 D- y: H* n* Y+ r# F
         MOV   A,31H
6 V9 }% C4 y  Z6 h3 z' B$ E$ u* f  i         ANL   A,#0FH
1 [# ~* r2 m4 `4 |' O         ORL   A,3AH! o% J8 F) m: s6 p" H3 j  J
         SWAP  A
# C* `; H8 N7 b8 R6 S         MOV   B,#102 w6 n  `4 ^7 L5 o$ |' Q. O# \( f
         DIV   AB
1 r$ \. D0 _8 b) M$ W: a$ a7 g7 \         ;MOV 42H,A
) J  h- ?% k( Z, A+ k0 M1 s" o7 D% j         MOV   43H,B ;
( m- D; {# j5 W" {         MOV   b,#10
5 Q4 J) v; [: l6 O4 j) p         DIV   ab# G! K6 h. ~. o+ Q. Z
         MOV   42H,B
& _. \: Z( \! d9 q8 Z: F* Q9 x         MOV   41H,A" I; b0 I" z, \0 b3 j( @; D
         RET( B1 E- p3 C6 |, R$ X9 d5 n
;*************************************************
2 ]3 p% I8 `* R" i+ @; Send a byte to the 1 wire line
$ T. @, m" b7 u9 q2 F& M/ l9 pSEND_BYTE: ;3 x! a! l7 e5 _9 ]5 g
         MOV   A,R0
1 F% R& t: q5 P, f         MOV   R5,#84 j, l; h, K" `$ `  l$ H$ q
SEN3:    CLR   C
; T" r3 O6 }% T         RRC   A! K/ L: \* I/ X! `
         JC    SEN1
" K& k6 b# i; p7 O# d; s/ {         LCALL WRITE_0# J) E) Y  {; {1 G! i/ V4 C- J
         SJMP  SEN2
3 Y$ x8 A4 ?7 b# }! R& USEN1:    LCALL WRITE_1
/ L* [% j- K$ W% D8 mSEN2:    DJNZ  R5,SEN3 ; ( V7 _4 L1 p" ], `% X; I
         RET
& D# B+ u' ^; x; O;*************************************************
. r( m4 t* a- k; Read a byte from the 1 wire line
3 v: }& _2 b1 A& Y/ aREAD_BYTE:
6 g: `5 S9 {$ `+ s         MOV   R5,#8- ~; G8 q% P! e" @/ @; a. X
READ1:   LCALL READ
( u, e; s/ }6 x! F         RRC   A, i. k6 z, {4 h9 K! ^- j
         DJNZ  R5,READ1 ; 1 `- n1 H, R" y: _9 t: A9 H8 [/ \
         MOV   R0,A
" `& a4 w% Z9 G2 Z0 ~/ X         RET: b3 V% P3 x. z* q5 p
;*************************************************% n9 c4 T) s* K
; Reset 1 wire line; z1 u1 f; f% z$ Z# @' |
RSTSNR:  SETB  DQ5 |) s1 X$ y# K. y) z) i9 S
         NOP+ K. U9 c8 s- m( ]. y8 W2 l
         NOP- Q0 D3 y- o/ w: x5 ~5 z
         CLR   DQ7 |7 I( v2 d4 ~4 p
         MOV   R6,#250 ;  @$ C! r% k/ O) ]
         DJNZ  R6,$
' U! h( a  p6 M! x- A: R         MOV   R6,#50
3 I( W8 O5 Y1 T         DJNZ  R6,$
8 D( S( F9 y  v& `9 S$ r         SETB  DQ ;
" M! T! ~+ e  r. ?$ s0 Z8 E6 K         MOV   R6,#152 J- J1 F9 {6 N+ L/ G8 x! J. S
         DJNZ  R6,$" w# n* f) a8 p" `7 U" ~
         CALL  CHCK ;3 _" ^: w* n! b* `8 A$ u
         MOV   R6,#60# e. X/ n) S4 j" U- r- W
         DJNZ  R6,$9 M3 a1 A1 ~6 S
         SETB  DQ; G% g4 b$ W+ J0 \; N) X: I" I5 z
         RET# M% }5 m: A/ p3 S# ]5 |7 b

) m2 H% ^$ L1 E

; {* W* g' p& r5 W7 f6 y- z3 F& [7 m1 F' b/ ]9 \/ @
6 t& f& i( l+ p! P. _% o
;*************************************************$ D0 k$ E% ]( p0 b6 N
; low level subroutines
7 g; G$ W/ Y" J% W3 g- BCHCK:    MOV   C,DQ
: E) q' S+ Z& e4 |* P! X' l         JC    RST04 u8 J; }2 q) |3 h% ~. i7 I
         SETB  F0 ;
! S* N6 m2 S: d1 p! j; ^         SJMP  CHCK0$ u$ y8 G% J4 P$ w! O1 l
RST0:    CLR   F0 ;- |: I+ T! |7 C7 h- S
CHCK0:   RET
% k- n: p' @! z4 K' I
( m% ^7 j  W) Q9 L, X

+ @4 |1 H9 \. ?4 v;*************************************************% Q2 x9 R4 j' s( k, }; X
WRITE_0: 7 p8 V. Z7 P3 k5 H: R
         CLR   DQ3 O$ N/ v7 L. T- b% i/ q
         MOV   R6,#30+ w* d+ O6 z5 a) j* k
         DJNZ  R6,$
7 y) E0 r8 v# @* ~         SETB  DQ
0 R) M7 {, a0 w; D7 Y         RET( M8 `2 b9 g# ^2 n1 N
;*************************************************" m; A0 V# G& d; j8 i, f" j/ @
WRITE_1: 4 V9 }* i6 c6 \% U/ ]- o2 B, g
         CLR   DQ ) I! |* n8 `: p# o* U
         NOP& _3 n7 {' M: C6 H1 Q! `. w
         NOP0 |5 k, p, o& K
         NOP8 u4 V$ j5 X( H6 q
         NOP6 t% Z: Q- K% B( N+ J
         NOP4 j1 G9 i! Z& i' B; Z! J! }
         SETB  DQ+ x3 X. ^/ S9 ]+ @' D2 I* y( {
         MOV   R6,#30
9 I8 l$ t: U9 g9 z3 s) N" i         DJNZ  R6,$
0 G! h6 E4 k9 n; U2 s         RET
1 l4 s) t9 k% V+ f3 Z: K2 ]
+ Z- P9 q% @9 Y: ~7 t* ]; Z

5 L+ |6 j  F3 ~4 Y8 Z9 a% i;*************************************************  _* G% p$ N! i5 g, X- z6 R
READ:    SETB  DQ ;& T( F. v+ ]2 F
         NOP' }! s* `. t) T. u# f( _& m
         NOP
6 {: k$ G  \0 n& ?$ O( O         CLR   DQ
8 M7 q( u: ~- {$ y" ]* }         NOP. M: G2 f* ?+ d! J1 r0 L( r9 D& i
         NOP
* r. |8 C  S; c: Z" ~, J. }         SETB  DQ ;
, b" L2 i9 x+ f  k5 r8 {6 T, s         NOP: d6 |0 i/ |+ z' f& J2 R0 p
         NOP( u/ _& R( V$ {5 Z  j
         NOP
+ ?- E. M* Q- X7 ?# m' {$ A# E9 \         NOP1 L- D/ f, E% w& f$ ]7 I7 `0 O
         NOP$ I/ q( o9 J7 @3 z2 W
         NOP+ ]2 ^  O( N7 {7 {
         NOP
, u) j' c9 }% C5 l5 {7 g% r         MOV   C,DQ
  x- Y# D6 o9 l+ d) ]# j- X         MOV   R6,#23
2 V* E- Q& R# j! s% [3 I3 L         DJNZ  R6,$* I  @! j3 X) D% C' P
         RET
; L, }5 Q: Q0 E. Q' o, t2 k) A. C/ n2 [

* p! j9 x" V0 q& t1 @" ^;**********************************************
" J0 J/ B3 n1 b, j" n- ~% tDELAY10: MOV   R4,#20
2 b! I# b4 P! l* Y6 u1 m* C+ uD2:      MOV   R5,#30* d" g6 b0 }, \- k% g* w
         DJNZ  R5,$2 Y; G9 M* a" W+ q
         DJNZ  R4,D2
. _' [" ?8 i5 `1 {& {         RET; i" w' Q) |9 ]: Q
6 @! }: ^2 u% q+ Q

# n7 |% S' o" k  A$ }         end
# I  N! R' {" Y; p5 Y
2 z9 I& v* C5 m! c4 W/ B* Z/ P+ N( H7 Z
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-6-16 01:05 , Processed in 0.078125 second(s), 26 queries , Gzip On.

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

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

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