基于51单片机的电子钟的设计

上传人:xins****2008 文档编号:196886651 上传时间:2023-04-01 格式:DOC 页数:39 大小:1.28MB
返回 下载 相关 举报
基于51单片机的电子钟的设计_第1页
第1页 / 共39页
基于51单片机的电子钟的设计_第2页
第2页 / 共39页
基于51单片机的电子钟的设计_第3页
第3页 / 共39页
点击查看更多>>
资源描述
国立大学毕业设计 基于51单片机的电子钟的设计 学生姓名 沉默熊系 (部) 电气信息工程系专 业 应用电子技术指导老师 马各2011年5月25日河南工程学院毕业设计摘 要近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月异更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。电子时钟是现代社会中的主要计时工具之一,广泛应用于手机,电脑,汽车等社会生活需要的各个方面,及对时间有要求的场合。本设计采用AT89C51单片机作为主要核心部件,附以上电复位电路,时钟电路及按键调时电路组成。 数字电子钟的设计方法有多种,例如,可用中小规模集成电路组成电子钟;也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟;还可以利用单片机来实现电子钟等等。这些方法都各有特点,其中,利用单片机实现的电子钟具有编程灵活,便于电子钟功能的扩充,即可用该电子钟发出各种控制信号,精确度高等特点该系统实用性强、操作简单、扩展性强。 关键词:单片机 电子钟 LCD AbstractIn recent years, with the rapid development of science and technology, the application of Single Chip Machine is continuously to further, traditional control test rapidly updated. In real-time detection and automatic control of single-chip microcomputer application system, is often used as a core component, knowledge is not only the MCU, still should according to specific hardware structure, and the view of the specific application software, the object characteristics.Electronic clock of modern society is one of main timing tool, widely used in mobile phone, computer, automobile, etc all aspects of social life, and the need for time. This design USES AT89C51 as the main core components, attach more electricity reset circuit, clocking circuit and the button when the adjustable circuit.Digital electric clock design methods are various, for example, usable small scale integrated circuit component electric clock, Also can use special electric clock chips with display circuit and the need of peripheral circuit electric clock, Still can use to realize electric clock chip, etc. These methods have different features, among them, use the electric clock microcontroller programming, flexible easy electric clock function expansion, can use the electric clock out of control signal, the accuracy is higher characteristic.This system is practical, simple operation and extensible.Keywords: Single Chip Machine electric clock LCD目 录前 言1绪 论3第一节 单片机技术的发展3第二节 单片机概况5第一章 数字钟的硬件设计6第一节 MSC-51系列芯片简介6第二节 AT89C51芯片特性简介7第三节 显示器简介8第四节 键盘接口技术10一、 键的识别10二、 键的消抖11第五节 看门狗电路设计12一、软件看门狗12二、硬件看门狗12第二章 数字钟系统设计14第一节 设计方案14第二节 系统的功能与要求14第三节 系统硬件的选用15第三章 数字钟的软件设计16第一节 延时的设定16一、 硬件延时16二、 软件延时17第二节 软件的调试与仿真. .18第三节 程序流程图20第四节 系统内存分配和I/O接口使用23第五节 程序源代码. . .23第四章 系统调试.29 第一节 软件,硬件调试29 第二节 结论30毕业设计总结. . . . .31致谢32参考文献.33附录1.34IV前 言本文介绍一个采用8051单片机芯片制作的“数码显示电子钟”,该LCD数码管时钟电路采用24小时计时方式,时、分、秒、星期用5位数码管显示。该电路采用8051单片机,使用5V电池供电,仅使用一个开关即可进入调时、效时和正常显示三种状态。其具有电路简单、制作容易、设置方便、使用灵活等优点。课题意义:巩固加深和扩大单片机应用的知识面,提高综合素质和灵活运用所学知识解决工业控制的能力;培养针对课题需要选择和查阅有关手册,图表及文献资料的自学能力,提高组成系统编程调试的动手能力;经过对课题设计方案的分析,选择,比较,熟悉单片机应用系统开发,研制的过程。软硬件设计的方法,内容及步骤;掌握计数器,加法器,半导体数码管显示器与七段码显示译码器的使用;理解数字钟的工作原理。课题要求:1、 本电路采用的内部振荡器方式,晶体振荡频率为6MHz,具有较高的频率稳定性,且延时系采用数字计数的方式进行,因而对时间的控制精度较高,可有效地控制时间不准、不可靠的问题出现。2、 初始加电时,显示初始状态,本电路的5位数码显示管将自动显示出程序默认的时间,只要不进行新的时间设置,数码管将从初始状态起计时。本程序的初始状态设位00:00:0。3、 本电路允许用户随时通过调时按键自行输入设置新的时间参数,其范围可在1s24H之间任意调试,使用户可以根据自身的需要来进行不同的时间设置。4、 当调时进行完毕后,数码管显示将根据程序的要求自动加1S。秒两位累计到60时,向分位进1;分两位累计到60时,向时位进一;当时两位累计到23,且分位为59秒位为59时,时位、分位、秒位自动归零星期进1,即24小时(一天)结束,进入下工作日计时。5、 本电路的外接电源可用5V直流电池电源,亦可将交流电压转变为直流电,简单方便。使用中应谨慎,避免硬件设施被烧坏。6、 在进行时间参数设置和整个显示过程中,系统采用5位数码管做“时位、分位、星期”计时显示,直观、准确。 单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。 通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。 单片机经过1、2、3、3代的发展,目前单片机正朝着高性能和多品种方向发展,它们的CPU功能在增强,内部资源在增多,引脚的多功能化,以及低电压低功耗等。绪 论第一节 单片机技术的发展单片机诞生于20世纪70年代末,经历了SCM、MCU、SoC三大阶段【1】。1.SCM即单片微型计算机(Single Chip Microcomputer)阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。“创新模式”获得成功,奠定了SCM与通用计算机完全不同的发展道路。在开创嵌入式系统独立发展道路上,Intel公司功不可没。 2.MCU即微控制器(Micro Controller Unit)阶段,主要的技术发展方向是:不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。它所涉及的领域都与对象系统相关,因此,发展MCU的重任不可避免地落在电气、电子技术厂家。从这一角度来看,Intel逐渐淡出MCU的发展也有其客观因素。在发展MCU方面,最著名的厂家当数Philips公司。 Philips公司以其在嵌入式应用方面的巨大优势,将MCS-51从单片微型计算机迅速发展到微控制器。因此,当我们回顾嵌入式系统发展道路时,不要忘记Intel和Philips的历史功绩。 3.单片机是嵌入式系统的独立发展之路,向MCU阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决;因此,专用单片机的发展自然形成了SoC化趋势。随着微电子技术、IC设计、EDA工具的发展,基于SoC的单片机应用系统设计会有较大的发展。因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。 单片机作为微型计算机的一个重要分支,应用面很广,发展很快。自单片机诞生至今,已发展为上百种系列的近千个机种。目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。下面是单片机的主要发展趋势。 CMOS化 近年,由于CHMOS技术的进小,大大地促进了单片机的CMOS化。CMOS芯片除了低功耗特性之外,还具有功耗的可控性,使单片机可以工作在功耗精细管理状态。这也是今后以80C51取代8051为标准MCU芯片的原因。因为单片机芯片多数是采用CMOS(金属栅氧化物)半导体工艺生产。CMOS电路的特点是低功耗、高密度、低速度、低价格。采用双极型半导体工艺的TTL电路速度快,但功耗和芯片面积较大。随着技术和工艺水平的提高,又出现了HMOS(高密度、高速度MOS)和CHMOS工艺。CHMOS和HMOS工艺的结合。目前生产的CHMOS电路已达到LSTTL的速度,传输延迟时间小于2ns,它的综合优势已在于TTL电路。因而,在单片机领域CMOS正在逐渐取代TTL电路。 低功耗化 单片机的功耗已从Ma级,甚至1uA以下;使用电压在36V之间,完全适应电池工作。低功耗化的效应不仅是功耗低,而且带来了产品的高可靠性、高抗干扰能力以及产品的便携化。 低电压化 几乎所有的单片机都有WAIT、STOP等省电运行方式。允许使用的电压范围越来越宽,一般在36V范围内工作。低电压供电的单片机电源下限已可达12V。目前0.8V供电的单片机已经问世。 低噪声与高可靠性 为提高单片机的抗电磁干扰能力,使产品能适应恶劣的工作环境,满足电磁兼容性方面更高标准的要求,各单片厂家在单片机内部电路中都采用了新的技术措施。 大容量化 以往单片机内的ROM为1KB4KB,RAM为64128B。但在需要复杂控制的场合,该存储容量是不够的,必须进行外接扩充。为了适应这种领域的要求,须运用新的工艺,使片内存储器大容量化。目前,单片机内ROM最大可达64KB,RAM最大为2KB。 高性能化 主要是指进一步改进CPU的性能,加快指令运算的速度和提高系统控制的可靠性。采用精简指令集(RISC)结构和流水线技术,可以大幅度提高运行速度。现指令速度最高者已达100MIPS(Million Instruction Per Seconds,即兆指令每秒),并加强了位处理功能、中断和定时控制功能。这类单片机的运算速度比标准的单片机高出10倍以上。由于这类单片机有极高的指令速度,就可以用软件模拟其I/O功能,由此引入了虚拟外设的新概念。 小容量、低价格化 与上述相反,以4位、8位机为中心的小容量、低价格化也是发展动向之一。这类单片机的用途是把以往用数字逻辑集成电路组成的控制电路单片化,可广泛用于家电产品。 外围电路内装化 这也是单片机发展的主要方向。随着集成度的不断提高,有可能把众多的各种处围功能器件集成在片内。除了一般必须具有的CPU、ROM、RAM、定时器/计数器等以外,片内集成的部件还有模/数转换器、DMA控制器、声音发生器、监视定时器、液晶显示驱动器、彩色电视机和录像机用的锁相电路等。 第二节 单片机概况单片机是把中央处理器CPU 、存储器、定时器I/O端口电路等一些计算机的主要功能部件集成在一块电路芯片上的微型计算机。单片机的应用主要基于其控制功能,由于单片机具有集成度高、体积小 、可靠性高、价格低和易实现产品化等特点,特别适合应用于测量和控制领域,可分为单片应用和多机应用,归纳其来可分为以下机方面【2】: 1 智能化仪器仪表中的应用 2 工业测量控制中的应用 3 在交通、军事、计算机网络和通信技术领域中的应用 4 保安报警、办公自动化领域的应用 5 日常生活和家用电器领域的应用第一章 数字钟的硬件设计第一节 MSC-51芯片简介MCS-51单片机内部结构MCS-51由微处理器、存储器、I/O口以及专用寄存器SFR等构成。现在我们分别加以说明:微处理器由运算器和控制器组成。存储器按读写功能分为只读存储器和随机读写存储器。并行输入输出(I/O)口:89C51共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的传输。时钟电路:89C51内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但89C51单片机需外置振荡电容。图1-1是MCS-51系列单片机的内部结构示意图【3】: 图1-1MCS-51的引脚说明【4】:89C51采用40Pin封装的双列直接DIP结构,图1-2是它的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。MCS-51的引脚说明: 图1-2 Pin9:RESET/Vpd复位信号复用脚。Pin29:当访问外部程序存储器时,此脚输出负脉冲选通信号,PC的16位地址数据将出现在P0和P2口上,外部程序存储器则把指令数据放到P0口上,由CPU读入并执行。Pin31:EA/Vpp程序存储器的内外部选通线,89C51和8751单片机,内置有4kB的程序存储器,当EA为高电平并且程序地址小于4kB时,读取内部程序存储器指令数据,而超过4kB地址则读取外部指令数据。在编程时,EA/Vpp脚还需加上21V的编程电压。第二节 AT89C51芯片特性简介适于控制应用的8位CPU。扩展的逻辑处理能力。64K程序存贮器空间和64K数据存贮器空间。4KB片内程序存贮器。128B片内数据RAM。32根双向和可单独寻址的输入输出线。2个16位定时/计数器,片内时钟发生器。全双工异步发送/接收器。6源5向量中断结构,具有两个优先级。第三节 显示器简介一、 LED显示器介绍LED数码管的接法有两种【5】:1、共阳性,2、共阴性(1)、共阳性接法把发光二极管的阳极连在一起构成公共阳极,使用时公共阳极接+5V,每个发光二极管阴极通过与输入端相连。当阴极端输入低电平时,8段发光二极管就导通点亮,而输入高电平时则不点亮。(2)、共阴极接法把发光二极管的阴极连在一起构成公共阴极,同时公共阴极接地。每个发光二极管阳极通过与输入端相连,当阳极端输入高电平时,8段发光二极管就导通点亮,而输入低电平时则不点亮。本设计利提供+5V电压,所以采用共阳极的接法,它在焊接时,也比较容易连接。(3)LED数码管电阻的计算一般发光二极管上的电压为1.52V,本设计中选择发光二极管上的电压Va为2V。由于流过发光二极管的电流I为510 mA,能够保证8段数码管能够正常发亮,如果太大的电流,会使发光二极管击穿;如果太小,发光二极管会不发光,不能够正常显示8段数值。计算公式如2-1所示(注:电阻R=230市场没有的卖,所以选择电阻R=100。)Va=2V,I=10mA,VT1=0.7V R9=(Vcc - VT1-Va)/I=(5-0.7-2)/10 mA =230 (2-1)(4)共阳型管 SM4105数码管是一个单独的七段数码管组成的SM4105芯片说明芯片第1脚,显示的g的段码芯片第2脚,显示的f 的段码芯片第3脚和第8脚,为公共端可以接VCC或者接GND,由于SM4105管是共阳型管,因而接VCC二、 LCD显示器介绍LCD显示器也叫液晶显示器,它是一种被动式显示器,由于它的功耗极低,平板型结构,显示信息量大,寿命长因而得到越来越广泛的运用。LCD显示器本身不发光,只是调节光的亮度,目前市售的LCD显示器都是利用液晶的扭曲向列效应制成,这是一种电场效应,夹在两片导电玻璃电极间的液晶经过一定处理,它的分子显90的扭曲,当线性偏振光透过其偏振面便会旋转90。当在玻璃电极上加上电压后,在电场作用下,液晶的扭曲效应结构消失,其旋光作用也消失了,偏振光便可以直接通过。当去掉电场后液晶分子又恢复其扭曲结构。把这样的液晶置于两个偏振片之间,改变偏振片的相对位置(正交或平行)就可以得到白底黑字或黑底白字的显示形式。LCD显示器的主要参数有:响应速度(200300ms);交流驱动电压(1.53V);功耗(1毫瓦/平方厘米);工作温度(050摄氏度)。现在以笔段型LCD显示器为例,说明其显示驱动原理。显示器除了ag这7个笔划以外,还有一个公共极COM,其笔划如普通数码管,它可用静态方式驱动,也可用动态方式驱动。当加在笔划(a-g)中某个电极上的方波和公共电极(COM)上的方波信号相位相同时,相对电压为零,则该笔划段不显示;当加在某个笔划电极上的方波与公共电极上的方波信号相位相反时,则有幅值2倍于方波幅值的电压加在液晶上,该笔划被选中而显示,如1-3图:相位相同笔划电极公共电极 不显示相位相反笔划电极公共电极 显示图 1-3 LCD显示控制波形例如 :如果要显示数字“3”,则应使a,b,c,d,g笔划段电极上的方波与COM电极上的方波相位相反,而e,f笔划段电极上的方波与COM电极上的方波相位相同。一般控制方波的频率为25100赫兹,并保持其为对称方波,从而使加在液晶极板上的交流电压的平均值为零,否则如有较大的直流分量,将使液晶材料迅速分解,这会大大缩短显示器的工作寿命。 第四节 键盘接口技术 键盘是单片机系统中最常用的人机联系的一种输入设备,它由若干按键组成,用户通过键盘向CPU输入数据或命令以实现简单的人机通信。对键盘的识别可分为两类【6】:一类是由专用的硬件电路来识别(如2376,74C922),它产生相应的编码,并送往CPU,这种方式称为编码键盘,它使用起来方便,但需要价格昂贵的专用芯片,在单片机系统中一般不采用;另一种用软件来识别,称为非编码键盘,它结构简单,价格便宜,应用灵活,单需要编制相应的键盘管理程序。单片机系统普遍采用这种方式。一、键的识别按键工作处于两种状态:按下与释放。一般按下为接通,释放为断开,这两种状态要被CPU识别,通常将该两种状态转换为与之对应的低电平与高电平。一般情况下,将按键信号直接接入单片机的I/O接口,可用JB bit,rel或JNB bit, rel等指令对接入P口的按键的高低电平状态进行识别。由于键的按下与释放是随机的,如何捕捉按键的状态变化是需要考虑的问题。主要有以下两种方法。(1) 外部中断捕捉比如采用四个键的信号接P1.0-P1.3端口,该四根线通过与门相与后和INT0端口相接.无键按下时, P1.0-P1.3端口全为高电平,经过相与后的INT0端口也为高电平.当有任意键按下时, INT0端口由高变为低,向CPU发出中断请求,若CPU开放外部中断0,则响应中断,执行中断服务程序,扫描键盘。用外中断捕捉按键的方法的优点无须定时查询键盘,节省了CPU的时间资源。缺点是容易受到干扰,以有键按下未释放时再有其他键按下时,则无法识别,此外,还需要额外的增加一个与门。(2) 定时查询 一般情况下,单片机系统的用户按一次键(从按下到释放)或释放一次键(从释放到再次按下),最快也需要50MS以上,在此期间,CPU只要有一次查询键盘,则该次按键和释放就不会丢失。因此,可以编制这样的程序,既每隔不大于50MS的时间(典型为20MS)CPU就查询一次键盘,查询各键的按下与释放的状态,就能正确的识别用户对键盘的操作。 各次查询键盘的时间间隔的定时,可用定时器中断来实现,也可以用软件定时来实现(如主程序的执行时间),同时也可以结合LED动态扫描时间来实现。定时查询键盘方法的电路,优点是电路简洁,节省硬件,抗干扰能力强,应用灵活。缺点是占用较多的CPU时间资源(但这对大多数单片机应用系统来说应该不是问题)。一般情况下推荐使用该方法。二、键的消抖 理想的按键信号是一个标准的负脉冲,但是事实上,按下和释放都需要一个过程才能达到稳定,这一过程是处于高低电平之间的一种不稳定状态,称为抖动。抖动持续的时间的长短,频率的高低与按键的机械特性及人的操作有关,一般在5-10MS之间。这就有可能造成CPU对一次按键过程做多次处理。为了避免这种情况发生,应采取措施消除抖动。 消除抖动的方法有两种,一种是采取硬件措施来实现,如用滤波器电路,双稳态电路等。这种方法的另一好处是增强了电路的抗干扰能力。另一种是采用软件来实现,既当发现有键按下时,间隔10MS以上时间后,才进行下一次的查询,这样就绕过了抖动时间,同样,对于释放按键也进行相应的处理。非编码键盘可以分为两种结构形式:独立式键盘和行列式键盘。独立式键盘是指直接用I/O口线构成单个案件电路,每个按键占用一个I/O口线。行列式键盘是将I/O口线的一部分作为行线,另一部分作为列线,按键设置在行线和列线的交点上,这就构成了行列式键盘,行列键盘中按键的数量可达行线数N乘以列线数M,由此可见,行列式键盘在按键较多时,可以节约I/O口线。第五节 看门狗电路 由于单片机自身的抗干扰能力比较差,尤其在一些条件比较恶劣、噪声大的场合,常会出现单片机因为受外界干扰而导致死机的现象,造成系统不能正常工作。设置看门狗是为了防止单片机死机、提高单片机系统抗干扰性的一种重要途径【7】。一、软件看门狗软件看门狗是利用单片机片内闲置的定时器/计数器单元作为看门狗,在单片机程序中适当的插入监控指令,当程序出现异常或进入死循环时,利用软件将程序计数器PC赋予初始值,强制性的使程序重新开始运行。 软件看门狗的最大特点是无须外加硬件电路,经济性好。当然,如果片内的定时器/计数器被占用,就需要寻求其他的设计方式了。二、硬件看门狗 专用硬件看门狗是指一些集成化的或集成在单片机内的专用看门狗电路,它实际上是一个特殊的定时器,当定时时间到时,发出溢出脉冲。从实现角度上看,该方式是一种软件与片外专用电路相结合的技术,硬件电路连接好后,在程序中适当地插入一些看门狗复位的指令,保证程序正常运行时看门狗不溢出。而当程序运行异常时,看门狗超时发出溢出脉冲,通过单片机的RESET引脚使单片机复位。这种方式中,看门狗能否可靠有效地工作,与硬件组成及软件的控制策略都有密切的关系。对于没有看门狗定时器的单片机或是认为内部看门狗不可靠时,可以采用外部看门狗定时器。外部看门狗电路既可以用专用看门狗芯片,也可由普通芯片实现。由于单片机自身的抗干扰能力比较差,尤其在一些条件比较恶劣、噪声大的场合,常会出现单片机因为受外界干扰而导致死机的现象,造成系统不能正常工作。设置看门狗是为了防止单片机死机、提高单片机系统抗干扰性的一种重要途径。一个完整的单片机应用系统应该是一个软、硬件的结合体,在系统正常工作时,会受到各种外界干扰因素的影响。这种外界干扰轻者导致系统内部数据出错,重者将严重影响程序的运行。因此单片机应用系统的开发一定要考虑系统可靠性的设计,以满足系统在现场苛刻环境下的正常运行,而“看门狗”则是系统可靠性设计的重要一环。在一个单片机应用系统中,所谓的“看门狗”是指在系统设计中通过软件或硬件方式在一定的周期内监控单片机或其他CPU的运行情况。如果在规定的时间内没有收到来自单片机或其他CPU的触发信号,则系统会强制复位,以保证系统在受到干扰时仍能够维持正常的工作状态。在单片机系统中,看门狗的设计一般采用硬件和软件结合两种方式。第二章 数字钟系统设计 第一节 设计方案 数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到广泛应用。数字钟的工作原理如图2-1 :图2-1方案一:基本门电路搭肩,用基本门电路来实现数字钟,电路结构复杂,故障系数大,不易调试。方案二:单片机编程,用单片机设计电路,由于使用软硬件结合的方式,所以电路结构简单,调试也相对方便。与第一种方案比较优点明显,我选择了第二种方案。第二节 系统的功能与要求1.自动计时,由五位LCD显示器显示时、分、星期。用两个LCD闪动的点来指示秒的节拍;2.具有整点报时功能;2.具备调校功能;3.精度为15秒/月。4。通常时钟的调校使用按键进行操作,本方案采用三个按键,一个用于被调位的选取,另外两个用于加一和减一。这种方案直观,使用方便,需要按键数量少。5。由于对时钟的精度要求较高,因此只能采用晶体震荡器。定时由单片机里的定时器来完成,但考虑到用软件装载定时常数会产生误差,所以要采用具有自动重装载功能的定时器方式二,这样会消除积累误差,另外在硬件上采用可调电容来消除晶振的调整频差。第二节 系统硬件的选用选用设备有:(1) AT89C51单片机一片 (2) 9012型三极管四只(3) 2.4K欧电阻四只 (4) 150欧电阻六只(5) 300欧电阻一只 (6) 6兆赫兹晶振一只(7) 五位数码液晶显示器套件一件 (8)音乐芯片和扬声器各一个(9) 7805三端稳压电源一个 (10) 开关键盘、电容、连线若干。3个按键采用独立键盘结构形式,分别接3根I/O口线。在XTAL2引脚上,可对地接一个可调电容,用来调整晶振频率的偏差。在REST引脚端,连接了一个由电容,电阻,按键组成的上电复位电路和手动复位电路。把液晶显示器套件直接与单片机连接,然后通过软件编程实现对液晶显示器件的驱动,这也是实现液晶显示器件驱动的一种方法。图2-2画出了用89C51的P1,P2,P3三个并行口联合驱动四位液晶显示器件的电路,使用晶振为6MHz。P3.7-P3.0P2.7-P2.0P1.7-P1.0AT89C51P0.7-P0.0 XTAL1 XTAL2石英晶振 I/O 图 2-2第三章 数字钟的软件设计第一节 延时的设定 延时方法可以有两种一是利用MCS-51内部定时器产生溢出中断来确定1秒的时间,另一种是采用软延时的方法【8】。一、硬件延时计数器初值计算定时器工作时必须给计数器送计数器初值,这个值是送到TH和TL中的。他是以加法记数的,并能从全1到全0时自动产生溢出中断请求。因此,我们可以把计数器记满为零所需的计数值设定为C和计数初值设定为TC 可得到如下计算通式: TC=M-C式中,M为计数器摸值,该值和计数器工作方式有关。在方式0时M为213 ;在方式1时M的值为216;在方式2和3为28 计算公式 T=(MTC)T计数 或T计数T计数是单片机时钟周期的倍;为定时初值如单片机的主脉冲频率为,经过分频方式 213微秒毫秒方式216微秒毫秒显然秒钟已经超过了计数器的最大定时间,所以我们只有采用定时器和软件相结合的办法才能解决这个问题 秒的计算方法我们采用在主程序中设定一个初值为的软件计数器和使定时毫秒这样每当到毫秒时就响应它的溢出中断请求,进入他的中断服务子程序。在中断服务子程序中,先使软件计数器减,然后判断它是否为零。为零表示秒已到可以返回到输出时间显示程序。相应程序代码()主程序定时器需定时毫秒,故工作于方式。初值: T计数ms/1us=15536=3CBOH ORG 1000H START: MOV TMOD, #01H ; 令为定时器方式 MOV TH0, #3CH ;装入定时器初值 MOV TL0, #BOH; MOV IE,#82H ;开中断 SEBT TO;启动计数器 MOV RO,#14H;软件计数器赋初值LOOP:SJMP $;等待中断()中断服务子程序 :DJNZ ,AJMP TIME ; 跳转到时间及显示子程序 DJNZ:,;恢复值MOV TH0, #3CH ;重装入定时器初值MOV TL0, #BOH;MOV IE, #82H 二、 软件延时 MCS-51的工作频率为2-12MHZ,我们选用的89C51单片机的工作频率为6MHZ。机器周期与主频有关,机器周期是主频的12倍,所以一个机器周期的时间为12*(1/6M)=2us。我们可以知道具体每条指令的周期数,这样我们就可以通过指令的执行条数来确定1秒的时间。 具体的延时程序分析: DELAY:MOV R4,#08H 延时1秒子程序 DE2:LCALL DELAY1 DJNZ R4,DE2 RETDELAY1:MOV R6,#0 延时125ms 子程序 MOV R5,#0DE1: DJNZ R5,$ DJNZ R6,DE1 RETMOV RN,#DATA 字节数数为2 机器周期数为1所以此指令的执行时间为2ms DELAY1 为一个双重循坏 循环次数为256*256=65536 所以延时时间=65536*2=131072us 约为125us DELAY R4设置的初值为8 主延时程序循环8次,所以125us*8= 1秒第二节 软件的调试与仿真调试有2种方法;第一种,将所编的软件程序输入到伟福软件中通过相应的编译来调试程序。第二种,将编的软件程序输入到DVCC系统中,将计算机与DVCC系统相连接,将相应的程序编译并传送至DVCC系统中,检验程序是否成功。在设计过程中,用的第一种,当出入程序后发现有好多错误,修改后,再烧片,就一切完成了。联机仿真调试 联机仿真必须借助仿真开发装置、示波器、万用表等工具。这些工具是单片机开发的最基本工具。 信号线是联络8051和外部器件的纽带,如果信号线连结错误或时序不对,那么都会造成对外围电路读写错误。51系列单片机的信号线大体分为读、写信号线、片选信号线、时钟信号线、外部程序存贮器读选通信号(PSEN)、地址锁存信号(ALE)、复位信号等几大类。这些信号大多属于脉冲信号,对于脉冲信号借助示波器(这里指通用示波器)用常规方法很难观测到,必须采取一定措施才能观测到。应该利用软件编程的方法来实现。例如对片选信号,运行下面的小程序就可以检测出译码片选信号是否正常。 MAIN:MOVDPTR,DPTR ;将地址送入DPTR MOVXA,DPTR;将译码地址外RAM中的内容送入ACCNOP;适当延时SJMPMAIN;循环执行程序后,就可以利用示波器观察芯片的片选信号引出脚(用示波器扫描时间为1s每格档),这时应看到周期为数微秒的负脉冲波形,若看不到则说明译码信号有错误。 对于电平类信号,观测起来就比较容易。例如对复位信号观测就可以直接利用示波器,当按下复位键时,可以看到8031的复位引脚将变为高电平;一旦松开,电平将变低。总而言之,对于脉冲触发类的信号我们要用软件来配合,并要把程序编为死循环,再利用示波器观察;对于电平类触发信号,可以直接用示波器观察。 第三节 程序流程图清各种标志初始化程序对其它需要初始化的RAM进行设置设置定时器0的工作方式,并赋初值 设置堆栈指针进入主程序设置时间初值设置中断状态主程序Y无键按下NNNYN取时低位BCD码关显示调用延时5毫秒程序选通时高位数码管开关被修改位闪动处理取时高位BCD码,查表得7段码,连同秒节拍显示信息送显示口Y有键已按下标志N置键按下标志Y是选位键选位键程序取时低位BCD码取分低位BCD码,查表得7段码,连同秒节拍显示信息送显示口是加1键加1键程序Y关显示选通时高位LCD开关被修改位闪动处理取时高位BCD码,查表得7段码,连同秒节拍显示信息送显示口被修改位闪动处理是减1键减1键程序选通分低位开关调用延时5毫秒程序清键按下标志 1关显示选位键程序1分单元置59分清 秒时单元置23时非1(非修改时单元)选位计数器的值是0(修改分单元)不等于99HBCD 减1由选位计数器的值找到相应的被修改时间单元减1键程序选位计数器加1Y不等于3N清 零1加1键程序由选位计数器的值找到相应的被修改时间单元BCD加1选位计数器是0(修改分单元)YY不等于60分NNYYYNYN非1(修改时单元)N置0YNN不等于24时置1清 秒1Y不等于60秒秒单元BCD加1秒标志是0秒标志取反重置计数器05秒计时未到重现计数器10毫秒计时未到保护现场T0中断服务程序(定时500微秒)NNNNNNYYYYY中断返回恢复现场置0时不等于24时时单元BCD加1置0分不等于60分分单元BCD加1置0秒图3-1 程序流程图第四节 系统内存分配和I/0接口使用 RAM分配表单元地址 用途30H 10毫秒计时31H 0.5秒计时32H 秒计数器33H 分计数器34H 时计数器35H 选位计数器36H 星期计数器第五节 程序源代码位地址 用途00H 键已按下01H 秒节拍显示标志(兼被修改位闪动标志) ORG 0000H LJMP STA ORG 000BH LJMP T0STA: MOV SP,#6FH ;设置堆栈 MOV IE,#82H ;允许T0中断 MOV TMOD,#02H ;定时器方式2 MOV TH0,#06H ;定时器时间500US MOV TL0,#06H MOV 30H,#14H ;10MS计时初值 MOV 31H,#32H ;0.5S计时初值 MOV 32H,#00H ;清秒计数器 MOV 33H,#00H ;清分计数器 MOV 34H,#00H ;清时计数器 MOV 36H,#00H ;清星期计数器 MOV 35H,#00H ;置选位计数器为非修改状态 SETB TR0 ;启动定时器 MAIN: MOV A,P3 ;取键盘 ORL A,01001111B ;屏蔽非键盘输入位 CJNE A,#0FFH,LOOP1 SJMP LOOP2 ;无键按下则跳过LOOP1: JB 00H,LOOP3 ;有键按下标志,则跳过 SETB 00H ;无标志置标志后查键 JB P3.4,LOOP4 SJMP KEY0 ;选位键按下跳转至该程序LOOP4: JB P3.5,LOOP5 SJMP KEY1 ;加1键按下跳转至该程序LOOP5: JB P3.7,LOOP2 SJMP KEY2 ;减1键按下跳转至该程序LOOP2: CLR 00H ;无键按下则清键已按下标志LOOP3: MOV DPTR,#TABLE ;置7段数码表格首地址 MOV A,34H ;取时的高位显示 ANL A,#0FH MOVC A,A+DPTR MOV C,01H ;秒节拍显示处理 MOV ACC.7,C MOV P1,A MOV A,35H ;如修改时单元,作闪动处理 CJNE A,#01H,LOOP12 ;选位计数器未选中时单元跳过 JNB 01H,LOOP12 ;无闪动标志跳过 ORL P1,#7FH ;清显示LOOP12: CLR P3.0 ;选通时的高位显示 LCALL DELY ;延时5MS ORL P3,#0FH ;关闭显示 MOV A,34H ;取时的低位显示 ANL A,#0FH MOVC A,A+DPTR MOV C,01H MOV ACC.7,C MOV P1,A MOV A,35H CJNE A,#01H,LOOP13 JNB
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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