一、实验环境:
操作系统:Windows8专业版
处理器:Intel(R)Core™i5-3317U CPU @1.70GHz 1.70GHz
安装内存(RAM):4.00GB
系统类型:64位操作系统,基于x64的处理器
二、试验目的:
实现对1kHz信号的任意次分频
三、实验步骤:
- 打开μVision4,选择Project,New μVision Project建立新的工程,单片机类型选择Intel公司的80/87C52。
- 依次编写初始化和主程序文件,并添加到工程中。
- 链接,编译。
- 仿真,适用频率分析仪检查实验结果
四、实验代码:(文件见代码压缩包)
#include<reg52.h>
#define uint unsigned int
sbit IN = P3^2;
sbit OUT = P2^0;
int t=0;
int n=8;
main()
{
EA=1; //全局中断开
EX0=1; //外部中断0开
IT0=1; //边沿触发
while(1)
{
}
}
/*------------------------------------------------
外部中断0程序
------------------------------------------------*/
void ISR_Key(void) interrupt 0 using 1
{
t++;
if(t==1*n) OUT=0;
if(t==2*n) { OUT=1; t=0; }
}
五、仿真结果:
六、实验总结:
相对于十分频,任意次分频稍微复杂一点。通过对这一过程的联系,我对分频有了更进一步的理解,同时也尝试着扩展了自己在单片机方面的学习。截图中使用的虚拟数字滤波器是我在学习数字信号处理是偶然发现的软件,能在这里用上也是一种收获。