基于51单片机的简易函数信号发生器的设计与分析_郭辉
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于51单片机的简易函数信号发生器的设计与分析
郭 辉
(阜阳师范学院信息工程学院,安徽阜阳,236037)
摘要:函数信号发生器设计与分析是单片机实践中的一重要实验。本文采用Proteus 对函数信号发生器的原理图进行设计,并通过Keil 软件编程验证该设计的可行性,通过调节按键,该简易函数信号发生器可以正确输出正弦波、锯齿波、梯形波、矩形波,并可以通过按键对相应波形的频率进行调节,最终通过Proteus 制作出该电路的PCB 原理图。本设计对单片机项目设计与实现具有一定的指导意义。
关键词:信号发生器;AT89C51;Proteus ;Keil ;PCB 中图分类号:TP368.1 文献标识码:B
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)
Abstract :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.
Keywords :
signal generator;AT89C51;Proteus;Keil;PCB 0 引言
Proteus 软件为英国Labcenter electronics 公司开发的
EDA 工具软件。该软件不仅具有其它EDA 工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具之一是目前世界上唯一将电路仿真软件、PCB 设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持
8086、MSP430、 Cortex、8051、AVR、ARM 和DSP 等系列处理器,
在编译方面,该软件也支持IAR、Keil 和MATLAB 等多种编译器。因此采用Proteus 作为本设计的平台即能实现相应设计的要求,又能节约设计时间与设计成本。
本文所设计的函数信号发生器作为一种常用的信号源,在生产实践、电子设计、教学试验中被广泛使用。在Proteus
软件上
图1 函数信号发生器原理图
DOI:10.16520/ki.1000-8519.2016.23.001
进行先绘制、后仿真、最后生成PCB,符合电子电路设计的一般步
骤,避免了因思考不充分造成的工程成本的不必要浪费。
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,性别:男,民族:汉,籍贯:安徽阜阳,
当前职务:教师,当前职称:助教,学历:硕士研究生,研究方向:智能控制与智能算法。