内容正文:
任务3 简易频率计
1.了解定时器与计数器之间的关系。
2.掌握计数器中断的初始化编程。
3.能够设计并制作简易频率计。
利用AT89S51单片机的T0、T1定时/计数功能设计一个简易频率计,完成对输入信号频率的测量,测量结果通过六位数码管动态显示出来。测量信号频率范围设置在0~100kHz,具体控制要求如下:
1.P0口依次与一个六位一体共阴数码管的码段端相连,用作频率的输出显示。
2.P2口连接六位一体共阴数码管的位选端,控制数码管动态显示时的位选。
3.单片机的P3.4(T0)口作为被测信号的输入口。
一、频率测量原理
用定时器T1来产生一个1s的时钟基准,同时计数器T0对由P3.4口输入的脉冲信号的下降沿进行累积计数,1s定时到,则其频率ƒ=M(Hz)。
TMOD 位符号 GATE M1 M0 GATE M1 M0
位设置 0 0 0 1 0 1 0 1
二、计数器相关SFR
1.方式控制寄存器(TMOD)
TMOD的初始化设置如下:
TMOD = 0x15; //T0计数功能,工作于方式1;
//T1定时功能,也工作于方式1
2.定时/计数器的控制寄存器(TCON)
TCON 位符号 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
位设置 0 1 0 1 0 0 0 0
TCON的初始化设置如下:
TCON = 0x50; //启用定时/计数器T0、T1
或
TR0=1; // T0开始计数;
TR1=1; // T1开始定时
3.中断允许控制寄存器(IE)
IE 位符号 EA / (ET2) ES ET1 EX1 ET0 EX0
位设置 1 0 0 0 1 0 1 0
IE的初始化设置如下:
IE = 0x8a; //开中断总允许(EA),
//开定时/计数器T0、T1中断
或
EA = 1;
ET0 = 1;
ET1 = 1;
一、设计并绘制简易频率计电路原理图
二、程序设计
c)计数中断T0服务程序
a) 主程序
b) 定时中断T1服务程序
本次设计仅用计数方式对P3.4引脚输入的脉冲进行计数,当在频率较高时测量的相对误差较大,因此主要用于低频测量,如能综合采用计数法和测周法——同步法测量方式,做到脉冲测量时的启停同步,无计数误差,将大大提高测量的精度。
根据上述设计思路编写的完整程序:
三、程序输入及仿真运行
四、制作硬件电路并调试
步 骤 说 明 示 范 图 片
1.焊接前
材料准备 参照元器件清单表
步骤 说明 示范图片
2.硬件焊接 电路板元件布局图
步骤 说明 示范图片
3.程序烧入、运行并调试 无输入信号时,
频率值显示为“000000” Hz
输入脉冲信号频率为500Hz时,显示为“498”Hz
步骤 说明 示范图片
3.程序烧入、运行并调试 输入脉冲信号频率为1000Hz时,显示为“995”Hz
单击此处返回目录
$