单片机课程设计-LED显示的电子钟.doc_第1页
单片机课程设计-LED显示的电子钟.doc_第2页
单片机课程设计-LED显示的电子钟.doc_第3页
单片机课程设计-LED显示的电子钟.doc_第4页
单片机课程设计-LED显示的电子钟.doc_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

课 程 设 计 设计名称 LED显示的电子钟 全套设计加扣3012250582 学年学期 2013-2014(下) 课程名称 单片机原理及应用课程设计 专业年级 电气112班 姓 名 学 号 提交日期 2014年6月11日 成 绩 指导教师 水利与建筑工程学院 前 言在日新月异的21世纪里,家用电子产品得到了迅速发展。许多家电设备都趋于人性化、智能化,这些电器设备大部分都含有CPU控制器或者是单片机。单片机以其高可靠性、高性价比、低电压、低功耗等一系列优点,近些年得到迅猛发展和大范围推广,广泛应用于工业控制系统、通讯设备、日常消费类产品和玩具等。并且已经深入到工业生产的各个环节以及人民生活的各个方面,如车间流水线控制、自动化系统等、智能型家用电器(冰箱、空调、彩电)等。用单片机来控制的小型家电产品具有便携实用,操作简单的特点。日历,自从它发明的那天起,就成为人类的朋友。由于日期的变化与时间的变化有着密不可分的联系,因此时钟的准确性对于日期准确性具有重要作用。但随着时间的推移,科学技术的不断发展,人们对时间计量的精度要求越来越高,应用越来越广。怎样让日历与时钟更好的为人类服务,怎样让我们的老朋友焕发青春呢?这就要求人们不断设计出新型时钟。现今,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都采用了石英技术,因此精度高,稳定性好,使用方便,不需要经常调校,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED数码管代替指针显示进而显示时间,减小了计时误差。时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间。本次设计以硬件软件化为指导思想,充分发挥单片机功能,大部分功能通过软件编程来实现,电路简单明了,系统稳定性高。实现了日期、时间、温度的功能。同时,该时钟系统还具有功耗小、成本低的特点,具有很强的实用性,而且系统具有一定的可扩展性。 目录前 言 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2摘 要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4第一章 设计目的及要求. . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.1、设计目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.2、设计要求 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.2.1、基本要求 . . . . . . . . . . . . . . . . . . . . . . . . . . 5第二章 方案设计 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.1、系统综述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2、设计方案 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2.1、单片机选择方案 . . . . . . . . . . . . . . . . . . . . . . . . 6第三章 主要元器件介绍 . . . . . . . . . . . . . . . . . . . . . . . . . 83.1、AT89C52芯片简介 . . . . . . . . . . . . . . . . . . . . . . . . . . 83.1.1、引脚说明 . . . . . . . . . . . . . . . . . . . . . . . . . . 83.2、晶振 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93.3、温度传感器单元 . . . . . . . . . . . . . . . . . . . . . . . . . . . 93.3.1、DS18B20的特点 . . . . . . . . . . . . . . . . . . . . . . . . 93.3.2、DS18B20引脚定义 . . . . . . . . . . . . . . . . . . . . . . . 103.3.3、DS18B20的性能特点如下 . . . . . . . . . . . . . . . . . . . .10 3.4、74LS245芯片的介绍 . . . . . . . . . . . . . . . . . . . . . . . . .11 3.5、74LS138的介绍 . . . . . . . . . . . . . . . . . . . . . . . . . . .11 3.6、MAX232芯片的介绍 . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.7、数码显示管为共阴极数码显示管 . . . . . . . . . . . . . . . . . . 12 第四章 硬件电路设计 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .134.1、总体接线 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13- 第五章 软件设计及主要子程序 . . . . . . . . . . . . . . . . . . . . . . . . . . 145.1、主程序设计(时间显示程序) . . . . . . . . . . . . . . . . . . . . . . .145.2、主程序键盘显示程序如下 . . . . . . . . . . . . . . . . . . . . . . . . .145.3、日期时间中断流程 . . . . . . . . . . . . . . . . . . . . . . . . . . 16-5.4、日历流程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185.5、温度流程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18第6章 系统仿真与调试 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196.1、Protues仿真平台 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196.1.1、Protues仿真简介及部分模块仿真 . . . . . . . . . . . . . . . . . . 196.2、软件调试 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196.21、年月日的显示 . . . . . . . . . . . . . . . . . . . . . . . . . . 196.2.2、时分秒的显示 . . . . . . . . . . . . . . . . . . . . . . . . . . . 206.2.3、星期与温度的显示 . . . . . . . . . . . . . . . . . . . . . . . . . 20第七章 课程设计总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22附录 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34附录一:程序清单 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34附录二:元件清单 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34参考文献 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35鸣谢 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 摘 要本设计使用AT89C52单片机为主要控制器,辅以74LS138译码器、74LS245总线驱动器、温度传感器DS18B20、3x3矩阵键盘以及LED六位数码管显示等电路,本设计是基于单片机进行的实时日历和时钟显示设计,可以显示年月日时分秒周、实时温度信息,具有日历参数(包括日期、时间及周)的手动调整设置的功能,并附带有其他扩充功能。该系统使用单片机的定时器中断方式进行计时,能有效减小了系统误差,再使用译码器进行片选,节省了单片机的I/O口,使用了矩阵键盘进行功能的选择。该系统具有设计简单,结构清晰的特点,经测试,能够较好的实现题目所要求的基本和扩充功能,具有人性化的操作和直观的显示效果。软件方面主要包括日历程序、键盘程序,显示程序、温度程序等。本系统以单片机的汇编语言进行软件设计。所有程序编写完成后,在keil软件中进行调试,确定没有问题后,在Proteus软件中嵌入单片机内进行仿真。重复上述过程,直到达到预期的功能。关键词:AT89C52、电子日历、时间、温度测量第一章 设计目的及要求1.1、设计目的本次课程设计目的在于真正的把所学单片机理论知识应用于实际,更加熟悉单片机的硬件与软件。能灵活运用Keil进行软件编程调试以及用proteus软件仿真。本次设计组成电子密码锁系统,画出系统硬件电路图,设计编写键盘控制、LED显示、声报警、密码输入等子程序。在调试程序时,要求整个系统工作正常、显示正确、结果满意,掌握该芯片的工作原理并完成读、写程序的设计、编写和调试。1.2、设计要求1.2.1、基本要求(1)时间显示:年、月、日(各2位)(2)日历参数的手动设置(3)选择传感器,并设计相应的信号处理电路。(4)实现实时温度显示功能 ,当温度超过30度,或低于零下-10时,声光报警提示。(5)每当月份和年份变化时,声光报警提示。(7)显示星期的功能。(8)重要节日提示功能。第二章 方案设计2.1、 系统综述 本设计模块划分为数据采集、键盘控制、报警等子模块。电路结构可划分为:矩阵键盘电路、报警器、单片机控制电路、LED控制电路及温度检测模块。用户终端完成信息采集、处理、数据传送、功能设定、本地报警等功能。就此设计的核心模块来说,单片机就是设计的中心单元,所以此系统也是单片机应用系统的一种应用。单片机应用系统也是有硬件和软件组成。硬件包括单片机、输入/输出设备、以及外围应用电路等组成的系统,软件是各种工作程序的总称。单片机应用系统的研制过程包括总体设计、硬件设计、软件设计等几个阶段。从设计的要求来分析该设计须包含如下结构:温度的测量电路、报警电路、单片机、复位电路及显示电路组成。 AT89C52复位电路键盘扫描报警执行电路LED发光显示处理驱动驱动 图2-1 总体设计框图2.2、 设计方案2.2.1、单片机选择方案设计选用单片机AT89C52作为本设计的核心元件,利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本的密码锁功能。 2.2.2、显示模块选择方案和论证方案一:采用LED液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,但是价格昂贵,需要的接口线多,所以在此设计中不采用LED液晶显示屏。方案二:采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示。方案三:采用LED数码管动态扫描,LED数码管价格适中,对于显示数字最合适,而且采用动态扫描法与单片机连接时,占用的单片机口线少。所以采用了LED数码管作为显示。2.2.3、时钟芯片的选择方案和论证方案一:直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。方案二:采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的RAM做为数据暂存区,工作电压2.5V5.5V范围内,2.5V时耗电小于300nA。为了更好的掌握所学知识,所以将采用方案一。第三章 主要元器件介绍3.1、AT89C52芯片简介3.1.1、引脚说明 P00P07 P0口8位双向口线(在引脚的3932号端子)。P10P17 P1口8位双向口线(在引脚的18号端子)。P20P27 P2口8位双向口线(在引脚的2128号端子)。P30P37 P3口8位双向口线(在引脚的1017号端子)。(1)P0口功能: P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。(2)P1口功能: P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。(3)P2口功能: P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。(4)P3口功能:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。(5)RST复位输入: 当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。(6)ALE/PROG 地址锁存控制信号:在系统扩展时,ALE用于控制把P0口的输出低8位地址送锁存器锁存起来,以实现低位地址和数据的隔离。PROG为编程脉冲的输入端,ROM的作用就是用来存放用户需要执行的程序的,那么我们是怎样把编写好的程序存入进这个ROM中的呢?实际上是通过编程脉冲输入才能写进去的,这个脉冲的输入端口就是PROG。(7)PSEN 外部程序存储器读选通信号:在读外部ROM时PSEN低电平有效,以实现外部ROM单元的读操作:内部ROM读取时,PSEN不动作;外部ROM读取时,在每个机器周期会动作两次;外部RAM读取时,两个PSEN脉冲被跳过不会输出;外接ROM时,与ROM的EA脚相接。(8)EA/VPP 访问程序存储器控制信号:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。(9)XTAL1和XTAL2 : 外接晶振引脚。当使用芯片内部时钟时,此二引脚用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。(10)VCC:电源端接+5V电压输入。(11)GND:接地端。3.2、晶振在设置AT89C52的振荡频率时,我们采用内部时钟方式,。在单片机内部有一振荡电路,只要在单片机XTAL1和XTAL2引脚外接石英晶体(简称晶振),就构成了自激振荡器并在单片机内部产生时钟脉冲信号。电容器C1和C2的作用是稳定频率和快速起振,电容值在5-30pF,典型值为30pF。晶振CYS的振荡频率范围为1.2-12MHz,典型值为12MHz和6MHz。本次设计我们选择了11.0592MHz。3.3、温度传感器单元为了满足本设计需要,该单元选用的是DS18B20智能温度传感器。它是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,世界上第一片支持“一线总线”接口的温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。全部传感元件及转换电路集成在形如一只三极管的集成电路内。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现912位的数字值读数方式。3.3.1、DS18B20的特点DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。 图3-1 DS18B20外形及引脚排列图3.3.2、DS18B20引脚定义(1)DQ为数字信号输入/输出端。 (2) GND为电源地。(3) VDD为外接供电电源输入端(在寄生电源接线方式时接地)。新型数字温度传感器DS18B20具有体积更小、精度更高、适用电压更宽、采用一线总线、可组网等优点,在实际应用中取得了良好的测温效果。3.3.3、DS18B20的性能特点如下(1)适应电压范围更宽,电压范围:3.05.5V,在寄生电源方式下可由数据线供电。(2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条接口线即可实现微处理器与DS18B20的双向通讯。(3) DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。(4) DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。(5) 温范围55125,在-10+85时精度为0.5。(6) 可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温。(7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。(8) 测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。(9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。DS18B20测温系统具有测温系统简单、测温精度高、连接方便、占用口线少等优点。DS18B20有寄生电源供电方式和外部电源供电方式,本设计采用外部电源供电方式。在外部电源供电方式下,DS18B20工作电源由VDD引脚接入,此时I/O线不需要强上拉,不存在电源电流不足的问题,可以保证转换精度。在外部供电的方式下,DS18B20的GND引脚不能悬空,否则不能转换温度,读取的温度总是85Error! Reference source not found.。系统中的温度传感器可用于检测环境温度,通过温度值的变化来预测火灾的发生。例如当温度高于50度时,启动声光报警电路,提示用户进行处理。3.4、74LS245芯片的介绍74LS245是我们常用的芯片,用来驱动LED或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据。74LS245还具有双向三态功能,既可以输出,也可以输入数据。当单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总线驱动器。当片选端/CE低电平有效时,DIR=“0”,信号由 B 向 A传输;(接收*DIR=“1”,信号由 A 向 B 传输;(发送)当/CE为高电平时,A、B均为高阻态。) 由于P2口始终输出地址的高8位,接口时74LS245的三态控制端/1G和/2G接地,P2口与驱动器输入线对应相连。P0口与74LS245输入端相连,/E端接地,保证数据线畅通。/RD和/PSEN相与后接DIR,使得/RD或/PSEN有效时,74LS245输入(P0.iDi),其它时间处于输出(P0.iDi)。图3-2 74LS245芯片图3.5、74LS138的介绍74LS138 为3 线8 线译码器, 其工作原理如下:当一个选通端(E3)为高电平,另两个选通端(E1)和/(E2))为低电平时,可将地址端(A、B、C)的二进制编码在一个对应的输出端以低电平译出。 利用 E1、E2和E3可级联扩展成 24 线译码器若外接一个反相器还可级联扩展成 32 线译码。 若将选通端中的一个作为数据输入端时,74LS138还可作数据分配器。图3-3 74LS138芯片图 3.6、MAX232芯片的介绍MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的接口电路,使用+5v单电源供电。 内部结构基本可分三个部分: 第一部分是电荷泵电路。由1、2、3、4、5、6脚和4只电容构成。功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要第二部分是数据转换通道。由7、8、9、10、11、12、13、14脚构成两个数据通道。其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DB9插头;DB9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。第三部分是供电。15脚GND、16脚VCC(+5v)。图3-4 MAX232芯片图3.7、数码显示管为共阴极数码显示管由P1控制数码管的位,P0控制数码管的段第四章 硬件电路设计4.1、总体接线 按图将电路连接好。P0口通过接驱动器连接数码管,用来控制显示内容。P1.0-P1.2通过接译码器和驱动器连接至数码管,用来控制片选以及报警提示。P1.3用来接温度传感器数据口。P2口用来接3*3矩阵键盘。图4-1总体接线图本实验中,按键对应功能定义如下:KEY7:按下循环显示停止,在KEY4按下后按KEY7可返回至显示;KEY4:六位数码管修改位的切换;KEY1:按下该修改位加一,满十时自动清零。第五章 软件设计及主要子程序5.1、主程序设计(时间显示程序)开始初始化报警月份变化否?Y调温度子程序NKEY4键盘程序KEY4按下?有键按下否?YNNFLAG2取反FLAG2=0?调显示子程序N修改显示首地址Y报警温度30或-10?显示的是温度?显示的是温度?3次完否?NNN重装显示首地址Y结束 图5-1主程序设计流程图5.2、主程序键盘显示程序如下开始KEY4释放否?NKEY4按下?有键按下否?YYN片选清零六次完否?片选保持不变NYY修改片选加1N该位为十位?NKEY1按下?显示个位显示十位Y 返回主程序N显示为9?显示为十位?YYN显示为9?NY该单元内容加一 Y该单元内容减九该单元内容减九十该单元内容加十N 结束图5-2 主程序键盘显示程序图5.3、日期时间中断流程开始 继续计时1s到否?N秒单元内容加一秒单元满60否?Y继续计时N分单元满60否?分单元加一秒单元清零Y继续计时N时单元满24否?时单元加一分单元清零Y月份变化否?调用日历程序天单元加一时单元清零Y结束年单元加一,月清零月单元加一,天清零月份满13否?YY图5-3 日期时间中断流程图5.4、日历流程开始2月否?闰年否?NYY2月否?Y4、6、9、11月?N28天N31天30天Y29天结束 图5-4 日历流程图5.5、温度流程开始结束调温度复位子程序18B20存在否?返回主程序 N转化温度数据并存储读出温度数据发出读温度命令写入数据跳过ROM匹配发出温度转换命令写入数据Y 图5-5 温度流程图 第六章 系统仿真与调试6.1、Protues仿真平台6.1.1、Protues仿真简介及部分模块仿真 Proteus是英国Labcenter公司开发的电路分析与仿真软件。该软件的特点是:集原理图设计、仿真和PCB设计于一体,真正实现从概念到产品的完整电子设计工具,具有模拟电路、数字电路、单片机应用系统、嵌入式系统(不高于ARM7)设计与仿真功能,具有全速、单步、设置断点等多种形式的调试功能,具有各种信号源和电路分析所需的虚拟仪表,支持Keil C51 uVision2、MPLAB等第三方的软件编译和调试环境,具有强大的原理图到PCB板设计功能,可以输出多种格式的电路设计报表。拥有PROTEUS电子设计工具,就相当于拥有了一个电子设计和分析平台。Proteus软件自 1989 年问世至今,经历了近20年的发展历史,功能得到了不断的完善,性能越来越好,全球的用户也越来越多。PROTEUS之所以在全球得到应用,原因是它具有自身的特点和结构。PROTEUS电子设计软件由原理图输入模块(简称ISIS)、混合模型仿真器、动态器件库、高级图形分析模块、处理器仿真模型及PCB板设计编辑(简称ARES)六部分组成6.2、软件调试单片机在复位上电后,初始化后开始计时,无按键按下时数码管会在日历、时间、星期与温度之间自动切换显示,当Key1按下时,系统自动循环显示停止,再次按下Key1将恢复自动循环显示;当Key4按下时,数码管显示第一位,当Key4再次按下时数码管将显示下一位,当显示到第六位时再按下Key4将重新显示第一位,以此循环下去;在Key4按下后,当有Key7按下时,若该位显示的是十位,若显示的不为九,单元内容加十,若单元内容在加之前十位为九,则单元内容减九十,若该位显示的是个位,若显示的不为九,则单元内容加一,若为九,则单元内容减九;在Key4按下后,再按Key1系统将返回至显示界面。每当月份变化时,声光报警;每当有节日到来时,LED灯将亮一整天,第二天到来时LED灯熄灭,若第二天仍为节日,继续打开LED灯;当温度高于38度或低于10度时,将进行声光报警。6.21、年月日的显示图6-1 年月日的显示图6.2.2、时分秒的显示图6-2 时分秒的显示图6.2.3、星期与温度的显示 图6-3 星期与温度的显示图第七章 课程设计总结本设计研究了一种基于单片机技术的LED显示的电子时钟。该时钟通过以AT89C52单片机为工作处理器核心,正常工作时,可以显示日期,时间,温度,当模拟传感器触发中断时,单片机输出控制信号,驱动声光报警电路开始报警。这次课程设计使我加深了对课堂抽象概念的理解,巩固了课堂上所学的理论知识,并能很好地理解与掌握数字信号处理中的基本概念、基本原理、基本分析方法。在课程设计中,通过自己上网查找资料和参考文献,大大激发了我的学习兴趣,使我很快地掌握编程方法和解决实际问题的技巧,取得了良好的教学效果。这次课程设计使我收获很大,在以后的学习中还要继续努力,取得更好的成果!当然,在设计的过程之中遇到了很多的问题,首先,在程序调试的过程中,发现必须使用模块化的编程思想,平时程序较短,感触不深,可是,当程序比较长的时候,不使用编程化的思想将带来很多的问题,尤其是在修改程序的时候,自己写的程序都要看半天才能看懂。要学会多用LJMP,否则,程序太长编译的时候会提示错误。以后还需要仔细的查阅资料进行研究。 附录附录一:程序清单 NIANEQU20H ; 年份YUEEQU21H ; 月份RIQIEQU22H ; 日期SHI EQU23H ; 小时FENEQU24H ; 分钟MIAOEQU25H ; 秒XINGQIEQU26H ; 星期WDFHEQU27H ; 温度符号WDZEQU28H ; 温度值DQBITP1.3 ; P1.3FLAGBITF0 ; DS18B20存在标志位FLAG1BIT60H ; 节日提醒与否标志位FLAG2BIT70H ; 自动循环显示与否标志位ORG0000H ;LJMPMAIN ; 执行主程序ORG000BH ; 定时器/计数器T0溢出中断入口地址LJMPZD0 ; 执行中断程序MAIN:MOVSP,#60H ; 开辟栈区MOVTH0,#4CH ;MOVTL0,#00H ; 给记50ms装入初值SETBTR0 ; 启动定时器T0SETBEA ; 开放CPU中断SETBET0 ; 允许定时器T0中断CLR IT0 ;CLR IT1 ; 设置中断触发方式为低电平触发SETB EX0 ;SETB EX1 ; 允许外部中断MOV42H,#20 ; 定时1S的计数次数(20个50ms) ; 以下为初始化MOVMIAO,#00 ;MOVFEN,#00 ;MOVSHI,#00 ;MOVRIQI,#01 ;MOVYUE,#06 ;MOVWDFH,#00H ;MOVWDZ,#00 ;MOVNIAN,#14 ;MOVXINGQI,#5 ;MOVDPTR,#XS ;MOVP2,#0F0H ;MOV43H,#3 ;MOV44H,#6 ;MOV4CH,#250 ;MOV4DH,#250 ;MOV4AH,YUE ; 将月份单元的内容存在4AH单元MOVR1,#20H ; 显示程序的首地址MOV30H,#2 ;MOV31H,#200 ;MOV59H,#10 ;CLRFLAG1 ; ; 初始化结束PD:MOVA,R1 ; CJNEA,#NIAN,BUB ; 判断显示是否为日期MOVA,YUE ; 判断月份是否变化CJNEA,4AH,BAO ; 如若月份变化,则跳至报警子程序BUB:LCALLRE_TEMP ; 调用温度子程序LCALLTURN ; 转化温度符号与值存于单元中LCALLPDU ; 判断是否有键按下JZCX ; 若没有按下则跳至子程序CXLCALLDL20MS ; 延时LCALLPDU ; 判断是否有键按下JZCX ; 若没有键按下,则跳至子程序CXJNBP2.6,KEY4 ; 判断4键是否按下JNBP2.5,KEY7 ; 判断7键是否按下KEY7:LCALLSFF ; 判断按键是否释放CPLFLAG2 ; 将自动循环显示标志位取反CX:LCALLCS ; 调显示子程序JNBFLAG2,QD ; 自动循环显示标志位为0则循环显示LJMPPD ; 自动循环显示标志位为1则不循环显示QD:DJNZ31H,PD ;MOV31H,#200 ;DJNZ30H,PD ; 循环显示MOV30H,#2 ;INCR1 ;INCR1 ;INCR1 ;MOVA,R1 ;修改显示的首地址CJNEA,#XINGQI,BD ;判断显示是否为星期与温度MOVR1,#XINGQI ;MOVA,59H ;一小时内温度只判断10次JNZPDW ;如果3次没有判断完,则调用判断温度程序BD:DJNZ43H,PD ;地址修改是否满3次MOV43H,#3 ;重新装入值MOVR1,#20H ;修改显示首地址为年单元LJMPPD ;RET ;BAO:LCALLBJ ;调用报警子程序DJNZ4DH,BAO ;MOV4DH,#250 ;MOV4AH,YUE ;将变化后的月份存于4AHLJMPBUB ;返回到调用温度子程序PDW:MOVA,WDFH ;JZGWN ;判断温度正负DWN:MOVA,WDZ ;CJNEA,#10,X0 ;为负时,判断

温馨提示

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

评论

0/150

提交评论