|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
单片机定时器0方式2输出方波 有proteus仿真 汇编语言源程序/ M1 u w% X8 `. x2 |$ B$ E* M
) e# c, [' x3 j5 H. t: J
4 L; f# X4 K" B6 B! @7 x) J7 F
定时器输出方波proteus单片机仿真原理图:: V5 ?! i1 \: X/ o
; }0 z) }6 |& X2 l5 A单片机的定时器0设置为计数方式2(自动重装初值0FFH)一旦外输入P3.4有下降沿信号即产生中断,P1.1输出高电平指示LED亮,并启动定时器1工作方式2也是自动重装方式,初值按6M晶振机器周期为2微秒算500微秒 256-500/2=6,定时器1每500微秒产生一次中断取反一次P1.0,所以在P1.0上接的示波器会显示周期为1MS方波
; ]$ V" r6 K: U/ ~) c7 J ( m& _. ^2 D+ _- f
4 b1 `9 l; M$ P# w( b3 Z/ ?2 z单片机汇编语言源码:
9 Y! F" ^8 T% e# r org 0h
& H' h6 i9 G1 \* r8 c% [4 Q oRESET: AJMP MAIN
! \) S o9 Z- R3 r9 @5 g) V) c6 v ORG 0BH
4 w S9 r; c/ F2 w2 W: W0 D- o- | AJMP IT0P/ O( L8 V- y! N; D8 p3 W& K$ h
ORG 01BH* T6 |" V( A9 T1 j: _) v
AJMP IT1P
+ Q7 F3 z* C8 J4 h) H# S ORG 100H/ ^" `+ o; q( G# C- S
MAIN: MOV SP,#60H T; b5 O5 e; q
ACALL PT0M2
% @9 z# {8 y6 d; A( }. eLOOP: MOV C,P1.1
+ |- B- `' F. b5 e, J: t# l JNC LOOP
1 S" \' ~# o/ n- u1 |6 e7 c SETB TR1
9 H$ `% Z) O3 ?8 G; Y SETB ET1
* a8 a% ^/ c5 P# C" M) e3 oHERE: AJMP HERE. O) g& k9 [7 [" Y8 `' N/ A0 i, k
PT0M2 : MOV TMOD,#26H* G5 B. e$ z$ k5 o8 z4 O- g: Y
MOV TL0,#0FFH, v- B& I: L; ^2 _( N
MOV TH0,#0FFH
1 w, |* w0 K7 d1 q SETB TR0) n) v* h* ?( |+ e. Z* Z
SETB ET0
/ w, v7 q# M/ W MOV TL1,#06H
' t7 j9 m/ c( |7 G MOV TH1,#06H1 w0 }. E `9 f5 a& q- v$ Z5 h
CLR P1.17 k. J/ s! }/ I' l9 H( m6 v
SETB EA4 h* j6 G9 K, _, G Y l
RET7 U, L# d U3 O1 i2 [2 E5 Y6 ?4 U8 t
IT0P: CLR TR0
) B% p0 N% ~, L% p SETB P1.1 F% N/ a) i% a* H8 Y9 Y* R2 K: ~
RETI" j' E* d# \! m. h
IT1P: CPL P1.0" U# z6 y! @! w- z
RETI 7 n, L, F: F0 F+ l8 @
END
/ Y- z! B0 v; Z6 x* b) `1 s6 X+ x: q: b) j5 P& e
6 k# C9 ~9 `5 L; w$ q4 i! x0 J
. o! z( D$ s3 Z3 U6 W- Q5 X9 u
|
|