|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
单片机定时器0方式2输出方波 有proteus仿真 汇编语言源程序
, \) F) {+ ?9 ?' m# S
$ M3 t* E" W% D$ N9 h) B% o2 P) u
5 E. I/ B7 X; l定时器输出方波proteus单片机仿真原理图:+ n, h0 Z5 Y) ^( M
8 C$ w+ C5 q2 d" n% z* a% D n C( S; W' A: Y单片机的定时器0设置为计数方式2(自动重装初值0FFH)一旦外输入P3.4有下降沿信号即产生中断,P1.1输出高电平指示LED亮,并启动定时器1工作方式2也是自动重装方式,初值按6M晶振机器周期为2微秒算500微秒 256-500/2=6,定时器1每500微秒产生一次中断取反一次P1.0,所以在P1.0上接的示波器会显示周期为1MS方波. S* l7 B. Y/ r3 L& w7 h+ h; E
- d1 E3 B; f+ x: m7 V
- E+ n4 d3 S* b$ L( v; F9 Q& ?; |) a单片机汇编语言源码:/ l o& W. Z* d$ t/ r' Y
org 0h3 l- @: M6 M3 j, Z8 D _% [$ i
RESET: AJMP MAIN6 N8 h, T( y8 u$ c' M
ORG 0BH
3 v) j' z1 K8 ] AJMP IT0P
/ [4 v% S% ~7 N ORG 01BH
1 K# p) z2 b- e2 S AJMP IT1P
3 N! b2 |8 k' w, D# c# G2 A ORG 100H6 i( `' {2 S+ H, O9 i7 T- g: @
MAIN: MOV SP,#60H) F! F# Q. ~3 { N
ACALL PT0M2/ f; G$ R8 O2 p9 [# F
LOOP: MOV C,P1.1; ?) R$ s: u( v' y' O
JNC LOOP
: Y& \% x5 h$ [+ h; s. t7 K SETB TR1
7 p6 M7 r x) i2 W& S8 `7 p SETB ET1
3 P: r: w! E6 S+ y/ cHERE: AJMP HERE
1 b" @) ?% X% I. ~2 _# S6 p5 v0 H% H/ qPT0M2 : MOV TMOD,#26H
9 @$ N1 x+ S) C% R' S MOV TL0,#0FFH
) f& ]' C0 `' i" U3 ^+ P1 b" r MOV TH0,#0FFH
, V0 ~7 F* Y/ U6 r) F) L SETB TR0
0 l" c: x' x7 U, h5 { SETB ET0+ e( q9 J9 J4 l
MOV TL1,#06H3 N& S5 X* X0 H2 `2 U
MOV TH1,#06H d* p2 g' w9 ~1 D( e2 d% |
CLR P1.1
3 B$ K" p# `# ?, v SETB EA
2 L' t4 d2 {/ S$ h* z0 ` RET
: ^ m4 b5 f& j) CIT0P: CLR TR01 [8 Z4 n* P+ K) s! x
SETB P1.1* |/ V1 {+ Z8 C$ m" L0 T0 I' P P
RETI
# _6 b, T; E# }/ @IT1P: CPL P1.01 a; K* [8 I+ [3 z; N# {. C
RETI
0 O* d8 K: q! w; P. ] END
1 n O) R; w, T1 X4 b, q5 f p9 n3 K: I* y& \9 l2 a
- H J- F+ D4 h2 Z! @2 [0 ~" q7 F4 @$ f! a2 \7 a; W; m/ p8 N
|
|