




免费预览已结束,剩余26页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
桂 林 电 子 科 技 大 学单片机最小应用系统 设 计 报 告 指导老师:吴 兆 华 学 生:冯焕焕 学 号:1000150301前言 近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新.在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善.单片机是指在一个芯片上集成了中央处理器、存储器和各种I/O接口的微型计算机,它主要面向控制性应用领域,因此又称为嵌入式微控制器。单片机诞生30多年以来,其品种、功能和应用技术都得到飞速的发展,单片机的应用已深入国民经济和日常生活的各个领域。本次课程设计目的主要是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。本课程设计实在学完单片机原理及课程之后综合利用所学单片机只是完成一个单片机应用系统设计并在实验室实现。该课程设计的主要任务是通过解决一、两个实际问题,巩固和加深“单片机原理和应用”课程中所学的理论知识和实验能力,基本掌握单片机应用电路的一般设计方法,提高电子电路的设计和实验能力,加深对单片机软硬知识的理解,获的初步的应用经验,为以后从事生产和科研工作打下一定的基础。摘要单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。单片机是20世纪中期发展起来的一种面向控制的大规模集成电路模块,具有功能强、体积小、可靠性高、价格低廉等特点,在工业控制、数据采集、智能仪表、机电一体化、家用电器等领域得到了广泛的应用,极大的提高了这些领域的技术水平和自动化程度。单片机应用的意义绝不仅限于它的广阔范围以及带来的经济效益,更重要的意义在于,单片机的应用正从根本上改变着传统的控制系统的设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分控制功能,现在使用单片机通过软件就能实现了。随着单片机应用的推广普及,单片机控制技术将不断发展,日益完善。本文是设计频率/脉冲宽度的测量与显示的硬件电路与程序的编制。它可以测量脉冲信号的脉冲宽度,频率等参数。利用定时器的门控信号GATE进行控制可以实现脉冲宽度的测量。利用定时器T0定时T1计数来测量由P3.5口输入的脉冲信号的频率。在单片机应用系统中,为了便于对LED显示器进行管理,需要建立一个显示缓冲区。显示时采用动态扫描的方式将将各位数的BCD码依序输入到LED中,并连续扫描2秒钟。通过采用STC89C52RC单片机为中心器件来设计脉冲宽度测量器,并运用MCS51/52单片机计数功能,选择好工作模式,对脉宽进行计数。在现有的单片机仿真机系统上掌握相关软硬件设计与调试知识,并在计算机上编写汇编程序调试运行。关键词: 门控信号GATE;脉冲宽度;扩展测量范围;脉冲频率ABSTRACTAlong with the large scale integrated circuit technology and the computer technology rapid development, the computer logic unit and the controller (namely CPU), the memory and the many kinds of interfaces integration the chip which becomes together on the chip is a monolithic integrated circuit. The monolithic integrated circuit is published for 20 years, development speed swift and violent, the application scope was broad is formerly any technology all is unable to compare. The monolithic integrated circuit achievement inserts declines controller its application to be very popular. This ticle introduced the monolithic integrated circuit concept, the classification, the developing process, and use the MCS-51 monolithic integrated circuit and the CD4094 monolithic integrated circuit design multipurpose square wave-form oscillator hardware electric circuit and the control circuit, and has carried on the software programming to the monolithic integrated circuit, causes manufacture and production multipurpose square-wave signal generating device which the user may facilitate. The this article first chapter simply introduced the monolithic integrated circuit developing process and the application domain; Second chapter take the MCS-51 monolithic integrated circuit as the example, specifically introduces the monolithic integrated circuit the structure as well as the principle of work; Third chapter uses the MCS-51 monolithic integrated circuit and the CD4094 monolithic integrated circuit design multipurpose square wave-form oscillator hardware electric circuit and the control circuit, and carries on the software programming. Key word: Microprocessor, monolithic integrated circuit, MCS-51 monolithic integrated circuit, multipurpose signal generating device electric circuit, multipurpose signal generating device program,Key words: Microprocessor,目录前言3摘要3目录4一、设计原理41.1脉冲宽度测量原理61.1脉冲频率测量原理71.2扩展测量范围原理7二、实验课题内容及要求8三、实验目的及意义9四、系统硬件电路104.1硬件电路说明104.2系统调试及结果分析134.3最小系统控制部分154.3.1晶振电路64.3.2复位电路7五、软件设计265.1程序流程图275.2程序源代码28六、注意事项及解决问题的方案31七、心得体会32八、参考文献34一、设计原理(1)T0工作方式通过设置TMOD,使其为定时器模式。在做定时器使用时,将T0定时为0.001S。当GATE=1时,为门控方式。只有TR0设置为1,且同时外部中断引脚也为高电平时,才能启动T0开始计数工作。把脉冲信号从P3.2脚引入,T0设为定时器方式工作,并工作在门控方式(GATE=1)。在待测信号高电平期间,T0对内部周期脉冲进行计数。在待测脉冲高电平结束时,其下降沿向P3.2发中断,在外部中断0的中断服务程序中,读取TH0、TL0的计数值,该值就是待测脉冲的脉宽。随后,清零TH0和TL0,以便下一个脉宽的测量。计算方法:脉冲宽度=计数值*0.01s,将脉冲宽度的数值转换为压缩BCD码,再将压缩BCD码转换为非压缩BCD码用于显示,最后调用显示程序,读取脉冲宽度。(2)T2捕捉工作方式使用T2的捕捉方式,TH2、TL2的初值设为0,待测信号从T2EX(P1.1)引入,采用定时器T0定时0.001s,刚开始待测信号为高电平或低电平时等待,再次检测为高电平时T2开始计数,定时器T0每定时0.001s,通过串口P1.0的开关状态使T2的计数值增一并将计数值存入RCAP2H和RCAP2L两个寄存器中。计算方法:脉冲宽度=计数值*0.001s,再将得到的表示脉冲宽度的十六进制转换为压缩BCD码,再将压缩BCD码转换为非压缩BCD码用来显示,读取LED上显示的数据即为要测量的脉冲宽度。1.1 脉冲宽度测量利用定时器的门控信号GATE进行控制可以实现脉冲宽度的测量。对定时器T1来讲,如果GATE=0,必须使软件控制位TR1=1,且INT1为高电平方可启动定时器T1,即定时器T1的启动要受外部中断请求信号INT1的影响。利用此特点,被测脉冲信号从INT1端引入,其上升沿启动T1计数,下降沿停止T1计数。定时器的计数值乘以机器周期即为脉冲宽度。下图中给出了脉冲宽度测量的原理图。 为低时启动T1 下降沿停止计数 被检测脉冲信号 INT1 为高则等待 上升沿开始计数 图1 脉冲宽度测量过程 图 2 系统原理图1.2 脉冲频率测量频率测量实际上就是在1s内对脉冲个数进行计数,计数值就是信号频率。令定时器T0工作在方式1,得到100ms的定时间隔,再进行软件计数10次,形成一个1s的测量闸门信号。在测量闸门信号期间令计数器T1工作在计数方式1,对脉冲信号的频率计数,计数值存入COUNT、COUNT+1和COUNT+2单元,计数值通过6位动态数码管显示出来。1.3 扩展测量范围原理上述系统被测脉冲宽度范围最大为65535us,扩展计数器的位数可提高脉冲宽度的测量范围。令定时器T1工作在方式1定时,GATE=1,用COUNT单元,COUNT+1单元即定时器T1的计数单元TH1和TL1组成一个32位的计数器对脉冲宽度进行测量。并且在定时器T1溢出时,给COUNT+2赋值#01H,并将THI和TH0置零,重新开始计数。以扩展系统测量范围使可以达到130ms的任务要求。同时在进行频率测量时,当计数器T1溢出时,给COUNT+2赋值#01H,并将THI和TH0置零,重新开始计数。以扩展系统测量范围使可以达到100KHZ的任务要求。二、实验课题内容及要求2.1 要求用8031单片机控制可测方波1001000Hz,并测量方波宽度2.2 设计内容 利用单片机及4位LED数码管做成四位脉宽显示,在一个脉宽期间对内部周期进行计数,得到的一个高电平脉冲内的计数值显示在四位数码管上,并达到相应的技术指标要求技术指标(1)输入脉冲幅度:0-5V(2)脉宽测量范围:0.1-50ms(3)测量精度:1%(4)显示方式:四位数字显示 计数 被检测脉冲信号 为高则开始计数 为低时停止计数T0:把脉冲信号从P3.2脚引入,T0设为定时器方式工作,并工作在门控方式(GATE=1)。在待测信号高电平期间,T0对内部周期脉冲进行计数。在待测脉冲高电平结束时,其下降沿向P3.2发中断,在外部中断0的中断服务程序中,读取TH0、TL0的计数值,计算出所测。随后,清零TH0和TL0,以便下一个脉宽的测量。显示:将数码管的段控信号与P口与六位LED数码管相连。T2:使用T2捕捉方式时将脉冲信号加到P1.1引脚,并且同时开通T0定时器,将数码管的段控信号与P0口与六位LED数码管相连,将位控信号P2与键盘相连。三、实验目的及意义目的:1、 加深外部中断指令的基本使用方法;2、 熟悉外部中断处理程序的编程方法;3、 进一步熟悉8051内部定时/计数器的初始化、使用方法及编程法;4、 进一步掌握8051中断处理程序的编程方法和应用;5、 掌握I/O接口的基本方法;6、 学会使用并熟练掌握电路绘制软件Protel99SE(或DXP)。7、基于 STC89C52RC单片机测量脉冲宽度; 8、研究分别使用定时计数器 0,1 的 GATE 模式和定时计数器 2 的捕捉功能完成外部脉冲宽度测量; 9、通过6位 LED显示计数值,时间精确到 0.1秒。并熟悉了解试验箱的应用,提高动手能力。意义:1、通过单片机的综合设计,能够将所学的知识融会贯通,锻炼独立设计、制作和调试单片机的应用系统能力,领会单片机应用系统的软件、硬件调试方法和系统的研制开发过程,为进一步的科研实践活动打下一定的基础。2、通过单片机综合设计更加熟悉的掌握51单片机的应用;掌握了方波频率计算以及形成的原理,更加进一步的学习方波宽度的测量,并且对软件编程及硬件设计方法更加好的掌握,掌握根据课题要求,提出并选择设计方案、查找确定所用元器件、设计并搭制硬件电路、编程写入并调试等的一系列,掌握单片机应用的基本方法与步骤。3、通过单片机的综合设计,对输出方波的原理有很大的了解,掌握方波频率的计算方法,同时对其脉冲测量过程学习到很多,在设计中对系统原理图也有很好地掌握,实验中和本组队员努力配合,明白团队的努力是伟大的。 四、系统硬件电路整个设计主要包括单片机基本的晶振电路,按键复位电路,设计中需要的LED管,开关、按键等。具体的电路图如下图1所示图1系统设计总电路图4.1硬件电路说明 本次硬件系统包括单片机最小系统、外部中断电路、LED显示电路三部分在下面介绍中对每一部分都有详细的说明。AT89C51单片机简介 AT89S51单片机是美国ATMEL公司生产的低功耗,高性能CMOS 8位单片机,片内含4K bytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度,非易失性存储技术生产,兼容标准8051指令系统及引脚。它集Flash程序存储器,既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,ATMEL公司的功能强大,低价AT89S51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。图2 AT89S51引脚图AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及89C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。1、AT89S51具有如下特点:40个引脚,8k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。2、AT89S51的运行模式 (1)空闲模式 在空闲模式下,CPU处于睡眠状态,振荡器和所有片内外围电路仍然有效。空闲模式可由软件设置进入(设IDL1)。在这种模式下,片内RAM和SFR中的内容保持不变。空闲模式可通过任何一个允许中断或硬件复位退出。 若用硬件复位方式结束空闲模式,则在片内复位控制逻辑发生作用前长达约两个机器周期时间内,器件从断点处开始执行程序。片内硬件禁止访问内部RAM,但不禁止访问端口。为避免采用复位方式退出空闲模式时对端口的不应有的访问,在紧随设置进入空闲指令(即设IDL1)的后面,不能是写端口或外部RAM的指令。(2)掉电模式引起掉电模式的指令是执行程序中的最后一条指令(使PD1的指令)。在掉电模式下,振荡器停止工作,CPU和片内所有外围部件均停止工作,但片内RAM和SFR中的内容保留不变,直到掉电模式结束。 退出掉电模式可用硬件复位或任何一个有效的外部中断INT0和INT1。复位可重新设置SFR中的内容,但不改变片内RAM中的内容。在Vcc电源恢复到正常值并维持足够长的时间之后,允许振荡器恢复并达到稳定,方可进行复位,以退出掉电模式。3、MCS-51系列单片机的并行I/O口接口电路是微机必不可少的组成部分,并行输入确出接口是CPU和外部进行信息交换的主要通道。MSC51系列单片有4个8位并行双向I/O口P0P3,共32根I/O线。每一根线能独立用作输入或输出。单片机可以外接键盘、显示器等外围设备还可以进行系统扩展,以解决硬件资源不足问题。4个并行口都是双向口,既可以输入又可以输出。P0、P2口经常作外部扩展存储器时的数据、地址线,P3口除作I/O口外,每一根都有第二功能。这4个I/O口结构基本相同,但仍存在差别。(1) P1口是最常用的I/O口如图3所示,因为不作数据地址线,其结构中没有数据地址线,也没有多路开关MUX,输出驱动电路接有上拉电阻。P1口输入输出时与P0作I/O时相似,输出数据时先写入锁存器,经Q端反相,再经场效应管反相输出到引脚。输入时,先向锁存器写l,使v管截止外部引脚信号由下方读缓冲器送入内部总线,完成读引脚操作。P1口也可以读锁存器。外部提升电阻将引脚拉升至高电平,但输人的低电平信号能将其拉低,不会影响低电平的输入。图3 P1口一位结构(2) P3口为双功能口,当P3口作为通用I/O口使用时,它为准双向口,且每位都可定义为输入或输出口,其工作原理同P1口类似。 (3)P3口还具有第二功能,其引脚描述,P3口特殊功能口线特殊功能信号名称P3.0RXD串行输入口P3.1TXD串行输出口P3.2外部中断0输入口P3.3外部中断1输入口P3.4T0定时器0外部输入口P3.5T1定时器1外部输入口P3.6WR写选通输出口P3.7RD读选通输出口4.2系统调试及结果分析1、硬件调试硬件电路板中器件连接好后,先用万用表测试电路中有无虚焊短接之处,测试无误后,将板子通电,进行静态调试。取好两跟短的导线,一根导线的其中一端接地,另一端接P2.3P2.0口中的一个口,若数码管亮,再用另一根导线,其中异端接地,另一端与P0.0P0.7依次接触,看数码管各段的亮灭情况,从而判断每个数码管各段的好坏及电路的是否正确。硬件的测试首先是检查电路的逻辑线路是否正确,如果正确再检查原理图的线路连接是否正确,电路的布局安排是否合理等等。软件的测试只要是检查程序的语法是否正确,数据结构安排是否妥当,时序是否正确,整体流程安排是否合理。上面两部检查妥当后,就到了系统调试最关键的一步,软硬件的协同调试,问题往往在此才能被发现。2、软件调试在软硬件协同调试时,硬件问题比较少,主要体现在上拉电阻的使用,滤波电容的使用等,极少发生逻辑上的错误。硬件的问题往往是致命的问题,其不易察觉,发现之后电路更改也不容易。这就需要我们不断的实验,在实战中摸索出规律,吸取经验教训,在以后的电路设计中能设计出稳定的抗干扰能力强的电路。软件问题是调试中遇到问题最多的,此系统中出现过的问题有以下几处:1、键盘中断处理程序中中断入口后,没有关掉外部中断,出现键值读取不正确,不能正确操作键盘。解决方法,在中断入口处关掉外中断,并在出口时再开外中断;2、键盘扫描前没有软件延时消抖,出现键值读取不准确。解决方法,在键盘中断入口后在键值扫描前软件延时5ms,消去键盘抖动所带来的误操作;3、程序中有个别地方将“=”与“=”混淆,造成结果不准确,解决办法,仔细查找,将混淆出更正。再把到计时设定时子程序加进来,看是否能通过菜单正确调用,返回。能否修改到计时。整个调试完毕。3、结果分析因为从设计程序分析,数码管显示器动态到秒的频率约为167HZ,实际使用观察时完全没有闪烁,由于计时中断程序中加了中断延时误差处理,所以,实际设计时精度非常的高。4.3最小系统控制部分4.3.1单片机最小系统单片机各功能部件的运行都是以时钟频率为基准的,有条不紊地进行工作。因而时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路方式有两种:一种是内部时钟方式,一种是外部时钟方式,这里采用的是内部时钟方式,外接晶振。时钟电路由片外晶体、微调电容和单片机的内部电路组成。选取频率为11.0592MHz的晶振,微调电容是瓷片电容。89S52单片机的P0.7口作为波形输出口,若接示波器,则可通过示波器来观察波形,是一个矩形波。此单元电路包括时钟电路、复位电路,具体电路如图2所示:小键盘接口电路小键盘如图3所示。它包括8个键,系统中用到的键只有5个,分别为0号、1号、2号、3号、4号键。其中0号键是状态键,采用外部中断控制,用它来确定其它几个键的按键功能,具体作用在前述的系统功能中已做介绍了;另外4个键为功能键,调节频率与占空比的。小键盘中引出的6根线依次分别接单片机的P1.0、P1.1、P1.2、P1.3、P1.4、P1.5口。4.3.2晶振电路电源引脚Vcc和Vss Vcc:电源端,接5V。 Vss:接地端。 时钟电路引脚XTAL1和XTAL2 XTAL1:接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,若使用外部TTL时钟时,该引脚必须接地。XTAL2:接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出,若使用外部TTL时钟时,该引脚为外部时钟的输入端。系统扩展时,ALE用于控制地址锁存器锁存P0口输出的低8位地址,从而实现数据与低位地址的复用。图4 系统晶振电路系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路(如图5所示)。AT89S单片机内部有一个用于构成振荡器的高增益反相放大器。引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。外接晶体谐振器以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中。对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。因此,此系统电路的晶体振荡器的值为12MHz,电容应尽可能的选择陶瓷电容,电容值约为22F。在焊接刷电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证震荡器稳定和可靠地工作。外部程序存储器读选通信号,是读外部程序存储器的选通信号,低电平有效。程序存储器地址允许输入端 /VPP。 当为高电平时,CPU执行片内程序存储器指令,但当PC中的值超过0FFFH时,将自动转向执行片外程序存储器指令。当为低电平时,CPU只执行片外程序存储器指令。输入/输出口引脚P0、P1、P2和P3。P0口(P0.0P0.7):该端口为漏极开路的8位准双向口,负载能力位8高LSTTL负载,它为8位地址线和8位数据线的复用端口。P1口(P1.0P1.7):它是一个内部带上拉电阻的8位准双向I/O口,P1口的驱动能力为4个LSTTL负载。P2口(P2.0P2.7):它为一个内部带上拉电阻的8位准双向I/O口,P2口的驱动能力也为4个LSTTL负载。在访问外部程序存储器时,它作存储器的高8位地址线。P3口(P3.0P3.7):P3口同样是内部带上拉电阻的8位准双向I/O口,P3口除了作为一般的I/O口使用之外,其还具有特殊功能。3.3.3复位电路复位使单片机处于起始状态,并从此状态开始运行MCS5-51单片机RST引脚为复位端,该引脚连续保持2个机器周期(24个时钟振荡周期)以上的高电平。可使单片机复位。本论文使用的是外部复位电路,单片机在启动后要从复位状态开始运行,因此上电时要完成复位工作,称上电复位,如图6a所示。上电瞬间电容两端的电压不能发生突变,只RST端为高电平5v,上电后电容通过及RC电路放电RST端电压逐渐下降,直至低电平0V,如图6c所示。适当选择R、C的值,使RST端的高I电平维持2个机器周期以上即可完成复位。单片机L在运行过程中,出于本身或外并干扰的原因会导致出错。这时可按复位键以重新开始远行,按键复位可分为按键电平复位或按健脉冲复位,如图6b所示。按键脉冲复位和上电平复值的原理是一样的,都是利用RC电路的放电原理,如图6d所示。让RST端能保持一段时间的高电平,以完成复位,按键电平复位时,按键时间也应保持在两个机器周期以上。(a) 上电复位(b)按键电平复位(c)RC放电过程(d) 电平复位过程图5 单片机常用复位电路根据设计要求和计算简便的原则,我们选择12M的石英晶振、30PF的电容、+5V电源,最小系统如下:图6最小系统连接图4.4 数码管显示电路数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。 静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5840根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。 动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。图7四位数码管引脚图四位数码管引脚如上图所示,在实际判别中,让有小数点的端对着自己,上面引脚的功能为1,a,f,2,3,b下面引脚为e,d,p,c,g,4根据七段数码管的连接原则,可以将abcdefg分别依次连接在P0口,然后由P2口控制片选信号就可以了 内部的四个数码管共用adp这8根数据线,为人们的使用提供了方便,因为里面有四个数码管,所以它有四个公共端,加上adp,共有12个引脚,下面便是一个共阴的四位数码管的内部结构图(共阳的与之相反)。引脚排列依然是从左下角的那个脚(1脚)开始,以逆时针方向依次为112脚,下图中的数字与之一一对应。系统各模块信号产生电路、被测信号、单片机、显示2、硬件装备图器件参数:数码管4个,排阻,74LS07芯片,74LS00芯片,电阻510欧,电容uf,4.7uf,20pf,晶振,导线诺干。4管脚说明VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在编程时,P0口作为原码输入口,当进行校验时,P0输出原码,此时P0外部必须被拉高。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在编程和校验时接收高八位地址信号和控制信号。P3口也可作为89C51的一些特殊功能口,在本次课程设计中用到的P3口如下所示:P3.2/INT0(外部中断0)RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。硬件焊接:先根据装备图进行各元件排版,然后根据元件的排放进行布线,尽量导线不要叠加。然后把元器件焊在板子上,用导线全部焊接一起。焊接完后,再仔细检查。五、软件设计5.1程序流程图方波发生器的软件设计包括主程序、延时子程序、系统初始化程序、显示子程序、键盘扫描程序、定时器中断子程序。其中主程序用来控制整个程序的执行,它与各子程序紧密相联,共同实现方波发生器各种功能的执行。开始启动定时器缓存区初始化调用数字转换程序调用显示程序 END一分钟5.2程序源代码 LED1 equ 40hLED2 equ 41hLED3 equ 42h;存放三个数码管段码org 0003h;外部中断0入口地址Ljmp T0_INTorg 1bh;定时器1中断入口jmp t1_int;org 0000hljmp mainorg 0030hmain: MOV R1,#00H SETB EA SETB EX0;外部中断 SETB ET1;定时器中断 setb it0;外部中断0在下降沿时工作 mov tmod,#00010000b;1作定时器 setb tr1;激活定时器 MOV TL1,#00H MOV TH1,#4CH MOV SP,#60H mov R0,#200;延迟10S ;MOV R3, #40H BCD: mov A,R1; mov B,#100; DIV AB; DA A MOV LED3,A;存百位 MOV A,B MOV B,#10 DIV AB DA A MOV LED2,A;存十位 MOV LED1,B;存个位 LCALL DISPLAY LJMP BCD DISPLAY: MOV P0,#0FFH MOV R4,#11111110B MOV R3,#3 LOOP: MOV A,R4 MOV P2,A ;MOV R5,LED1 ;MOV A,R5 ;MOV A,R5 MOV A,LED1 MOV DPTR , #TAB MOVC A,A+DPTR MOV P0,A LCALL DELAY MOV A,R4 RLC A MOV R4,A ;INC R5 ;MOV LED1,LED2 INC LED1 DJNZ R3,LOOP ;JB ACC.3,DISPLAY RETI t0_int: ;外部中断0 PUSH PSWPUSH ACC INC R1 POP ACC POP PSW RETI t1_int: ;定时器中断 PUSH PSWPUSH ACC DJNZ R0,GO CLR EX0 GO: POP ACC POP PSW RETI delay:;5MS MOV R6,#10D1: MOV R7,#250 DJNZ R7,$ DJNZ R6,D1 RET tab:db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh;数码管的显示码表 end5.3系统实现功能在电源正确接入的前提下,由RC震荡器产生信号从P3.2口输入,利用内部脉冲对外部信号进行计数。计数值经过二十转换后,判断高位是否为零,如果为零即显示低四位,如果不为零即显示高四位。通过数码管显示计数脉冲的个数,其个数即为脉冲宽度。简单的流程为:主程序扫描键盘,将设置信息输入,处理后,输出到LED显示器显示。单片机的晶振为11.0592MHz,用到了两个定时器,即定时器0与定时器1,分别进行频率与占空比的定时,两个定时器都是工作在方式1。根据计算定时器初值的公式: 计算出定时器0与定时器1所要装入的初值。频率及占空比的显示电路由74LS164构成的驱动电路和LED数码显示管组成,利用八个数码管来显示,有五位是用来显示频率的,有两位是显示占空比的,在频率与占空比显示管中间有一个LED数码管是用来显示“”的,用以区分频率显示与占空比显示的。此电路的键盘是由一个状态键,四个功能键(调节频率与占空比的增减)组成,其特殊之处在于利用外部中断实现键盘扫描。状态键有三种状态,当其处于状态0时,则其它的键会处于无用状态,当其处于状态1时,可通过按四个调节键来调节频率,处于第三种状态时,按四个调节键中的前两个便可对占空比进行调节了。六、注意事项与解决问题的方案1、硬件部分(1)在排版方面,由于线比较多,而且某些节点上要连2到3根导线,造成了导线交叉。后来引出了一根长线,把这麻烦解决了。(2)在数码管显示部分,d,e,f一起亮一起暗,经检查,是这三根线短路了,将导线重新焊接后问题解决了。(3)硬件与示波器连接后,出来的方波不是很完整,将74LS00中的与非门全部用上滤波,最后出来的波形很完整。2、软件部分(1)开始写的程序很乱,老师建议我们用调用子程序的方法,一步一步分开来写。发现这方法很有用。(2)在编写软件时经常会漏掉一些简单的口令,在编译时出现错误,才更正过来。(3)软件编写完后,数码管显示的数字一闪一闪很不稳定,经过分析,是延时程序没有编写正确,后来修改了延时时间,数码管正确的显示了。3、焊接部分(1)焊接之前,应事先画好硬件原理图,细化到每一根接线,以及芯片内部的各个引脚,合理布局好元器件。这样才能使硬件电路板布线美观。焊接时要注意防止虚焊的产生,在两个较近的焊点之间要注意不要短接。 (2)焊接时要注意焊接工艺,由于是通用板,质量不是太高,如果不注意,上面的小铜片很容易损坏,容易导致虚焊。焊完后,要用万用表检测,以免出现虚焊漏焊,短接等现象。检查无误后再通电检测。焊接完一部分后,最好先观察一下该部分的波形是否正确,若有错误,可以方便修改。(3)板子及仿真机接电源时,要注意正负极,以免损坏板子或仿真机。(4)仿真机一旦与计算机进行连接之后,就不要经常再拔下,以确保正常通信。(5).编写程序时,要注意各指令的合理应用。若程序过长,可以先编写子程序,再将其进行组合。以免出现不必要的错误和困扰。(6)在插拔器件以及接线过程中,为避免仪器损坏应该在断电的前提下操作。七、设计总结Protues功能强大,为我们进行电子电路原理图和仿真提供了良好的操作环境。用Protues进行电路设计分为两大部分:原理图的设计和电路板的设计。用protues进行电路板设计的第一步是其原理图的设计。显然,原理图决定整个电路的基本功能。具体步骤如下:(1)图面设置: Protues允许用户根据电路的规模设置图面的大小,按照偏好和习惯设置图面的样式。实际上,设置图面就是设置了一个工作平面,以后的工作就要在这个平面上进行。所以图面应该设置得足够大,为进一步工作提供一个足够大的工作空间。(2)放置元件: 所谓放置元件就是从元件库中选取所需得元件,将其布置到图面上合适的位置,有时还要重定义元件的编号、封装。元件的封装很重要,要根据元件的实际尺
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度教育机构保安服务保障及校园安全防护合作协议
- 2025年新型LED照明系统设计与安装一体化服务合同
- 2025年高端食品运输与全程溯源服务合同
- 2025年生态循环农业示范基地土地流转及经营管理合同
- 2025年度办公楼智能化装修材料采购及施工质量监管合同
- 2025年绿色环保型建筑用脚手架采购与环境影响评估服务合同
- 绿建新纪元:施工管理
- 新员工信贷业务培训课件
- 【分层训练】六年级下册英语一课一练Unit3Wheredidyougo课时3人教PEP版-含答案
- 净水机相关知识培训课件
- 2025年小学生环保科普知识竞赛题库及答案
- 2025至2030年中国乙醇行业市场全景调研及发展趋向研判报告
- 教师校园安全培训课件
- 设备易损配件管理制度
- 叉车维修方案(3篇)
- 颅内感染诊疗指南
- 儿童腺病毒肺炎
- 2025至2030中国UV打印机行业市场现状分析及竞争格局与投资发展报告
- 口腔科护士正确吸唾操作规范
- 中学升旗管理制度
- 2025至2030中国氢化可的松口服片行业项目调研及市场前景预测评估报告
评论
0/150
提交评论