基于51单片机的简易函数信号发生器的设计与分析

2016-02-09 03:25
电子测试 2016年23期
关键词:正弦波原理图按键

郭 辉

(阜阳师范学院信息工程学院,安徽阜阳,236037)

基于51单片机的简易函数信号发生器的设计与分析

郭 辉

(阜阳师范学院信息工程学院,安徽阜阳,236037)

函数信号发生器设计与分析是单片机实践中的一重要实验。本文采用Proteus对函数信号发生器的原理图进行设计,并通过Keil软件编程验证该设计的可行性,通过调节按键,该简易函数信号发生器可以正确输出正弦波、锯齿波、梯形波、矩形波,并可以通过按键对相应波形的频率进行调节,最终通过Proteus制作出该电路的PCB原理图。本设计对单片机项目设计与实现具有一定的指导意义。

信号发生器;AT89C51;Proteus;Keil;PCB

0 引言

Proteus软件为英国Labcenter electronics公司开发的EDA工具软件。该软件不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具之一是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8086、MSP430、 Cortex、8051、AVR、ARM和DSP等系列处理器,在编译方面,该软件也支持IAR、Keil和MATLAB等多种编译器。因此采用Proteus作为本设计的平台即能实现相应设计的要求,又能节约设计时间与设计成本。

本文所设计的函数信号发生器作为一种常用的信号源,在生产实践、电子设计、教学试验中被广泛使用。在Proteus软件上进行先绘制、后仿真、最后生成PCB,符合电子电路设计的一般步骤,避免了因思考不充分造成的工程成本的不必要浪费。

图1 函数信号发生器原理图

1 Proteus原理图绘制

1.1 总体结构。本文以AT89C51为核心控制芯片,使用DAC0832进行模数转换,LM324为电压放大器,通过两个按键来分别控制系统输出波形的种类及输出波形的频率。

1.2 控制器芯片AT89C51。AT89C51是一种带4K字节FLASH存储器的低电压、高性能CMOS、8位微处理器。本设计采用的51芯片为40引脚的双列直插DIP封装型。通过32个可编程I/O口对外围电路进行控制。

1.3 模数转换芯片DAC0832。DAC0832为8位D/A转换器,转换时间为1us,工作电压+5V~+15V,如图1为DAC0832芯片操作的时序图。从图1中可以看出,当为低电平后,数据总线上的数据才开始保持有效,然后将置低电平,在置低后与稳定输出。

图2 正弦波输出波形

图3 方波输出波形

图4 锯齿波输出波形

图5 梯形波输出波形

1.4 运算放大器LM324。LM324内部包括有两个独立的,高增益,运算放大器,适合于电源电压范围很宽的单电源使用。对于LM324来说其内部含有四组运算放大器,本设计只使用其中一组。

1.5 电路原理图的绘制。整理设计思路在Proteus中的实现步骤如下:

(1)从库中选出所需器件如AT89C51、LM324、DAC0832、晶振XTAL、按键、电阻、电容。(2)对元器件进行布局,由于P0端口驱动能力有限,因此加一排阻来提高P0端口的输出能力。(3)连接相应线路。经过绘制可得简易函数信号发生器原理图如图1所示。其中电路中的器件U2为主控芯片AT89C51、U1为DAC0832、U3为LM324、U4为示波器。按键Key1与单片机的P3.2口相接、Key2与单片机P3.3口相接。Key1用以调节波形输出类型,Key2用来调节波形输出频率。DAC0832具有双缓冲、单缓冲、直通三种工作模式,本次试验采用直通模式,即把ILE、、、、都设置为有效,使DAC0832内部的输入寄存器和DAC寄存器都处于开放状态,无需控制信号。DAC0832的输出随时跟随输入数字的变化而变化,这样只要P0端口的八位数字量变化,就直接进行DA转换。由图1可以看出由于接,即5V电压,说明该D/A的参考电压为5V,其模拟信号输出一定在(单位)内变化(D为数字输入量,k为一比值,与电路内部有关)。由于DAC0832输出的是电流信号,图2中的运算放大器LM324是实现电流转换电压功能。

2 软件设计及调试输出

2.1 软件思路。本系统程序主要有三部分构成:主程序、外部中断1模块、外部中断2模块。

系统运行,主程序初始化,对外部中断1与外部中断2输出变量进行判断,根据变量判定函数信号输出波形及频率。

由硬件电路图1可知按键Key1连接单片机P3.2口,按键Key2连接单片机P3.3口。对寄存器TCON设置IT0=1、IT1=1,通过检测按键Key1、按键Key2是否按下,当按键Key1按下进入外部中断0对信号波形进行改变,当按键Key2按下则进入外部中断1通过延迟时间对波形的频率进行改变。

2.2 正弦波输出。正弦波通过查表输出波形如图2所示,一个周期正弦波采样点为256个,通过按键Key2可以通过调节正弦波点之间的延迟来调节正弦波的频率。

2.3 方波输出。方波的输出相对来说比较简单,相当于对P0输出引脚等间隔输出0x00和0xFF。通过按键Key2调节高低电平的持续时间来调节信号的输出频率.方波输出波形如图3所示。

2.4 锯齿波输出。对8位DAC0832来讲,锯齿波可以通过给DAC0832输入端子依次输入从0到255按比例增长的整数,到达255后置0再从0开始到255按比例进行增长,循环往复。本设计输出锯齿波如图4所示。通过按键Key2同样可以改变波形输出频率。

2.5 梯形波输出。梯形波的输出可以通过对DAC0832输入依次从0增长到255,保持一段时间再由255衰减到0,循环往复,梯形波的输出波形如图5所示。

2.6 4PCB生成。Proteus既能实现电路仿真,又能生成PCB,从而进一步打印制板。

对于本设计,由于Proteus中无元器件button的封装,在制作PCB前需要完善按键button的封装信息。经查按键技术文档,四角按键的规格为:引脚直径0.7mm,引脚间距3.4mm,尺寸大小(长与宽)6.5~7.9mm。

为按键button添加封装,通过“工具”菜单栏下的“导出网络表到ARES”选项将本设计原理图导入到ARES中,并分别选择Board Edge层绘制矩形边界,选择Keepout层绘制电气边界。选择元器件封装并对元器件进行布局。

通过“工具”菜单栏的“设计规则管理器”选项,进行电器规则设置。本设计为双层PCB板。选择在底层布线,当底层线出现交叉时通过过孔切换到顶层走线。如图6所示为布线完成后的PCB板。由于Proteus提供3D预览效果,可以输出3D图形如图7所示。

图6 布线完成后的PCB板

图7 PCB板的3D输出图形

3 结语

从本设计不难看出,Proteus不但具有强大的仿真功能,同时具有强大的制图功能。本设计对采用AT89C51单片机的简易函数信号发生器的原理图进行设计,通过keil软件与Proteus软件进行联调,验证了设计的可行性,最后又使用Proteus软件对该电路的PCB进行制作,从软件方面、硬件方面均证明了该设计的可行性。对于单片机方面的教学与实验有一定的指导意义。

[1]李娜.周成虎.函数信号发生器的设计与实现[J].吉林师范大学学报:自然科学版.2013(3):130-132.

[2]乔建华.孙少飞.邢彩荣.芦丹.基于proteus的波形发生器设计[J].太原科技大学学报.2014(2):81-85.

[3]贺敬凯.刘德新.管明祥.单片机系统设计、仿真与应用[M].西安:西安电子科技大学出版社.2011:169-171.

[4]张明金.基于AT89S51函数信号发生器的设计[J].机电技术.2013(3):66-68.

[5]常萌.石芳.基于Altium Designer的数码管显示电路的PCB板设计[J].煤炭技术.2011(9):54-56.

郭辉,出生年月:1987.05,性别:男,民族:汉,籍贯:安徽阜阳,当前职务:教师,当前职称:助教,学历:硕士研究生,研究方向:智能控制与智能算法。

Design and analysis of a simple function signal generator based on 51 single chip microcomputer

Guo Hui

(College of Information Engineering,Fuyang Teachers' College,Fuyang Anhui,236037)

This paper uses the principle of figure Proteus function signal generator is designed,and the feasibility of the design is verified by Keil software programming,by adjusting the key,the simple function signal generator can output sine wave,Ju Chibo,trapezoidal wave,rectangular wave,and can be adjusted through the key corresponding to the frequency of the waveform, eventually produced by Proteus PCB principle diagram of the circuit.

signal generator;AT89C51;Proteus;Keil;PCB

TP368.1

B

猜你喜欢
正弦波原理图按键
单相正弦波变频电源设计与实现
基于有限状态机的按键检测程序设计
浅谈STM32核心板原理图设计
电路原理图自动布图系统的设计与实现
基于Protel DXP 2004层次原理图的设计
采用BC5016S的纯正弦波逆变器设计及制作
按键消抖在单片机和FPGA实验教学中的应用
基于STM32的风力摆控制系统的设计
一种多方向导光按键结构设计
维修电工线路板的接线技巧分析