|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
单片机定时器0方式2输出方波 有proteus仿真 汇编语言源程序
0 v4 v* r# J. v5 ~) j/ e8 v w) d3 Q& z2 D& t1 F
* E1 |; P k0 s+ X2 w: K2 [8 }
定时器输出方波proteus单片机仿真原理图:
. B$ P6 B( D3 A8 L ! _* e' z2 ?; L# k# Z) K0 p4 U5 ^
单片机的定时器0设置为计数方式2(自动重装初值0FFH)一旦外输入P3.4有下降沿信号即产生中断,P1.1输出高电平指示LED亮,并启动定时器1工作方式2也是自动重装方式,初值按6M晶振机器周期为2微秒算500微秒 256-500/2=6,定时器1每500微秒产生一次中断取反一次P1.0,所以在P1.0上接的示波器会显示周期为1MS方波% x( }$ }8 W) A/ g& N0 |
/ g6 a$ v& P! Y2 `+ s/ r. S# C! q1 o$ R: Z8 q8 k7 `/ |
单片机汇编语言源码:# h% c, o0 E3 a: p, |' W
org 0h
5 i( \- e& s6 d8 @RESET: AJMP MAIN: S. s" l. A+ j. [
ORG 0BH( Y* O+ Q7 F* U- D
AJMP IT0P
1 K G$ x; z/ _1 h; n, i7 } ORG 01BH1 h. l! ]" l8 E4 I2 T
AJMP IT1P
, m* P7 I2 ]8 ~9 r' F ORG 100H
6 ?; m+ r: t$ a3 YMAIN: MOV SP,#60H
6 V1 a/ @: x/ b/ s# ]* I5 r& J ACALL PT0M21 Q2 O' ?( U* o) m( v
LOOP: MOV C,P1.1
/ ?& W; m( z1 {6 S% l1 d JNC LOOP
+ ?' Z6 B Z& D. n SETB TR1' ] E0 k$ i7 q/ ?$ e; m% ?
SETB ET1
+ l; M Y& x+ g3 A; e$ DHERE: AJMP HERE
0 S- i* c" k. ~PT0M2 : MOV TMOD,#26H& U4 s( ~! N$ n9 U
MOV TL0,#0FFH! B" E2 m$ [. V2 U6 h
MOV TH0,#0FFH" O( D7 j) [3 ~' M$ G) B
SETB TR0
q7 d B( B6 ^& u& {1 ] SETB ET0
( l) w7 |$ m ]( q5 _; f MOV TL1,#06H: C) ^ V. a& N- M& v' x4 {
MOV TH1,#06H* [: Q; R9 P- k
CLR P1.1
$ T! J+ I, F9 Z% E/ Y7 } SETB EA
6 p* N2 x+ q2 x/ C RET/ y h+ A9 A) k7 [
IT0P: CLR TR0& Q/ _: [& B- m6 g/ p9 _7 R# J' _6 N
SETB P1.1) {1 E% ?# W( G, z$ b6 X
RETI, c+ b8 C2 L- R2 I$ O$ p
IT1P: CPL P1.0
; r: A, O! g" d/ Q/ k! q; T RETI
0 F3 ^3 T% V7 H% H; \ END : q. I( d( O: Q7 G4 [
9 w* o( H9 T0 |- D$ ^
3 ~% W" k1 @6 [" [0 ~
% i2 W: x. d$ v* E3 n1 Q. F( W |
|