|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
单片机定时器0方式2输出方波 有proteus仿真 汇编语言源程序
5 u3 j$ ^9 c/ s( i, ?# C( b, u8 e0 V) N( ]0 b4 B
& A! C; K I }& c$ Z7 \1 C4 w定时器输出方波proteus单片机仿真原理图:: C1 d( E( R; A0 _! ?2 ?0 X3 l; a
' Y$ K) k) H1 k! \3 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方波9 A1 i# ?" w. b" R1 n0 o; \
3 |' c" I2 j5 m, x" g4 S0 n1 |, R; v% c" v8 C4 u; W: `
单片机汇编语言源码:
* }2 C/ n3 }2 p& {! ] org 0h8 S; w/ N2 k6 k" K
RESET: AJMP MAIN
" n5 R8 W" n$ \# Q. { ORG 0BH i, C# P! ^2 y0 j
AJMP IT0P
7 G: I; n/ m% J' I0 m& |8 { { ORG 01BH
, {2 d b) \7 `$ Q0 E _ AJMP IT1P0 |0 o9 Q7 N8 k! `$ b- a
ORG 100H: @5 |0 P) d+ b, b8 V0 W
MAIN: MOV SP,#60H( }' u6 I) x, m- G. R5 T
ACALL PT0M2
; h9 @2 R; e" r" LLOOP: MOV C,P1.1' H1 U3 N' {' `9 `
JNC LOOP J4 t' a: R) o8 z6 `" T
SETB TR1* M5 r9 p+ }0 j: B9 ?) h* G1 @- t
SETB ET12 L2 P9 _/ d% \8 p
HERE: AJMP HERE/ p% A( N9 a% z
PT0M2 : MOV TMOD,#26H" ]/ A: I2 _/ \! V5 z5 r
MOV TL0,#0FFH w" l! o4 G$ v! I/ y# k9 w
MOV TH0,#0FFH. i p' @& G$ y& l7 o9 T
SETB TR0
7 ^6 ?2 Q9 d1 N; J# z8 p. c% t SETB ET0
7 S4 ^7 D8 e( {. Y: x MOV TL1,#06H. ?4 P( N4 I6 u" n+ q
MOV TH1,#06H
! \3 Z* r! v4 Z( o6 O. u9 a CLR P1.1
2 }. u7 O1 T7 ]) ^% {, p SETB EA/ k/ K% v0 c: m) J+ o
RET
8 m- @+ ^2 T0 ?- p* ~IT0P: CLR TR0 W. H: d4 N& U+ g: q1 v4 G1 Y
SETB P1.1
+ D! N: z. Y* }9 a5 x RETI+ B: r1 g; J' C/ _0 V# ^' J+ m
IT1P: CPL P1.0
- A, q8 f# f) w RETI
1 i# A& m& i; g3 L% i0 p END & p, j$ }9 o9 |' |! J1 R" F, G) ?
* R4 [' x7 ]6 ]% q; v, U
}. T& M' _, e6 G/ z
! ?% R2 p4 A+ u0 l0 c4 j. h2 L
|
|