《本科毕业设计--基于51单片机的电子日历设计.doc》由会员分享,可在线阅读,更多相关《本科毕业设计--基于51单片机的电子日历设计.doc(34页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、成都电子机械高等专科学校成教院毕业论文(设计) (基于51单片机的电子日历设计)成都电子机械高等专科学校成教院毕 业 设 计(论 文)论文题目: 基于51单片机的电子日历设计教 学 点: 重庆科创职业学院指导老师: 张忠雨 职 称: 讲师学生姓名: 聂燕 学 号 : 2011700558专 业: 应用电子技术成都电子机械高等专科学校成教院制2012 年 3 月 9 日2成都电子机械高等专科学校成教院毕业设计(论文)任务书题目: 基于51单片机的电子日历设计任务与要求: 通过单片机设计电子日历数码管正常显示阳历、阴历日期,显 示的格式为年-月-日,利用外部按键的操作实现阳历和阴历之间的 转换,实
2、现阴历和阳历显示的暂停、运行等功能。时间: 2011 年12 月15 日 至 2012 年 3 月 15 日 共 12 周教 学 点: 重庆科创职业学院学生姓名: 聂燕 学 号: 2011700558专业: 应用电子技术指导单位或教研室: 指导教师: 张忠雨 职 称: 讲师成都电子机械高等专科学校成教院制毕业设计(论文)进度计划表日 期工 作 内 容执 行 情 况指导教师签 字12月15日至12月25日选题12月26日至1月2日论文提纲写作1月3日至2月15日初稿写作2月16日至2月29日二稿写作3月1日至3月10日定稿并上交论文的电子文稿3月10日至3月15日做好论文评阅准备教师对进度计划实
3、施情况总评 签名 年 月 日 本表作评定学生平时成绩的依据之一。成都电子机械高等专科学校成教院毕业论文(设计) (基于51单片机的电子日历设计)摘 要 设计以单片机AT89C51为核心部件的电子日历,利用74LS245作为驱动器,74LS138作为译码器使用,六个七段数码管均采用共阴极的方式,P0口作为段选码输出口,P2口作为位选码输出口。本次设计的题目是基于单片机的电子日历设计,可以正常的显示年、月、日,还可以利用外部按键实现阴历和阳历之间的转换以及暂停等功能。电子日历具有性能稳定、精确度高、成本低、易于产品化,以及方便、实用等特点。适用于家庭、公司、机关等众多场所。为人们的日常生活、出行安
4、排提供了方便,成为人们日常生活中不可缺少的一部分。本次设计可分为两部分:硬件系统、软件系统。硬件系统包括:AT89S51单片机、74LS245驱动器、74LS138译码器、RC复位电路、+5V直流电源电路、去抖电路、动态显示扫描电路。软件系统主要有单片机的编程构成。关键词:单片机,日历,位码,段码,显示Abstract Single-chip AT89S51 design as the core components of the electronic calendar, use as a 74LS245 drives, 74LS138 used as a decoder, six and s
5、eventh digits are a total of cathode way, P0 mouth as paragraph code output selection, P2 I, as bit selection code output. The design is based on the topic of single-chip design of the electronic calendar, you can show a normal year, month, day, can also be used to achieve external keys as well as c
6、onversion between阴阳历lunar and solar calendarsuspend functions. Electronic calendar with stable performance, high accuracy, low cost, ease of production, as well as convenient, practical and so on. Apply to families, companies, agencies and many other places. For peoples daily life, travel arrangemen
7、ts, providing a convenient, daily life has become an indispensable part of. The design can be divided into two parts: hardware systems, software systems. Hardware system, including: AT89S51 Single-chip, 74LS245 drive, 74LS138 decoder, RC reset circuit, +5 V DC power supply circuit, to stir up the ci
8、rcuit, dynamic display scanning circuit. There are single-chip microcomputer software system constitute the programming. Key words: single-chip, calendar, code, code above to show1目 录摘 要I前 言1第一章 设计方案2第一节 设计思路2第二节 系统总体框图2第二章 硬件设计4第一节单片机AT89S51的简介4第二节AT89S51内部资源5第三节AT89S51性能及特点6第三章 动态显示电路的介绍10第一节 去抖电路
9、的工作原理11第二节 复位电路的方式12第三节中断系统的介绍14第四章 系统调试16结束语17谢 辞18参考文献19附录1(原理图)20附录2(电子万年历程序)23前 言随着社会不断的发展,科学技术不断的进步,单片机的问世和飞速发展掀起了计算机工程应用的一场新革命,使计算机技术冲破了实验室和机房的界限,广泛地应用于工业控制系统、数据采集系统、自动测试系统、智能仪表和接口以及各类功能模块等广阔的领域。单片机应用系统已经成为实现许多控制系统的常规性工具。我们说,单片机开辟了计算机应用的一个新时代是并不过分的。单片机的发展历史虽然只有短短20年,但由于计算机科学和微电子集成技术的飞速发展,单片机自身
10、也在不断地向更高层次和更大规模发展。世界各大半导体厂商纷至沓来争先挤入这一市场,激烈的市场竞争也促进了单片机迅速更新换代,带来了它们更为广泛的应用。由于单片机应用系统的高可靠性,硬、软件的高利用系数,优异的性能价格比,使它的应用范围由开始传统的过程控制,逐步进入数值处理、数字信号处理以及图像处理等高技术领域。我们在本次的设计中广泛用到了单片机的应用系统,下面我们就逐一的叙述。成都电子机械高等专科学校成教院毕业论文(设计) (基于51单片机的电子日历设计)第一章 设计方案第一节 设计思路设计的题目是基于单片机的电子日历设计。根据设计要求日历显示正常的年、月、日,同时利用外部按键实现阴历和阳历之间
11、的转换,以及暂停等功能。要想实现上述功能,就必须将硬件系统和软件系统有机的结合在一起,方可实现我们设计任务中的各项要求。硬件系统主要有单片机AT89S51、74LS245驱动器、74LS138译码器、RC复位电路、独立式键盘接口去抖电路等。软件系统主要是单片机的编程。根据设计要求,电子日历要显示年、月、日就需要6个显示数码管,如(09年05月01日即显示为09-05-01),由于数码管的数量较多,必须采用动态显示扫描的方式。例如09-05-01,首先日分为个位和十位,个位显示到09时,应向日的十位自动进位,即个位清0,十位置1,显示为10,继续累计;当显示为31时,日的十位就自动向月的个位进位
12、,显示为06,当月显示到09时,月的个位自动向月的十位进位,个位清0,十位置1,即为10,当月至12时,月向年的个位进位,即显示08,同时月、日开始从01月01日继续显示,即显示为10-01-01,依次周而复始的循环运行。此外利用外部按键实现阴历和阳历的转换,当按下K1按键时,当前的阳历显示暂停,而由软件系统调用阴历的显示程序,即显示为阴历的日期;当按下K2键时,当前的显示暂停,松开按键时,当前的显示继续运行;当按下K3键时,显示的当前日期暂停。利用单片机将RC复位电路、动态显示电路、电源电路、去抖电路等正确的连接在一起,并通过单片机的编程来实现本次设计任务中的要求。第二节 系统总体框图硬件电
13、路采用的是AT89S51芯片来作CPU,显示部分采用74LS245作为驱动电路,74LS138作为译码器使用,七段共阴极数码管作为显示部分,采用RC复位电路以及独立式键盘接口电路去抖的方法来完成此次的设计。在确定系统的形式后,画出本系统的总体框图,如图1.1所示: 图1-1 系统框图系统总体框图包括:单片机、电源电路、复位电路、显示电路、去抖电路。单片机AT89S51芯片的主要功能是:存储程序,对存储程序进行相应的处理,并从I/O口输出;复位电路:在单片机上有一个复位引脚REST,在单片机外部用电容和电阻控制REST;电源电路:采用+5V的直流电源供电;显示电路:主要用于显示日历的结果;去抖电
14、路:消除外部按键按下时的抖动造成的误操作。第二章 硬件设计硬件电路主要包括:单片机、去抖电路、显示电路、复位电路、电源电路等。单片机的选择:选用AT89S51芯片, P0.0-P0.7作为段选码输出口,P2.1-P2.3作为位选码输出口。去抖电路的选择:采用独立式键盘电路;显示电路的选择:采用动态扫描显示,共阴极七段数码管;复位电路的选择:RC复位电路;电源电路的选择:+5V直流电源。第一节 单片机AT89S51的简介AT89S51是一种低功耗,高性能的片内含有4KB的快闪可编程/擦处只读存储器(FPEROM-Flash Programmable and Erasable Read only
15、Memory )的8位COMS微控制器,使用高密度、非易失存储技术改造,并且与AT80C51引脚和指令系统完全兼容。芯片上的FPEROM 允许在线编程或者采用通用的非易失存储编程器对存储器重复编程。AT89S51具有多种的8位CPU与FPEROM 结合在一个芯片上,为很多嵌入式控制应用提供了非常灵活而有方便的方案,其性能价格比远低于AT87C51。由于片内带EPROM 的AT87C51价格偏高,而片内带EPROM的AT89S51价格低且与AT80S51兼容,这就显示了AT89S51的优越性。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦
16、除100次,该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单一芯片上,ATMEL的AT89S51是一种高效微控制器,AT89C2051是它的一个精简版本。AT89S51单片机可以为很多嵌入式控制系统提供一种灵活性高且价格低廉的方案。第二节 AT89S51内部资源1.中央处理器(CPU)CPU是单片机内部的核心部件,是一个8位二进制数的中央处理单元,主要有运算器和控制器构成。运算器用来完成算术运算、逻辑运算、位变量处理和数据传送等功能。它是89S51内部处理各种信息的主要部件,运算器主要有算术运算和逻辑
17、运算组成。算术逻辑单元,89S51中算术逻辑单元由加法器和一个布尔处理器组成。主要是实现8位数据的加、减、乘、除算术运算和与、或、异或、循环、求反等逻辑运算;布尔处理器主要用来处理位操作,它是以进位标志位C为累加器的,可执行置位、复位、取反、等于1转移、等于0转移、等于1转移且清0以及进位标志位与其他位寻址的位之间进行数据传送等位操作,也能使进位标志位与其他可以寻址的位之间逻辑与、或操作。控制器:控制器是单片机内部各部件按一定时序协调工作的控制核心。是分析和执行指令的部件,控制器主要有程序计数器PC、指令寄存器IR、指令译码器ID、振荡器和定时控制逻辑电路等构成。程序计数器PC是专门用于存放下
18、一条将要执行指令的16位地址的一个部件,由8位计数器PCH(高8位)和PCL(低8位)组成。CPU就是根据PC中的地址到ROM中去读取程序指令码和数据。指令寄存器IR是用于存放CPU根据PC地址从ROM中读出的指令操作码并送给ID。指令译码器ID是用于分析指令操作的部件,指令操作码经译码后送至定时控制电路,产生一定序列的脉冲信号,来执行指令规定的操作。振荡器及定时控制逻辑电路,在它们外接石英晶体和微调电容(230pF),即可以产生1.2-12Mhz的脉冲信号,作为89S51工作的基本节拍。2存储器89S51单片机内部有128B的RAM数据存储器和4KB的掩膜式ROM,当不够使用时,可以分别扩展
19、为64KB外部RAM存储器和64KB外部程序存储器。程序存储器是可读不可写的,用于存放编好的程序和表格常数。数据存储器是既可以读也可以写的,用于存放运算的中间结果,进行数据暂存及数据缓冲等。3定时/计数器89S51内部有2个16位可编程定时器/计数器,简称为定时器0(T0)和定时器1(T1),T0和T1分别有两个8位寄存器构成,其中T0由TH0(高8位)和TL0(低8位)构成。T1由TH1(高8位)和TL1(低8位)构成。4中断控制系统 单片机的中断是指CPU暂停正在执行的原程序转而为中断源服务,在执行完中断服务程序后再回到原程序继续执行。中断系统是指能够处理中断过程部分的电路。89S51单片
20、机设有5个中断源(外中断2个,定时/计数中断2个,串行中断1个),2个优先级,可以实现两级中断嵌套。5内部总线总线是用于传送信息的公共通道。总线可以分为数据总线、地址总线、控制总线。单片机内的CPU、存储器、I/O接口等单元部件都是通过总线连接到一起的,采用总线结构可以减少信息传输线的根数,提高系统可靠性,增强系统灵活性。第三节 AT89S51性能及特点(1)与MCS-51微控制器产品兼容 (2)片内有4KB可以在线重复编程的快闪擦写存储器(Flash Memory)(3)存储器可以循环写入/擦除100次(4)存储器数据可以保存时间为10年(5)较宽的工作电压范围:VCC可以为2.7-6V(6
21、)全静态工作 (7) 程序存储器具有3级加密保护(8)128*8位内部RAM(9)32条可编程I/O接口(10)2个16位定时/计数器(11)终端结构具有5个中断源和2个优先级(12)可编程全双工串行通道(13)空闲状态维持低功耗和掉电状态保存存储内容由于EPROM具有在线改写,并且在掉电状态下保存数据的特点,可以为用户的特殊应用提供方便。但是擦除和写入对于要求数据高速吞吐的应用还显的时间过长,这就是EPROM芯片的主要缺陷。AT89S51的内部硬件结构中除了程序存储器由FPEROM取代了87C51的EPROM外,其余部分完全相同。AT89S51的引脚和AT8051的引脚完全兼容。AT89S5
22、1的引脚图如下图2.1所示:图2-1 AT89S51芯片引脚图Pin40: 电源脚,工作电压为+5VPin20:接地端P0口:P0口为一个8位漏极开路的双向I/O口,每脚可以吸收8TTL门电流。当P0口的管脚第一次写“1”时,被定义为高阻输入,P0口能够用于外部数据存储器,它可以被定义为数据/地址的第八位,在FLASH编程时,P0口作为原码输入口,当FLASH进行校验时,P0口输出原码,此时,P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流,P1口管脚写入1时,被内部上拉为高,可用作输出,P1口被外部下拉为低电平时,将输出电流,这
23、是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可以接收、输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。因此作为输入时,P2口的管脚被外部拉低,将输出电流,这就是内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位,。在给出地址“1”时,它利用内部上拉的优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉
24、电阻的双向I/O口,可以接收输出4个TTL门电流。当P3口写入“1”时,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平;P3口将输出电流,这就是上拉的缘故。P3口也可以作为AT89S51的一些特殊功能口,如下所示:P3.0: RXD (串行输入口)P3.1: TXD (串行输出口)P3.2: (外部中断0)P3.3: (外部中断1)P3.4:T0 (定时/计数器0)P3.5: T1 (定时/计数器1)P3.6: (外部数据存储器写选通线)P3.7: (外部数据存储器读选通线)P3口同时为闪烁编程和编程校验接收一些控制信号RET 复位输出:当振荡器复位时,要保持RET脚两个机
25、器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节,在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出脉冲信号,此频率为振荡器频率的1/6,因此它用作对外部输出的脉冲或用于定时目的。然而应注意的是,每当用作外部数据存储器时,将跳过一个ALE脉冲,如想禁止ALE的输出可在数据地址上置0。此时,ALE只有在执行MOVX、MOVC指令时ALE才其作用。另外,该引脚被略微拉高,如果处理器在外部执行状态ALE禁止,置位无效。XTAL1:反向振荡器的输入及内部时钟工作电路的输入XTAL2:来自反向振荡器的输出振荡器特性:X
26、TAL1和XTAL2分别为反向放大器的输入和输出,该反向放大器可以配置为片内振荡器,石英振荡器和陶瓷振荡器均可采用,如果采用外部时钟源驱动器件,XTAL2应不连接,有余的输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉冲没有任何严格的要求,但必须保证脉冲的高低电平要求的宽度。芯片擦除:整个PEROM系列和三个锁定位的电擦除可通过正确的控制信号组合,并保证ALE管脚处于低电平,在芯片擦除操作中,代码阵列全被写“1”,且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89S51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,C
27、PU停止工作,但RAM、定时器、计数器、串口和中断系统仍工作;在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用芯片的其他功能,直到下一个硬件复位为止。为了满足一些应用系统的特殊要求,如在一些工业控制中系统中,有时要进行一些系统的扩展设计以弥补单片机内部资源的不足。单片机的扩展系统通过并行I/O接口作总线,在外部扩展程序存储器、数据存储器或输入输出接口以及其他功能的部件以满足一些控制系统的特殊要求。第三章 动态显示电路的介绍LED动态显示就是利用单片机依次输出每一位数码管的段选码和对应于该位数码管的位选控制信号,一位一位轮流点亮各七段数码管。对于数码管来说,每隔一段时间点亮一次,如此循环,
28、利用人眼的“视觉暂留”效应,只要每位显示间隔足够短就可以给人以同时显示的感觉。在动态显示方式中,同一时刻,只有一位LED数码管在显示,其他各位是关闭的。在段选码和位选码每送出一次后,应保持1ms左右,这个时间应根据实际情况而定,不能太小,因为发光二极管从导通到发光有一定的延时,导通时间太小,发光太弱,人眼无法看清,但是也不能太大,因为毕竟要受限于临界闪烁频率,而且此时间越长,占用CPU时间也就越多。1. 采用动态显示方式比较节省I/O接口,硬件电路也比静态显示方式简单,在此次的设计中我们利用89S51作为I/O接口,六个七段数码管均采用共阴极的方式显示,P0口作为段选码输出口使用,P2口作为位
29、选码输出口使用,它们的显示缓冲区分别为:MOV 30H,#01H MOV 40H,#05HMOV 31H,#00H MOV 41H,#01HMOV 32H,#05H MOV 42H,#03HMOV 33H,#00H MOV 43H,#00HMOV 34H,#07H MOV 44H,#07HMOV 35H,#00H MOV 45H,#00H2显示部分我们利用动态显示电路,而其显示电路中的驱动部分我们则采用一片74LS245芯片作为驱动部分,来完成电路的动态显示。374LS245是一种三态输出的8总线收发驱动器,无锁存功能。它的端和DIP端是控制端,当它的端为低电平时,如果DIP为高电平,则74L
30、S245将A端数据传送至B端;如果DIP为低电平,则74LS245将B端数据传送至A端。在其他情况下不传送数据,并输出高阻态,它的引脚图如下图2.2所示,其功能表如表2.1所示。 474LS138是一种3-8译码器,其中G1、G2A、G2B脚为使能端,只有G1为高电平时,G2A、G2B为低电平时,译码器才可以使用。A、B、C为译码器的信号输入端,Y0-Y7为译码器的输出端,低电平有效。图3-1 74LS138译码器第一节 去抖电路的工作原理1. 目前,MCS-51单片机应用系统上常采用键盘作为输入设备,通过键盘的操作将数据、内存地址、命令及指令等输入系统中,来实现简单的人机通信。MCS-51单
31、片机在应用系统上的按键常用机械触点式按键,它在闭合及断开的瞬间均有抖动的过程,时间长短与开关的机械特性有关。一般为510ms,由于抖动会造成被查询的开关状态无法正确读出,造成误操作。为了保证CPU对按键的一次闭合仅在按键稳定时作一次键输入处理,必须消除产生的(前沿)后沿的抖动影响,在本次设计中我们采用独立式键盘接口电路的方式来消除按键抖动的现象。2. 独立式键盘的接口电路独立式键盘的接口电路:在单片机应用系统中,有时只需要几个简单的按键向系统输入信息。这时,可将每个按键直接接在一根I/O接口线上,这种连接方式的键盘称为独立式键盘。每个独立按键单独占有一根I/O接口线,每根I/O接口线的工作状态
32、不会影响到其他I/O接口线。这种按键接口电路配置灵活,硬件结构简单,但每个按键必须占用一根I/O线,I/O接口线浪费较大。在此电路中,按键输入都采用低电平有效。上拉电阻保证了按键断开时,I/O接口线有确定的高电平。当I/O接口内部有上拉电阻时,外电路可以不配置上拉电阻。如图2.4所示: 图3-2 独立式键盘接口电路第二节 复位电路的方式1单片机在开机时或者在工作中因干扰而使程序失控,或工作中程序处于某死循环状态,在这些情况下都需要复位,复位的作用是使中央处理器CPU以及其他功能部件都需要恢复到一个确定的初始状态,并从这个状态重新开始工作。289S51单片机的复位靠外部的电路实现,信号由REST
33、引脚输入,高电平有效,在振荡器工作时,主要保持REST引脚高电平两个机器周期,单片机即复位,复位后,PC程序计数器的内容为0000H。3智能系统一般应有手动或上电复位电路。复位电路可以采用简单的电阻,电容及按键开关构成上电自动复位电路入图2.5所示,而手动复位电路如图2.6所示,也可以选择专用的复位芯片。复位电路的实现通常有两种方式:即专用P监控电路和RC 复位电路。前者成本较高,但复位可靠性高,尤其是高可靠重复复位;后者电路实现简单,成本低,但复位可靠性相对较低。对于复位要求高、并对电源电压进行监视的场合,大多采用前者复位电路。图3-3 上电自动复位电路图3-4 手动复位电路(1)专用监控P
34、电路专用P监控电路又称为电源监视电路,具有上电时可以产生复位信号和电源电压跌落到“门槛值”时可以产生复位信号等功能。按有效电平分,有高电平输出、低电平输出两种;按功能分,有简单的电源监视复位电路、带“看门狗”定时器(WATCH DOG TIMER,WDT)的监控电路和WDT + E2PROM的监控电路等多种类型。比较常见的生产厂家有MAXIM、Philips、IMP 及DALLS 等,51系列微处理器中常用的型号有MAX8l3L、MAX8O9、X25043/5等。(2)RC复位电路本次设计采用的是RC复位方式。RC复位电路的实质是一阶充放电电路,结合图2.7说明这种复位电路的特点。系统上电时该
35、电路提供有效的复位信号RST(高电平)直至系统电源稳定后撤销复位信号(低电平)。从理论上说,51系列单片机复位引脚只要外加两个机器周期的有效信号即可复位,即只要保证t=RC 2M(机器周期)便可。但在实际设计中,通常C1取值为10F以上, Rl 通常取值10k左右。实践发现,Rl如果取值太小,例如lk,则会导致RST信号驱动能力变差而无法使系统可靠复位。图3-5 RC复位电路第三节 中断系统的介绍中断技术是计算机中在实时处理和实时控制中不可缺少的一个很重要的技术。它既和硬件有关,也和软件有关。而且中断是现代计算机必须具备的重要功能,也是计算机发展史上的一个里程碑。1.中断的概念当计算机执行正常
36、程序时,系统中出现了某种急需处理的异常情况和特殊请求,这时CPU暂时终止当时正在执行的程序,转而去对随机发生的紧迫事件进行处理(执行中断服务程序),待该事件处理完毕,CPU自动的返回到原来被中断的程序继续执行,这个过程称为“中断”。2.中断的作用(1)实现同步工作:计算机有了中断功能后,就解决了快速CPU与低速外设之间的矛盾,可以使CPU和外设同时工作。CPU启动外设后,继续执行主程序,同时外设也在工作。当外设把数据准备好后,就发出中断请求,请求CPU中断正在执行的程序,转而执行中断服务程序(I/O处理),中断服务程序执行完后,CPU恢复执行主程序,外设也继续工作。这样,CPU可以指挥多个外设
37、同时工作,从而大大提高了CPU的效率。(2)实现实时处理:在实时控制系统中,为使控制系统能保持在最佳的工作状态,被控系统的各种控制参量可随时向计算机发出中断请求,要求CPU处理。对此,CPU必须作出快速响应和及时处理,这种实时控制功能只有靠中断技术才能实现。(3)实现故障处理:若计算机在运行过程中出现了事先预料不到的情况或故障时,如电源掉电、存储出错、传输错误等,可以利用中断系统自行处理,而不必停机。3.中断系统的功能(1)进行中断优先权的排队(2)实现中断嵌套(3)自动响应中断并返回4.89S51的中断请求源89S51有5个中断源,它们是2个外部中断、2个定时器中断和一个串行接口中断。它们分
38、别是外部中断0、定时/计数器0、外部中断1、定时/计数器1和串行接口中断。它们的中断向量表如下表2.2所示:中断向量表2-2中断源入口地址外部中断00003H定时/计数器T0000BH外部中断10013H定时/计数器T1001BH串行接口中断0023H第四章 系统调试完成了硬件的设计、制作和软件编程之后,要使系统能够按设计思路正常运行,必须进行系统调试。系统调试包括硬件调试和软件调试两个部分。不过,作为一个单片机系统,正常运行是硬件系统和软件系统相结合的,因此,硬件、软件系统的调试是紧密相关,二者是相辅相成的。程序的调试应一个模块一个模块地进行,单独调试各功能子程序,检验程序是否能够实现预期的
39、功能,接口电路的连接是否正常等;最后逐步将各个子程序连接起来进行统一的调试。统一的调试需要注意的是,各程序模块间能否正确传送数据,特别要注意各子程序的现场保护与恢复。在调试过程中出现的问题:(1)七段数码管全部显示的是888888,经分析原因在试验箱的P0、P2口接线有误,显示数据无法正常的送到段码口和位码口,经调整以后,该显示正常。(2)数码管从09-05-01开始运行,当显示到09-05-09时又重新从09-05-01开始显示,依次周而循环显示,而不进位显示10,经过对整个程序的分析也没能够找到错误之处,后经指导老师的讲解分析最后发现是程序设计的错误,在程序的显示日期的日期运行到09到时,
40、必须先判断个位是否为10,如果个位是10,则应使其日期的个位清0,十位加1,即显示为10;如果个位没有运行到10时,就应继续显示数值,直到显示到10时,进而进行进位,显示日期为10,依次类推,当显示到31时,就向月进位,即显示为06月,当月份显示到12时,从而向年进位,即显示09年,同时月、日共同显示为01-01,即为09-01-01,经过修改更正,显示正常。(3)数码管显示为09-05-08以后,显示的日期为乱码,不是09,进而进行程序分析,经过指导老师的耐心讲解、分析和在同学们的帮助下,最后确定为程序中的查表程序有误,进而进行修改,显示正常。结束语至此,关于毕业设计的所有内容就介绍完了,进
41、行这次毕业设计一切都是从零开始,从最简单查资料、了解各个元件的功能起步,再确定设计方案、画流程图、编写程序到最后进行仿真,这次课题设计可以说成功完成。系统的硬件、软件设计合理,功能完备,运行稳定、可靠。在整个设计过程中,学到了许多扎实的知识。通过设计提高了对单片机的认识,进一步熟悉和掌握单片机的结构及工作原理。通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术,提高软件设计、调试能力;通过这次设计熟悉以单片机核心的应用系统开发的全过程,掌握硬件电路设计的基本方法和技术,掌握相关电路参数的计算方法。最终较好的完成了设计,达到了预期的目的,完成最初的设想。通过此项设计设计,本系统能完成以
42、下功能(1)显示公历日期功能(年、月、日、时、分、秒以及星期)(2)可通过按键切换年、月、日及时、分、秒的显示状态(3)可随时调校年、月、日或时、分、星期(4)可每次增减一进行时间调节(5)可动态完整显示年份 本次设计的电子万年历也存在的不足的地方,有待于以后的改进。谢 辞2012年3月,我开始了我的毕业论文工作,时至今日,论文基本完成。从最初的茫然,到慢慢的进入状态,再到对思路逐渐的清晰,整个写作过程难以用语言来表达。历经了一个多月的奋战,紧张而又充实的毕业设计终于落下了帷幕。回想这段日子的经历和感受,我感慨万千,在这次毕业设计的过程中,我拥有了无数难忘的回忆和收获。在与毕业设计指导老师的交
43、流讨论中我的题目定了下来,是:基于51单片机的电子日历设计。当选题报告,开题报告定下来的时候,我当时便立刻着手资料的收集工作中,当时面对浩瀚的书海真是有些茫然,不知如何下手。在导师细心的指导下,终于使我对自己的工作方向和方法有了掌握。此次课程设计中我学到了很多很多重要的东西,它使我的能力得到了全方位的提高,对于专业技能有了更深刻的了解。感谢我的导师给了我莫大的帮助,在他悉心的指导和严格的要求下,我的毕业论文顺利完成了。论文从选题到最终的完成,凝结着导师辛勤的汗水,他不辞劳苦的教导、严谨的作风使我终生受益。在此毕业设计完成之际,谨向导师和所有帮助过我的老师致以崇高的敬意和衷心的感谢。还有感谢家人
44、、朋友还有宿舍里所有的室友,是他们给我创造了良好的学习氛围,在学习和生活中给了我支持和帮助。在以后的学习生活中我会时时敦促自己更加努力,不辜负师长、亲人、朋友对我的期望。参考文献 1李朝青.单片机原理及其接口技术.北京.北京航空大学出版社,19982 张毅刚.彭喜元.孟升卫.刘兆庆编著.MCS-51单片机使用子程序设计.哈尔滨.哈尔滨工业大学出版社,20033 肖玲妮.袁增贵.Protel99SE印刷电路板设计教程.北京.清华大学出版社,20034 公茂法.单片机人机接口实力集.北京.北京航空大学出版社,19985 先锋工作室.单片机程序设计实例.北京.清华大学出版社,20026 陈明荧.8051单片机课程设计实训教材.北京.清华大学出版社,20037 胡汉才.单片机原理及其接口技术.北京.清华大学出版社,1996附录1(原理图) 图1 主程序流程图 图2 显示程序流程图 图3中断2程序流程图 图4中断1程序流程图 图5外部按键程序流程图附录2(