项目四简易秒表设计
单片机定时器结构任务一定时器寄存器的初始化任务二定时器方式0的基本使用任务三定时器方式1的基本使用任务四定时器方式2的基本使用任务五定时器较长定时的实现任务六单片机驱动液晶任务七简易秒表的设计任务八
任务三定时器方式0的基本使用
任务描述本次任务要求熟悉单片机定时/计数器的方式0的基本使用,掌握寄存器初始化操作。
知识链接定时器的工作方式0
定时器的工作方式0AT89C51的定时器T0有4种工作方式: 即:方式0,方式1,方式2,方式3。 AT89C51的定时器T1有3种工作方式: 即:方式0,方式1,方式2。
方式0M1、M0设置为00,为13位计数器,以T1为例,其框图如下:计数脉冲输入加1计数器
在这种方式下,16位寄存器TH1和TL1只用13位,由TH1的8位和TL1的低5位组成。TL1的高3位不定。当TL1的低5位计数溢出时,向TH1进位。而TH1计数溢出时,则向中断标志位TF1进位(即硬件将TF1置1),并请求中断。可通过查询TF1是否置“1”或考察中断是否发生来判定定时器T1的操作完成与否。TH1D12D11D10D9D8D7D6D5TL1×××D4D3D2D1D0
当C/T=0时,为定时工作模式,开关接到振荡器的12分频器输出上,计数器对机器周期脉冲计数。其定时时间为:(213-初值)×振荡周期×12。当C/T=1时,为计数工作模式,开关与外部引脚T1(P3.5)接通,计数器对来自外部引脚的输入脉冲计数,当外部信号发生负跳变时计数器加1。
GATE控制定时器Tx的条件(1)当GATE=0时,“或门”输出恒为1,“与门”的输出信号B由TRx决定(即此时B=TRx),定时器不受INTx输入电平的影响,由TRx直接控制定时器的启动和停止。 TRx=1;计数启动; TRx=0;计数停止;
(2)当GATE=1时,“与门”的输出信号B由INTx输入电平和TRx位的状态一起决定(即此时B=TRx·INTx), 当且仅当TRx=1且INTx=1(高电平)时,计数启动; 否则,计数停止。GATE控制定时器Tx的条件
任务实施从单片机P1.0口输出周期为2ms的方波,要求定时器软件启动,工作方式为方式0。1.硬件电路2.程序设计
1.硬件电路
2.程序设计#includereg51.h//引入头文件sbitP1_1=P1^1; //P1.1引脚定义成P1_1变量voidtimer0(void)interrupt1//定时器0中断服务程序{TH0=0xE0;TL0=0x18; //装入时间常数P1_1=!P1_1; //P1.1取反}voidmain(void){TMOD=0x00; //定时器0方式0
TH0=0xE0;TL0=0x18; //装入时间常数TR0=1; //启动定时器TF0=0;EA=1; //开全局中断ET0=1; //开定时器0中断while(1);//主程序死循环,空等待}
知识总结定时器方式0是13位计数器,计数初值的存放一定要注意,低8位寄存器只有低5有效,高3位没有使用的。
综合评价
课后作业使用定时器T0,定时20ms,软件启动,请给出定时器T0的初始化程序。
谢谢观看《单片机技术与应用》课程