|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
单片机定时器0方式2输出方波 有proteus仿真 汇编语言源程序
( U x$ w! ?* ~2 @
5 Z1 m b2 t% f; N; E6 H1 |5 s( Q+ [$ N5 m, [- n \0 g
定时器输出方波proteus单片机仿真原理图:0 s0 i0 g, m5 ^- ]% d
: R6 B) Z& B& C( t单片机的定时器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 n/ ?& Y' y4 n; a# L
, s! h* y" J) r$ S
$ a, a; T" q7 M/ W3 ?% G8 |单片机汇编语言源码:
* U5 e/ {3 A- o3 ^1 i" ], f" _ org 0h- n# G6 G4 g$ D# f& H
RESET: AJMP MAIN
. c1 h& o9 s8 \6 V- n ORG 0BH
( ~' u- `! }* d AJMP IT0P# x4 M6 _& T$ `, B: O _- m4 N
ORG 01BH
4 X* t3 {3 X% n- K+ }/ `$ M AJMP IT1P
3 E- V+ w; {% l1 @ ORG 100H
& d+ @, P' w2 ?6 V- WMAIN: MOV SP,#60H. K$ F" w& h Y" B& O N
ACALL PT0M2
* y4 a2 e( {5 {4 H5 j, G4 C/ X1 s- D+ @LOOP: MOV C,P1.1! A7 n% T. \ M- k5 q
JNC LOOP% z" w$ d" f+ C1 |- l# w _0 e
SETB TR1# }4 Z( C3 s5 v( K, r
SETB ET1
7 D8 }0 c6 P" G/ f% B$ j* eHERE: AJMP HERE6 T0 \, W* a# S) D; j
PT0M2 : MOV TMOD,#26H
" j$ [* t0 S3 t: o MOV TL0,#0FFH/ k d* z$ I# J9 j
MOV TH0,#0FFH
& p- {+ V3 |% v# p, o& t SETB TR0- {# I3 a% J# N; {0 y4 ?
SETB ET0
5 q7 Q b) v2 m) t% y. | MOV TL1,#06H
R) u7 y% M# V' b7 U MOV TH1,#06H _% e- R7 Z- t
CLR P1.1
" x- S: h- x& k8 `& ~ SETB EA8 N! W6 ? l* q: T) R
RET v. |( S. B& S$ z* Y8 _
IT0P: CLR TR0/ q. \7 a6 t* N- x1 \/ M, L
SETB P1.1
: ^& X% P! F N RETI8 E6 F6 `( n# `2 B) v4 o
IT1P: CPL P1.02 S9 K1 L. X& E6 _
RETI
, I. f) F9 Z- d" M$ e2 w3 _% [7 p+ X END
& w7 l P) w. r0 G
3 g$ L& d# \3 v5 `+ Y, X b
) z% w6 [3 D3 }& i- N& Z% \7 s/ j6 z( a" `$ |
|
|