|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
单片机定时器0方式2输出方波 有proteus仿真 汇编语言源程序
( [, R" U) @, H* E' O# n
8 e( Q' Y8 G; ~, b
0 o4 z0 B" R% m3 G7 s3 }* ]. u5 A定时器输出方波proteus单片机仿真原理图:
: t2 R8 Y* ], T* P0 ?; j
" r0 D" G! S( n% x7 K$ F单片机的定时器0设置为计数方式2(自动重装初值0FFH)一旦外输入P3.4有下降沿信号即产生中断,P1.1输出高电平指示LED亮,并启动定时器1工作方式2也是自动重装方式,初值按6M晶振机器周期为2微秒算500微秒 256-500/2=6,定时器1每500微秒产生一次中断取反一次P1.0,所以在P1.0上接的示波器会显示周期为1MS方波+ ~$ T9 z# [ R7 e
/ A7 I9 T7 T. j' }) Y, C# |
# V! C3 V" @8 `' o& j单片机汇编语言源码:& t" b4 J! y4 e8 c$ ^! D
org 0h& c% \$ Y0 R3 o& ~3 h+ w
RESET: AJMP MAIN, K& p! H. d, S" W$ @
ORG 0BH# S( I" J0 _ v9 @1 W& G+ n, c2 `
AJMP IT0P
8 S* p4 G+ `, R ORG 01BH. s* m: I' Z/ ]* F/ t1 R( r
AJMP IT1P" v- D- L( I2 I2 S
ORG 100H
& i0 Z! I* ~0 n0 w3 FMAIN: MOV SP,#60H
7 y% ]* X% C9 E0 q ACALL PT0M2. ~4 I- U1 H" L j5 E
LOOP: MOV C,P1.17 k2 h& r/ B6 c; f# O8 R
JNC LOOP
1 g, {# d" r. F" P& A4 M" D SETB TR1: W" J, Q G" Q" I& ^
SETB ET18 z7 W6 b6 h6 U0 [& S" t, ?) r! y
HERE: AJMP HERE |8 U* I2 l! R$ p
PT0M2 : MOV TMOD,#26H: b% r8 D% ]$ x" `
MOV TL0,#0FFH
# p& P( |8 c: ?3 ? B MOV TH0,#0FFH) }7 c3 M0 r" d$ F
SETB TR0; h \: @! B9 S) Y7 Q3 ~- ?
SETB ET0. Y: {+ Q! G, a# w: k
MOV TL1,#06H
0 @' f& Q: S ? MOV TH1,#06H
! Q9 c# g% f* D! o8 ]4 w CLR P1.1. r) O, y" A1 ]4 ]" [; H
SETB EA) A) W L L# i$ t0 n4 d0 S/ u
RET
7 r: t+ R; a3 N& k. r# gIT0P: CLR TR0
5 ?% w" V6 }- I# A+ J. a SETB P1.1
# r( V/ m) J' S r) J# Y RETI' f% i4 U1 w5 Q( n* K+ {
IT1P: CPL P1.0
) x. S' [, t! W8 c; ^5 i( y RETI
: s- A3 U4 Q; R! M, U END ) P7 \6 z, W" F$ Y- L4 S9 G
( b" z# y/ x6 X+ s
$ k5 i+ Q2 s' m, c: y
0 Y+ H: C" f0 T9 r. l |
|