本帖最后由 eehome 于 2013-1-5 09:46 编辑
在工作中,我们常常会用到波形发生器,它是使用频度很高的电子仪器。现
在的波形发生器都采用单片机来构成。单片机波形发生器是以单片机核心,配相
应的外围电路和功能软件,能实现各种波形发生的应用系统,它由硬件部分和软
件部分组成,硬件是系统的基础,软件则是在硬件的基础上,对其合理的调配和
使用,从而完成波形发生的任务。
波形发生器的技术指标: (1) 波形类型:方型、正弦波、三角波、锯齿波; (2) 幅值电压:1V、2V、3V、4V、5V; (3) 频率值:10HZ、20HZ、50HZ、100HZ、200HZ、500HZ、1KHZ; (4) 输出极性:双极性 操作设计 1、 机器通电后,系统进行初始化,LED在面板上显示6个0,表示系统处于初始状态,等待用户输入设置命令,此时,无任何波形信号输出。 2、 用户按下“F”、“V”、“W”,可以分别进入频率,幅值波形设置,使系统进入设置状态,相应的数码管显示“一”,此时,按其它键,无效; 3、 在进入某一设置状态后,输入0~9等数字键,(数字键仅在设置状态时,有效)为欲输出的波形设置相应参数,LED将参数显示在面板上; 4、 如果在设置中,要改变已设定的参数,可按下“CL”键,清除所有已设定参数,系统恢复初始状态,LED显示6个0,等待重新输入命令; 5、 当必要的参数设定完毕后,所有参数显示于LED上,用户按下“EN”键,系统会将各波形参数传递到波形产生模块中,以便控制波形发生,实现不同频率,不同电压幅值,不同类型波形的输出; 6、 用户按下“EN”键后,波形发生器开始输出满足参数的波形信号,面板上相应类型的运行指示灯闪烁,表示波形正在输出,LED显示波形类型编号,频率值、电压幅值等波形参数; 7、 波形发生器在输出信号时,按下任意一个键,就停止波形信号输出,等待重新设置参数,设置过程如上所述,如果不改变参数,可按下“EN”键,继续输出原波形信号; 8、 要停止波形发生器的使用,可按下复位按钮,将系统复位,然后关闭电源。 硬件组成部分 通过综合比较,决定选用获得广泛应用,性能价格高的常用芯片来构成硬件电路。单片机采用MCS-51系列的89C51(一块),74LS244和74LS373(各一块),反相驱动器 ULN2803A(一块),运算放大器 LM324(一块) 波形发生器的硬件电路由单片机、键盘显示器接口电路、波形转换(D/ A)电路和电源线路等四部分构成。 1.单片机电路 功能: 形成扫描码,键值识别,键功能处理,完成参数设置; 形成显示段码,向LED显示接口电路输出; 产生定时中断; 形成波形的数字编码,并输出到D/A接口电路; 如电路原理图所示: 89C51的P0口和P2口作为扩展I/O口,与8255、0832、74LS373相连接,可寻址片外的寄存器。单片机寻址外设,采用存储器映像方式,外部接口芯片与内部存储器统一编址,89C51提供16根地址线P0(分时复用)和P2,P2口提供高8位地址线,P0口提供低8位地址线。P0口同时还要负责与8255,0832的数据传递。P2.7是8255的片选信号,P2.6是0832(1)的片选,P2.5是0832(2)的片选,低电平有效,P0.0、P0.1经过74LS373锁存后,送到8255的A1、A2作,片内A口,B口,C口,控制口等寄存器的字选。89C51的P1口的低4位连接4只发光三极管,作为波形类型指示灯,表示 正在输出的波形是什么类型。 单片机89C51内部有两个定时器/计数器,在波形发生器中使用T0作为中断源。不同的频率值对应不同的定时初值,定时器的溢出信号作为中断请求。 控制定时器中断的特殊功能寄存器设置如下: 定时控制寄存器TCON=(00010000) 工作方式选择寄存器(TMOD)=(00000000) 中断允许控制寄存器(IE)=(10000010) 2、键盘显示器接口电路 功能:驱动6位数码管动态显示; 提供响应界面; 扫面键盘; 提供输入按键。 由并口芯片8255,锁存器74LS273,74LS244,反向驱动器ULN2803A,6位共阴极数码管(LED)和4×4行列式键盘组成。8255的C口作为键盘的I/O接口,C口的低4位输出到扫描码,高4位作为输入行状态,按键的分布如图所示。8255的A口作为LED段码输出口,与74LS244相连接,B口作为LED的位选信号输出口,与ULN2803A相连接。8255内部的4个寄存器地址分配如下:控制口:7FFFH , A口:7FFFCH , B口:7FFDH , C口:7FFEH 3、D/A电路 功能:将波形样值的数字编码转换成模拟值; 完成单极性向双极性的波形输出; 构成由两片0832和一块LM324运放组成。0832(1)是参考电压提供者,单片机向0832(1)内的锁存器送数字编码,不同的编码会产生不同的输出值,在本发生器中,可输出1V、2V、3V、4V、5V等五个模拟值,这些值作为0832(2)的参考电压,使0832(2)输出波形信号时,其幅度是可调的。0832(2)用于产生各种波形信号,单片机在波形产生程序的控制下,生成波形样值编码,并送到0832(2)中的锁存器,经过D/A转换,得到波形的模拟样值点,假如N个点就构成波形的一个周期,那么0832(2)输出N个样值点后,样值点形成运动轨迹,就是波形信号的一个周期。重复输出N个点后,由此成第二个周期,第三个周期……。这样0832(2)就能连续的输出周期变化的波形信号。运放A1是直流放大器,运放A2是单极性电压放大器,运放A3是双极性驱动放大器,使波形信号能带得起负载。 地址分配:0832(1):DFFFH ,0832(2):BFFFH 4、电源电路: 功能:为波形发生器提供直流能量; 构成由变压器、整流硅堆,稳压块7805组成。220V的交流电,经过开关,保险管(1.5A/250V),到变压器降压,由220V降为10V,通过硅堆将交流电变成直流电,对于谐波,用4700μF的电解电容给予滤除。为保证直流电压稳定,使用7805进行稳压。最后,+5V电源配送到各用电负载。
5
|
|
|
|
![](https://staticbbs.elecfans.com/static/image/smiley/default/handshake.gif) 很好的资源~谢谢共享
|
|
|
|
|