|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
单片机定时器0方式2输出方波 有proteus仿真 汇编语言源程序
3 `0 T# N# C. X0 A8 A0 T( }+ I2 @; d5 j/ C
3 A: H( m# p$ G" x9 P定时器输出方波proteus单片机仿真原理图:
/ N0 |; O! l5 C
* ~8 W. q3 l. J5 Q单片机的定时器0设置为计数方式2(自动重装初值0FFH)一旦外输入P3.4有下降沿信号即产生中断,P1.1输出高电平指示LED亮,并启动定时器1工作方式2也是自动重装方式,初值按6M晶振机器周期为2微秒算500微秒 256-500/2=6,定时器1每500微秒产生一次中断取反一次P1.0,所以在P1.0上接的示波器会显示周期为1MS方波
% X2 j/ l0 G1 k% U* S2 G; u 4 G: G. x" a, E( B( I3 H
1 D' i1 c3 b3 ~9 F2 {7 b' a% x单片机汇编语言源码:" l* R9 r* j [# u
org 0h
" z# e2 [: E! B; f1 LRESET: AJMP MAIN) w9 \. C6 W, _5 F# g, [% P
ORG 0BH
$ J; V1 |7 i7 W' x% ?1 s- m% F2 F AJMP IT0P0 F9 u9 `* P* n
ORG 01BH8 Q* D/ w, C: I$ b
AJMP IT1P- c3 X9 Q' R& g& ^
ORG 100H4 q) D7 r/ d) N( t0 ]
MAIN: MOV SP,#60H
2 [! d1 d% Q6 f) ^$ X1 e ACALL PT0M2* F4 ^) {, N% Y/ T/ V
LOOP: MOV C,P1.1& |# ~$ j4 ~$ g5 N
JNC LOOP
' Q) i6 j& s0 R, T- { SETB TR1) |1 r; G2 q0 ~. B
SETB ET1- h7 ^8 t2 ~+ x! K2 Y J o
HERE: AJMP HERE& u) Y* N2 m/ V& |& s
PT0M2 : MOV TMOD,#26H3 F0 M( K6 C _% i3 y
MOV TL0,#0FFH
6 Y* n* G. ?2 l `/ \, H" \ MOV TH0,#0FFH
; q+ X4 z, n. _1 w+ a7 w3 z SETB TR0
. W* e, Y( G0 D7 K: b SETB ET0
3 w) X* b1 l, t( F8 g& S- j MOV TL1,#06H
; {) I8 g0 G4 q# k) ~9 D MOV TH1,#06H% m+ _- q% k0 D/ N/ S: _1 Q
CLR P1.1
& b/ o. h- Q2 e: H SETB EA
& x1 W E) U' _' y v% } RET
2 V' @, D6 v& m' [2 H+ NIT0P: CLR TR0# G: n3 u7 t1 F3 l8 g, b
SETB P1.1
- ^ ~# E. Y5 y4 I' Z% R RETI
: j( Y# M ]: U$ |4 EIT1P: CPL P1.0
/ j" Q+ v: o0 H4 h4 x, q RETI
Q9 g+ n+ Y. M7 y$ ] END , _& I* }9 \: h& \0 \
4 p, b5 P0 d9 Y* X
i$ c- P$ N: M* j4 w' n7 k$ Z
# p; ?( A9 R, h7 n' w& g3 u |
|