欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

    毕业论文-基于AT89C51单片机的信号发生器设计23846.doc

    • 资源ID:3942859       资源大小:670.52KB        全文页数:39页
    • 资源格式: DOC        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    毕业论文-基于AT89C51单片机的信号发生器设计23846.doc

    摘要摘 要信号发生器是一种常用的信号源,广泛地应用于电子电路、自动控制系统和教学实验等领域。目前使用的信号发生器大部分是函数信号发生器,且特殊波形发生器的价格昂贵。所以本设计使用的是AT89C51单片机构成的发生器,可产生三角波、方波、正弦波等多种特殊波形和任意波形,波形的频率可用程序控制改变。在单片机上加外围器件键盘,通过键盘控制波形频率的增减以及波形的选择,并用了LCD显示频率大小。在单片机的输出端口接DAC0832进行D/A转换,再通过运放进行波形调整,最后输出波形接在示波器上显示。本设计具有线路简单、结构紧凑、价格低廉、性能优越等优点。关键词:信号发生器;AT89C51;波形调整;DAC0832; LCD显示AbstractSignal-generator is a kind of signal source in common use, broadly applied at the electronics electric circuit, auto control system and teaching experiment etc. Currently used mostly function signal generator signal generator, waveform generator and a special price of expensive . So the dissertation is usage of the AD9851 single-chip microcomputer constitute of wave-form generator, which can generate triangle wave, square wave, sine wave etc variety wave-form, the period of wave can be controlLCD by procedure, at outer circle spare part of the machine, plus independence type keyboard , which can control wave increase or decrease of form-frequency and the choice of wave-form, at the same time LCD display frequency size. The output of the machine connect DAC0832 to carry on a DA conversion,again pass operation amplifier to put an end exportation wave-form. This design has advantage of simple circuit, tightly packed structure, cheap price, superior function etc.Keywordssignalgenerator;AT89C51;wave-form adjustment;DAC0832; LCD display 35目录目 录摘 要IAbstractII第1章 绪论11.1 课题背景11.2目的意义11.3 设计要求和任务2第2章 信号发生器的方案研究32.1 总体方案论证与设计32.2 模块结构划分3第3章硬件电路的设计53.1 基本原理53.2 各模块具体设计53.2.1单片机介绍53.2.2 AT89C51单片机介绍53.2.3按键电路83.2.4 显示电路103.2.5 D/A转换电路113.2.6放大及I/V转换波形输出电路13第4章软件设计和系统调试144.1 软件的总体设计144.2 软件设计主流程图144.3 波形设计154.4 软件仿真17第五章 结论21参考文献21致谢23附录24第1章 绪论1.1 课题背景随着电子测量及其他部门对各类信号发生器的广泛需求及电子技术的迅速发展,促使信号发生器种类增多,性能提高。尤其随着70年代微处理器的出现,更促使信号发生器向着自动化、智能化方向发展。现在,许多信号发生器带有微处理器,因而具备了自校、自检、自动故障诊断和自动波形形成和修正等功能,可以和控制计算机及其他测量仪器一起方便的构成自动测试系统。当前信号发生器总的趋势是向着宽频率覆盖、低功耗、高频率精度、多功能、自动化和智能化方向发展。在科学研究、工程教育及生产实践中,如工业过程控制、教学实验、机械振动试验、动态分析、材料试验、生物医学等领域,常常需要用到低频信号发生器。而在我们日常生活中,以及一些科学研究中,锯齿波和正弦波、矩形波信号是常用的基本测试信号。譬如在示波器、电视机等仪器中,为了使电子按照一定规律运动,以利用荧光屏显示图像,常用到锯齿波产生器作为时基电路。信号发生器作为一种通用的电子仪器,在生产、科研、测控、通讯等领域都得到了广泛的应用。 但市面上能看到的仪器在频率精度、带宽、波形种类及程控方面都已不能满足许多方面实际应用的需求。加之各类功能的半导体集成芯片的快速生产,都使我们研制一种低功耗、宽频带,能产生多种波形并具有程控等低频的信号发生器成为可能。1.2目的意义便携式和智能化越来越成为仪器的基本要求,对传统仪器的数字化,智能化,集成化也就明显得尤为重要。平时常用信号源产生正弦波,方波,三角波等常见波形作为待测系统的输入,测试系统的性能。单在某些场合,我们需要特殊波形对系统进行测试,这是传统的模拟信号发生器和数字信号发生器很难胜任的。利用单片机的强大功能,设计合适的人机交互界面,使用户能够通过手动的设定,设 置所需波形。该设计课题的研究和制作全面说明对低频信号发生系统要有一个全面的解、对低频信号的发生原理要理解掌握,以及低频信号发生器工作流程:波形的设定,D/A转换,单片机(51单片机,显示电路,键盘控制),显示和各模块的连接通信等各个部分要熟练联接调试,能够正确的了解常规芯片的使用方法、掌握简单信号发生器应用系统软硬件的设计方法,进一步锻炼了我们在信号处理方面的实际工作能力。1.3 设计要求和任务1. 能产生正弦波、三角波、方波等常见信号。2. 电路板性价比高,可靠性强,操作简单。第2章 信号发生器的方案研究第2章 信号发生器的方案研究2.1 总体方案论证与设计信号发生器的实现方法通常有以下几种: 方案1:用分立元件组成的函数发生器,但通常是但函数发生器且频率不高,工作不稳定,不易调试。 方案2:可以由晶体管、运放IC等通用器件制作,更多的则是用专门的函数信号发生器IC产生。如L8038、BA205、XR2207等,他们的功能较少,精度不高,频率上限低,无法产生高频率信号,调节方式不够灵活,频率和占空比不能独立调节,二者相互影响。 方案3:采用AT89C51单片机和DACO832芯片,直接连接键盘和显示。该种方案对AT89C51单片机的各个I/O口进行了充分的利用。在P0口接显示电路部分,P2口连接DAC0832输出波形,P1口接键盘,这样总体来说对于单片机各个接口都利用上了,而不在多用其它芯片,从而减小了系统的成本,占用空间小,使用芯片少,低功耗。 方案4:采用芯片8255对AT89C51进行扩展,其中使用74LS373来驱动,并且加了一个74LS138译码器,8255的PA口和显示部分连接,PB和PC接键盘,AT89C51的P1连接DAC0832来显示波形,但是程序设计上比较麻烦。 通过对比四种方案的优缺点,以及可操作性,方案3优于其他几种方案。它能使输出频率有较好的稳定性,充分体现了模块化设计的要求,并且这些芯片及器件均为通用器件,在市场上较常见,价格也低廉,样品制作成功的可能性比较大,所以本设计采用方案3。2.2 模块结构划分 本设计研究的主要内容就是对所需要的某种波形输出对应的数字信号,再通过D/A转换器和单片机的转换输出一组连续变化的0-5V的电压脉冲值,显示模块显示频率和波形。在设计时分模块来分别设计,最后通过联调仿真完成设计。模块介绍:1. 单片机部分:AT89C51单片机2. D/A转换:通过DAC0832芯片把数字信号转换成模拟信号,再通过放大器进行信号放大。3. 键盘:用按键来控制数值的输入和输出波形的种类。4. 显示部分:示波器显示波形,采用LCD显示波形的频率。具体模块如图2-1所示: LCD显示P0AT89C51P1P2 P1示波器DAC0832键盘图2-1模块示意图第3章 硬件电路的设计第3章硬件电路的设计3.1 基本原理信号发生系统主要由CPU、D/A转换电路、放大及I/V转换电路、按键和显示电路、电源等电路组成。工作原理是由按键控制方波、锯齿波、三角波的产生,并且在LCD显示器显示波形数据和频率。3.2 各模块具体设计 3.2.1单片机介绍 单片机,一块半导体硅片上集成了微处理器(CPU),存储器(RAM,ROM,EPROM),和各种输入、输出接口(定时器/计数器,并行I/O口,串行口等)的集成电路芯片。 单片机以其卓越的性能得到了广泛的应用,已深入到检测、控制等领域。单片机今后将向多功能、高性能、高速度、低电压、低功耗、低价格外围电路内装化以及片内存储器容量增加和Flash存储器方向发展。3.2.2 AT89C51单片机介绍 AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。1主要特性:·与MCS-51 兼容 ·4K字节可编程闪烁存储器 ·全静态工作:0Hz-24Hz·三级程序存储器锁定·128*8位内部RAM·32可编程I/O线·两个16位定时器/计数器·5个中断源 ·可编程串行通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路 2管脚说明:VCC:供电电压。 GND:接地。 P0-P3口是4个双向的8位并行I/O口。其中P3口也可作为AT89C51的一些特殊功能口,如图3-1所示:口管脚 备选功能 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(外部数据存储器写选通)图3-1单片机管脚分布 P3.7 /RD(外部数据存储器读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。3芯片擦除:整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。4. 最小系统 保证单片机能够正常工作不能缺少的部分组成的工作系统。AT89C51单片机构成最小应用系统时只要将单片机接上时钟电路和复位电路即可: 时钟电路时钟电路用于产生单片机工作时所必须的时钟控制信号。常用的时钟电路设计有两种方式:内部时钟方式、外部时钟方式。图3-2晶振电路内部时钟方式:单片机内部有一个用于构成振荡器的高增益反相放大器,该高增益反相放大器的输入端为单片机引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接晶体振荡器和微调电容,就够成一个稳定的自激振荡器。电路如图3-2所示:电路中电容典型值通常选择为30pF左右,晶振的震荡频率的范围通常在1.2MHz-12MHz之间。外部时钟方式:外部时钟方式是使用外部振荡器产生的脉冲信号,常用于多片单片机同时工作,以便于多片单片机之间的同步。连接时,外部时钟源直接连接到XTAL1端,XTAL2端悬空。 复位电路图3-3复位电路复位是单片机的初始化操作,给单片机的复位引脚RST加上大于2个机器周期的高电平就可以实现复位。单片机启运运行时需要先复位,其作用是使CPU和系统中其他部件处于一个确定的初始状态,并从这个状态开始工作。单片机的复位操作需要配合相应的外部电路才能实现,电路如图3-3所示:(1) 复位功能:系统上电时提供上电信号,直至系统电源稳定后,撤销复位信号。为防止电源开关或电源插头分-合过程引起抖动影响复位,当电源稳定后要经过一定时延再撤销复位信号。(2) 单片机复位后的状态:单片机复位后进入初始化状态,一些特殊功能寄存器复位后的主要状态见表3-1:表3-1寄存器复位状态特殊功能寄存器初始状态特殊功能寄存器初始状态A00HTMOD00HB00HTCON00HPSW00HTH000HSP07HTL000HDPL00HTH100HDPH00HTL100HP0-P3FFHSBUF不定IP*00000BSCON00HIE0*00000BPCON0*BPSW=0H,表明选寄存器0组为工作寄存器组;SP=07H,表明堆栈指针指向片内RAM07H字节单元;系统复位是任何微机系统执行的第一步,使整个控制芯片回到默认的硬件状态下。3.2.3按键电路 键盘在单片机应用系统中能实现向单片机输入数据、传送命令等功能,是实现人工干预单片机的主要手段。 键盘接口的工作原理常用的键盘接口为独立式键盘接口和行列式键盘接口。独立式键盘就是各个按键相互独立,每个按键各接一根I/O口线,每根I/O口线上的按键都不会影响。矩阵式键盘又叫行列式键盘。用I/O口线组成行、列结构,键位设置在行列的交点上。对矩阵键盘的工作过程可分两步:第一步是CPU首先检测键盘上是否有键按下;第二步是再识别是哪一个键按下。本设计采用矩阵式按键。 矩阵式键盘的工作方式1查询工作方式这种方式是直接在主程序中插入键盘检测子程序,主程序每执行一次,则键盘检测子程序就对键盘进行检测一次。如果没有键按下,则跳过键识别,直接执行其他程序;如果有键按下,则通过键盘扫描子程序识别按键,得到按键的编码值。然后根据编码值进行相应的处理,处理完后再回到主程序执行。键盘扫描子程序流程图:开始是有键按下?否调用6ms延时子程序调用12ms延时子程序否有键按下?是判断合键,编码入栈保护否闭合键释放?是编码A返回图3-4键盘扫描流程图2.中断工作方式中断工作方式,当有中断的时候,就去执行扫描程序,没有中断的时候,CPU可以去做其他的事情,从而提高CPU的效率。 键盘接口电路图图3-5按键电路图3.2.4 显示电路通过液晶LM016L显示输出的波形、频率,其电路如图3-6所示: 图3-6LCD显示LM016L的八位数据端接单片机的P1口,其三个使能端RS、RW、E分别接单片机的P1.5P1.7。通过软件控制液晶屏可以显示波形的种类以及波形的频率。显示器接口电路图3-7图3-7显示器接口电路图3.2.5 D/A转换电路DAC0832是CMOS工艺制造的8位D/A转换器,属于8位电流输出型D/A转换器,转换时间为1us,片内带输入数字锁存器。DAC0832与单片机接成数据直接写入方式,当单片机把一个数据写入DAC寄存器时,DAC0832的输出模拟电压信号随之对应变化。利用D/A转换器可以产生各种波形,如方波、三角波、正弦波、锯齿波等以及它们组合产生的复合波形和不规则波形。1.DAC0832主要性能:输入的数字量为8位;采用CMOS工艺,所有引脚的逻辑电平与TTL兼容;数据输入可以采用双缓冲、单缓冲和直通方式;转换时间:1us;精度:1LSB;分辨率:8位;单一电源:515V,功耗20mw;参考电压:-10+10V;2.DAC0832内部结构资料:芯片内有两级输入寄存器,使DAC0832具备双缓冲、单缓冲和直通三种输入方式,以便适于各种电路的需要(如要求多路D/A异步输入、同步转换等)。D/A转换结果采用电流形式输出。要是需要相应的模拟信号,可通过一个高输入阻抗的线性运算放大器实现这个供功能。运放的反馈电阻可通过RFB端引用片内固有电阻,还可以外接。 待转换的8位数字量由芯片的8位数据输入线D0D7输入,经DAC0832转换后,通过2个电流输出端IOUT1和IOUT2输出,IOUT1是逻辑电平为"1"的各位输出电流之和,IOUT2是逻辑电平为"0"的各位输出电流之和。另外ILE、和是控制转换的控制信号。3.DAC0832是具有20条引脚的双列直插式COMS器件,它内部具有两级数据寄存器,完成8位电流D/A转换。转换时间为1us,片内带输入数字锁存器。D7D0:8位数据输入;ILE:数据输入锁存允许,高电平有效;:片选;:输入寄存器写信号。当ILE、同时有效时,数据装入输入寄存器,实现输入数据的第一级缓冲;:数据传送控制信号,控制从输入寄存器到DAC寄存器的内部数据传送;图3-8DAC0832引脚:DAC寄存器写信号,当和均有效时,将输入寄存器中的数据装入DAC寄存器并开始D/A转换,实现输入数据的第二级缓冲;:参考电压源,电压为-12+12V;:内部反馈电阻接线端;:DAC电流输出1,其值随输入数字量线性变化;:DAC电流输出2;当DAC寄存器的内容全为1时,=最大,=0;当DAC寄存器的内容全为0时,=0,=最大;当DAC寄存器的内容为N时,=*N/(256*),=/-;无论N值多大,+=/为常数;VCC:工作电源,其值为+515V,典型值为+5V; AGND:模拟信号地线 DGND:数字信号地线4.D/A转换电路图3-9D/A转换电路3.2.6放大及I/V转换波形输出电路DAC0832为电流输出型转换器,一般要求输出是电压,所以还必须经过一个外接的运算放大器转换成电压。如图3-6所示为一种用两级运算放大器组成的模拟电压输出电路。从第一个运放输出为单极性模拟电压,从第二个运放输出为双极性模拟电压。如果参考电压为+5V,则1脚输出电压为0-5V,7脚输出电压为±2.5V。图3-10放大及I/V转换波形输出电路图第4章软件设计和系统调试4.1 软件的总体设计 应用系统中的应用软件是根据系统功能要求而设计的,能可靠地实现系统的各种功能。一个优秀的应用系统的应具有下列特点:(1)根据软件功能要求,将系统软件分成若干个独立的部分。设计出软件的总体结构,使其结构清晰、流程合理。(2)要树立结构化程序设计风格,各功能程序模块化、子程序化。既便于调试、链接,又便于移植、修改。(3)建立正确的数学模型。即根据功能要求,描述各个输入和输出变量之间的数学关系,它是关系到系统好坏的重要因素。(4)为提高软件设计的总体效率,以简明、直观法对任务进行描述,在编写应用软件之前,应绘制出程序流程图。(5)要合理分配系统资源,包括ROM、RAM、定时数器、中断资源等。(6)注意在程序的有关位置处写上功能注释,提高程序的可读性。开始4.2 软件设计主流程图初始化消除抖动调键盘扫描程序判断键的功能调显示子程序N是否有键按下转向执行程序图4-1软件设计主流程图Y第4章 软件设计和系统调试4.3 波形设计4.3.1正弦波发生程序设计DAC0808是8位的D/A转换器件,其工作电压是05V,当输入00数字量的时候,输出为0V电压;当输入80数字量的时候,输出为2.5V电压;当输入FF数字量的时候,输出为5V电压。单片机的I/O输出均为+5 V的TTL电平,因此产生的正弦波幅值为+2.5 V。将一个周期内的正弦波形等分为256份,那么第1点的角度为0°,对应的正弦值为2.5sin0°;第2点的角度为360°/256,对应的正弦值为2.5sin (360°/256)数字量化C程序:#include<math.h>main()int n,i=0,j,k; float y=0, a=3.1415926,b=0,c=2.5000,d=0; for(n=0;n<=64;n+) y=2.5*sin(a*n/128)+2.5; b=y; /b,y为当前幅度值 d=b-c; /d为递增率 j=d/0.0196; /j为数字递增率,0.0196为 k=128+j; /k为数字量 printf(“%d,%f,%f,%d,%dn”,i,y,d,j,k); i+;6 ) 4.3.2三角波发生程序设计else if( wave_choice = 2 ) /三角波 if(c <= 128) P0 = c; else P0 = 255 - c; c +; 4.3.3方波发生程序设计方波发生程序运用延时的方法实现,只用一个主程序即可,因为产生一个方波只需要高低两个数,所以程序比较简单。要给一个频率,再计算所需的延时即可。实现方波的程序如下:else if( wave_choice = 3 ) / 方波 k = zk * 256 / 100; d +; if(d <= k) P0 = 0x00; else P0 = 0xff; 4.3.4锯齿波发生程序设计锯齿波中的斜线用一个个小台阶来逼近,在一个周期内从最小值开始逐步递增,当达到最大值后又回到最小值,如此循环,当台阶间隔很小时,波形基本上近似于直线。适当选择循环的时间,可以得到不同周期的锯齿波。锯齿波发生原理与方波类似,只是高低两个延时的常数不同,所以用延时法,来产生锯齿波。else if(wave_choice = 4) /锯齿波 if(e <= 255) P0 = 255 - e; else P0=0; e+; 4.4 软件仿真4.4.1 Keil和Protues介绍和联调1.Proteus是一种低投资的电子设计自动化软件,提供Schematic Drawing、SPICE仿真与PCB设计功能,它可以仿真单片机和周边设备,可以仿真51系列、AVR,PIC等常用的MCU,编译方面支持Keil和MPLAB。2.Keil是一个51单片机开发软件平台,界面不复杂,操作简单。Keil的µVision2可以进行纯粹的软件仿真(仿真软件程序,不接硬件电路);也可以利用硬件仿真器,搭接上单片机硬件系统,在仿真器中载入项目程序后进行仿真3.虚拟实验的构建及调试 :单片机的理论教学和实验中,内容一般包括了四方面,即单片机系统资源;硬件电路的设计、组装、调试;应用软件的编制、调试;总调,即应用软件的链接调试,程序固化,软、硬件结合的应用系统。(1)硬件电路的设计、组装、调试 硬件电路的设计包含两部分内容:一是系统扩展,即单片机自身的功能单元如ROM、RAM、I/O口、定时器/计数器等容量不能满足应用系统的需要时,必须在片外进行扩展,选择适当的芯片,设计相应的电路;二是系统配置,即按照系统的要求配置外围设备,如键盘、显示器、打印机、A/D转换器、D/A转换器等,要设计合适的接口电路。 (2)应用软件的编制、调试; 使用Keil 软件工具时,项目开发流程和其它软件开发项目的流程极其相似。 创建一个项目,从器件库中选择目标器件,配置工具设置。 用C语言或汇编语言创建源程序。 用项目管理器生成应用。 修改源程序中的错误。 测试,连接应用。 (3)总调,即应用软件的链接调试,程序固化,软、硬件结合的应用系统 软硬件联合仿真系统由一个硬件执行环境和一个软件执行环境组成,通常软件环境和硬件环境都有自己的除错和控制界面,Keil与Proteus的整合调试可以实现系统的总调,在该系统中,Keil作为软件调试界面,Proteus作为硬件仿真和调试界面。 4.4.2 调试可能遇到的问题和解决办法问题1:用汇编写的程序,在Keil编译时找不到以ASM为扩展名的文件解:把用汇编编好的程序用文本文档打开,在另存为文件名.ASM,文件类型选择所有文件,再点击保存.则所要的程序文件就以ASM形式保存在所在位置. 问题2:用Keil生成“.HEX”时不能成功。解:在Keil菜单栏中点击“工程”,在下拉菜单中找到“Options for Target Target”并点击,在弹出的对话框中点击“输出”,然后在“创建HEX文件”前面的框中打勾接下来点击“调试”,在“U使用”和“运行到main()”前面的框中点选;最后点击对话框下方的“确定”按钮。问题3用Protues画好电路,点击运行按钮不能仿真。 原因:没有将“.hex”文件写入。解:先右键点击图中的AT89C51芯片选中它,再左键点击选中的芯片,在弹出的对话框的“Program Files”的框中点击文件夹图标;然后找到已生成的“.hex”文件,最后点击确定即可。问题4.在“.hex”文件写入之后,点击Protues中的运行按钮,依然不能仿真。 原因:原因有2种,一种是硬件电路有问题,另外一种是程序与电路不对应或者程序错误。解:找一段正确的代码生成“.hex”文件并写入,如果能够仿真,则说明原来的程序有问题,如果还是不能仿真,则说明硬件电路有问题。问题5在Protues里所画的电路太多空间不够 解:使Protues的绘图界面放大.选择System,在点击Set sheet sizes,点击后出现一个选择界面,在选择相应的绘图界面大小.4.4.3仿真波形图4-2正弦波仿真图图4-3矩形波仿真图图4-4三角波仿真图第5章 结论第五章 结论本论文是利用单片机AT89C51采用程序设计方法产生正弦波、方波、三角波、锯齿波的波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,波形调整放大,最终由示波器显示出来,通过按键控制波形的类型选择、频率变化,最终显示出其各自的类型以及数值。通过软件仿真,基本达到预期的设计目标。参考文献1 韩全立,王建明.单片机控制技术及应用.北京:电子工业出版社,20042 刘波粒,刘彩霞.模拟电子技术.北京:国防工业出版社,20063 张毅刚编.单片机原理及应用设计.北京:高等教育出版社,20104 阎石主编.数字电子技术基础(第五版).北京:高等教育出版社,20055 田良,王尧.综合电子设计与实践.南京:东南大学出版社,20086 刘波粒主编.模拟电子技术.北京:国防工业出版社,20067 程增熙.电路,信号与系统实验.西安:西安电子科技大学出版社,2006附录附录附录1整体电路图附录2软件程序#include <reg51.h> #define uchar unsigned char #define uint unsigned int sbit lcdrw=P33;sbit lcdrs=P32;sbit lcde=P34;sbit d=P27;sbit s1=P20;sbit s2=P21;sbit s3=P22;sbit cs=P35;sbit wr=P36;uchar s1num,a,ys,j;uint fre;uchar code tosin256=0x80,0x83,0x86,0x89,0x8d,0x90,0x93,0x96,0x99,0x9c,0x9f,0xa2,0xa5,0xa8,0xab,0xae,0xb1,0xb4,0xb7,0xba,0xbc,0xbf,0xc2,0xc5,0xc7,0xca,0xcc,0xcf,0xd1,0xd4,0xd6,0xd8,0xda,0xdd,0xdf,0xe1,0xe3,0xe5,0xe7,0xe9,0xea,0xec,0xee,0xef,0xf1,0xf2,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf4,0xf2,0xf1,0xef,0xee,0xec,0xea,0xe9,0xe7,0xe5,0xe3,0xe1,0xde,0xdd,0xda,0xd8,0xd6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc,0xba,0xb7,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99,0x96,0x93,0x90,0x8d,0x89,0x86,0x83,0x80,0x80,0x7c,0x79,0x76,0x72,0x6f,0x6c,0x69,0x66,0x63,0x60,0x5d,0x5a,0x57,0x55,0x51,0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35,0x33,0x30,0x2e,0x2b,0x29,0x27,0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16,0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a,0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0d,0x0e,0x10,0x11,0x13,0x15,0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25,0x27,0x29,0x2b,0x2e,0x30,0x33,0x35,0x38,0x3a,0x3d,0x40,0x43,0x45,0x48,0x4c,0x4e,0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66 ,0x69,0x6c,0x6f,0x72,0x76,0x79,0x7c,0x80 ;/*正弦波码 */void delay(uint z)

    注意事项

    本文(毕业论文-基于AT89C51单片机的信号发生器设计23846.doc)为本站会员(爱问知识人)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开