




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计课题名称:基于AT89C52单片机的数字钟设计院 系 名 称 专 业 班 级 学 生 姓 名 学 号 指 导 教 师 完成日期: 摘 要近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,本设计中以单片机的发展过程和发展方向为背景,中断的工作原理和操作方法,以单片机(AT89C52)为核心,结合相关的元器件数码显示器,再配以相应的软件,使它具有时,分,秒显示的功能,并且时,分,秒还可以调整。此次设计电子数字钟是为了解电子数字钟的原理,通过Keil C51编译软件,再利用Proteus仿真软件仿真原理图使我们掌握用单片机制作数字钟.关键词: AT89C52、Keil C51、ProteusAbstractIn recent years, with the computer in the social sector infiltration and large scale integrated circuit of development, the application of SCM is continuously to the deepening, this design by MCU development process and the direction of development as the background, the interrupt the work principle and operation method, taking single-chip (AT89C52) as the core, combining relevant components digital display, match again with the corresponding software, make it has, points, seconds shown functionality, and, points, seconds can be adjusted. This design electronic digital clock is to understand the principle of electronic digital clock Keil software C51 compiled by reusing simulation software simulation, Proteus principle chart that we master MCU making digital clock.Keywords: AT89C52, Keil C51, Proteus目 录摘 要2Abstract2目 录3一、设计目的与背景41.1 设计目的41.2 设计背景41.3 数字钟的意义4二、设计内容及要求52.1 任务及要求52.2 系统功能说明5三、整体设计方案53.1 单片机的基本介绍53.1.1 单片机的特点63.1.2 单片机的主要应用领域73.2 单片机的结构83.2.1 MCS-52单片机内部结构83.2.3 MCS-52的引脚说明103.3 硬件设计123.3.1 硬件设计的原则123.3.2 单片机的型号选择123.3.3 LED数码管133.3.4 按键控制电路143.4 软件设计153.4.1 软件程序设计153.4.2 定时中断程序设计16四、电路设计和仿真实现174.1 电路设计原理:174.2 Proteus软件介绍174.3 Keil C调试环境介绍174.4 电路的引脚连接184.5 电路连接图18五、总结19参考文献19附录20附录1 软件设计完整代码20附录2 Proteus仿真图26一、设计目的与背景1.1 设计目的(1)通过对课题设计方案的分析、选择、比较、熟悉单片机用系统开发、研制的过程,软硬件设计的方法、内容及步骤。(2)培养针对课题需要,选择和查阅有关手册、图表及文献资料的自学能力,提高组成系统、编程、调试的动手能力;(3)提高综合及灵活运用所学知识解决工业控制的能力,培养动手能力和实际应用能力。1.2 设计背景目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。下面是单片机的主要发展趋势。单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。1.3 数字钟的意义数字钟是采用数字电路实现对时、分、秒的数字显示计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。二、设计内容及要求2.1 任务及要求通过单片机内定时器控制走时,准确持续走时,调时不影响走时。在八个数码管上显示时、分、秒及两个小数点。含有闹钟功能,可以选择闹钟开关,可以设定闹铃时间。到达闹钟时刻蜂鸣器警报,可以关掉警报。2.2 系统功能说明电子钟的格式为:XX.XX.XX ,由左向右分别为:时、分、秒。完成显示由秒01一直加1至59,再恢复为00;分加1,由00至01,一直加1至59,再恢复00;时加1,时由00加至23之后秒、分、时全部清清零。该钟使用T0作250us的定时中断。走时调整:走时过程中直接调整且不影响走时准确性,按下时间选择键对“时、分、秒”显示进行调整,每按一下时间加,即加1,时间减,即减1。三、整体设计方案本课题整体设计方案分为硬件设计和软件设计。硬件电路设计主要是用单片机和LED显示屏连接组成,另外加入按键,开关,蜂鸣器等;软件编程设计室用C编程,Keil C51调试。3.1 单片机的基本介绍 单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件1:中央处理器、存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。3.1.1 单片机的特点 单片机经过三代的发展,正朝着多功能、高性能、低电压、低功耗、低价格、大存储容量、强大的I/O功能及较好的结构兼容性方向发展。其发展趋势不外乎以下几个方面:1、多功能 单片机中尽可能地把所需要的存储器和I/O口都集成在一块芯片上,使得单片机可以实现更多的功能。比如A/D、PWM、PCA(可编程计数器阵列)、WDT(监视定时器-看家狗)、高速I/O口及计数器的捕获/比较逻辑等。 有的单片机针对某一个应用领域,集成了相关的控制设备,以减少应用系统的芯片数量。例如,有的芯片以51内核为核心,集成了USB控制器、SMART CARD接口、MP3解码器、CAN或者IC总线控制器等,LED、LCD或VFD显示驱动器也开始集成在8位单片机中。2、高效率和高性能 为了提高执行速度和执行效率,单片机开始使用RISC、流水线和DSP的设计技术,使单片机的性能有了明显的提高,表现为:单片机的时钟频率得到提高;同样频率的单片机运行效率也有了很大的提升;由于集成度的提高,单片机的寻址能力、片内ROM(FLASH)和RAM的容量都突破了以往的数量和限制。 由于系统资源和系统复杂程度的增加,开始使用高级语言(如C语言)来开发单片机的程序。使用高级语言可以降低开发 难度,缩短开发周期,增强软件的可读性和可移植性,便于改进和扩充功能。3、低电压和低功耗 单片机的嵌入式应用决定了低电压和低功耗的特性。由于CMOS等工艺的大量采用,很多单片机可以在更低的电压下工作(1.2V或0.9V),功耗已经降低到uA级。这些特性使得单片机系统可以在更小电源的支持下工作更长的时间。4、低价格单片机应用面广,使用数量大,带来的直接好处就是成本的降低。目前世界各大公司为了提高竞争力,在提高单片机性能的同时,十分注意降低产品的价格。3.1.2 单片机的主要应用领域(1)家用电器领域 用单片机控制系统取代传统的模拟和数字控制电路,使家用电器(如洗衣机、空调、冰箱、微波炉、和电视机等)功能更完善,更加智能化和易于使用。(2)办公自动化领域 单片机作为嵌入式系统广泛应用于现代办公设备,如计算机的键盘、磁盘驱动、打印机、复印机、电话机和传真机等。(3)商业应用领域 商业应用系统部分与家用和办公应用系统相似,但更加注重设备的稳定性、可靠性和安全性。商用系统中广泛使用的电子计量仪器、收款机、条形码阅读器、安全监测系统、空气调节系统和冷冻保鲜系统等,都采用了单片机构成的专用系统。与通用计算机相比,这些系统由于比较封闭,可以更有效地防止病毒和电磁干扰等,可靠性更高。(4)工业自动化 在工业控制和机电一体化控制系统中,除了采用工控计算机外,很多都是以单片机为核心的单片机和多机系统。(5)智能仪表与集成智能传感器 目前在各种电气测量仪表中普遍采用了单片机应用系统来代替传统的测量系统,使得测量系统具有存储、数据处理、查询及联网等智能功能。将单片机和传感器相结合,可以构成新一代的智能传感器。它将传感器变换后的物理量作进一步的变化和处理,使其成为数字信号,可以远距离传输并与计算机接口。(6)现代交通与航空航天领域 通常应用于电子综合显示系统、动力监控系统、自动驾驶系统、通信系统以及运行监视系统等。这些领域对体积、功耗、稳定性和实时性的要求往往比商用系统还要高,因此采用单片机系统更加重要。3.2 单片机的结构3.2.1 MCS-52单片机内部结构 8052单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线。1. 中央处理器3:中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。2数据存储器(RAM)8052内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。如图1图1 单片机8052的内部结构3程序存储器(ROM):8052共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。4定时/计数器:8052有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。5并行输入输出(I/O)口:8052共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的传输。6全双工串行口:8052内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。7中断系统:8052具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。8时钟电路:8052内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但8052单片机需外置振荡电容。单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(Princeton)结构。Intel的MCS-52系列单片机采用的是哈佛结构的形式,而后续产品16位的MCS-96系列单片机则采用普林斯顿结构。下图2是MCS-52系列单片机的内部结构示意图。图2 MCS-52系列单片机的内部结构3.2.3 MCS-52的引脚说明MCS-52系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。现在我们对这些引脚的功能加以说明。如图3 图3 单片机的引脚图P0端口P0.0-P0.7:P0是一个8位漏极开路型双向I/O端口,端口置1(对端口写1)时作高阻抗输入端。作为输出口时能驱动8个TTL。对内部Flash程序存储器编程时,接收指令字节;校验程序时输出指令字节,要求外接上拉电阻。在访问外部程序和外部数据存储器时,P0口是分时转换的地址(低8位)/数据总线,访问期间内部的上拉电阻起作用。P1端口P1.0P1.7:P1是一个带有内部上拉电阻的8位双向I/0端口。输出时可驱动4个TTL。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash程序存储器编程时,接收低8位地址信息。P2端口P2.0P2.7:P2是一个带有内部上拉电阻的8位双向I/0端口。输出时可驱动4个TTL。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash程序存储器编程时,接收高8位地址和控制信息。在访问外部程序和16位外部数据存储器时,P2口送出高8位地址。而在访问8位地址的外部数据存储器时其引脚上的内容在此期间不会改变。P3端口P3.0P3.7:是一个带有内部上拉电阻的8位双向I/0端口。输出时可驱动4个TTL。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash程序存储器编程时,接控制信息。除此之外P3端口还用于一些专门功能,见表1。P3引脚兼用功能P3.0串行通讯输入(RXD)P3.1串行通讯输出(TXD)P3.2外部中断0( INT0)P3.3外部中断1(INT1)P3.4定时器0输入(T0)P3.5定时器1输入(T1)P3.6外部数据存储器写选通WRP3.7外部数据存储器写选通RD表1P3端口引脚兼用功能表Pin 9: RESET复位信号复用脚,当8052通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指针写入07H,其它专用寄存器被清“0”。RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态,8052的初始态。Pin30: ALE/当访问外部程序器时,ALE(地址锁存)的输出用于锁存地址的低位字节。而访问内部程序存储器时,ALE端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。更有一个特点,当访问外部程序存储器,ALE会跳过一个脉冲。 对Flash 存储器编程期间,该引脚还用于输入编程脉冲 (PROG)。 如有必要,可通过对特殊功能寄存器(SFR)区中的8EH 单元的D0 位置位,可禁止ALE 操作。该位置位后,只有一 条MOVX 和MOVC 指令才能将ALE 激活。此外,该引脚会被微 拉高,单片机执行外部程序时,应设置ALE 禁止位无效。 Pin29: 当访问外部程序存储器时,此脚输出负脉冲选通信号,PC的16位地址数据将出现在P0和P2口上,外部程序存储器则把指令数据放到P0口上,由CPU读入并执行。Pin31: EA/Vpp程序存储器的内外部选通线,8051和8751单片机,内置有4kB的程序存储器,当EA为高电平并且程序地址小于4kB时,读取内部程序存储器指令数据,而超过4kB地址则读取外部指令数据。如EA为低电平,则不管地址大小,一律读取外部程序存储器指令。显然,对内部无程序存储器的8031,EA端必须接地。3.3 硬件设计3.3.1 硬件设计的原则在性价比满足应用系统要求的情况下,选择更可靠,更熟悉的单片机缩短研制周期。尽可能选择自己较为熟悉的应用电路,以提高系统的可靠性。单片机内部的资源与外部的扩展资源应在满足系统设计的基础上留有余地,为进一步的升级和扩展提供方便。应充分的结合软件方案考虑硬件的结构,通常硬件功能较完善,其相应的软件程序就简单,但硬件的成本较高,而功能较低,其相应的软件就复杂,其实际常用软件代替硬件来降低成本。整个系统相关的器件尽可能的做到性能相匹配。3.3.2 单片机的型号选择目前,我国生产很多型号的单片机,在此,我们采用型号为AT89C52的单片机。因为AT89C52是一个低电压,高性能CMOS 8位单片机,片内含4k bytes的可反复擦写的Flash只读程序存储器和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-52指令系统,片内置通用8位中央处理器和Flash存储单元,内置功能强大的微型计算机的AT89C52提供了高性价比的解决方案。AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。 AT89C52主要功能特性: 兼容MCS51指令系统 8k可反复擦写(1000次)Flash ROM 32个双向I/O口 256x8bit内部RAM 3个16位可编程定时/计数器中断 时钟频率0-24MHz 2个串行中断 可编程UART串行通道 2个外部中断源 共8个中断源 2个读写中断口线 3级加密位 低功耗空闲和掉电模式 软件设置睡眠和唤醒功能3.3.3 LED数码管LED数码管是显示常用电子元器件,它是由发光二极管构成的,亦称半导体数码管。将条状发光二极管按照共阴极(负极)或共阳极(正极)的方法连接,组成“8”字,再把发光二极管另一电极作笔段电极,就构成了LED数码管。下面将介绍它的性能特点:(1)能在低电压、小电流条件下驱动发光,能与CMOS、ITL电路兼容。(2)发光响应时间极短(01s),高频特性好,单色性好,亮度高。(3)体积小,重量轻,抗冲击性能好。(4)成本低,寿命长,使用寿命在10万小时以上,甚至可达100万小时。首先介绍一下七段数码管的引脚图,如图4。图4 七段数码管引脚图数码管使用条件:A、段及小数点上加限流电阻。B、使用电压:段:根据发光颜色决定; 小数点:根据发光颜色决定。C、使用电流:静态:总电流 80mA(每段 10mA);动态:平均电流 4-5mA 峰值电流100mA。LED数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。如图5 A、共阴极七段数码管 B、共阳极七段数码管图5将多只LED的阴极连在一起即为共阴式,而将多只LED的阳极连在一起即为共阳式。以共阴式为例,如把阴极接地,在相应段的阳极接上正电源,该段即会发光。当然,LED的电流通常较小,一般均需在回路中接上限流电阻。假如我们将b和c段接上正电源,其它端接地或悬空,那么b和c段发光,此时,数码管显示将显示数字“1”。而将a、b、d、e和g段都接上正电源,其它引脚悬空,此时数码管将显示“2”。其它字符的显示原理类同。对于多位LED显示器,通常都是采用动态扫描的方法进行显示。3.3.4 按键控制电路本课程设计需要校对时间和设定闹钟,所以用三个按键来实现。按hour来调节小时的时间,按 min来调节分针的时间,按 sec来调节秒的时间。当用手按下一个键时,如图6所示,往往按键在闭合位置和断开位置之间跳几下才稳定到闭合状态的情况;在释放一个键时,也回会出现类似的情况,这就是抖动。这是使用按键控制不可避免的问题。抖动的持续时间随键盘材料和操作员而异,不过通常总是不大于10ms。很容易想到,抖动问题不解决就会引起对闭合键的识别。用软件方法可以解决抖动问题,这就是通过延迟10ms来等待抖动消失,这之后,在读入按键码。图 63.4 软件设计3.4.1 软件程序设计 本设计的软件程序包括主程序、定时中断子程序、时钟显示子程序和延时子程序等等。主程序是先开始执行的,然后启动定时器,定时器启动后在进行按键检测,检测完后,就可以显示时间。按键处理是先检测秒按键是否按下,秒按键如果按下,秒就加1;如果没有按下,就检测分按键是否按下;分按键如果按下,分就加1,如果没有按下,就检测时按键是否按下;时按键如果按下,时就加1,如果没有按下,就把时间显示出来。定时器中断是先检测1秒是否到,1秒如果到,秒单元就加1;如果没到,就检测1分钟是否到,1分钟如果到,分单元就加1;如果没到,就检测1小时是否到,1小时如果到,时单元就加1,如果没到,就显示时间。时间显示是先秒个位计算显示,然后是秒十位计算显示,再是分个位计算显示,再然后是分十位显示,再就是时个位计算显示,最后是时十位显示。主程序流程图,如图6图6 源程序流程图3.4.2 定时中断程序设计单片机的定时功能也是通过计数器的计数来实现的,此时的计数脉冲来自单片机的内部,即每个机器周期产生一个计数脉冲,也就是每经过1个机器周期的时间,计数器加1。如果MCS-52采用的12MHz晶体,则计数频率为1MHz,即每过1us的时间计数器加1。这样可以根据计数值计算出定时时间,也可以根据定时时间的要求计算出计数器的初值。MCS-52单片机的定时器/计数器具有4种工作方式,其控制字均在相应的特殊功能寄存器中,通过对特殊功能寄存器的编程,可以方便的选择定时器/计数器两种工作模式和4种工作方式。定时器/计数器工作在方式0时,为13位的计数器,由TLX(X=0、1)的低5位和THX的高8位所构成。TLX低5位溢出则向THX进位,THX计数溢出则置位TCON中的溢出标志位TFX.当定时器/计数器工作于方式1,为16位的计数器。本设计师单片机多功能定时器,所以MCS-51内部的定时器/计数器被选定为定时器工作模式,计数输入信号是内部时钟脉冲,每个机器周期产生一个脉冲使计数器增1。四、电路设计和仿真实现 4.1 电路设计原理:1. 将整个硬件系统划分为若干功能单元电路,绘出整个系统逻辑电路图,注明各交单元电路间接口信号 ;2. 完成各单元电路设计,包括选择合适的各类元器件和电路板设计(元件布局和走线)。3.整个硬件图由蓝色LED七段数码管、80C52单片机、按键、电容、电解电容、石英晶振、电阻、排阻、和蜂鸣器组成。4.2 Proteus软件介绍Proteus软件是Labcenter Electronics公司的一款电路设计与仿真软件,它包括ISIS、ARES等软件模块,ARES模块主要用来完成PCB的设计,而ISIS模块用来完成电路原理图的布图与仿真。Proteus的软件仿真基于VSM技术,它与其他软件最大的不同也是最大的优势就在于它能仿真大量的单片机芯片,比如MCS-51系列、PIC系列等等,以及单片机外围电路,比如键盘、LED、LCD等等。通过Proteus软件的使用我们能够轻易地获得一个功能齐全、实用方便的单片机实验室。4.3 Keil C调试环境介绍Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻4.4 电路的引脚连接P0.0 - P0.7经过上拉电阻连接7SEGMPX8CABLUE显示器的AG和DP控制数位(09),P2.0-P2.7连接7SEGMPX8CABLUE的18脚控制显示器的时、分、秒和中间空格发光二极管的发光循序。4.5 电路连接图Proteus仿真和Keil C联调用PROTUES软件,根据数字电子钟的原理图,画出仿真图,得到的图如下所示。图7 电路连接图五、总结首先从任务要求出发,分析如何实现功能,然后将其分为若干模块,将每个模块设计好以后,再进行总体设计,最后是将硬件电路焊好,并进行电路连接。通过这次毕业课程的设计使我对单片机有了深入的认识,特别是对定时中断方式有了直观的认识,设计数字钟我们用单片机内部定时计数器,通过设置定时器产生精确的定时中断,达到计时的目的。用定时器可以产生250us的精确定时,然后,4000次中断后就得到了精确的1s的定时,60个1s,即产生了1分钟等等。用延时也可以做电子钟,但产生的定时一般是近似值,走得时间久了,定时会产生较大的偏差,而用定时器中断做的电子钟就不会有这个问题,很准确。这个数字钟还可以进一步的加入功能,在以后的设计中,逐渐增加其他的功能,比如说加温度控制,加秒表和显示日期和星期等来进一步完善这个电子钟。参考文献1 张毅刚、彭喜元 单片机原理与应用设计 电子工业出版社2 李玉梅 基于MCS51系列单片机原理的应用设计 国防工业出版社3 顾栤、赵伟军、王泰 单片机计算机原理开发应用 高等教育出版社4 张洪润、蓝清华 单片机应用技术教程 清华大学出版社附录附录1 软件设计完整代码#include#define uchar unsigned char#define uint unsigned intuchar code weixuan8=0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01; /位选,控制哪个数码管亮。(从右到左)ucharcode duanxuan12=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xff; /0-9,-,灭uchar data timedata3=0x00,0x00,0x00; /时间缓冲区,分别为:秒、时、分。uchar data datetime8=0xc0,0xc0,0xbf,0xc0,0xc0,0xbf,0xc0,0xc0; /时间缓冲区,初始化显示00-00-00。uchar tt1,tt2,tt,tt0,num=0;uchar flag,flag1,flag2,flash;sbit key1=P13;sbit key2=P15;sbit key3=P17;/*延时函数*void delay(uint del)uchar i, j;for(i=0; idel; i+)for(j=0; j=148; j+);/*调用显示*void display() datetime0=timedata0%10; datetime1=timedata0/10; /秒 datetime3=timedata1%10; datetime4=timedata1/10; /分 datetime6=timedata2%10; datetime7=timedata2/10; /时 if(!flag) P2=0X80; /秒显示 P0=duanxuandatetime0; delay(2); P2=0X40; P0=duanxuandatetime1; delay(2); else P2=0X80; /秒显示 P0=duanxuandatetime0|flash; delay(2); P2=0X40; P0=duanxuandatetime1|flash; delay(2); P2=0X20; /显示- P0=duanxuan10; delay(2); if(!flag1) P2=0X10; /分显示 P0=duanxuandatetime3; delay(2); P2=0X08; P0=duanxuandatetime4; delay(2); else P2=0X10; /分显示 P0=duanxuandatetime3|flash; delay(2); P2=0X08; P0=duanxuandatetime4|flash; delay(2); P2=0X04; /显示- P0=duanxuan10; delay(2); if(!flag2) P2=0X02; /小时 P0=duanxuandatetime6; delay(2); P2=0X01; P0=duanxuandatetime7; delay(2); else P2=0X02; /小时
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 下传统节日作文清明节(8篇)
- 赤壁怀古:古诗文意象解读教案
- 科技之光与时代力量:初中八年级科普说明文阅读指导教案
- 时间和位移的课件
- 一年级日记看电影100字15篇
- 贵金属交易风险披露书及合同书
- 吉林省松原市前郭县2024-2025学年八年级下学期期末考试物理试题(含答案)
- 早期阅读犟龟课件
- 观少年派有感1500字(10篇)
- 纪检业务培训课件模板
- 安全生产标准化基本规范评分表
- 《机械常识(第2版)》中职技工全套教学课件
- 咖啡学概论智慧树知到期末考试答案章节答案2024年华南理工大学
- 工字钢承重表
- 2023房屋安全鉴定服务规范
- 矿山用电安全知识培训课件
- 床垫营销方案
- 《落实主体责任》课件
- 收到美因基因检测报告痛风
- 2024年贵州水投水务集团有限公司招聘笔试参考题库含答案解析
- 《品质改善报告》课件
评论
0/150
提交评论