毕业论文53.doc_第1页
毕业论文53.doc_第2页
毕业论文53.doc_第3页
毕业论文53.doc_第4页
毕业论文53.doc_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2009届电子信息工程专业毕业设计(论文)毕业设计(论文)题 目: 基于MC-51函数信号发生器的设计 系 别: 物理与机电工程系 专 业: 05电子信息工程 学 号: 20050662153 姓 名: 林文婷 指导教师: 任雯 职称: 助教 系分管主任: 彭永仙 摘 要2第一章 绪论311 前言312选题的依据及意义313方案设计与认证3第二章 系统的总体方案52.1总体系统设计52.2系统各模块的理论分析和实际设计62.2.1单片机的最小系统62.2.2 D/A转换及电压放大模块62.2.3 显示及按键模块设计72.3电路分析与计算82.4输出波形图8第三章 硬件设计921 AT89S51简介93.1.1 AT89S51主要特性931.2 管脚说明103.1.3 MC-51的中断系统及定时/计数器10314 MC-51的输入/输出及其控制方式1132 DAC0832简介123.2.1 D/A转换器的原理123.2.2 DAC0832主要特性1233 8279接口芯片133.3.1 8279引脚定义133.3.2 8279的操作命令153.4 LED数码管163.4.1 数码管的分类163.4.2数码管的驱动方式173.4.3 数码管应用17第四章 软件设计184.1软件流程图18411 系统的主程序流程图18412 中断流程图19413 按键控制流程图20第五章 系统的调试与总结215.1调试215.2系统可改进的地方21【致谢语】23参考文献23附录124附录225附录326摘 要在介绍AT89S51单片机特性的基础上,论述了采用AT89S51设计函数信号发生器的原理以及整机的结构设计,对其频率控制、信号输出幅度控制以及频率和幅度数字显赫的实现作了较详细的论述。该函数信号发生器可输出三角波、方波和正弦波等波形,输出频率范围为11KHZ。本设计采用MC51单片机为核心,通过D/A转换电路实现多种信号的函数信号发生器。该信号发生器能在1Hz1KHz范围能输出可调的波形。输出稳定性良好。电压可在05V连续调节。信号输出部分采用LM324运放电路作电压放大,很好地解决了带宽和带负载能力的要求。通过译码器件74LS138在一定的控制条件下译成不同的输出状态来驱动LED数码管频率显示,通过键盘控制完成频率调节,操作简便,实现效果良好。关键字:AT89S51 DAC0832 8279第一章 绪论11 前言社会的发展日新月异,函数信号发生器的设计也开始多样化。信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。各种波形曲线均可以用三角函数方程式来表示。能够产生多种波形,如三角波、锯齿波、矩形波(含方波)、正弦波的电路被称为函数信号发生器。函数信号发生器在电路实验和设备检测中具有十分广泛的用途。例如在通信、广播、电视系统中,都需要射频(高频)发射,这里的射频波就是载波,把音频(低频)、视频信号或脉冲信号运载出去,就需要能够产生高频的振荡器。在工业、农业、生物医学等领域内,如高频感应加热、熔炼、淬火、超声诊断、核磁共振成像等,都需要功率或大或小、频率或高或低的振荡器。所以通过对函数信号发生器的实时控制,大大提高了生产效率也能实现在线频率的实时测量。因此此类函数信号发生器不管在科学研究还是工业生产中都有着非常重要的意义。12选题的依据及意义函数发生器是一种能产生正弦波、三角波、方波、斜波和脉冲波等信号的装置。常用于科研、生产、维修和实验中。例如在教学实验中,常使用函数发生器的输出波形作为标准输入信号,接至放大器的输入端,配合测试仪器,例如用示波器定性观察放大器的输出端,判断放大器是否工作正常,否则,通过调整放大器的电路参数,使之工作在放大状态;然后,通过测试仪器(例如用晶体管毫伏表对输出端进行定量测试),从而获得该放大器的性能指标。采用MC51单片机对函数信号发生器进行实时控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高技术指标。13方案设计与认证(1)、单片机的选择论证方案一:由硬件产生。由硬件产生的信号没有阶梯,波形光滑。如果采用压控振荡器,就可单片来控制信号的频率,能过电子开关来选择不同的振荡器投入工作,就可以输出不同的波形。不过,不同波形需要用不同的振荡器来实现,电路较复杂,难以输出超低频的信号。方案二:由软件产生。 将各种波形的数据固定在单片机的程序存储器里,通过改变这些数据的输出速度便可以改变信号的频率,通过改变D/A转换器的参考电压便可以改变信号的最大值,硬件电路简单,成本低。但输出的信号会出现阶梯。由于本系统输出的信号频率最低达到1Hz,用方案一难以实现,用方案二,虽然会出现阶梯,但通过增加每个周期输出的点数来把阶梯降低到允许的范围内,因此,本系统选择了方案二。(2)、信号发生电路方案选择论证方案一:通过单片机控制D/A,输出三种波形。此方案输出的波形不够稳定,抗干扰能力弱,不易调节。方案二:使用传统的锁相频率合成方法。通过芯片IC145152,压控振荡器搭接的锁相环电路输出稳定性极好的正弦波,再利用过零比较器转换成方波,积分电路转换成三角波。此方案,电路复杂,干扰因素多,不易实现。以上两种方案综合考虑,选择方案一。(3)、D/A转换电路方案论证方案一:采用D/A转换器AD7543。AD7543是一种串行的D/A转换器,1与单片机之间的连线少,布线方便,而且又是12位的D/A转换器,精度高。但串行数据传输速度慢,当频率较高时,必须减少每周期输出的点数,这将会导致阶梯现象更加明显,因此,此方案不宜使用.方案二:采用DAC0832。这是8位的并行D/A转换器,转换速度快。方案三:采用2片DAC0832。由其中一芯片的输出电压作为另一芯片的参考电压,这样就可以方便的控制最大输出电压。若采用方案二,在输出电压较低的情况下,比如为1V时,输出的最大电压只有参考电压的1/5,这将会使精度降低,而方案三刚好可以解决这个问题,因此,本系统选择了方案三。(4)、显示方案论证:方案一:采用LED数码管。LED数码管由8个发光二极管组成,每只数码管轮流显示各自的字符。由于人眼具有视觉暂留特性,当每只数码管显示的时间间隔小于1/16s时人眼感觉不到闪动,看到的是每只数码管常亮。使用数码管显示编程较易,且显示达到要求,价格便宜。方案二:采用LCD液晶显示器。功率小,效果明显,但程序复杂,价格较高。以上两种方案综合考虑,选择方案一。第二章 系统总体方案的设计2.1总体系统设计该系统采用单片机作为数据处理及控制核心,由单片机完成人机界面、系统控制、信号的采集分析及信号的处理和变换,采用按键输入,利用数码管动态显示电路输出数字显示的方案。将设计任务分解为按键电路、数码管显示电路等模块。图6为系统的总体框图。 44矩阵键盘8279驱动电路6位数码管D/A转换器(2)参考电压输出D/A转换器(1)单 片 机 图2-1 总体框图2.2系统各模块的理论分析和实际设计2.2.1单片机的最小系统能让单片机运行起来的最小硬件连接就是最小应用系统。单片机以及周围的时钟电路和复位电路称为单片机的最小系统。如图2-2所示。我们再通过外接其它电路来全面实现单片机的多功能结构。 图2-2 51微机最小系统2.2.2 D/A转换及电压放大模块DAC0832是8位分辨率D/A转换集成芯片,可将数字量转换为模拟电流信号。DAC0832是电流输出型,示波器上显示波形,通常需要电压信号,电流信号到电压信号的转换可以由运算放大器LM324实现,用两片LM324可以实现双极性输出。单片机向0832发送数字编码,产生不同的输出。先利用采样定理对各波形进行抽样,然后把各采样值进行编码,的到的数字量存入各个波形表,执行程序时通过查表方法依次取出,经过D/A转换后输出就可以得到波形。如图2-3所示。(P0口要接上拉电阻) 图2-3 DA转换电路图2.2.3 显示及按键模块设计本系统的显示模块由芯片8155扩展口,并以74ls138为数码驱动显示。LDE1为调整波形的代码的显示, LDE2为调整峰值电压显示, LDE36为调整频率的显示。键盘采用4*4矩阵,在菜单下完成工作方式、波形选择、输出频率等,并可通过LED获得系统工作状态和实时测量频率。如2-4所示。 图2-4 键盘及按键设计2.3电路分析与计算当单片机分别向DAC0832(1)和DAC0832(2)输入数据D1和D2时U01 = - D1 VR = - 5 D1 256 (1) U02 = - D2 VR = - U01 D2 256 (2)U0 = - R3 R1 U02 - R3 R2 U01 (3)其中R1 = 15 K,R2 = R3 = 30 K,代入以上各式,得U0 = U01 ( D2 128 1 ) (4)或 D2 = 128 ( U0 U01 + 1) (5)由(4)式可知,当D1在 0255 之间变化时,U0可在 - U01 + U01之间变化,即输出信号的最大电压可由U01控制。设输出的信号函数为U0 = f ( t ),代入(5)式得D1 = 128 ( f (t) U02 + 1) (6)2.4输出波形图图2-5 图2-6代码0的波形图为矩形波 代码1的波形图为三角波图2-7 图2-8代码2的波形图为锯齿波 代码3的波形图为正弦波第三章 硬件设计21 AT89S51简介AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。 此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。 图3-1 AT89S51引脚图3.1.1 AT89S51主要特性 8031 CPU与MCS-51 兼容 4K字节可编程FLASH存储器(寿命:1000写/擦循环) 全静态工作:0Hz-24KHz 三级程序存储器保密锁定 128*8位内部RAM 32条可编程I/O线 两个16位定时器/计数器 6个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路3.1.2 管脚说明VCC:电源接入引脚;VSS:接地;XTAL1:晶体振荡器接入的一个引脚(采用外部振荡器时,此引脚接地);XTAL2:晶体振荡器接入的另一个引脚(采用外部振荡时,此引脚作为外部振荡信号的输入端);RST/VPD:复位信号输入引脚/备用电源输入引脚;ALE/PROG:地址锁存允许信号输出引脚/编程脉冲输入引脚;EA/VPP:内外存储器选择引脚/片内EPPROM(或FlashROM)编程电压输入引脚;PSEN:外部程序存储器选通信号输出引脚。P0.0P0.7: 一般I/O口引脚或数据/低位地址总线复用引脚;P1.0P1.7: 一般I/O口引脚; P2.0P2.7: 一般I/O口引脚或高电位地址总线引脚;P3.0P3.7: 一般I/O口引脚或第二功能引脚。3.1.3 MC-51的中断系统及定时/计数器中断是CPU与I/O设备间数据交换的一种控制方式。80C51单片机有5个中断源、2个优先级,具备完善的中断系统,可实现二级中断服务嵌套。由片内特殊功能寄存器中的中断允许寄存器IE控制CPU是否响应中断请求;由中断优先级寄存器IP安排各中断源的优先级;同一优先级内各中断源同时提出中断请求时,由内部的查询逻辑确定其响应次序。随着计算机技术的应用,人们发现中断技术不仅解决了快速主机与慢速I/O设备的数据传送问题,而且还具有如下优点:(1) 分时操作。CPU可以分时为多个I/O设备服务,提高了计算机的利用率;(2) 实时操作。CPU能够及时处理应用系统的随机事件,系统的实时性大大增强;(3) 可靠性高。CPU具有处理设备故障及断电等突发性事件的能力,从而使系统可靠性提高。MC-51具有实时处理能力,能对外界发生的事件进行及时处理,这是依靠它们的中断系统来实现的。51的中断系统由中断请求标志位(在相关的特殊功能寄存器中)、中断允许寄存器IE、中断优先级寄存器IP及内部硬件查询电路组成。定时/计数器是80C51单片机内部的功能部件,对于单片机的应用系统具有非常重要的使用价值。80C51单片机片内集成有两个可编程的定时/计数器:T0和T1。它们既可以工作于定时模式,也可以工作于外部事件计数模式。此外,T1还可以作为串行接口的波特率发生器。定时/计数器的实质是加1计数器(16位),由高8位和低8位两个寄存器组成(T0由TH0和TL0组成,T1由TH1和TL1组成)。TMOD是定时/计数器的工作方式寄存器,由它确定定时/计数器的工作方式和功能;TCON是定时/计数器的控制寄存器,用于控制T0、T1的启动和停止以及设置溢出标志。314 MC-51的输入/输出及其控制方式原始数据或现场信息要利用输信设备输入到单片机中,单片机对输入的数据进行处理加工后,还要输出给输出设备。80C51单片机内部有4个并行口和1个串行口,对于简单的I/O 设备可以直接连接。当系统较为复杂时,往往要借助于输入/输出接口电路(简称I/O接口)完成单片机与I/O设备的连接。CPU与I/O设备间的数据传送,实际上是CPU与I/O接口间的数据传送。单片机应用系统的设计,在某种意义上可以认为是I/O接口芯片的选配和驱动软件的设计I/O接口的功能是:(1)对单片机输出的数据锁存就对数据的处理速度来讲,单片机要比I/O设备快得多。因此单片机对I/O设备的访问时间大大短于I/O设备对数据的处理时间。I/O接口的数据端口要锁存数据线上瞬间出现的数据,以解决单片机与I/O设备的速度协调问题。(2)对输入设备的三态缓冲单片机系统的数据总路线是双向总路线,是所有I/O设备分时复用的。设备传送数据时要占用总线,不传送数据时该设备必须对总路线呈高阻状态。利用I/O接口的三态缓冲功能,可以实现I/O设备与数据总路线的隔离,从而实现I/O设备的总路线共享。(3)信号转换由于I/O设备的多样性,必须利用I/O接口实现单片机与I/O设备间信号类型(数字与模拟、电流与电压)、信号电平(高与低、正与负)、信号格式(并行与串行)等的转换。(4)时序协调单片机输入数据时,只有在确知输入设备已向I/O接口提供了有效的数据后,才能进行读操作;单片机输出数据时,只有在确知输出设备已做好了接收数据的准备后,才能进行了写操作,不同的I/O设备的定时与控制逻辑是不同的,且与CPU的时序往往是不一致的,这就需要I/O接口进行时序的协调。不同的I/O设备,需要不同的传送方式。CPU可以采用无条件传送、查询传送、中断传送和DMA传送与I/O设备进行数据交换。32 DAC0832简介3.2.1 D/A转换器的原理 单片机输出的数字信号首先传送到数据锁存器(或寄存器)中,然后由模拟电子开关把数字信号的高低电平变成对应的电子开关状态。DAC0832是采用CMOS工艺制成的单片直流输出型8位数/模转换器。如图3-2所示,它由倒T型R-2R电阻网络、模拟开关、运算放大器和参考电压VREF四大部分组成。 图3-2运算放大器输出的模拟量V0为:V0=VREF*RF(Dn-1*2n-1+Dn-2*2n-2+A+D0*20)/2nR由上式可见,输出的模拟量 与输入的数字量(Dn-1*2n-1+A+D0*20) 成正比,这就实现了从数字量到模拟量的转换。3.2.2 DAC0832主要特性 分辨率8位;电流建立时间1us;数据输入可采用双缓冲、单缓冲或直通方式;输出电流线性度一个8位D/A转换器有8个输入端(其中每个输入端是8位二进制数的一位),有一个模拟输出端。输入可有28=256个不同的二进制组态,输出为256个电压之一,即输出电压不是整个电压范围内任意值,而只能是256个可能值。图3-3是DAC0832的逻辑框图和引脚排列。 图3-3 DAC0832的逻辑框图和引脚图D0D7:数字信号输入端。ILE:输入寄存器允许,高电平有效。CS:片选信号,低电平有效。WR1:写信号1,低电平有效。 XFER:传送控制信号,低电平有效。WR2:写信号2,低电平有效。IOUT1、IOUT2:DAC电流输出端。Rfb:是集成在片内的外接运放的反馈电阻。 Vref:基准电压(-1010V)。Vcc:是源电压(+5+15V)。AGND:模拟地 NGND:数字地,可与AGND接在一起使用。DAC0832输出的是电流,一般要求输出是电压,所以还必须经过一个外接的运算放大器转换成电压。33 8279接口芯片由80C51系列单片机构成的小型测控系统或智能仪表中,常常需要扩展显示器和键盘以实现人机对话功能。8279芯片在扩展显示器和键盘时功能强、使用方便。8279是INTEL公司为8位微处理器设计的通用键盘/显示器接口芯片,其功能是:接收来自键盘的输入数据并作预处理;完成数据显示的管理和数据显示器的控制。单片机应用系统采用8279管理键盘和显示器,软件编程极为简单,显示稳定,且减少了主机的负担。3.3.1 8279引脚定义8279采用40引脚封装,引脚定义如图3-4所示: 图3-4 8279引脚图DB7DB0:双向外部数据总路线,用于传送8279与CPU之间的命令和状态。可直接与MC51系列单片机连接。CS:片选信号线,低电平有效。A0:用来区分信息的特征位。当A0为1时,CPU写入8279的信息为命令,CPU从8279读出的信息为8279的状态;当A0为0时,传送的信息是数据。RD、WR:读和写选通信号线。IRQ:中断请求输出线。在键盘工作方式下,若FIFORAM中有数据,IRQ变为高电平,在FIFORAM每次读出时,IRQ就下降变成低电平,当FIFORAM中还有信息时,此线又重新升为高电平;在传感器工作方式下,每当检测到传感器信号改变时,IRQ就变为高电平。RL7RL0:键盘回送线。是矩阵式键盘或传感器矩阵的列(或行)信号输入线。平时被内部拉成低电平。SL3SL0:扫描输出线,用于对键盘和显示器进行扫描(位切换),可以编码输出,也可以译码输出。OUTB3OUTB0、OUTA3OUTA0:显示寄存器数据输出线。可分别作为两个4位输出接口,也可作为8位数据输出接口,OUTB0为最低位,OUTA3为最高位。BD:显示器消隐控制线。用于数字切换过程中或执行消隐命令时使显示器消隐。RESET:复位输入线。当其为高电平有效时,8279被复位而置于如下方式:(1)16位字符显示,左端输入;(2)编码键盘,双键互锁方式;(3)时钟分频系数为31。SHIFT:换挡键输入线。用于键盘方式的换档功能。CNTL/STB:控制/选通输入线,由内部拉成高电平,也可由外部按键拉成低电平。在键盘方式时,其状态同按键信息一起FIFO RAM,可以用于键盘功能的扩充;在选通方式时,CNTL/STB可以作为送入数据的选通线,上升沿有效。CLK:外部时钟输入线。其信号由外部振荡器提供。8279靠设置定时器将外部时钟变为内部时钟。内部时钟基频等于外部时钟频率除以分频系数。VCC、GND:分别为+5V电源和地引脚。3.3.2 8279的操作命令(1)显示器和键盘方式设置命令D7D6D5=000 是键盘/显示方式命令特征字。D4D3=DD 为显示器方式设置位。D2D1D0=KKK 为键盘工作方式设置位。8279可外接8位或16位LED显示器,显示器的每一位对应一个8位的显示器缓冲单元。CPU将显示数据写入缓冲器时有左端输入和右端输入两种方式。左端正党风输入方式较为简单,显示缓冲器RAM地址015分别对应于显示器的0位(左)15位(右)。CPU依次从0地址或某一地址开始将段数据写入显示缓冲器。右端输入方式是移位,输入数据总是写入右端的显示缓冲器,数据写入显示缓冲器后,将原来缓冲器的内容左移一个字节,原来最左端显示缓冲器的内容被移出。该输入方式中,显示器的各位与显示缓冲器的RAM的地址并不是对应的。(2)时钟编程命令D7D6D5=001 为时钟编程命令特征位。8279的内部定时信号是由外部输入时钟经分频后产生的,分频系数由时钟编程命令确定。D4D0用来庙宇对CLK端输入时钟分频次数N,N=231。利用这条命令,可以将来自CLK引脚的外部输入时钟分频,以取得100KHZ的内部时钟信号。(3)读FIFO/传感器RAM命令D7D6D5=010 为该命令的特征位。D2D0(AAA)为起始地址。D4(AI)为多次读出时的地址自动增量标志,D3无用。在键扫描方式中,AIAAA均被忽略,CPU总是按先进先出的规律读键输入数据,直到输入键全部读出为止。在传感器矩阵方式 中,若AI=1,则CPU从起始地址开始依次读出,每读出一个数据地址自动加1;AI=0,CPU仅读出一个单元的内容。(4)读显示RAM命令D7D6D5=011 为该命令的特征位。D3D0(AAAA)用来寻址显示RAM的16个存储单元,AI为自动增量标志。若AI=1,则每次读出后地址自动加1。(5)写显示RAM命令D7D6D5=100 为该命令的特征位。D4(AI)为自动增量标志,D3D0(AAAA)为起始地址,数据写入按左端输入或右端输入方式操作。若AI=1,则每次写入后地址自动加1,直至所有显示RAM全部写完。(6)显示器写禁止/消隐命令D7D6D5=101 为该命令的特征位。该命令用以禁止写A组和B组显示RAM。在双4位显示器使用时,即OUTA3OUTA0和OUTB3OUTB0独立地作为两个半字节输出时,可改写显示RAM中的低半字节而不影响高半字节的状态,反之亦可改写高半字节而不影响低半字节。D1、D0位是消隐显示器特征位,要消隐两组显示器,必须使之同时为1,为0时则恢复显示。(7)清除命令D7D6D5=110 为该命令的特征位。CPU将清除命令写入8279,使显示缓冲器呈初态(暗码),该命令同时也能清除输入标志和中断请求标志。(8)结束中断/错误方式设置命令D7D6D5=101 为该命令的特征位。此命令用来结束传感器RAM的中断请求。3.4 LED数码管LED数码管是一种半导体发光器件,其基本单元是发光二极管。(实物参照图片如图3-5所示)图3-5 数码管实物图3.4.1 数码管的分类数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。如图3-6、3-7所示。 图3-6 共阳极 图3-7 共阴极 3.4.2数码管的驱动方式数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。(1) 静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5840根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。(2) 动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。3.4.3 数码管应用数码管是一类显示屏,通过对其不同的管脚输入相对的电流会使其发亮,从而显示出 数字。能够显示时间、日期、温度等所有可用数字表示的参数 。由于它的价格便宜,使用简单,在电器特别是家电领域应用极为广泛,空调、热水器、冰箱等等。数码管使用的电流若为静态时,推荐使用10-15mA;动态时,16/1动态扫描时,平均电流为4-5mA,峰值电流50-60mA。第四章 软件设计4.1软件流程图411 系统的主程序流程图如图4-1所示.当单片机接通电源时,系统程序开始初始化,接着会根据所需输出的波形的代码来得到输出的电压,波形的选择是根据代码中查表程序而得的,再经过DAC0832将数字信号转换为模拟信号后,再通过运算放大器LM324将电压放大,最后输出所需的波形。开始初始化根据波形代码自变量t求出当前要输出的电压D/A转换波形输出图4-1 主程序流程图4.1.2 中断服务流程图 如图4-2所示。当系统在工作状态中收到中断请求时,它将对系统进行现场保护后,再重新设定它的初值,按照输入值的需要来调整自变量,之后恢复现场,中断返回后就能重新进行工作。T0中断现场保护重装定时初值调整自变量恢复现场中断返回图4-2 T0中断服务子程序流程图 413 按键控制流程图 如图4-3所示。按键控制是通过用户手动来调整自己所需的波形,从而实现人为的控制。系统将按键初始化,再通过扫描程序来判断按键是否按下,若有按下就跳到相应的程序段,执行该程序的命令,若没有按下则返回,再进行按键程序扫描。初始化按键扫描程序判断是否有键按下跳到相应的程序段 图4-3 按键控制流程图第五章 系统的调试与总结5.1调试调试中波形输出出现不符合要求的情况的干扰。上电之后波形输出较为缓慢,这与按键的扫描和数码管的动态扫描时间相冲突,出现刚上电时数码管的显示6位0不稳定,在不断地闪动。实际输出波形会出现阶梯。这是电源不稳定和程序中的中断时间有误差造成的。选择信号发生器的正弦波的输出波形,通过示波器来显示测试结果。峰值电压测试数据如下表:设定值(电压V) 示波器的测试相对误差值(%) 1 104004 2210005 3292003 5531006结合上表的峰值电压测试频率的数据如下表: 设定值(频率HZ) 示波器的测试值 相对误差值(%) 100 9930 001 200 20156 001 400 40685 002 800 76901 0045.2系统可改进的地方(1)频率范围在11000 Hz只能适用于需低频信号源的电路当中,对于超过1000 HZ就无法满足了,所以频率的范围的扩大是很有必要的。需要设法通过更换更大的晶体管振荡器或增加一些独立的振荡电路来改善频率的范围。(2)在要求达到5 %的精度的波形显示过程中,受到硬件和软件的误差的影响,在l输出较大频率出现以了 5 %为中心上下波动的不够稳定的现象。需要对系统的误差进行硬件和软件方面的总计算,并尽可能的减小软件方面的误差,来实现输出波形的精度的稳定和整个系统精度的提高。(3)设想在波形的输出口增加A / D模块电路对输出信号进行反馈,单片机对反馈信号进行误差的较验、调整再输出。在没有达到所要求的精度的波形输出时,再一次进行反馈、较验、调整直到符合所需要求的波形输出!【结论】本系统使用了单片机作为中央控制器,直接由软件产生波形信号的输出,可通过修改软件,还可以输出其它任意波形,加上按键控制和LED显示器,则可通过按钮设定所需要的波形频率,并在LED上显示频率、幅值电压,波形可用示波器显示。如改进本系统的频率范围,同时提高本系统的精度.本系统将更大范围地为需要多种频率信号源的使用场所提供更高精度的信号源。【致谢语】本文从拟定题目到定稿,历时数月。在本论文完成之际,首先要向我的导师任雯老师致以诚挚的谢意。在论文的写作过程中,任雯老师给了我许许多多的帮助和指导。他学识渊博、治学严谨,待人平易近人,在老师悉心的指导中,我不仅学到了扎实的专业知识,也在怎样处人处事等方面收益很多,使我受益非浅。在此我谨向任雯老师表示衷心的感谢和深深的敬意。同时,我要感谢我的同学们,他们在我毕业论文的写作过程中也帮了我很多。最后,向我的亲爱的家人和亲爱的朋友表示深深的谢意,他们给予我的爱、理解、关心和支持是我不断前进的动力。参考文献:1康华光.电子技术基础(第四版).北京:高等教育出版社,1998:179-180.2张友德,赵志英.单片微型机原理、应用与实验.上海:复旦大学出版社,1993:32-39.3陈泽宗等.单片精密函数发生器ICL8038及其应用.电子应用技术,1997(7).4常新华,林春勋等.高频信号发生器原理,维修与鉴定.北京:电子工业出版社,1996:21-23.5谢嘉奎,宣月清.电子线路非线性部分.北京:高等教育出版社,1988:52-53.6张肃文.高频电子线路.北京:高等教育出版社,1984:44-49.7解月珍等.信号产生电路.北京:电子工业出版社,1994:11-18.8黄晓林.测控应用中若干重要电路的设计.测控技术,1991(1).9肖瑞珠,国澄明.小型HDTV码流发生器设计.电子测量技术,2003(5).10陈文峰.基于虚拟仪器研制的综合性能检测系统.电子技术,2003(10) .11李朝青. 单片机原理及接口技术. 北京:北京航空航天大学出版社,2006:23-36.12李维缇 郭强.液晶显示应用技术. 北京:电子工业出版社,2000:45-47.13康华光 陈大钦.电子技术基础(模拟部分).北京:高等教育出版社,1999:131-135.14康华光 邹寿彬.电子技术基础(数字部分).北京:高等教育出版社,2000:120-126.15戴佳 戴卫恒. 51单片机C语言应用程序设计实例精讲. 北京:电子工业出版社, 2007. 322-33116杨帮文.新型集成器件家用电路.北京:电子工业出版社,2002:33-38.17第二届全国大学生电子设计竞赛.全国大学生电子设计竞赛获奖作品选编.北京:北京理工大学出版社,1997 :41-44.18李炎清.毕业论文写作与范例.厦门:厦门大学出版社,2006:5-19.19潭博学 苗江静.集成电路原理及应用.北京:电子工业出版社,2003:13-19.20陈梓城.家用电子电路设计与调试.北京:中国电力出版社,2006:22-31.21谢自美.电子线路设计.实验.测试(第三版).武汉:华中科技大学出版社,2000:51-57.附录1:The designed of Function Generator on MC-51 Lin wentingSanming university of Electronics and Information Engineering 2005 professional Sanming, Fujian 365004 AbstractIn introducing the MAX038 chip AT89S51 MCU and the basis of characteristics, are discussed using AT89S51 and MAX038 chip design principle function signal generator, as well as the structural design of machine, its frequency control signal output amplitude control, as well as the frequency and magnitude of the number of outstanding made the realization of a more detailed exposition. The function signal generator can output triangle wave, square wave and sine wave and so on, the output frequency range of 0.1 20MHZ.The design uses a single-chip microcomputer as the core MC51, through D / A converter MAX038 circuit to control the realization of a wide range of signal function signal generator. MAX038 chip frequency signals can be generated by adjusting the current, voltage, resistance control, respectively. The signal generator in the range of 1Hz 10MHz adjustable output waveform. Good output stability. Voltage regulation for 0 5V. Part of the signal output circuit using LM324 operational amplifier for voltage amplification, a very good solution to the bandwidth and the ability to bring the load requirements. 74LS138 decoder device through the control of certain conditions, to different output state regulation as a control signal and driving MAX038 frequency digital tube LED display, through the completion of the keyboard to control the frequency of adjustment, easy to operate and achieve results.Key words: AT89S51 DAC0832 8279附录2:附录3: 程序代码:#include #include #include #define uchar unsigned char#define uint unsingned char#define z8279 XBYTE0X8041#define d8279 XBYTE0X8040#define ledmod 0xc0#define ledfeq 0x38#define ledcls 0xd1#define fosc 11.05952#define time0 250unsigned char data display_bit,display_buffer6;unsigned char data time0_h,time0_l;unsigned int idata time0_times,times;unsigned char get_code(unsigned char i);unsigned char code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00; /共阴极09对应16进制数 /=正弦波数据= uchar code sin_tab256= 0x80, 0x83, 0x86, 0x89, 0x8c, 0x8f, 0x92, 0x95, 0x98, 0x9c, 0x9f, 0xa2, 0xa5, 0xa8, 0xab, 0xae, 0xb0, 0xb3, 0xb6, 0xb9, 0xbc, 0xbf, 0xc1, 0xc4, 0xc7, 0xc9, 0xcc, 0xce, 0xd1, 0xd3, 0xd5, 0xd8, 0xda,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论