|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
单片机定时器0方式2输出方波 有proteus仿真 汇编语言源程序. N& o1 o3 n1 k; _5 y
+ O' }* Y6 v7 s3 i
% h6 J2 E! y/ ^/ O. f) |' F
定时器输出方波proteus单片机仿真原理图:8 B4 ^* i( s0 B$ D# B B( C
0 j' l; D4 l3 w/ 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方波9 G) Y4 I# h- S0 n2 i
0 t9 F% i. ]5 @& c1 y8 L9 {3 H' f
; C" K5 i% e) C% q4 m% u
单片机汇编语言源码:
h# Z" N: U# K6 [5 Z& j9 H! ^& s; V org 0h" C7 J7 J8 G! L, r! g5 ~0 W
RESET: AJMP MAIN+ Q2 n. p6 ^1 ]" \
ORG 0BH5 N& L. P) H$ K, \ J# b' u
AJMP IT0P3 c; S0 y/ y" W4 l- z
ORG 01BH. A- @ k2 x& n" w( l, r8 f
AJMP IT1P) k4 d; T# a/ M8 |& ~' I
ORG 100H
9 i# i; d! A1 [8 UMAIN: MOV SP,#60H# x4 K/ M5 }( w7 O9 ^
ACALL PT0M2) T) L$ {) F! d( q) ~5 r( u
LOOP: MOV C,P1.17 z2 o$ K3 C# K L3 i q3 a
JNC LOOP
8 ~% y3 s. y; ^% T) S9 Y1 O SETB TR1: @' P% t: b3 C- p8 ~
SETB ET1
3 I$ _& k2 I; H) }3 mHERE: AJMP HERE( f+ L4 D" Z" K- b7 P
PT0M2 : MOV TMOD,#26H
% Y1 {2 l) S, ?4 F0 O MOV TL0,#0FFH! U) S, @* O; H( k& q3 J
MOV TH0,#0FFH
- ?/ I: b- d* t& g* u7 \+ v& z SETB TR01 h) j0 [7 @5 }) L. U
SETB ET0
4 x8 U! ~" K! O/ T# o6 J. i$ R5 d( ], K MOV TL1,#06H
8 e1 z4 z: i7 y9 |" G& f8 X/ Q MOV TH1,#06H2 G1 v6 g% X3 O$ S- V* \; [
CLR P1.1: T7 e6 E8 Q* U/ C% ?( @& {" S
SETB EA
* a) ]- G: A8 G! K RET2 ^ m' K. \( P6 k5 H4 A f% I* L
IT0P: CLR TR0; m% Y) e7 r" U# }0 T* q+ C% |3 M
SETB P1.1
% e. C2 @' c3 U6 h9 U RETI( h6 N! G( Q2 q$ O
IT1P: CPL P1.0) Q' s H! K( n4 B
RETI & \) q+ T3 ~% z0 M% a0 D
END
5 f3 \1 B, r! p& j% c& B- V
8 A$ N) t- O% `$ g+ }3 a( T- l1 u8 R1 I0 u5 J
/ h- U7 }2 h. i- Z1 G; N
|
|