1、专业课程设计单片机波形发生器波形发生器设计课 程 设 计 课 程 单片机课程设计 题 目 波形发生器设计 院 系 电气信息工程学院测控系 专业班级 学生姓名 学生学号 指导教师 2011年 4月 6日1任务书课程 单片机课程设计 题目 波形发生器设计 专业 测控技术与仪器 姓名 学号 一、任务 设计制作一个波形发生器,该波形发生器能产生正弦波、方波、三角波和锯齿波信号可以在以上基础上任意发挥。二、设计要求1 设计制作一个波形发生器,该波形发生器能产生正弦波、方波、三角波等。2 通过对AT89S51单片机的编程,了解不同波形的产生原理和设计方案,画出硬件电路图,编程完成软件部分,最后调试观察产生
2、不同类型的波形信号。3 写出详细的设计报告。4 附有电路原理图及程序流程图,以及程序清单。三、参考资料1 杜华.任意波形发生器及应用J.国外电子测量技术,2005.1:3840.2 程全.基于AT89C52实现的多种波形发生器的设计J.2005.22(5):5758.3 胡鸿豪,李世红.基于单片机和DDS的信号发生器设J.设计参考,2006 (12)4 徐建军.MCS-51系列单片机应用及接口技术M .人民邮电出版社, 2003.5 高峰.单片机应用系统设计及实用设计J.北京:机械工业出版社,2004年:96-100完成期限 2011.3.28至2011.4.8 指导教师 专业负责人 2011
3、年 3月 28 日目录第1章 绪论31.1 波形发生器的概述31.2 本设计任务3第2章 总体方案论证与设计42.1 总体方案选择与论证42.2 系统设计基本原理图与分析5第3章 系统硬件电路的设计63.1 单片机最小系统的设计63.2资源分配63.3各模块电路的设计73.4按键和波形指示灯电路83.5电流电压转换电路9第4章 系统的软件设计104.1主程序模块104.2锯齿波程序模块114.3三角波程序模块11第5章 系统调试与测试结果分析135.1软件仿真135.2仿真结论分析145.3硬件测试结果分析14结 论15参考文献16附录1 程序17附录2 整体电路原理图24附录3 仿真效果图2
4、5第1章 绪论波形发生器也称函数发生器,作为实验信号源,是现今各种电子电路实验设计应用中必不可少的仪器设备之一。目前,市场上常见的波形发生器多为纯硬件的搭接而成,且波形种类有限,多为锯齿波,正弦波,方波,三角波等波形。作为一种常用的信号源,广泛地应用于电子电路、自动控制系统和教学实验等领域。函数信号发生器是一种能够产生多种波形,如三角波、锯齿波、矩形波(含方波)、正弦波的电路。通过对函数波形发生器的原理以及构成分析,可设计一个能变换出三角波、正弦波、方波的函数波形发生器。1.1 波形发生器的概述波形发生器作为一种常用的信号源,是现代测试领域内应用最为广泛的通用仪器之一。在研制、生产、测试和维修
5、各种电子元件、部件以及整机设备时,都学要有信号源,由它产生不同频率不同波形的电压、电流信号并加到被测器件或设备上,用其他仪器观察、测量被测仪器的输出响应,以分析确定它们的性能参数。信号发生器是电子测量领域中最基本、应用最广泛的一类电子仪器。它可以产生多种波形信号,如正弦波,三角波,方波等,因而广泛用于通信、雷达、导航、宇航等领域。随着集成电路的迅速发展,用集成电路可很方便地构成各种信号波形发生器。用集成电路实现的信号波形发生器与其它信号波形发生器相比,其波形质量、幅度和频率稳定性等性能指标,都有了很大的提高。1.2 本设计任务 本设计通过分析比较后采用传统的方法来实现多功能波形发生器。借助高性
6、能单片机运算速度高,系统集成度强的优势,设计的这种信号发生器,比以前的数字式信号发生器具有硬件简单,理解及实现起来较容易,该方案的设计思路较为清晰,且容易对频率和幅值进行控制等优点。第2 章 总体方案论证与设计依据应用场合需要实现的波形种类,波形发生器的具体指标要求会有所不同。依据不同的设计要求选取不同的设计方案。通常,波形发生器需要实现的波形有正弦波、方波、三角波和锯齿波。有些场合可能还需要任意波形的产生。各种波形共有的指标有:波形的频率、幅度要求,频率稳定度,准确度等。2.1 总体方案选择与论证对于不同波形,具体的指标要求也会有所差异,例如,占空比是脉冲波形特有的指标。波形发生器的设计方案
7、多种多样,大致可以分为几大类:纯硬件设计法、纯软件设计法和软硬件结合设计法。2.1.1方案一:波形发生器设计的纯硬件法早期,波形发生器的设计主要是采用运算放大器加分立元件来实现。实现的波形比较单一,主要为正弦波、方波和三角波。工作原理也相对简单:首先是产生正弦波,然后通过波形变换(正弦波通过比较器产生方波,方波经过积分器变为三角波)实现方波和三角波。在各种波形后加上一级放大电路,可以使输出波形的幅度达到要求,通过开关电路实现不同输出波形的切换,改变电路的具体参数可以实现频率、幅度和占空比的改变。通过对电路结构的优化及所用元器件的严格选取可以提高电路的频率稳定性和准确度。通过调整外部元件的参数实
8、现频率,幅值,占空比的调整,但是由于元件太过分散,即使使用单片压控函数发生器,参数与外部条件有关。因而产生的波形稳定性差,精度低,抗干扰能力差,价格高,且灵活性差。2.1.2 方案二:软硬件结合法软硬件结合的波形发生器设计方法同时兼具软硬件设计的优势:既具有纯硬件设计的快速、高性能,同时又具有软件控制的灵活性、智能性。如以单片机和单片集成函数发生器为核心。辅以键盘控制、液晶显示等电路,设计出智能型函数波形发生器,采用软硬件结合的方法可以实现功能较全、性能更优的波形发生器,同时还可以扩展波形发生器的功能,采用单片机(AT89S51)和数模转换芯片(DAC0832)实现波形的产生,波形的产生由程序
9、控制,向D/A的输入端按一定的规律发送数据,经过D/A和MC1458产生100Hz频率波形,通过查询键盘或中断控制不同波形的产生。此方案通过编程简化了外部电路,原理简单,容易实现。方案选择:经比较,方案二明显更适合实现课程设计题目的要求。通过编程实现不同波型的产生,并且可以通过按键实现波形的切换。该方案线路简单,结构紧凑,系统稳定,易控制,容易调试等优点,综上分析,选择方案二实现课题要求。2.2 系统设计基本原理图与分析2.2.1系统原理框图如图2-1 波形指示电流/电压转换 AT89S51输出 键盘A/D转换 电源基准电压 图2-1波形发生器系统框图2.2.2原理框图分析:该波形发生器主要由
10、单片机(AT89S51),数模转换电路(DAC0832),电流/电压转换电路(MC1458),按键和波形指示灯电路,ISP接口等组成。其工作原理为当按下四个按键当中的任何一个按键,就会产生相对应的波形,并且四个LED灯作为不同波形的指示。第3章 系统硬件电路的设计3.1 单片机最小系统的设计AT89S51是片内有ROM/EPROM的单片机,因此,这种芯片构成的最小系统简单可靠。用AT89S51单片机构成最小应用系统时,只要将单片机接上时钟电路和复位电路即可,如图3-1 AT89S51单片机最小系统所示。由于集成度的限制,最小应用系统只能用作一些小型的控制单元。其应用特点:有可供用户使用的大量I
11、/O口线;内部存储器容量有限;应用系统开发具有特殊性。图3-1 AT89S51单片机最小系统3.2资源分配软硬件设计是设计中为了满足功能和指标要求,现分配资源如下:晶振采用12MHz,内存分配:P0口与DAC0832的DI0-DI7数据输入;P1口的P1.0P1.3分别与四个按键相连,分别控制相应波形的输出,每输出一个波形,点亮对应的LED灯端相连;P2口与DAC0832的输入寄存器选择信号CS,输入寄存器写选通信号WR1及DAC寄存器写选通WR2和数据传送信号XFER使CPU开始工作的方法就是给CPU一个复位信号,复位信号结束后,CPU从程序存储器“0000H”开始执行程序。AT89S51高
12、电平复位,采取手动复位。设置一个复位按钮,当操作者按下按钮时产生一个复位信号。3.3各模块电路的设计3.3.1 D/A转换电路DAC0832是双列直插式8位D/A转换器。能完成数字量输入到模拟量(电流)输出的转换。其主要参数如下:分辨率为8位,转换时间为1s,满量程误差为1LSB,参考电压为(+10-10)V,供电电源为(+5+15)V,逻辑电平输入与TTL兼容。图3-2 DAC0832引脚图3.3.2 DAC0832工作原理DAC0832主要由8位输入寄存器、8位DAC寄存器、8位D/A转换器以及输入控制电路四部分组成。8 位输入寄存器用于存放主机送来的数字量,使输入数字量得到缓冲和锁存,由
13、加以控制;8位DAC寄存器用于存放待转换的数字量,由加以控制;8位D/A转换器输出与数字量成正比的模拟电流;由与门、非与门组成的输入控制电路来控制2个寄存器的选通或锁存状态。DAC0832与反相比例放大器相连,实现电流到电压的转换,因此输出模拟信号的极性与参考电压的极性相反。图3-3 D/A转换器双极性输出电路图3-3中,运算放大器U3B的作用是把运算放大器U3A的单向输出电压转换成双向输出电压。DAC0832主要是用于波形的数据的传送,是本题目电路中的主要芯片。3.4按键和波形指示灯电路原理图如下图3-4 采用中断的方式对波形的切换对于查询方式对波形的切换,当按键按下时,输出相应波形,并点亮
14、相应的LED灯,对于中断方式,利用两个外部中断实现对波形的切换。中断与查询相结合的方式可以进行扩展,查询方式不是实时的,而中断时实时的。3.5电流电压转换电路原理图如下:图3-5 I/V转换电路实现I/V转换最简单的方法就是直接在1out1和Iout2之间跨界一电阻,这样就很容易的实现了I/V转换,但是这种方法忽略了一个阻抗问题。对于DAC0832来说,R的取值应尽可能大,能够保证获得更多的电压,对于与输出电压相连的后续电路来说,R的取值应尽可能的小,以降低输出阻抗,这两方面是矛盾的,所以这种方式欠合理。而合理的方式是应用运算放大器实现I/V转换,也解决了阻抗的问题。第4章 系统的软件设计根据
15、功能,系统软件设计分成几个模块编程:主程序模块,锯齿波程序模块,三角波程序模块,正弦波程序模块,方波程序模块,延时程序模块。4.1主程序模块主程序流程图 开始KEY1按下了? 输出锯齿波KEY3按下了?KEY2按下了?KEY4按下了? N N N N NYYYY 输出三角波 输出正弦波 输出方波 图4-1主程序流程图主程序中主要实现利用按键来控制不同波形的输出,当按键KEY1(P1.0)按下时波形发生器就输出锯齿波,对应的LED(P1.4)点亮;当按键KEY2(P1.1)按下时,波形发生器就输出三角波,对应的LED(P1.5)点亮;当按键KEY3(P1.2)按下时,波形发生器就输出正弦波,对应
16、的LED(P1.6)点亮;当按键KEY4(P1.3)按下时,波形发生器就输出方波,对应的LED(P1.7)点亮。通过按键可以以任意循环方式输出不同波形。4.2锯齿波程序模块程序流程图图4-2锯齿波程序流程图锯齿波产生首先将DAC0832口地址至为2FFFH,然后将00H送入寄存器A中,DAC0832输出A中的内容,当A中的内容等于FFH返回开始,当A中的内容不为FFH时,A中的内容累加,从而输出波形。4.3三角波程序模块程序流程图图4-3 三角波程序流程图三角波产生首先将DAC0832口地址至为2FFFH,通过A中数值的加一递升,当A中的内容为0时,与0FFH相比,相等时A中的内容减一递减,从
17、而循环产生三角波。4.4正弦波程序模块和方波程序模块程序流程图图4-4正弦波程序流程图 图4-5方波程序流程图正弦波波形通过查表指令得出。方波产生首先将DAC0832口地址至为2FFFH,当A中的内容为0时,输出对应模拟量,然后延时,当A中的内容为0FFH时,同样输出对应模拟量,再延时相同时间,从而得到方波。第5章 系统调试与测试结果分析5.1软件仿真图5-1锯齿波仿真图图5-2三角波仿真图图5-3正弦波仿真图图5-4方波仿真图5.2仿真结论分析从软件仿真的结果上看,波形存在一定的的失真,这主要跟程序的设计有关,没有做到那么精确,再者,我认为仿真软件本身也会给测试结果一定的误差。5.3硬件测试
18、结果分析硬件测试结果显示,示波器显示的波形比仿真软件模拟甚至还标准,而且对按键的响应比仿真响应快。这在一定程度上,告诉我们,仿真软件只是一个我们研究的工具,我们不能完全依赖于于仿真软件。结 论本次的设计中利用AT89S51和DAC0832以及放大器完成电路的设计,用开关来控制各种波形的发生及转换,用单片机输出后,经过模数转换器生成波形,最终可以通过示波器观察。在这次的软件设计中,程序设计采用的是汇编语言。汇编语言具有速度快,可以直接对硬件进行操作的优点,它可以极好的发挥硬件的功能。通过这次课程设计使我对课程所学理论知识的深化和提高。并且本次课程设计,使我了解和掌握单片机应用系统的软硬件设计过程
19、、方法及实现,培养了我分析问题和解决问题的能力,为以后设计和实现更难的应用系统打下良好基础。在本次设计的过程中,我发现很多的问题,虽然以前还做过其他的课程设计但这次设计真的让我长进了很多。对于单片机设计,其硬件电路是比较简单的,主要是解决程序设计的问题,而程序设计是一个很灵活的东西,它反映了你解决问题的逻辑思维和创新能力,它才是一个设计的灵魂所在。因此在整个设计过程中大部分时间是用在程序上面的。很多子程序是可以借鉴书本上的,但怎样衔接各个子程序才是关键的问题所在,这需要对单片机的结构很熟悉。因此可以说单片机的设计是软件和硬件的结合,二者是密不可分的。要设计一个成功的电路,必须要有耐心,要有坚持
20、的毅力。在整个电路的设计过程中,花费时间最多的是各个单元电路的连接及电路的细节设计上,如在多种方案的选择中,我们仔细比较分析其原理以及可行的原因。这就要求我们对硬件系统中各组件部分有充分透彻的理解和研究,并能对之灵活应用。完成这次设计后,我在书本理论知识的基础上又有了更深层次的理解。同时在本次设计的过程中,我还学会了高效率的查阅资料、运用工具书、利用网络查找资料。我发现,在我们所使用的书籍上有一些知识在实际应用中其实并不是十分理想,各种参数都需要自己去调整。在实践中应用的深刻理解,通过把波形在计算机上实现,知道和理解该理论在计算机中怎样执行的,对该理论在实践中的应用更深刻的理解,这次课程设计,
21、我进一步了解了波形发生器的原理,在实际动手操作过程中,使我学得了许多知识,使我获益匪浅。参考文献1 朱定华,马爱梅,林卫. 微机应用系统设计M. 武汉:华中科技大学出版社.1999:130-133.2 顾德英,张健,马淑华. 计算机控制技术M. 北京:北京邮电大学出版社.2006:64-70.3 夏扬. 计算机控制技术M. 北京:机械工业出版社.2004:11-924 刘国钧,陈绍业,王凤翥.图书馆目录M.北京:高等教育出版社.1957.15-18.5 刘润华,刘立山.模拟电子技术J.山东:石油大学出版社.2003.6 潘永雄,沙河,刘向阳.电子线路CAD实用教程M.西安:西安电子科技大学出版
22、社.2001.13-118. 7 朱定华,戴汝平等.单片微机原理与应用M.北京交通大学出版社.清华大学出版社.8 彭介华.电子技术课程设计指导J.北京:高等教育出版社.1997.9张毅刚,彭喜源,谭晓昀,曲春波.MCS-51单片机应用设计M.哈尔滨:哈尔滨工业大学出版社.1997.53-61.10(美)Richard Blum著,马朝晖等译.汇编语言程序设计M 北京市:机械工业出版社.11杜华.任意波形发生器及应用J.国外电子测量技术.2005.1:38-40.12 程全.基于AT89C52实现的多种波形发生器的设计J.2005.22(5):57-58.13 胡鸿豪,李世红.基于单片机和DDS
23、的信号发生器设J.设计参考.2006(12)14 徐建军.MCS-51系列单片机应用及接口技术M.人民邮电出版社.2003.15 高峰.单片机应用系统设计及实用设计J.北京:机械工业出版社.2004年:96-100.16江思敏,陈明. Protel电路设计教程M. 北京:清华大学出版社.附录1 程序源程序;*;课程设计题目:波形发生器设计;实 现 功 能:能产生正弦波,三角波,锯齿波,方波; 可通过按键能对各波形的切换,频率为:100HZ;按键查询方式;*;*;对按键进行设定;*KEY1EQUP1.0KEY2EQUP1.1KEY3EQUP1.2KEY4EQUP1.3ORG0000HLJMPMA
24、INORG0030HMAIN:MOVSP,#60H;设置堆栈区;*;按下KEY1生成锯齿波程序;*B1:MOVA,#00HLP1:CLRP1.4SETBP1.5SETBP1.6SETBP1.7MOVDPTR,#2FFFH;对MOVXDPTR,ALCALLDELYB1CJNEA,#0FFH,ADD1JNBKEY2,B2JNBKEY3,B3JBKEY4,D0LJMPB4D0:SJMPB1ADD1:INCA;SJMPLP1;*;按下KEY2生成三角波程序;*B2:MOVA,#00HUP1:CLRP1.5SETBP1.4SETBP1.6SETBP1.7MOVDPTR,#2FFFHMOVXDPTR,AL
25、CALLDELYB2INCAJNZUP1DOWN1:DECAMOVXDPTR, ALCALLDELYB2JNZDOWN1JNBKEY1,B1JNBKEY3,B3JBKEY4,C0LJMPB4C0:SJMPUP1;*;KEY3按下生成正弦波;*B3:MOVR1,#00HLOOP1:CLRP1.6SETBP1.5SETBP1.4SETBP1.7MOVA,R1MOVDPTR,#SETTABMOVCA,A+DPTRMOVDPTR,#2FFFHMOVXDPTR,ALCALLDELYB3INCR1JNBKEY1,B1JNBKEY2,B2JBKEY4,E0LJMPB4E0:AJMPLOOP1SETTAB:
26、;正弦表格DB 80H,83H,86H,89H,8DH,90H,93H,96HDB 99H,9CH,9FH,0A2H,0A5H,0A8H,0ABH,0AEHDB 0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5HDB 0C7H,0CAH,0CCH,0CFH,0D1H, 0D4H,0D6H,0D8HDB 0DAH,0DDH,0DFH,0E1H,0E3H, 0E5H,0E7H,0E9HDB 0EAH,0ECH,0EEH,0EFH,0F1H, 0F2H,0F4H,0F5HDB 0F6H,0F7H,0F8H,0F9H,0FAH, 0FBH,0FCH,0FDHDB 0FDH,
27、0FEH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FEH,0FDHDB 0FDH,0FCH,0FBH,0FAH,0F9H, 0F8H,0F7H,0F6HDB 0F5H,0F4H,0F2H,0F1H,0EFH, 0EEH,0ECH,0EAHDB 0E9H,0E7H,0E5H,0E3H,0E1H, 0DEH,0DDH,0DAHDB 0D8H,0D6H,0D4H,0D1H,0CFH, 0CCH,0CAH,0C7HDB 0C5H,0C2H,0BFH,0BCH,0BAH, 0B7H,0B4H,0B1HDB 0AEH
28、,0ABH,0A8H,0A5H,0A2H, 9FH, 9CH, 99HDB 96H, 93H, 90H, 8DH, 89H, 86H, 83H, 80HDB 80H, 7CH, 79H, 78H, 72H, 6FH, 6CH, 69HDB 66H, 63H, 60H, 5DH, 5AH, 57H, 55H, 51HDB 4EH, 4CH, 48H, 45H, 43H, 40H, 3DH, 3AHDB 38H, 35H, 33H, 30H, 2EH, 2BH, 29H, 27HDB 25H, 22H, 20H, 1EH, 1CH, 1AH, 18H, 16HDB 15H, 13H, 11H, 1
29、0H, 0EH, 0DH, 0BH, 0AHDB 09H, 08H, 07H, 06H, 05H, 04H, 03H, 02HDB 02H, 01H, 00H, 00H, 00H, 00H, 00H, 00HDB 00H, 00H, 00H, 00H, 00H, 00H, 01H, 02HDB 02H, 03H, 04H, 05H, 06H, 07H, 08H, 09HDB 0AH, 0BH, 0DH, 0EH, 10H, 11H, 13H, 15HDB 16H, 18H, 1AH, 1CH, 1EH, 20H, 22H, 25HDB 27H, 29H, 2BH, 2EH, 30H, 33H,
30、 35H, 38HDB 3AH, 3DH, 40H, 43H, 45H, 48H, 4CH, 4EHDB 51H, 55H, 57H, 5AH, 5DH, 60H, 63H, 66HDB 69H, 6CH, 6FH, 72H, 76H, 79H, 7CH, 80HRET;*;按下KEY4生成方波;*B4:MOVA,#00HLP2:CLRP1.7SETBP1.4SETBP1.5SETBP1.6MOVDPTR,#2FFFHMOVXDPTR,ALCALLDELYB4MOVA,#0FFHMOVXDPTR,ALCALLDELYB4JBKEY1,J0LJMPB1J0:JBKEY2,J1LJMPB2J1:J
31、BKEY3,J2LJMPB3J2:LJMPB4;*;下面为延时程序的编写;*;延时26usDELYB1: MOV R3,#01HDL0: MOV R2,#0AH DJNZ R2,$ DJNZ R3,DL0 RET;延时10usDELYB2:MOV R5,#01HDL1: MOV R4,#02H DJNZ R4,$ DJNZ R5,DL0RET;延时17usDELYB3: MOV R5,#07H DJNZ R5,$ RET;延时5msDELYB4: MOV R6,#13HDL3: MOV R5,#82H DJNZ R5,$ DJNZ R6,DL0 RETEND;*;采用中断方式实现波形的切换;*
32、ORG 0000HAJMP MAINORG 0003H;外部中断0入口地址AJMP JUCHIBO;方波,对应P3.2口ORG 0013H;外部中断1入口地址AJMP SANJIAO;三角波对应P3.3口ORG 0030HMAIN: SETB EX0;开外部中断0SETB EX1;开外部中断1MOV IP,#04H;外部中断1优先,P3.3CLR IT0;外部中断0触发方式(电平触发)CLR IT1;外部中断1触发方式(电平触发)SETB EA;开总中断LCALL ZHENGXUANSJMP MAINSANJIAO:MOV DPTR,#2FFFH ; 设置D/A口地址MOV A,#00H; L
33、OOP1:MOVX DPTR,A ; 输出对应于A内容的模拟量,2个机器周期LCALL DELAY3;2个机器周期,应该延时11usINC A;1个机器周期JNZ LOOP1;2个机器周期LOOP2:DEC A ;1个机器周期MOVX DPTR,A;2个机器周期LCALL DELAY3;2个机器周期,延时11usJNZ LOOP2;2个机器周期SJMP LOOP1RETIJUCHIBO: LOOP3:MOVDPTR,#2FFFH;设置D/A口地址 MOV A,#00H LOOP4: MOVXDPTR,A LCALLDELAY1;26us CJNEA,#0FFH,ADD1 SJMPLOOP3AD
34、D1:INCASJMPLOOP4RETIZHENGXUAN: MOV R3,#00H ;取表格初值LOOP5: MOV A,R3;1个周期MOV DPTR,#SETTAB;2个周期MOVC A,A+DPTR;查表指令,2个周期MOVX DPTR,A; 输出对应于A内容的模拟量,2个周期LCALL DELAY1;2个周期,延时26usINC R3;1个周期SJMP LOOP5;2个周期;相邻两点之间指令占据时间为13us,这个时间应该要计算进去 SETTAB: ;正弦表格DB 80H,83H,86H,89H,8DH,90H,93H,96HDB 99H,9CH,9FH,0A2H,0A5H,0A8H
35、,0ABH,0AEHDB 0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5HDB 0C7H,0CAH,0CCH,0CFH,0D1H, 0D4H,0D6H,0D8HDB 0DAH,0DDH,0DFH,0E1H,0E3H, 0E5H,0E7H,0E9HDB 0EAH,0ECH,0EEH,0EFH,0F1H, 0F2H,0F4H,0F5HDB 0F6H,0F7H,0F8H,0F9H,0FAH, 0FBH,0FCH,0FDHDB 0FDH,0FEH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH
36、,0FEH,0FDHDB 0FDH,0FCH,0FBH,0FAH,0F9H, 0F8H,0F7H,0F6HDB 0F5H,0F4H,0F2H,0F1H,0EFH, 0EEH,0ECH,0EAHDB 0E9H,0E7H,0E5H,0E3H,0E1H, 0DEH,0DDH,0DAHDB 0D8H,0D6H,0D4H,0D1H,0CFH, 0CCH,0CAH,0C7HDB 0C5H,0C2H,0BFH,0BCH,0BAH, 0B7H,0B4H,0B1HDB 0AEH,0ABH,0A8H,0A5H,0A2H, 9FH, 9CH, 99HDB 96H, 93H, 90H, 8DH, 89H, 86H,
37、83H, 80HDB 80H, 7CH, 79H, 78H, 72H, 6FH, 6CH, 69HDB 66H, 63H, 60H, 5DH, 5AH, 57H, 55H, 51HDB 4EH, 4CH, 48H, 45H, 43H, 40H, 3DH, 3AHDB 38H, 35H, 33H, 30H, 2EH, 2BH, 29H, 27HDB 25H, 22H, 20H, 1EH, 1CH, 1AH, 18H, 16HDB 15H, 13H, 11H, 10H, 0EH, 0DH, 0BH, 0AHDB 09H, 08H, 07H, 06H, 05H, 04H, 03H, 02HDB 02
38、H, 01H, 00H, 00H, 00H, 00H, 00H, 00HDB 00H, 00H, 00H, 00H, 00H, 00H, 01H, 02HDB 02H, 03H, 04H, 05H, 06H, 07H, 08H, 09HDB 0AH, 0BH, 0DH, 0EH, 10H, 11H, 13H, 15HDB 16H, 18H, 1AH, 1CH, 1EH, 20H, 22H, 25HDB 27H, 29H, 2BH, 2EH, 30H, 33H, 35H, 38HDB 3AH, 3DH, 40H, 43H, 45H, 48H, 4CH, 4EHDB 51H, 55H, 57H, 5AH, 5DH, 60H, 63H, 66HDB 69H, 6CH, 6FH, 72H, 76H, 79H, 7CH, 80HRET;延时26usDELAY1: MOV R6,#01HDL0: MOV R5,#0AH DJNZ R5,$ DJNZ R6,DL0RET;延时11usDELAY3: SETB RS0SETB RS1 MOV R7,#01HDL3: MOV R6,#01HDL2: MOV R5,#01H DJNZ R5,$ DJNZ R6,DL2 DJNZ R7,DL3RETEND附录2 整体电路原理图附录3 仿真效果图