2.3.4 单片机基本组成电路
三路信号产生的电路如图2.3.11所示:
单片机的基本组成电路如图2.3.40所示:
辽宁工程技术大学毕业设计
图2.3.11 三路信号的产生
Figure 2.3.11 The produce of three circuit
图2.3.40 单片机基本组成电路
十四管脚,和十三管脚,这样可以通过多路选择器来选择何时把哪个信号送单片机。
Figure 2.3.40 Fundermental circuit of SCM
期为1us),这决定了单片机能测量的最大频率为0.5MHz,要想测量更大范围的频率,本
P0口接5K的上拉电阻,十八,十九管脚接晶振,晶振为12MHz(单片机的机器周
设计是通过分频来实现的,复位引脚接的是上电复位电路,这种上电复位电路利用电容器
25
2.3.5 显示电路
电路如图2.3.50所示:
容或者增大电阻都可以增大复位时间。
用来驱动数码管,控制数码管的位选位。
号信号还是一百分频的信号通过数码管显示出来。
3) 当P1.4、P1.5=10时,直通信号读入单片机。
图2.3.50 显示电路
2) 当P1.4、P1.5=01时,十分频信号读入单片机;
1) 当P1.4、P1.5=00时,百分频信号读入单片机;
降,复位引脚为高电平;当电容充满电之后,电路相当于断开,复位引脚的电位和地的相
同,复位结束。可见复位的时间预充电的时间有关,充电时间越长复位时间越长,增大电
充电来实现。当家电视,电容C充电,电路有电流流过,构成回路,在电阻R上产生压
单片机控制三八译码器还选择数码管的段选位,实现数码管的动态显示。74HC244
四选一多路选择器通过单片机的P1.4、P1.5控制来选择直通信号的频率、十分频信
Figure 2.3.50 Display circuit
靳琳:数字频率计的设计
26
辽宁工程技术大学毕业设计
3 系统软件设计框图
3.1 软件流程图
本设计的程序流程图如图3.1所示:
开始初始化定时器0开启外部中断N到达0.5SY关外部中断、定时器中断算100分频的计数值计数值>=500Y算100分频频率N100<=计数值<500YN计数值<100算10分频频率算直通频率显示显示显示开外部中断开外部中断开外部中断结束 图3.1 系统软件流程图
Figure 3.1 Flow chart of system software
27
靳琳:数字频率计的设计
3.2 程序模块的实现
3.2.1 显示程序的编程
void display(long num1) //显示函数
{ SMG_1; //第一位数码管显示的设置;
P0=table[num1/10000000]; //取数值的最高位送给第一位数码管; Delay(8); //延时,此数值为实验值,只有设置为8时,显示最稳定 P0=0; //I/O口清零,以便显示下一位
?? 以此类推
}
这段程序为显示电路的程序,SMG_1到SMG_8为宏定义,分别表示第一位数码管至第八位(高位到低位),把数组的值赋值给p0口,通过延时来实现动态显示,显示完后清零处理,以便于下一次用。
3.2.2 控制模块程序实现
long int read_fre()
{ p14=0; // 首先选择百分频读入
p15=0;
while(t<10);//数数 到500ms的时候停止数数 t=0; // t清零
EX0=0; //EX0 为外部中断允许控制位,为零时禁止外部中断 TR0=0; //关闭T0 中断
if(count>=500)//计数值大于500的话,直接送显示 {
fre_temp=count/500*1000;//被分频后的频率值 fre_val=fre_temp*100;//实际频率值 EX0=1;//开外部中断 count=0;//计数值清零 t=0;//t值清零
return fre_val;//返回频率值
28
辽宁工程技术大学毕业设计
}
if(count>=100&&count<500)//如果频率值在100到500之间,
}
把十分频的通路频率值经计算送显示
{ p14=0;//读入十分频频率值 p15=1;
while(t<20); //一秒数数,数到1s EX0=0; //关外部中断 0 TR0=0;
//定时器停止工作
fre_temp=count; //十分频后的频率值 fre_val=fre_temp*10; //实际频率值 EX0=1;
//开外部中断0
count=0; //计数值清零 t=0;
//t清零
return fre_val; //返回频率值
}
如果频率值在小于100
{p14=1; //把直通信号经计算送显示 p15=1; while(t<200)//数数 时间到10秒 EX0=0;
//关外部中断 0
TR0=0; //关T0中断 fre_temp=count; //10倍频后的频率值 fre_val=fre_temp/10; //实际频率值 EX0=1; //开外部中断 0 count=0; //计数值清零 t=0; //t清零 return fre_val; //返回频率值
}
29
if(count<100) //
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库数字频率计的设计论文(7)在线全文阅读。
相关推荐: