系数等在一定范围内连续可调,并且读数准确、稳定、屏蔽良好的中、高档信号发生器。
1.3 研究内容本文是做基于单片机的信号发生器的设计,将采用编程的方法来实现三角波、锯齿波、矩形波、正弦波的发生。
根据设计的要求,对各种波形的频率和幅度进行程序的编写,并将所写程序装入单片机的程序存储器中。
在程序运行中,当接收到来自外界的命令,需要输出某种波形时再调用相应的中断服务子程序和波形发生程序,经电路的数/模转换器和运算放大器处理后,从信号发生器的输出端口输出。
4 第二章 方案的设计与选择2.1 方案的比较 方案一:采用单片函数发生器(如 8038),8038 可同时产生正弦波、方波等,而且方法简单易行,用 D/A 转换器的输出来改变调制电压,也可以实现数控调整频率,但产生信号的频率稳定度不高。
方案二:采用锁相式频率合成器,利用锁相环,将压控振荡器(VCO)的输出频率锁定在所需频率上,该方案性能良好,但难以达到输出频率覆盖系数的要求,且电路复杂。
方案三:采用单片机编程的方法来实现。
该方法可以通过编程的方法来控制信号波形的频率和幅度,而且在硬件电路不变的情况下,通过改变程序来实现频率的变换。
此外,由于通过编程方法产生的是数字信号,所以信号的精度可以做的很高。
鉴于方案一的信号频率不够稳定和方案二的电路复杂,频率覆盖系数难以达标等缺点,所以决定采用方案三的设计方法。
它不仅采用软硬件结合,软件控制硬件的方法来实现,使得信号频率的稳定性和精度的准确性得以保证,而且它使用的几种元器件都是常用的元器件,容易得到,且价格便宜,使得硬件的开销达到最省。
2.2 设计原理 数字信号可以通过数/模转换器转换成模拟信号,因此可通过产生数字信号再转换成模拟信号的方法来获得所需要的波形。
89C51 单片机本身就是一个完整的微型计算机,具有组成微型计算机的各部分部件:中央处理器 CPU、随机存取存储器 RAM、只读存储器 ROM、 接口电路、 I/O 定时器/计数器以及串行通讯接口等,只要将 89C51再配置键盘及其接口、显示器及其接口、数模转换及波形输出、指示灯及其接口等四部分,即可构成所需的波形发生器,其信号发生器构成原理框图如图 2.1 所示。
输出 89C51 接口 D/A 滤波放 单片机 电路 转换器 大 图 2.1 信号发生器原理框图 89C51 是整个波形发生器的核心部分,通过程序的编写和执行,产生各种各样的信号,并从键盘接收数据,进行各种功能的转换和信号幅度的调节。
当数字信号经过接口电路到达转换电路,将其转换成模拟信号也就是所需要的输出波形。
52.3 设计思想 (1)利用单片机产生方波、正弦波、三角波和锯齿波等信号波形,信号的频率和幅度可变。
(2)将一个周期的信号分离成 256 个点(按 X 轴等分),每两点之间的时间间隔为 T,用单片机的定时器产生,其表示式为: TT/256。
如果单片机的晶振为 12MHz,采用定时器方式 0,则定时器的初值为: X213— T/Tmec 2.1定时时间常数为: TL (8192— T)/MOD256 2.2 TH8192 T/256 2.3MOD32 表示除 32 取余数 (3)正弦波的模拟信号是 D/A 转换器的模拟量输出,其计算公式为: Y(A/2sin t)A/2 其中 AVREF 2.4 tN T N12562.5那么对应着存放在计算机里的这一点的数据为: sin t 1 255 Di Y 255 / A 2 (2.6) (4)一个周期被分离成 256 个点,对应的四种波形的 256 个数据存放在以 TAB1--TAB4 为起始地址的存储器中。
2.4 设计功能 (1)本方案利用 8155 扩展 8 个独立式按键,6 个 LED 显示器。
其中“S0” “S1”号键代表方波输出, “S2” 号键代表正弦波输出, “S3” 号键代表三角波输出,号键代表锯齿波输出。
“S4”号键为 10Hz 的频率信号, (2) “S6” “S5”号键为 100Hz 的频率信号,号键为 500Hz 的频率信号,“S7”号键为 1KHz 的频率信号,6 个 LED 显示器输出信号的频率值,选用共阳极 LED。
(其中一片用来调节幅度, (3)利用两片 DAC0832 实现幅度可调的信号源,另外一片用来实现信号源的输出)。
(4)频率范围:101000Hz。
(5)输出波形幅度为 0~5V。
6 第三章 硬件设计3.1 硬件原理框图 硬件原理方框图如