手机版

单片微机原理系统设计与应用 笔记(19)

发布时间:2021-06-07   来源:未知    
字号:

万福君、潘松峰


MOV TL0,#XXH;设置计数器TL0的计数参数
MOV TH1,#XXH;设置定时器0的定时参数(高位字节:重装用)
MOV TL1,#XXH;(低位字节:)
;以上TH0和TL0参数设置指令,要在中断处理程序的开始重写
;T1参数设置指令,不用在中断处理程序的开始重写,可自
;动重装,除非要改写运行参数
SETB TR0;启动计数器TL0
SETB TR1;启动定时器TH0,并在INT1引脚高电平时启动



三、计数初值的计算
计算公式:使用12MHz晶振
12 12
一个机器周期=------------- = ---------- = 1微秒
晶振频率 12M

定时值计算:因为:定时时间=计数值X*机器周期
定时时间
所以:X= ---------- 而计数器设置初值 Y=2n-X
机器周期

定时时间
因此 Y=2n-(---------)
机器周期


四、 定时器/计数器编程举例:定时器初始化程序

例程∶》1
FFFFH=65536 55536 =D8F0H 65536-55536=10000
T0定时时间=10000*1us=10ms
设晶振频率位12MHz,P1口接八个指示灯,P2.0接一个选择开关,制作流水灯控制器,每0.01秒移动一次或每0.5秒移动一次(画出电路原理图)
方式1,定时,中断
ZDJSQEQU40H;中断计数器
SJSDZ1EQU42H;时间设定值1
SJSDZ2EQU44H;时间设定值2
SCHCQEQU2CH;输出缓冲区
T0BZEQU08H;0.1秒定时标志
YDBZEQU09H;移动标志

ORG 0000H;程序进入地址及转移指令
LJMP START
ORG 0003H;中断向量区
LJMP INTINT0;外部中断0转移指令
ORG 000BH
LJMP INTT0;定时器0中断转移指令
ORG 0013H
LJMP INTINT1;外部中断1转移指令
ORG 001BH
LJMP INTT1;定时器1中断转移指令
ORG 0023H
LJMP INTDX;串行口中断转移指令
ORG 002BH
LJMP INTT2;定时器2中断转移指令

ORG 0030H
START:MOV SP,#60H;初始化程序
MOV TMOD,#01H;00010000
MOV TH0,#0D8H
MOV TL0,#0F0H
SETB EA;开总中断
SETB ET0;开定时器0中断
SETBTR0;启动定时器0工作
MOVSJSDZ1,#1;初始化时间设定值
MOVSJSDZ2,#50;初始化时间设定值
MOVZDJSQ,SJSDZ2;取时间设定值
MOV SCHCQ,#01H
LOOP1:ACALL IOCZ;I/O操作子程序
ACALL BJCX;报警子程序
ACALL ZKCX;主控制程序
SJMP LOOP1

IOCZ:JBCYDBZ,IOZC1;IO操作子程序
RET
IOZC1:MOVA,SCHCQ
RLA
MOVSCHCQ,A
MOVP1,A
CLRYDBZ
RET

ZKCX:JNBT0BZ,ZKCX1;利用0.01秒定时中断
CLRT0BZ
DJNZZDJSQ, ZKCX1;判断延时时间到
JBP2.0,ZKCX2
MOVZDJSQ, SJSDZ1;初始
化时间设定值0.01S
SETBYDBZ
ZKCX1: RET
ZKCX2:MOVZDJSQ, SJSDZ2;初始化时间设定值0.5S
SETBYDBZ
RET

INTT0:PUSHPSW
PUSHACC
MOV TH0,#0D8H;重置定时

单片微机原理系统设计与应用 笔记(19).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)