手机版

陕西科技大学科目期末考试复习陕西科技大学期(15)

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

DISP: ; 显示子程序

RET

3) 方式 2 应用

方式 2 是定时器自动重装载的操作方式, 在这种方式下, 定时器 0 和 1 的工作是相同的, 它的工作过程与方式 0、 方式 1 基本相同, 只不过在溢出的同时, 将 8 位二进制初值自动重装载, 即在中断服务子程序中, 不需要编程送初值, 这里不再举例。定时器 T1 工作在方式 2 时, 可直接用作串行口波特率发生器,

4) 方式 3 的应用

定时器 T0 工作在方式 3 时是 2 个 8 位定时器 /计数器。 且TH0 借用了定时器 T1 的溢出中断标志TF1和运行控制位 TR1。 

例 3 假设有一个用户系统中已使用了两个外部中断源, 并置定时器 T1 于方式 2, 作串行口波特率发生器用, 现要求再增加一个外部中断源, 并由 P1.0 口输出一个 5K Hz的方波(假设晶振频率为 6 MHz)。

在不增加其它硬件开销时, 可把定时器/计数器 T0 置于工作方式 3, 利用外部引脚 T0端作附加的外部中断输入端, 把 TL0 预置为 0FFH, 这样在 T0 端出现由 1至 0 的负跳变时, TL0 立即溢出, 申请中断, 相当于边沿激活的外部中断源。 在方式 3下, TH0 总是作 8 位定时器用, 可以靠它来控制由 P1.0 输出的 5 kHz方波。 

由 P1.0 输出 5 kHz的方波, 即每隔 100 μs使 P1.0 的电平发生一次变化。则TH0中的初始值 X=M-N=256-100/2=206。

MOV TL0, #0FFH 

MOV TH0, #206 MOV TL1, #BAUD ; BAUD根据波特率要求设置常数 MOV TH1, #BAUD MOV MOD, #27H ; 置T0工作方式3

; TL0工作于计数器方式

MOVTCON, #55H ; 启动定时器 T0、 T1, 置外部中断 0 和 1

; 为边沿激活方式

MOVIE, #9FH ; 开放全部中断

TL0 溢出中断服务程序(由 000BH单元转来): 

TL0INT: MOV TL0, #0FFH

; 外部引脚 T0 引起中断处理程序 RETI

TH0 溢出中断服务程序(由 001BH转来): 

TH0INT: MOVTH0, #206

CPL P1.0

RETI

此处串行口中断服务程序、 外中断 0和外中断 1的中断服务程序没有列出。

设MCS-51单片机系统时钟频率ФCLK为6MHZ,请编出利用定时/计数器T0在P1.0引脚上产生周期为2秒,占空比为50%的方波信号的程序

(1)主程序

1)T0工作方式的设定: 选择方式1(16位方式)

陕西科技大学科目期末考试复习陕西科技大学期(15).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)