关于用定时器中断方式实现固定时长的定时,请观看实验三的教学视频。
一、用直接测频法(计数法)设计频率计
二、用测周期法(计时法)设计频率计
三、用门控方式测量高电平脉冲宽度
四、用计数器扩展外部中断
定时器/计数器软件设计小软件
在编写定时器/计数器程序时,不同型号的单片机,不同的晶振频率,不同的定时时长或者计数值,是否须要使用中断,程序是不同的,我们可以借助单片机小精灵、STC-ISP等软件工具,加快程序设计速度。
一、单片机小精灵
图1是常用的单片机小精灵软件,打开该软件后,点击左边的“定时器/计数器”选项卡,通过选择晶振频率(可以是12MHz、24MHz、11.0592MHz、22.1184MHz等)、单片机机器周期(12T指传统的51单片机,代表12个振荡周期为1个机器周期)、定时方式(用于设置TMOD寄存器)、定时时间(用于设置计数器THx和TLx的初值),选择生成汇编还是C51代码,点击“生成”按钮,即可生成包括初始化程序、主程序的示例代码。复制该代码,到Keil uVision软件中直接粘贴即可。

图1 单片机小精灵
如果选中“启用定时器中断”,生成的示例代码里面包括图2所示的中断服务子函数,并且图1所示的初始化子函数里面,也会对中断进行初始化(设置IE寄存器)。

图2 单片机小精灵
二、STC-ISP
图3所示的STC-ISP软件,是宏晶公司专门为开发STC单片机程序设计的,点击软件中的“定时器计数器”选项卡,设置相关定时/计数的参数,同样可以产生C51或者汇编代码。跟单片机小精灵不同的是,它不会产生中断服务程序代码。

图3 STC-ISP软件的定时器计算器
★温馨提示:本部分内容选自《单片机学习与实践教程》,朱向庆编著,北京邮电大学出版社,2018年出版,引用请注明出处。