单片机函数信号发生器.doc

上传人:知****量 文档编号:43184166 上传时间:2022-09-17 格式:DOC 页数:35 大小:1.54MB
返回 下载 相关 举报
单片机函数信号发生器.doc_第1页
第1页 / 共35页
单片机函数信号发生器.doc_第2页
第2页 / 共35页
点击查看更多>>
资源描述

《单片机函数信号发生器.doc》由会员分享,可在线阅读,更多相关《单片机函数信号发生器.doc(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、. . . . 摘要近年来随着计算机在社会领域的渗透,单片机的应用正在不断地走向深入,同时带动传统函数信号发生器日新月异的更新。单片机能产生高精度、快速变换频率、输出波形失真小的优先选用技术。函数信号发生器是各种测试和实验过程中不可缺少的工具,在通信、测量、雷达、控制、教学等领域应用十分广泛。不论是在生产、科研还是教学上,信号发生器都是电子工程师信号仿真实验的最佳工具,而且,信号发生器的设计方法多,设计技术也越来越先进。研究函数信号发生器的设计方法,克服传统方法的缺点,以更好的方法设计出比较复杂的调频、调幅功能的信号发生器。本论文介绍的是一种用AT89C51单片机构成的波形发生器,可产生方波、

2、三角波、正弦波、锯齿波等多种波形,波形的周期可用程序改变,并可根据需要选择单极性输出或双极性输出,具有线路简单、结构紧凑、性能优越等特点。文章给出了源代码,通过仿真测试,其性能指标达到了设计要求。单片机小系统负责用户的交互和系统控制,键盘用于频率的输入与波形的选择。LED显示当前所选信号的频率调整情况,而末级放大电路则对生成的信号进行适当的放大,以提高信号的振幅和强度。关键词:单片机,DAC,信号发生器,频率调节,放大电路31 / 35AbstractIn recent years, with the computer in the social sector penetration and

3、MCU application is continuously,while driving to the deepening traditional function signal generator on new PE updates. SCM can produce high precision, fast transform the frequency, the output waveform distortion of preferred selection technology. Function signal generator is all sorts of test and e

4、xperiment process the essential tool, in communication, measuring, radar, control, teaching fields used widely. Both in production and scientific research or teaching, signal generator are electronic engineer signal simulation experiment, and the best tool, signal generator design method, design tec

5、hnology is becoming more and more advanced. Research function signal generator design methods, overcome shortcomings of traditional methods, in order to better designed complex FM, attenuation function signal generator.This thesis introduces a AT89C1 single-chip computers.the waveform generator, can

6、 produce square-wave, triangle wave, sine wave, sawtooth wave etc. Various waveform, waveform cycle available program change, and can choose according to need single polarity output or dual polarity output, has the line is simple, compact structure, superior performance characteristics. The article

7、presented the source code, through the simulation test, the performance indexes meet the design requirements. : singlechip processor system is responsible for the user interaction and system control, the keyboard for frequency of input and waveform choice. LED display the current selected the signal

8、 frequency adjustment, and final amplifier circuit is generated signal proper amplifier, in order to improve the signal amplitude and strength.Keywords:microcontroller,DAC,signal generator, frequency adjustment, amplifier circuit目录摘要IAbstractII1.引言11.1.选题的目的与意义11.2.国外研究与综述11.3.毕业设计所用方法22.系统硬件方案的设计32

9、.1.方案的选择与论证32.2.系统总体设计32.3.单片机最小系统设计42.4.复位与时钟电路设计52.4.1.时钟电路设计52.4.2.复位电路设计62.5.波形产生模块设计62.6.D/A转换电路设计72.6.1.D/A转换器指标72.6.2.D/A转换的原理72.6.3.DAC0832芯片82.7.数码管显示模块93.系统软件方案的设计113.1.软件总体设计113.2.软件流程图113.3.键盘扫描与初始程序设计123.4.中断服务程序设计143.5.波形发生程序设计153.5.1.正弦波发生程序设计153.5.2.三角波发生程序设计183.5.3.方波发生程序设计183.5.4.锯

10、齿波发生程序设计184.仿真结果与分析194.1.仿真和编译工具194.1.1.Proteus仿真软件194.1.2.KEIL编译软件194.2.仿真结果204.3.仿真分析23参考文献25致26附录A:源程序27附录B:总电路图321. 引言1.1. 选题的目的与意义信号发生器也称为函数发生器,能产生某些特定的周期性时间函数波形(正弦波、方波、三角波、锯齿波)信号,频率围可从几个微赫到几十兆赫。函数信号发生器在电路实验和设备检测中具有十分广泛的用途。信号发生器主要为实验用信号源,是现今各种电子实验设计中必不可少的仪器设备之一。函数发生器作为一种常见的电子仪器设备,既能够构成独立的信号源,也可

11、以是高性能的网络分析仪,频谱仪以与自动测试装备的组成部分,函数信号发生器的关键技术是多种高性能仪器的支撑技术,因为它是能够提高质量的精密信号源与扫描源,可使相应系统的检测过程大大简化,降低检测费用并且提高检测精度。当今是科技以与仪表设备高度智能化飞速发展的信息社会,电子技术的发展进步,给人们的生活带来了根本性的转变。在现代电子领域中,单片机的应用正在不断的走向深入,这必将导致传统控制与检测技术的日益革新。单片机构成的仪器具有高可靠性,高性价比,在智能仪表系统和办公自动化中得到广泛应用,因此,基于单片机的函数信号发生器的普与是一种趋势。1.2. 国外研究与综述信号发生器是一种常见的应用电子仪器设

12、备,传统的信号发生器一般可以完全由硬件搭接而成,如采用555电路产生正弦波,三角波和方波便是可取的路径之一,不用依靠单片机。但是这种电路存在波形质量差,控制难,可调围小,电路复杂,体积大的缺点。在科学研究和生产实践中,如工业过程控制,生物医学,地震模拟等领域常常要用到低频信号源。而由硬件电路构成的低频信号其性能难以让人满意,而且由于低频信号源所需的RC很大,并且大电阻,大电容在制作上有困难,参数的精度也难以保证,体积大,漏电,损耗大更是其致命的弱点。一旦工作需求功能有增加,则电路复杂程度会大大的增加。美捷伦生产的33250A型函数/任意波形发生器可以产生稳定、精确和低失真的任意波形,其输出频率

13、围为1Hz80MHz,而输出幅度为10mVpp10Vpp;该公司生产的8648D射频信号发生器的频率覆盖围更可高达9kHz4GHz。国产SG1060数字合成信号发生器能双通道同时输出高分辨率、高精度、高可靠性的各种波形,频率覆盖围为1Hz60MHz;国产S1000型数字合成扫频信号发生器通过采用新技术、新器件实现高精度、宽频带的扫频源,同时应用DDS和锁相技术,使频率围从1MHz1024MHz能精确地分辨到100Hz,它既是一台高精度的扫频源,同时也是一台高精度的标准信号发生器。目前市场上的信号发生器多种多样。他们各有各的优点,但是函数发生器总的趋势将向着宽频率覆盖、高频率精度、多功能、多用途

14、、自动化和智能化方向发展。1.3. 毕业设计所用方法利用单片机控制脉冲的输入和输出,从而控制信号波形的频率和幅度,并根据要求输出的波形设计对应的硬件电路。在硬件电路不变的情况下,通过改变程序来实现频率的变换,用按键来控制单片机的波形和频率,通过显示电路显示频率值,利用数模转换器放大电路输出波形,并可以通过示波器观察波形与频率,其中复位电路用于系统复位重启。最后利用Proteus软件对设计的电路进行实时仿真,通过仿真的结果来观察波形的输出。2. 系统硬件方案的设计2.1. 方案的选择与论证方案一:采用单片机函数信号发生器(如8038),8038可同时产生正弦波、方波等,而且方法简单易行,用D/A

15、转换器的输出来改变调制电压,也可以产生实现数控调整频率,但产生的信号的频率稳定度不高。方案二:采用锁相式频率合成器,利用锁相环,将压控振荡器(VCO)的输出频率锁定在所需频率上,该方案性能良好,但难以达到输出频率覆盖系数的要求,且电路复杂。方案三:采用单片机编程的方法来实现。该方法可以通过编程的方法来控制信号波形的频率和幅度,而且在硬件电路不变的情况下,通过改变程序来实现频率的变换。此外,由于通过编程方法产生的是数字信号,所以信号的精度可以做的很高。鉴于方案一的信号频率不够稳定和方案二的电路复杂且频率覆盖系数难以达标等缺点,所以决定采用方案三的设计方法。它不仅采用软硬件结合,软件控制硬件的方法

16、来实现,使得信号频率的稳定性和精度的准确性得以保证,而且它使用的几种器件都是常用的元器件,容易得到,且价格便宜,使得硬件的开销达到最省。2.2. 系统总体设计经过考虑,确定方案如下:利用AT89C51单片机采用程序设计方法产生锯齿波、三角波、正弦波、方波四种波形,再通过D/A转换器将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来。通过按键来控制四种波形的类型选择、频率变化,最终输出显示其各自的类型以与数值。硬件设计的总体框图如图2-1所示。单片机控制电路数码管显示电路时钟与复位电路D/A转换电路按键电路波形输出图2-1 硬件设计总体框图2.3. 单片机最小系统设计用89C51单片机构成

17、最小应用系统时,只要将单片机接上时钟电路和复位电路即可,89C51单片机最小系统如图2-2所示。由于集成度的限制,最小应用系统只能用作一些小型的控制单元。图2-2 89C51单片机最小系统其应用特点:有可供用户使用的大量I/O口线。部存储器容量有限。应用系统开发具有特殊性。典型的MCS-51单片机芯片集成了以下几个基本组成部分:1) 一个8位的CPU2) 128B或256B单元数据存储器(RAM)3) 4KB或8KB片程序存储器(ROM或EPROM)4) 4个8位并行I/O接口P0P35) 两个定时/计数器6) 5个中断源的中断管理控制系统7) 一个全双工串行I/O口UART(通用异步接收、发

18、送器)8) 一个片振荡器和时钟产生电路2.4. 复位与时钟电路设计2.4.1. 时钟电路设计单片机的时钟信号通常用两种电路形式得到:部振荡方式和外部振荡方式。在引脚XTAL1和XTAL2外接晶体振荡器(简称晶振),就构成了部振荡方式。由于单片机部有一个高增益反向放大器,当外接晶振后,就构成了自激振荡器,并产生振荡时钟脉冲。晶振通常选用6MHZ、12MHZ或24MHZ。部振荡方式如图2-3所示。图中电容C1、C2起稳定振荡频率、快速起振的作用。电容值一般为530pF。部振荡方式所得时钟信号比较稳定,实用电路中使用较多。外部振荡方式是把已有的时钟信号引入单片机。这种方式适宜用来使单片机的时钟与外部

19、信号保持一致。外部振荡方式电路如图2-4所示。对HMOS的单片机(8031,8031AH等),外部时钟信号由XTAL2引入;对于CHMOS的单片机(8XCXX),外部时钟信号由XTAL1引入。图2-4 外部振荡方式图2-3 部振荡方式2.4.2. 复位电路设计单片机的复位是靠外电路实现的,在时钟电路工作后,只要在单片机的RST引脚上出现24个时钟振荡脉冲(2个机器周期)以上的高电平,单片机便实现初始化状态复位。为了保证应用系统可靠地复位,通常是RST引脚保持10ms以上的高电平,根据应用的要求,复位操作通常有两种基本形式:上电复位和上电或开关复位。上电复位要求接通电源后,自动实现复位操作。上电

20、或开关复位要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。上电后,由于电容C3的充电和反相门的作用,使RST持续一段时间的高电平。复位电路连接如图2-5所示。此电路仅用一个电容与一个电阻。系统上电时,在RC电路充电过程中,由于电容两端电压不能跳变,故使RESET端电平呈高电位,系统复位。经过一段时间,电容充电,使RESET端呈低电位,复位结束。89C512+5VC3R1图2-5 复位电路2.5. 波形产生模块设计由单片机采用编程方法产生三种波形、通过DA转换模块DAC0832在进过滤波放大之后输出。其电路图如图2-6所示:图2-6 波形产生电路LM324的5管

21、脚与DAC0832的(IOUT2)12管脚相连,LM324的6管脚与DAC0832的(IOUT1)11管脚相连,LM324的7管脚与DAC0832的REF(9)管脚相连。第一级运算放大器的作用是将DAC0832输出的电流信号转化为电压信号V1,第二级运算放大器的作用是将V1通过反向放大电路放大-(R2/R1)倍。在第二个运算放大器的输出端连了一个20K的电位器。通过电位器来调节波形振幅的大小,同时在输出端接到示波器的输入端,通过示波器观察产生的波形。2.6. D/A转换电路设计2.6.1. D/A转换器指标分辨率:输出模拟电压应能区分02n-1共2n个输入数字量。表示方法:1)用输入二进制数的

22、位数表示;如8位。2)用输出模拟电压的最小值与最大值的比值表示。指最小输出电压和最大输出电压之比。DAC0832的分辨率为1/255。精度:DAC实际输出电压与理想的输出电压的偏差。DAC0832的最大满刻度偏差为+1LSB 。线性度:DAC实际传输特性曲线与理想的传输特性曲线的偏差。DAC0832的最大误差为+0.19% 。温度灵敏度:在输入不变的情况下,输出模拟电压随温度变化产生的变化量。一般用满刻度输出条件下温度每升高1,输出电压变化的百分数作为温度系数。转换速度:用完成一次转换所需的时间建立时间Tset来衡量。建立时间:输入信号从开始变化到输出电压进入与稳态值相差1/2LSB围以的时间

23、。输入信号由全0变为全1所需时间最长。当外接运放时,转换时间还应加上运放的上升(下降)时间。(21)式中为转换时间,为建立时间,输出最大电压值,为运放输出转换速率。2.6.2. D/A转换的原理以倒T形电阻网络D/A转换器为例,介绍D/A转换器的原理。倒T形电阻网络D/A转换器结构如图2-7所示。图2-7 倒T形电阻网络D/A转换器图中S0S3为模拟开关,由输入数码Di控制,当Di=1时,Si接运算放大器相输入端(虚地),电流Ii流入求和电路;当Di=0时,Si将电阻2R接地。所以,无论Si处于何种位置,与Si相连的2R电阻均接“地”(地或虚地)。流过各开关支路(从右到左)的电流分别为 I/2

24、、I/4、I/8、I/16。总电流:(22)输出电压:(23)将输入数字量扩展到n位,则有:(24)可简写为:其中,2.6.3. DAC0832芯片由于单片机产生的是数字信号,要想得到所需要的波形,就要把数字信号转换成模拟信号,所以本文选用价格低廉、接口简单、转换控制容易并具有8位分辨率的数模转换器DAC0832。DAC0832主要由8位输入寄存器、8位DAC寄存器、8位D/A转换器以与输入控制电路四部分组成。但实际上,DAC0832输出的电量也不是真正能连续可调,而是以其绝对分辨率为单位增减,是准模拟量的输出。DAC0832是电流型输出,在应用时外接运放使之成为电压型输出。根据对DAC083

25、2的数据锁存器和DAC寄存器的不同的控制方式,DAC0832有三种工作方式:直通方式、单缓冲方式和双缓冲方式。本设计选用直通方式。CSDA:片选信号输入线(选通数据锁存器),低电平有效;WR:数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。由ILE、CS、WR1的逻辑组合产生LE1,当LE1为高电平时,数据锁存器状态随输入数据线变换,LE1的负跳变时将输入数据锁存。单片机的P0口连接DAC0832的八位数据输入端,DAC0832的输出端接放大器,经过放大后输出所要的波形。DAC0832的部结构如图2-8所示:图2-8 DAC0832部结构图2.7. 数码管显示模块本设计是用利用4为

26、LED数码管显示波形代号和频率,通过按键来控制输出不同的波形,在数码管上第一位字母a、b、c、d分别对应着正弦波、三角波、方波、锯齿波,后三位数码管对应信号的频率,通过按键控制频率输出,其中单片机P1口接驱动芯片74LS245用以增加P1口带负载的能力,再利用74LS138译码器芯片对其进行译码并通过数码管显示,显示模块图如图2-9所示:图2-9 显示电路模块3. 系统软件方案的设计3.1. 软件总体设计应用系统中的应用软件是根据系统功能要求而设计的,能可靠地实现系统的各种功能。一个优秀的应用系统的应具有下列特点:根据软件功能要求,将系统软件分成若干个独立的部分。设计出软件的总体结构,使其结构

27、清晰、流程合理。要树立结构化程序设计风格,各功能程序模块化、子程序化。既便于调试、,又便于移植、修改。建立正确的数学模型。即根据功能要求,描述各个输入和输出变量之间的数学关系,它是关系到系统好坏的重要因素。为提高软件设计的总体效率,以简明、直观法对任务进行描述,在编写应用软件之前,应绘制出程序流程图。要合理分配系统资源,包括ROM、RAM、定时/计数器、中断资源等。注意在程序的有关位置处写上功能注释,提高程序的可读性。加强软件抗干扰设计,它是提高系统应用可靠性的有利措施。本系统的软件包括以下几个程序模块:键盘处理程序;中断服务程序;正弦波发生程序与其服务程序;三角波发生程序;方波发生程序;锯齿

28、波发生程序。3.2. 软件流程图本系统采用AT89C51单片机,用编程的方法来产生四种波形,并通过编程来切换四种波形以与波形频率的改变。具体功能有:各个波形的切换;各种参数的设定;频率增减等;数码管的显示软件调通后,通过编程器下载到AT89C51芯片中,然后插到系统中即可独立完成所有的控制。软件流程图如图3-1所示。图3-1 程序流程图3.3. 键盘扫描与初始程序设计单片机系统中,键盘扫描是CPU工作的一个主要容之一。CPU忙于各项工作任务时,如何兼顾键盘扫描。既保证不失时机的响应键盘操作,又不过多占用CPU时间。因此,要根据应用系统中的CPU的忙、闲情况,选择好键盘的工作方式。在单片机应用系

29、统设计中,为了节省硬件,通常采用非编码键盘,在这种键盘结构中,单片机对它的控制有三种方式:程序控制扫描方式;定时扫描工作方式;中断工作方式。1)程序控制扫描方式这种方式就是只有当单片机空闲时,才调用键盘扫描子程序,响应键盘的输入请求。2)定时扫描方式这种方式就是每隔一定的时间对键盘扫描一次。通常是利用单片机部定时器产生1ms的定时中断,CPU响应定时器溢出中断请求,对键盘进行扫描,以响应键盘输入请求。3)中断工作方式为进一步提高CPU效率,可以采用中断扫描工作方式。即在键盘有健按下时,才执行键盘扫描,执行该键功能程序。本系统采用程序控制扫描工作方式。在该设计中的键盘的行列线连接于89C51的P

30、2口上。键盘扫描程序自复位后就开始工作,时刻监视键盘,有无键按下。在监视键盘过程中,允许定时器中断。一旦有键按下,先延时1ms,去除键的抖动,然后关中断,不允许定时器发生中断。按键功能如表3-1所示:表3-1 按键对应功能按键功能key1键选择发波类型(1为正弦波,2为三角波,3为方波,4为方波)key2频率增加Key3频率减小按键控制源程序如下:void delay(uchar k)for(de1=0;de110;de1+) for(de2=0;de20xe8)tl=0x00;if(flag0) flag-; else flag=255;void key3(void) /键减小频率if(th

31、0x00)tl-=0xf;if(flag255)flag+;else flag=0;void key4(void) 3.4. 中断服务程序设计采用定时器T0定时中断,根据不同的按键次数,产生不同的波形。void int1 (void) interrupt 2 /int0中断服务程序 if(P2!=0xff) delay(125);if(P2=0xff) return; if(P2=0xef) key1(); if(P2=0xdf) key2(); if(P2=0xbf) key3(); if(P2=0x7f) key4();3.5. 波形发生程序设计3.5.1. 正弦波发生程序设计其实在计算正

32、弦波形数据的时候,并不需要算出整个02区间的每一个值,而只需计算出0中的值就行,其他区间的值都可以通过对0中的值取不同的变换。比如的值可以和0值一一对应,而2的值可以对0区间的值取反得到。计算值可以用C语言编程得到。幅度公式为Y=2.51+sin()(N=0,1,264)相应的Y值数字化后的递增量=0.0196那么每一个点相对于起一个点的递增率为A=(Y2当前的点,Y1为前一个点)所以每一个点的数字量与递增率A成一一对应关系,正弦波形数据表见表3-2。序号幅度(Y值)递增率A数字递增率数字量(十进制)12.5613530.061353313122.6226690.122669613432.68

33、39110.183911913742.7450430.2450431214052.8060270.3060271514362.8668260.3668261814672.9274050.4274052114982.9877260.4877262415293.0477530.54775327155103.1074500.60745030158113.1667820.66678234162123.2257120.72571237165133.2842040.78420440168143.3422250.84222542170153.3997380.89973845173163.4567080.95

34、670848176173.5131031.01310351179183.5688881.06888854182193.6240281.12402857185203.6784921.17849260188213.7322451.23224562190223.7852571.28525765193233.8374941.33749468196243.8889261.38892670198253.9395201.43952073201263.9892481.48924875203274.0380791.53807978206284.0859831.58598380208294.1329321.632

35、93283211304.1788971.67889785213314.2238511.72385187215324.2677671.76776790218表3-2 正弦波形数据表334.3106171.81061792220344.3523781.85237894222354.3930221.89302296224364.4325261.93252698226374.4708661.970866100228384.5080192.008019102230394.5439622.043962104232404.5786742.078674106234414.6121342.11213410723

36、5424.6443212.144321109237434.6752182.175218110238444.7048032.204803112240454.7330612.233061113241464.7599732.259973115243474.7855242.285524116244484.8096992.309699117245494.8324822.332482119247504.8538602.353860120248514.8738202.373820121249524.8923512.392351122250534.9094402.409440122250544.9250782

37、.425078123251554.9392552.439255124252564.9519632.451963125253574.9631942.463194125253584.9729412.472941126254594.9811992.481199126254604.9879622.487962126254614.9932262.493226127255624.9969892.496989127255634.9992472.499247127255645.0000002.500000127255正弦波发生程序如下:if(fun=1) DA0832=tosinb/4*A; /正弦波 b+;

38、 3.5.2. 三角波发生程序设计由于三角波的函数值比较容易计算,所以不必要像正弦波那样还需用表格。可直接通过如下程序段实现。else if(fun=2) /三角波 if(c128)DA0832=c*2/4*A; else DA0832=(255-c)*2/4*A; c+; 3.5.3. 方波发生程序设计方波可直接由DAC0832产生,其发生程序如下:else if(fun=3) / 方波 d+; if(d=128)DA0832=0x00; else DA0832=0xff/4*A; 3.5.4. 锯齿波发生程序设计锯齿波中的斜线用一个个小台阶来逼近,在一个周期从最小值开始逐步递增,当达到最大

39、值后又回到最小值,如此循环,当台阶间隔很小时,波形基本上近似于直线。适当选择循环的时间,可以得到不同周期的锯齿波。锯齿波发生原理与方波类似,只是高低两个延时的常数不同其发生程序如下:else if(fun=4) / 锯齿波 e+; DA0832=e/4*A;4. 仿真结果与分析4.1. 仿真和编译工具4.1.1. Proteus仿真软件有了protel、Multisim、proteus、psice等一系列的软件的存在,就此便可以以虚代实、以软代硬,独立建立一个完善的虚拟实验室。代替了在实验室和教室里的以实物进行实践的方式,可以在计算机上学习电工基础,模拟电路、数字电路、单片机应用系统等课程,并

40、进行电路设计、仿真、调试等。因此这一系列的软件受到广大电子设计爱好者的青睐,是他们工作、学习上难得的工具软件,也因此它们在全球得到了广泛应用。其中,Proteus软件提供多达30多个元件库,元件涉与到数字和模拟、交流和直流等,有RAM、ROM、键盘、马达、LED、LCD、AD/DA、部分SPI器件、部分IC器件,编译方面支持Keil和MPLAB等编译器。它的功能强大,集电路设计、制版与仿真等多种功能于一身,不仅能够对电工、电子技术学科涉与的电路进行设计与分析,还能够对微处理器进行设计和仿真,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。它还提供多种现实存在的虚拟仪器,这些仪表有极

41、高的输入阻抗、极低的输出阻抗,可以尽可能减少仪器对测量结果的影响。此外,Proteus软件还有图形显示功能,可以将线路上变化的信号以图形的方式实时地显示出来。对于单片机硬件电路和软件的调试,Proteus提供了两种方法:系统总体执行效果和对软件的分步调试。它还提供了比较丰富的测试信号用于电路的测试,这些测试信号包括模拟信号和数字信号。在用Proteus进行仿真和程序调试时,可以从工程的角度直接看程序运行和电路工作的过程和结果。它还提供Schematic Drawing、SPICE仿真与PCB设计功能,同时可以仿真PIC、AVR、51系列等常用的MCU,并提供周边设备的仿真,例如示波器、373、

42、led等。4.1.2. KEIL编译软件Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果使用C语言编程,那么Keil几乎就是不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会事半功倍。Kei

43、l C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势,与汇编相比,C语言有明显的优势,用过汇编语言后再使用C来开发,体会更加深刻。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面,是一个非常实用的编译软件。4.2. 仿真结果打开PROTEUS软件,选择所需器件连接导线,连接成功后的电路图如图4-1所示:图4-1 总体电路图打开KEIL软件,调出程序进行编译,生成HEX文件,编译窗口如图4-2所示:图4-2 编译窗口编译后没有错误就可以生成hex文件用于单片机仿真,采用PROTEUS进行单片机仿真,可以大大缩短单片机的开发周期。它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。以下为四种波形的仿真结果示例。正弦波仿真:频率分别为31HZ和260HZ。仿真结果分别如图4-3、4-4所示。图4-3 正弦波仿真输出(31HZ)图4-4 正弦波仿真输出(257HZ)三角波仿真:频率60HZ,仿真结果如图4-5所示。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作计划

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁