三极管在截止态时C-E间如同断路,在饱和态时C-E间如同通路(带有0.2V电位降),因此可以作为开关。
控制此开关的是IB,也可以用VBB作为控制的输入讯号。
图3.3和图3.4分别显示三极管开关的断路、通状态,及其对应的等效电路。
图3.3三极管断路等效电路图3.4三极管通路等效电路
3.5改良型电子开关
改良三极管开关:
因为三极管由截止区过度到饱和区需经过线性区,开关的效果不会有明确的界线。
所以会导致电路开关效果不明显,使单片机记录产生误差不能精确算出中断次数。
为使三极管开关的效果明确,可串接两三极管,电路如图3.5所示。
图3.5改良型电子开关
若单独一个管子做开关电路,其截止工作状态是基极电压在0-0.7V(PN结正向电压)这个范围内都是截止的,但是电压增大,可能有漏电流增大,开关效果不好。
而当用两个管子做开关的话,后面(带LED灯那个管子)的管子其基极电压只有最大电压12V(前面管子截止)和0.2V(前面一个管子导通)两种电压,这样就是完全的开或者关状态了,而不是有个0-0.7的中间电压。
以上可以看出几乎任何一种型号三极管都可一做为电子开关来使用,如果条件允许也可用来控制加热设备。
可见开关三极管只是一个笼统的概念,不过市面上也有少数的专用开关三极管出售。
故用两个三极管构成了一个改良的电子开关,提高了精确度。
4低频弱信号测频系统参数计算和器件选择
4.1参数计算
根据三极管的工作特性,设定基极电阻为280K,集电极电阻为3K,可用电流和电压表测出输入输出电压并根据公式4.1计算出三极管的放大倍数Ȧ。
(4.1)
根据输入电压Ui=0.027V和输出电压Uo=0.23V,带入公式可知电压放大倍数约为10。
通过以上数据通过公式4.2计算三极管的Q值
IBQ=
(4.2)
4.2元器件清单
表4.2系统元器件清单
类型参数数量
电阻280K2
电阻3K3
电阻1002
三级管NPN4
整流器BRIGE1
单片机AT89C511
晶振CRYSTAL1
电容35μf4
排电阻RESPACK-81
按钮BUTTON1
数码显示屏7SEG-MPX4-CC1
4.3单片机最小系统
4.3.1晶振电路
单片机系统里都有晶振,在单片机系统里晶振作用非常大,全程叫晶体振荡器,如图4.1所示。
晶振结合单片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时钟频率越高,那么单片机运行速度就越快,单片接的一切指令的执行都是建立在单片机晶振提供的时钟频率。
在通常工作条件下,普通的晶振频率绝对精度可达百万分之五十。
高级的精度更高。
有些晶振还可以由外加电压在一定范围内调整频率,称为压控振荡器(VCO)。
晶振用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。
单片机晶振的作用是为系统提供基本的时钟信号。
通常一个系统共用一个晶振,便于各部分保持同步。
有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。
晶振通常与锁相环电路配合使用,以提供系统所需的时钟频率。
如果不同子系统需要不同频率的时钟信号,可以用与同一个晶振相连的不同锁相环来提供。
AT89C51使用11.0592MHz的晶体振荡器作为振荡源,由于单片机内部带有振荡电路,所以外部只要连接一个晶振和两个电容即可,电容容量一般在15pF至50pF之间。
图4.1单片机外部晶振电路
4.3.2AT89C51单片机复位电路
在电路图中,电容的的大小是10uf,电阻的大小是10k。
所以根据公式,可以出电容充电到电源电压的0.7倍(单片机的电源是5V,所以充电到0.7倍即为3.5V),需要的时间是10K*10UF=0.1S。
也就是说在电脑启动的0.1S内,电容两端的电压时在0~3.5V增加。
这个时候10K电阻两端的电压为从5~1.5V减少(串联电路各处电压之和为总电压)。
所以在0.1S内,RST引脚所接收到的电压是5V~1.5V。
在5V正常工作的51单片机中小于1.5V的电压信号为低电平信号,而大于1.5V的电压信号为高电平信号。
所以在开机0.1S内,单片机系统自动复位(RST引脚接收到的高电平信号时间为0.1S左右)。
在单片机启动0.1S后,电容C两端的电压持续充电为5V,这是时候10K电阻两端的电压接近于0V,RST处于低电平所以系统正常工作。
当按键按下的时候,开关导通,这个时候电容两端形成了一个回路,电容被短路,所以在按键按下的这个过程中,电容开始释放之前充的电量。
随着时间的推移,电容的电压在0.1S内,从5V释放到变为了1.5V,甚至更小。
根据串联电路电压为各处之和,这个时候10K电阻两端的电压为3.5V,甚至更大,所以RST引脚又接收到高电平。
单片机系统自动复位。
图4.2复位电路图
5低频弱信号测频系统源程序
5.1程序流程图设计
5.2源程序设计
5.2.1程序总体分析
频率即为1S内信号周期变化的次数,据此可在1S内测定信号的过零点次数即为信号的频率。
首先确定单片机的初值。
使用T0作为计时器,和使用方式1作为计时方式,并以查询的方式并使用INT0作为外部中断。
故需对TCON寄存器和TMOD寄存器以及IE寄存器进行初值计算。
5.2.2TCON寄存器初值设定
TCON的作用是控制定时器的启、停,标志定时器溢出和中断情况。
图5.1TCON寄存器结构图
各位定义如下:
TF1:
定时器1溢出标志位。
当定时器1计满溢出时,由硬件使TF1置“1”,并且申请中断。
进入中断服务程序后,由硬件自动清”0”,在查询方式下用软件清“0”。
TR1:
定时器1运行控制位。
由软件清“0”关闭定时器1。
当GATE=1,且/INT1为高电平时,TR1置“1”启动定时器1;当GATE=0,TR1置“1”启动定时器1。
TF0:
定时器0溢出标志。
其功能及操作情况同TF1。
TR0:
定时器0运行控制位。
其功能及操作情况同TR1。
IE1:
外部中断1请求标志位。
IT1:
外部中断1触发方式选择位。
当IT1=0,为低电平触发方式;当IT1=1,为下降沿触发方式。
IE0:
外部中断0请求标志位。
IT0:
外部中断0触发方式选择位。
当IT0=0,为低电平触发方式;当IT0=1,为下降沿触发方式。
所以设定TCON初值为:
00000001。
5.2.3TMOD寄存器初值设定
TMOD:
定时器/计数器模式控制寄存器(TIMER/COUNTERMODECONTROLREGISTER)
定时器/计数器模式控制寄存器TMOD是一个逐位定义的8位寄存器,但只能使用字节寻址,其字节地址为89H。
其格式为:
图5.2TMOD结构图
其中低四位定义定时器/计数器T0,高四位定义定时器/计数器T1,各位的说明:
GATE——门控制。
GATE=1时,由外部中断引脚INT0、INT1来启动定时器T0、T1。
当INT0引脚为高电平时TR0置位,启动定时器T0;当INT1引脚为高电平时TR1置位,启动定时器T1。
GATE=0时,仅由TR0,TR1置位分别启动定时器T0、T1。
C/T——功能选择位
C/T=0时为定时功能,C/T=1时为计数功能。
置位时选择计数功能,清零时选择定时功能。
M0、M1——方式选择功能由于有2位,因此有4种工作方式M1M0工作方式计数器模式TMOD(设置定时器模式),00方式013位计数器TMOD=0x00,01方式116位计数器TMOD=0x01,10方式2自动重装8位计数器TMOD=0x02,11方式3T0分为2个8位独立计数器,T1为无中断重装8位计数器。
因为选用T0并用方式1计时,故TMOD初值设定为00000001。
单片机晶振频率为12MHZ,则经过12分频后,每个机器周期Tcy应为1μs。
因为方式1计时最大值为
=65.536ms,因此采用循环计数的方式实现。
为了便于循环,可选定计时50ms,循环20次即为1s。
定时50ms,计数次数应为50ms/1μs=50×1000=50000。
T0初值即为65536-50000=15536,15536转换为16进制即为3C0BH。
故TH0初值为3CH,TL0初值为B0H。
5.2.4IE寄存器初值设定
CPU对中断源的开放或中断屏蔽的控制是通过中断允许寄存器IE设置的,IE既可按字节地址寻址(其字节地址为A8H),又可按位寻址。
AT89S52单片机中的6个中断矢量都是可屏蔽中断,通过对IE的某些位置位和清0,允许或禁止某个中断,当对IE的EA位清0时,屏蔽全部中断源。
IE结构如图5.3所示:
图5.3IE寄存器结构图
EA为中断总开关,ES为串口中断允许,ET1和ET0为T1、T0中断允许位,EX1和EX0为外部中断INT0和INT1中断允许位,故IE寄存器初值为10000001,转换为16进制即为81H。
在C语言中:
外部中断0(INT0),对应中断号是0,中断入口地址0003H。
定时/计数器0(T1),对应中断号1,中断入口地址000BH。
外部中断1(INT1),中断号2入口地址0013H。
定时/计数器1(T1)中断号3入口地址001BH。
串行口中(RI/TI)中断号4入口地址0023H。
所以序中断标号选用0。
在C语言中无符号字符型(unsignedchar)值域为0到255,而我们要记录的数据大于255,故变量选用无符号整型(unsignedint),其值域为0到65535。
5.2.5程序源代码
#include"reg51.h"
unsignedcharc=0;
sbitP20=P2^0;
sbitP21=P2^1;
sbitP22=P2^2;
sbitP23=P2^3;
unsignedchara,i;
unsignedintt=0;
unsignedcharbw,sw,gw;
unsignedchartab[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
unsignedchartab2[]={0xbF,0x86,0xDB,0xCF,0xE6,0xED,0xFD,0x87,0xFF,0xEF};
voidinto()interrupt0
{
c=c+1;
}
voidmain(){
TMOD=0x01;
TH0=0X3C;
TL0=0XB0;
TCON=0x01;
IE=0X81;
TR0=1;
while
(1){
while(t!
=20){if(TF0==1){t++;TF0=0;TH0=0X3C;TL0=0XB0;}}
IE=0x00;
TR0=0;
a=c;
bw=a/100;
sw=(a-bw*100)/10;
gw=a-bw*100-sw*10;
P23=0;
P0=tab[bw];for(i=0;i<25;i++);
P23=1;
P22=0;
P0=tab[sw];for(i=0;i<25;i++);
P22=1;
P21=0;
P0=tab2[gw];for(i=0;i<25;i++);
P21=1;
P20=0;
P0=0x3F;for(i=0;i<25;i++);
P20=1;
}
}
6低频弱信号测频系统调试及测试结果与分析
6.1实验调试
连接好个各部分电路,在两级三极管放大部分调整静态工作点,使信号不失真。
在整流电路部分保证信号不失真。
6.2实验结果
如图6.1所示为最终结果显示
图6.1数码管显示
总结
本次课程设计让我受益匪浅,我更加深刻的理解了课本上的知识,很多平时模棱两可的知识点都认真复习并实践了。
我对电子电路设计提升了认识,我意识到我们现在,所学的知识将来都是要付诸实践的,所以一切都要从实际出发、理论联系实际,这样才能正确发挥我们所具备的能力。
在这次课程设计中,我明白了课程设计的任务一般是设计,组装并调试一个简单的电子电路装置。
需要我们综合运用《模拟电子技术基础》课程的知识,通过调查研究、查阅资料、方案论证与选定;设计和选取电路和元器件;组装和调试电路;测试指标和分析讨论,完成设计任务。
在这次课程设计中,我学会了怎样根据课题的要求去设计电路和调试电路,动手能力得到很大提高。
从中我发现自己并不能很好的熟练使用我所学的模电知识。
在以后学习中我要加强对使用电路的设计和选用能力,但由于电路比较简单、定型,不是真实的生产和科研任务,所以我们基本上能有章可循,完成起来并不困难。
把过去熟悉的定型分析和定量计算逐步和工程估算、实验调整等手段结合起来,掌握工程设计的步骤和方法,了解科学实验的程序和实施方案。
这对今后从事技术工作无疑是个启蒙训练。
通过这种综合训练,我们可以掌握电路设计的基本方法,提高动手组织实验的基本技能,培养分析解决电路问题的实际本领,为以后毕业设计和从事电子实验实际工作打下基础。
致谢
在这次课程设计的过程中,我得到了许多人的帮助。
首先我要感谢我自己。
紧接着,我要感谢老师,是老师给了我动力和方向。
慢慢的了解了老师的良苦用心。
桃李之言拳拳之心,让我真正了解了自己的知识水平,提醒自己努力求知,求实,求真的治学精神,让我明白了治学之心,不能浮于表面,要做到“板凳须坐十年冷,文章不写半句空”刨根问底的了解学问,把知识从离散到连续,从点到线的贯彻。
最后感谢所有在设计中曾经帮助过我的良师益友和同学
参考文献
[1]杨素行.模拟电子技术基础简明教程.高等教育出版社.2005
[2]王立欣.电子技术实验及课程设计.哈尔滨工业大学出版社.2003
[3]曲学基王增福曲敬凯.稳定电源实用电路选编.北京电子工业出版社.2003
[4