实验五:定时器,6103413018,刘玉奔

更新时间:2024-04-04 15:22:02 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

南昌大学实验报告

学生姓名: 刘玉奔 学 号: 6103413018专业班级: 生物医学工程141班

实验类型:□ 验证 □ 综合 □设计 □ 创新 实验日期: 2016.11.15实验成绩:

一、实验项目名称

内容:定时器

任务一:每按一下SW17或者SW18启动24秒倒计时定时器,结束后数码管闪烁,再按一下重新开始

任务二:测量方波信号频率:用定时器实现可变频率信号输出,然后用定时器1测量这个信号的频率

二、实验目的

1:以便熟练掌握C语言编程,2:以便熟练使用I/O口操作,3:以便熟练使用开发软件,4:以便熟练使用实验箱,5:以便熟练学会测试程序,6:以便熟练使用定时器T0,T1的定时计数功能,学会可编程时钟输出功能。

三、实验基本原理

1.工作方式寄存器TMOD B7 B6 B5 B4 B3 B2 B1 B0 GATE M1 M0 GATE M1 M0 C/T非 C/T非 说明:M1,M0为T0,T1工作方式选择位。 M1 M0 工作方式 功能 00 方式0 自动重装16初值 01 方式1 不可重装16初值 10 方式2 自动重装8位初值 11 方式3 不做要求 说明: (1)C/T非:为0,定时模式;为1,计数模式

(2)GATE:一般为0,软件控制TR0或TR1置一即可启动定时/计数功能 2.定时/计数器控制寄存器TCON B7 B6 B5 B4 B3 B2 B1 B0 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 说明: (1)TF1:定时/计数器1溢出标志位。溢出时,自动置一,中断允许响应中断,自动清零;查询则由软件清零。

(2)TR1:定时/计数器1运行控制位。软件控制。 TF0,TR0同上。 3.辅助寄存器AUXR B7 B6 B5 B4 B3 B2 B1 B0 T0X12 T1X12 UART_M0X6 T2R T2_C/TT2X12 EXTRAM S1ST2 非 (1)T0X12:用于设置定时/计数器0的定时计数脉冲分频系数。T0X12=0,12分频。 T0X12=1,无分频。

(2)T1X12, T2x12同上。

(3)T2R:定时/计数器2运行控制位。 4:工作方式

方式0:定时时间=(65536-T0定时器的初始值)*系统时钟周期*12^(1-T0X12) 方式1:同上。

方式2:定时时间=(256-定时器的初值)*12^(1-T0X12)。 5:可编程时钟输出的控制 B7 B6 B5 B4 B3 B2 B1 B0 INT_CLKO - EX4 EX3 EX2 - T2CLKO T1CLKO T0CLKO (1)T0CLKO:定时/计数器0时钟输出控制位。为1,P3.5口输出,为0:禁止输出 (2)T1CLKO:同上。为1:P3.4口输出,为0,不输出。 (3)T2CLKO:为1:P3.0输出,为0,不输出。 6:可编程时钟输出频率计算

可编程时钟输出频率为定时/计数器溢出率的二分频。 输出时钟频率CLKOUT=(1/2)T的溢出率。

四、主要仪器设备及耗材

开发软件: keil Uvision4,实验箱:STC高性能单片机实验箱

五、实验步骤

程序设计流程图如下: 频率计:

24秒倒计时:

解释:对于频率计,采用定时器T0控制定时时间,为频率计测定定时;T1采用计数器功能,在定时时间一定的情况下,测出频率。因为,最大计数值为65536,所以在计数溢出时,做相应调整可以扩大计数范围。 对于24秒倒计时,采用定时器T0定时时间,外部中断1开启定时器,外部中断0关闭开启起到暂停作用。通过,dat值的变化范围,可以进行倒计时显示,与闪屏显示的工作方式切换。

六、实验数据及处理结果

用keil编写的实验程序如下:

24秒倒计时: #include\#include #include #include<595hc.h>

signed char dat=24;//定义BCD计数单元 unsigned char cnt=0,T=0;//定义循环变量 /*T0初始化子函数*/

}

cnt++;

}

if(cnt==20) { }

cnt=0; dat--;

}while(dat>=0);//开机显示初值24,倒计时结束跳出显示计时 TR0=0;//节约资源,关闭定时器 do { }

//init();//检测按键状态

display2();//亮24 display3();//灭

}while(dat<0);//计时结束数码管闪烁

任务一实验现象:(按下暂停键时显示) (闪屏显示24)

任务二实验现象:(用定时器T2不分频最大产生6MHz,最小产生100Hz)

(定时器T2 在12分频下最大产生500KHz,最小产生8Hz)

七、思考讨论题或体会或对改进实验的建议

通过本次实验,学会了使用定时/计数器T0,T1以及T2定时器,通过学习可编程时钟信号的输出,明白了用定时器产生方波信号的基本方法。也发现了使用定时器产生方波的范围局限性。同时,通过对频率计的设计,也发现了对于不同的定时时间,这里取50ms,20次累积定时1秒,通过测试与对比显示速度正常,但是,随着取值的减小,累积次数越多,循环次数,显示速度就更慢,可见对于设定定时时间还是也是有限制的。而对于24秒倒计时,则还是蛮好实现的。当然,如果想要精度更准的话,可以减小定时时间,增加累积次数而得到。这样反过来的话,就可以做一个秒表啦。

八、参考资料

单片机原理与接口技术——基于STC15W4K32S4系列单片机一书。 STC开发板示意图

}

cnt++;

}

if(cnt==20) { }

cnt=0; dat--;

}while(dat>=0);//开机显示初值24,倒计时结束跳出显示计时 TR0=0;//节约资源,关闭定时器 do { }

//init();//检测按键状态

display2();//亮24 display3();//灭

}while(dat<0);//计时结束数码管闪烁

任务一实验现象:(按下暂停键时显示) (闪屏显示24)

任务二实验现象:(用定时器T2不分频最大产生6MHz,最小产生100Hz)

(定时器T2 在12分频下最大产生500KHz,最小产生8Hz)

七、思考讨论题或体会或对改进实验的建议

通过本次实验,学会了使用定时/计数器T0,T1以及T2定时器,通过学习可编程时钟信号的输出,明白了用定时器产生方波信号的基本方法。也发现了使用定时器产生方波的范围局限性。同时,通过对频率计的设计,也发现了对于不同的定时时间,这里取50ms,20次累积定时1秒,通过测试与对比显示速度正常,但是,随着取值的减小,累积次数越多,循环次数,显示速度就更慢,可见对于设定定时时间还是也是有限制的。而对于24秒倒计时,则还是蛮好实现的。当然,如果想要精度更准的话,可以减小定时时间,增加累积次数而得到。这样反过来的话,就可以做一个秒表啦。

八、参考资料

单片机原理与接口技术——基于STC15W4K32S4系列单片机一书。 STC开发板示意图

本文来源:https://www.bwwdw.com/article/2ttr.html

Top