|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
单片机定时器0方式2输出方波 有proteus仿真 汇编语言源程序
$ H/ `% }3 I) C. t+ q7 Y t X& B7 [. D
4 P, s5 Y/ S; U
定时器输出方波proteus单片机仿真原理图:
" Y6 f' V# G M
2 ^; p5 B: n r; w0 s1 N单片机的定时器0设置为计数方式2(自动重装初值0FFH)一旦外输入P3.4有下降沿信号即产生中断,P1.1输出高电平指示LED亮,并启动定时器1工作方式2也是自动重装方式,初值按6M晶振机器周期为2微秒算500微秒 256-500/2=6,定时器1每500微秒产生一次中断取反一次P1.0,所以在P1.0上接的示波器会显示周期为1MS方波4 L7 P+ G* I6 F# }# f7 Z
: {5 b6 C- C, h
1 F1 o$ f. |$ G2 ] Y, d1 N单片机汇编语言源码:
# Q$ p/ N3 K$ R# K' U1 v# Q" l9 P org 0h
$ A- X2 B' x* v) } l2 y4 YRESET: AJMP MAIN
. T5 H5 O& v; F$ r6 z ORG 0BH! d8 O' p2 N+ q4 d, K+ T% N
AJMP IT0P
# G# E" j6 A6 s5 n ORG 01BH# T8 F, o- `* e7 t( I, Q! D
AJMP IT1P' Y1 Q6 w( s5 f& b* l$ F1 @
ORG 100H/ i% A7 O+ Q# z* l5 ~
MAIN: MOV SP,#60H
5 |; A% q0 b9 q0 f ACALL PT0M2+ }( B @1 C( n5 L
LOOP: MOV C,P1.1
4 s) [4 p" E: M# b3 Q$ M2 n+ V# J JNC LOOP; W2 r2 @+ [# z' j4 j
SETB TR1) ^- _6 D4 D) `, m% H
SETB ET1: q( V7 o4 Q$ a( }
HERE: AJMP HERE
* G/ e9 r3 a; @7 u* BPT0M2 : MOV TMOD,#26H2 d' r( h) n0 T6 q$ D( }
MOV TL0,#0FFH
% X* \; X7 E- O5 Z8 E MOV TH0,#0FFH) R+ p$ p3 o- E- n! T% R( n# J+ B
SETB TR0
4 B2 ?. B7 i& C; t SETB ET0
5 E- B/ J5 ?1 u$ j! r MOV TL1,#06H4 F3 P w* d. E* z: b$ H" K# J
MOV TH1,#06H
; f6 f7 b8 M% q! q" S CLR P1.17 _8 Q7 b1 Y. J1 v, i
SETB EA8 n: G6 w" h) c/ h% }- z5 O
RET& Z9 M' g; n& g3 j, P
IT0P: CLR TR0
% b- k. H! H6 f7 s. F SETB P1.1
% n4 {% _$ h, i( ~ RETI5 E' D; x+ t: S, H8 m7 U( U, |
IT1P: CPL P1.0
) s. g: Z2 Q5 c2 C2 N' g RETI 2 o8 [/ g9 B% r0 [ t. D9 ^
END
6 g7 T: \ q6 G% m) M7 T& g O, R) ]0 V
& b7 O. l2 q3 Q3 E1 x
2 M3 a4 L$ F, j2 p2 @8 P2 W8 J |
|