当前位置:文档之家› 基于8051单片机的波形发生器设计

基于8051单片机的波形发生器设计

基于8051单片机的波形发生器设计摘要:波形发生器是能够产生大量的标准信号和用户定义信号,并保证高精度、高稳定性、可重复性和易操作性的电子仪器。

本系统是基于A T89C51单片机的数字式低频信号发生器,采用AT89C51单片机作为控制核心,外围采用数字/模拟转换电路(DAC0832)、运放电路(LM324)、按键和8位数码管等。

通过按键控制可产生方波、三角波、正弦波等,同时用数码管显示其对应的频率。

介绍DAC 0832数模转换器的结构原理和使用方法,A T89C51的基础理论,以及与设计电路有关的各种芯片。

文中着重介绍了如何利用单片机控制D/A转换器产生上述信号的硬件电路原理和软件编程原理,其设计简单、性能优好,可用于多种需要低频信号的场所,具有一定的实用性。

关键词:AT89C51,DAC0832,LM324一引言波形发生器也称函数发生器,作为实验信号源,是现今各种电子电路实验设计应用中必不可少的仪器设备之一。

目前,市场上常见的波形发生器多为纯硬件设计而成,且波形种类有限,多为锯齿波,正弦波,方波,三角波等波形,而且这种电路存在波形质量差,控制难,可调范围小,电路复杂和体积大等缺点。

在科学研究和生产实践中,如工业过程控制,生物医学,地震模拟机械振动等领域常常要用到低频信号源,而由硬件电路构成的低频信号其性能难以令人满意,而且由于低频信号源所需的RC很大。

大电阻,大电容在制作上有困难,参数的精度也难以保证。

体积大,漏电,损耗显著更是致命的弱点。

二功能分析和方案论证与比较依据不同的设计要求选取不同的设计方案,波形发生器的具体指标要求也有所不同。

通常,波形发生器需要实现的波形有正弦波、方波、三角波和锯齿波,有些场合可能还需要任意波形的产生。

各种波形指标有:波形的频率、幅度要求,频率稳定度,准确度等。

对于不同波形,具体的指标要求也会有所差异,例如,占空比是脉冲波形特有的指标。

波形发生器的设计方案多种多样,大致可以分为三大类:纯硬件设计法、纯软件设计法和软硬件结合设计法。

1 方案一在波形发生器设计纯硬件法的早期,波形发生器的设计主要是采用运算放大器加分立元件来实现。

实现的波形比较单一,主要为正弦波、方波和三角波。

工作原理相对简单:首先是产生正弦波,然后通过波形变换(正弦波通过比较器产生方波,方波经过积分器变为三角波)实现方波和三角波。

在各种波形后加上一级放大电路,可以使输出波形的幅度达到要求,通过开关电路实现不同输出波形的切换,改变电路的具体参数可以实现频率、幅度和占空比的改变。

通过对电路结构的优化及所用元器件的严格选取可以提高电路的频率稳定性和准确度。

纯硬件法中,正弦波的设计是基础,实现方法也比较多,电路形式一般有LC、RC和石英晶体振荡器三类。

LC振荡器适宜于产生几兆赫兹至几百兆赫兹的高频信号;石英晶体振荡器能产生几千赫兹至几百兆赫兹的高频信号且稳定度高;对于频率低于几兆赫兹,特别是在几百赫兹时,常采用RC振荡电路。

RC振荡电路又分为文氏桥振荡电路、双T网络式和移相式振荡电路等类型。

其中,以文氏桥振荡电路最为常用。

目前,实现波形发生器最简单的方法是采用单片集成的函数信号发生器。

它是将产生各种波形的功能电路集成到一个集成电路芯片里,外加少量的电阻、电容元件来实现。

采用这种方法的突出优势是电路简单,实现方便,精度高,性能优越;缺点是功能较全的集成芯片价格较贵。

实际中应用较多的单片函数信号发生器有MAX038(最高频率可达40)和ICL8038(最高频率为KHzMHz300)。

2 方案二波形发生器的设计还可以采用纯软件的方法来实现,它以计算机为基础,软件为核心,没有传统仪器那样具体的物理结构,通过软件设计实现和改变仪器的功能。

例如用图形化编程工具LabVIEW来实现任意波形发生器的功能,在LabVIEW软件的前面板通过拖放控件,设计仪器的功能面板(如波形显示窗口,波形选择按键,波形存储回放等工作界面),在软件的后面板直接拖放相应的波形函数并进行参数设置或直接调用编程函数来设计任意波形以实现波形产生功能;完成的软件打包后,可脱离编程环境独立运行,实现任意波形发生器的功能。

采用纯软件的虚拟仪器设计思路可以使设计简单、高效,仅改变软件程序就可以轻松实现波形功能的改变或升级。

从长远角度来看,纯软件法成本较低,但其缺点是波形的响应速度和精度低于硬件法。

3 方案三软硬件结合的波形发生器设计方法同时兼具软硬件设计的优势,既具有纯硬件设计的快速、高性能,同时又具有软件控制的灵活性、智能性。

如以单片机和单片集成函数发生器为核心(如图1)。

同时带有以键盘控制、数码管显示等电路,设计出智能型函数波形发生器,采用软硬件结合的方法可以实现功能较全、性能更优的波形发生器,同时还可以扩展波形发生器的功能,比如通过软件编程控制实现波形的存储、运算、打印等功能,采用USB接口设计,使波形发生器具有远程通信功能等。

目前,实验、科研和工业生产中使用的信号源大多采用此方法来实现。

图1 软硬件结合的波形发生器纯硬件设计法功能较单一,波形改变困难、控制的灵活性不够,不具备智能性,其中由运算放大器加分立元件组成的波形发生器,除在学生实验训练中使用外,基本不被采用。

纯软件设计法实现简单,程序改变及功能升级灵活,但实现的波形精度及响应速度不如硬件法高。

纯软件法主要适用于对波形精度、响应速度要求不是很高的场合。

相比之下,软硬件结合的方法可以设计出性能更优、功能扩展灵活、控制智能化的新一代波形发生器,可以满足教学、科研、工业生产等各方面对波形发生器性能有较高要求的应用场合。

综合以上几种设计方案,本设计采用方案三软硬件设计法。

其方案能够产生很好的波形,也易实现。

三硬件原理波形的产生是通过AT89C51单片机执行某一波形发生程序,向D/A转换器的输入端按一定的规律传送数据,从而在D/A转换电路的输出端得到相应的电压波形。

AT89C51单片机的最小系统有三种连接方式。

一种是两级缓冲器型,即输入数据经过两级缓冲器后,送入D/A转换电路。

第二种是单级缓冲器型,即输入数据经输入寄存器直接送入DAC寄存器中,然后再送入D/A转换电路。

第三种是两个缓冲器直通,输入数据直接送入D/A转换电路进行转换。

本电路仿真的总图如下:图2 系统电路1 MCS-51单片机的内部结构典型的MCS-51单片机芯片集成了以下几个基本组成部分。

一个8位的CPU。

256单元内数据存储器(RAM)。

B128或B8片内程序存储器(ROM或EPROM)。

KB4或KB4个8位并行I/O接口P0~P3。

两个定时/计数器。

5个中断源的中断管理控制系统。

一个全双工串行I/O口UART(通用异步接收、发送器)。

一个片内振荡器和时钟产生电路。

图3 单片机引脚2 CPU 结构CPU 是单片机的核心部件,它由运算器和控制器等部件组成。

运算器以完成二进制的算术/逻辑运算部件ALU 为核心,它可以对半字节,单字节等数据进行操作。

例如,能完成加、减、乘、除、加1、减1、BCD 码十进制调整、比较等算术运算,完成与、或、异或、求反、循环等操作,操作结果的状态信息送至状态寄存器。

运算器还包含有一个布尔处理器,用以处理位操作。

它以进位标志位C 为累加器,可执行置位、复位、取反、位判断转移,可在进位标志位与其他的位之间进行位数据传送等操作,还可以完成进位标志位与其他的位之间进行逻辑与、逻辑或操作。

PC 是一个16位的计数器,用于存放一条要执行的指令地址,寻址范围为KB 64~0,PC 有自动加1功能,即完成了一条指令的执行后,其内容自动加1。

指令寄存器(IR ,Instruction Register )。

存放当前从主存储器读出的正在执行的一条指令。

当执行一条指令时,先把它从内存取到数据寄存器(DR ,Data Register )中,然后再传送至IR 。

指令划分为操作码和地址码字段,由二进制数字组成。

为了执行任何给定的指令,必须对操作码进行测试,以便识别所要求的操作。

指令译码器就是做这项工作的。

指令寄存器中操作码字段的输出就是指令译码器的输入。

操作码一经译码后,即可向操作控制器发出具体操作的特定信号。

3 存储器和特殊功能寄存器存储器(Memory)是计算机系统中的记忆设备,用来存放程序和数据。

计算机中的全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存储器中。

它根据控制器指定的位置存入和取出信息。

特殊功能寄存器(SFR)的地址范围为80H~FFH。

在MCS-51中,除程序计数器PC和四个工作寄存器外,其余21个特殊功能寄存器都在这SFR块中。

其中有5个是双字节寄存器,它们共占用了26个字节。

特殊功能寄存器反映了8051的状态,实际上是8051的状态字及控制字寄存器。

这些特殊功能寄存器大体上分为两类,一类和芯片的引脚有关,另一类作片内功能的控制用。

与芯片引脚有关的特殊功能寄存器是P0~P3,它们实际上是4个八位锁存器(每个I/O口一个),每个锁存器附加有相应的输出驱动器和输入缓冲器就构成了一个并行口。

4 P0~P3口结构P0口功能:P0口具有两种功能:第一,P0口可以作为通用I/O接口使用,P0.7~P0.0用于传送CPU 的输入/输出数据,输出数据时可以锁存,不需要外接专用锁存器,输入数据可以进行缓冲。

第二,P0.7~P0.0在CPU访问片外存储器时用于传送片外存储器的低8位地址,然后传送CPU对片外存储器的读写。

P1口功能:P1口的功能和P0口的第一功能相同,仅用于传递输入/输出数据。

P2口功能:P2口的第一功能和上述两组引脚的第一功能相同,即它可以作为通用I/O使用。

它的第二功能和P0口引脚的第二功能相配合,作为地址总线用于输出片外存储器的高8位地址。

P3口功能:P3口有两个功能:第一功能与其余三个端口的第一功能相同;第二功能作控制用。

P3.0—RXD串行数据接收口。

P3.1—TXD串行数据发送口。

P3.2—INT0外中断0输入。

P3.3—INT1外中断1输入。

P3.4—T0计数器0计数输入。

P3.5—T1计数器1计数输入。

P3.6—WR外部RAM写选通信号。

P3.7—RD外部RAM读选通信号。

5 时钟电路和复位电路单片机的时钟信号用来提供单片机内各种微操作的时间基准;复位操作则使单片机的片内电路初始化,使单片机从一种确定的状态开始运行。

6 时钟电路单片机的时钟信号通常用两种电路形式得到:内部振荡和外部振荡方式。

图4 时钟部分电路在引脚XTAL1和XTAL2外接晶体振荡器或陶瓷谐振荡器,构成了内部振荡方式。

由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡,并产生振荡时钟脉冲。

振荡周期:晶振的振荡周期,又称时钟周期,为最小的时序单位。

相关主题