函数信号发生器
一、 函数信号发生器的技术指标
1、 波形:方波、正弦波、锯齿波;
2、 幅值电压:1V、2V、3V、4V、5V;
3、 频率:10HZ、20HZ、50HZ、100HZ、200HZ、500HZ、1KHZ;
二、操作设计
1、 上电后,系统初始化,数码显示6个‘-’,等待输入设置命令。
2、 按“幅值”、“频率”、“方波”、“正弦波”、“锯齿波”键进行相应的设置,数码管显示“-”。输入相应参数,显示参数值,全部设置完毕后,按“Enter”键,数码管显示波形的编码,电压幅值,频率。
3、 要停止使用函数信号发生器WhatsApp网页版,可按复位按钮,将系统复位,然后关闭电源。
4、 输入频率值的时候,一定要输入四位数。
二、 硬件组成
由单片机、键盘、显示接口电路WhatsApp网页版,波形转换(D/A)电路和电源等四部分构成。
1、 单片机电路
功能:形成扫描码,键值识别、键处理、参数设置;形成显示段码;产生定时中断;形成波形的数字编码,并输出到D/A接口电路。
电路如图1所示。89C51的P1口作为键盘的接口。P2口做为数码显示管的位选择接口。用定时/计数器作为中断源。不同的频率值对应不同的定时初值,允许定时器溢出中断。定时器中断的特殊功能寄存器设置如下:
定时控制寄存器TCON=20H;
工作方式选择寄存器TMOD=00H;
中断允许控制寄存器IE=82H。
2、 键盘/显示电路
功能:驱动6位数码管动态显示,扫描键盘。
由反向驱动器UNL2803A、6位共阴极数码管和4×4键盘组成。
P0口作为数码管的段选口,P2口作为位选口,与UNL2803A相连接。P1口的低四位作为键盘的行状态的输入,高四位作为输出扫描。
3、D/A电路
功能:将波形样值的编码转换成模拟值;完成单极性的波形输出。
由两片0832和两块LM324运放组成。0832(1)提供参考电压,单片机向0832(1)送数字编码,产生不同的输出。本函数信号发生器可输出1V、2V、3V、4V、5V五个电压。0832(1)输出电压作为的0832(2)的参考电压。也就是所本函数信号发生器的幅值是可调的。0832(2)产生各种波形,生成波形样值码,经D/A转换得到各种模拟样值点。假如N个点构成波形的一个周期,则0832(2)输出N个样值点后,样值点形成运动轨迹,即一个周期。重复输出N个点,成为第二个周期。
地址分配如下:
0832(1):BFFFH, 0832(2):7FFFH。
(1)
四、软件结构
程序由人机交互模块和波形产生模块组成,二者如图2所示。其中(a)是主流程图,
由系统初始化和人机交互程序模块组成,(b)是定时器中断程序流程图,函数信号发
生模块作为中断服务程序,作为中断服务程序,实现系统的波形输出。单片机的片内
RAM由128字节,30~3FH作为堆栈区,40~45H为显示缓冲区WhatsApp网页版,40H存放波形编码,
42H~45H存放频率值,42H存放参考电压值,46H为设置标志区
1、人机交互模块
(1)显示子模块
片内RAM的40H~45H是显示缓冲区。采用查表方式形成显示的段码,显示码表存于ROM中。显示模块流程图如图(3)所示。R1存位选信号,R2存显示次数,R0存显示缓冲区地址。单片机先向P2口送位选信号;从显存中取数字,通过查表,得到显示段码,送P0口;延时,保持显示;修改R0;判断是否已显示6次,不满6次,转开始处执行,已执行6次,则结束显示。
(2)键盘处理子模块
键识别作为主程序,键处理作为子程序。流程图如图4、图5所示,键盘的工作过程:
1) 扫描键盘,获得列扫描码和行状态码,确定键值;
2) 根据键值,通过散转表,转到相应的键处理程序;