基于单片机的电子日历设计1Word文件下载.docx
- 文档编号:18327246
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:27
- 大小:175.25KB
基于单片机的电子日历设计1Word文件下载.docx
《基于单片机的电子日历设计1Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于单片机的电子日历设计1Word文件下载.docx(27页珍藏版)》请在冰豆网上搜索。
(指导教师填表)
学生姓名
专业班级
机电
指导教师
课题类型
软件设计
题目
基于单片机的电子日历设计
主要研究
目标
(或研
究内容)
本课题在透彻了解电子日历的工作过程及功能的基础上,设计出简单实用的应用程序。
主要内容有:
1、开题报告;
2、电子日历硬件设计;
3、电子日历软件设计;
4、编写说明书;
5、翻译与设计有关的外文资料
通过设计过程以考察学生的对于单片机的设计能力,并培养学生用以解决实际工程能力。
课题要求、主要任务及数量(指图纸规格、张数,说明书页数、论文字数等)
1、通过调查研究,撰写开题报告。
2、通过分析论证,确定设计方案,正确绘制电子日历的硬件连接图;
并且编制其应用程序。
3、查阅20篇以上与题目相关的文献。
4、按要求的格式独立撰写5000~8000字以上的说明书。
5、翻译一篇本专业外文文献(5000~10000个以上印刷符号),并附译文
进度计划
5~7周,查阅资料,熟悉设计内容,拟订设计方案。
8~14周,进行电子日历硬件设计,并编写其应用软件。
15~16周,修改完善设计,翻译资料,写说明书,准备答辩。
主要参
考文献
1、《单片机技术及应用》
2、《单片机彻底研究实习篇》
3、《单片机彻底研究基础篇》
4.《单片机编程手册》
指导教师签字:
教研室主任签字:
年月日
摘要
设计以单片机AT89S51为核心部件的电子日历,利用74LS245作为驱动器,74LS138作为译码器使用,六个七段数码管均采用共阴极的方式,P0口作为段选码输出口,P2口作为位选码输出口。
本次设计的题目是基于单片机的电子日历设计,可以正常的显示年、月、日,还可以利用外部按键实现阴历和阳历之间的转换以及暂停等功能。
电子日历具有性能稳定、精确度高、成本低、易于产品化,以及方便、实用等特点。
适用于家庭、公司、机关等众多场所。
为人们的日常生活、出行安排提供了方便,成为人们日常生活中不可缺少的一部分。
本次设计可分为两部分:
硬件系统、软件系统。
硬件系统包括:
AT89S51单片机、74LS245驱动器、74LS138译码器、RC复位电路、+5V直流电源电路、去抖电路、动态显示扫描电路。
软件系统主要有单片机的编程构成。
关键词:
单片机,日历,位码,段码,显示
Abstract
Single-chipAT89S51designasthecorecomponentsoftheelectroniccalendar,useasa74LS245drives,74LS138usedasadecoder,sixandseventhdigitsareatotalofcathodeway,P0mouthasparagraphcodeoutputselection,P2I,asbitselectioncodeoutput.
Thedesignisbasedonthetopicofsingle-chipdesignoftheelectroniccalendar,youcanshowanormalyear,month,day,canalsobeusedtoachieveexternalkeysaswellasconversionbetween阴阳历lunarandsolarcalendarsuspendfunctions.Electroniccalendarwithstableperformance,highaccuracy,lowcost,easeofproduction,aswellasconvenient,practicalandsoon.Applytofamilies,companies,agenciesandmanyotherplaces.Forpeople'
sdailylife,travelarrangements,providingaconvenient,dailylifehasbecomeanindispensablepartof.
Thedesigncanbedividedintotwoparts:
hardwaresystems,softwaresystems.
Hardwaresystem,including:
AT89S51Single-chip,74LS245drive,74LS138decoder,RCresetcircuit,+5VDCpowersupplycircuit,tostirupthecircuit,dynamicdisplayscanningcircuit.
Therearesingle-chipmicrocomputersoftwaresystemconstitutetheprogramming.
Keywords:
single-chip,calendar,code,codeabovetoshow
前言
随着社会不断的发展,科学技术不断的进步,单片机的问世和飞速发展掀起了计算机工程应用的一场新革命,使计算机技术冲破了实验室和机房的界限,广泛地应用于工业控制系统、数据采集系统、自动测试系统、智能仪表和接口以及各类功能模块等广阔的领域。
单片机应用系统已经成为实现许多控制系统的常规性工具。
我们说,单片机开辟了计算机应用的一个新时代是并不过分的。
单片机的发展历史虽然只有短短20年,但由于计算机科学和微电子集成技术的飞速发展,单片机自身也在不断地向更高层次和更大规模发展。
世界各大半导体厂商纷至沓来争先挤入这一市场,激烈的市场竞争也促进了单片机迅速更新换代,带来了它们更为广泛的应用。
由于单片机应用系统的高可靠性,硬、软件的高利用系数,优异的性能价格比,使它的应用范围由开始传统的过程控制,逐步进入数值处理、数字信号处理以及图像处理等高技术领域。
我们在本次的设计中广泛用到了单片机的应用系统,下面我们就逐一的叙述。
1设计方案
1.1设计思路
设计的题目是基于单片机的电子日历设计。
根据设计要求日历显示正常的年、月、日,同时利用外部按键实现阴历和阳历之间的转换,以及暂停等功能。
要想实现上述功能,就必须将硬件系统和软件系统有机的结合在一起,方可实现我们设计任务中的各项要求。
硬件系统主要有单片机AT89S51、74LS245驱动器、74LS138译码器、RC复位电路、独立式键盘接口去抖电路等。
软件系统主要是单片机的编程。
根据设计要求,电子日历要显示年、月、日就需要6个显示数码管,如(09年05月01日即显示为09-05-01),由于数码管的数量较多,必须采用动态显示扫描的方式。
例如09-05-01,首先日分为个位和十位,个位显示到09时,应向日的十位自动进位,即个位清0,十位置1,显示为10,继续累计;
当显示为31时,日的十位就自动向月的个位进位,显示为06,当月显示到09时,月的个位自动向月的十位进位,个位清0,十位置1,即为10,当月至12时,月向年的个位进位,即显示08,同时月、日开始从01月01日继续显示,即显示为10-01-01,依次周而复始的循环运行。
此外利用外部按键实现阴历和阳历的转换,当按下K1按键时,当前的阳历显示暂停,而由软件系统调用阴历的显示程序,即显示为阴历的日期;
当按下K2键时,当前的显示暂停,松开按键时,当前的显示继续运行;
当按下K3键时,显示的当前日期暂停。
利用单片机将RC复位电路、动态显示电路、电源电路、去抖电路等正确的连接在一起,并通过单片机的编程来实现本次设计任务中的要求。
1.2系统总体框图
硬件电路采用的是AT89S51芯片来作CPU,显示部分采用74LS245作为驱动电路,74LS138作为译码器使用,七段共阴极数码管作为显示部分,采用RC复位电路以及独立式键盘接口电路去抖的方法来完成此次的设计。
在确定系统的形式后,画出本系统的总体框图,如图1.1所示:
图1.1系统框图
系统总体框图包括:
单片机、电源电路、复位电路、显示电路、去抖电路。
单片机AT89S51芯片的主要功能是:
存储程序,对存储程序进行相应的处理,并从I/O口输出;
复位电路:
在单片机上有一个复位引脚REST,在单片机外部用电容和电阻控制REST;
电源电路:
采用+5V的直流电源供电;
显示电路:
主要用于显示日历的结果;
去抖电路:
消除外部按键按下时的抖动造成的误操作。
2硬件设计
硬件电路主要包括:
单片机、去抖电路、显示电路、复位电路、电源电路等。
单片机的选择:
选用AT89S51芯片,P0.0---P0.7作为段选码输出口,P2.1---P2.3作为位选码输出口。
去抖电路的选择:
采用独立式键盘电路;
显示电路的选择:
采用动态扫描显示,共阴极七段数码管;
复位电路的选择:
RC复位电路;
电源电路的选择:
+5V直流电源。
2.1单片机AT89S51的简介
2.1.1AT89S51简介
1.AT89S51是一种低功耗,高性能的片内含有4KB的快闪可编程/擦处只读存储器(FPEROM-FlashProgrammableandErasableReadonlyMemory)的8位COMS微控制器,使用高密度、非易失存储技术改造,并且与AT80C51引脚和指令系统完全兼容。
芯片上的FPEROM允许在线编程或者采用通用的非易失存储编程器对存储器重复编程。
AT89S51具有多种的8位CPU与FPEROM结合在一个芯片上,为很多嵌入式控制应用提供了非常灵活而有方便的方案,其性能价格比远低于AT87C51。
由于片内带EPROM的AT87C51价格偏高,而片内带EPROM的AT89S51价格低且与AT80S51兼容,这就显示了AT89S51的优越性。
AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次,该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单一芯片上,ATMEL的AT89S51是一种高效微控制器,AT89C2051是它的一个精简版本。
AT89S51单片机可以为很多嵌入式控制系统提供一种灵活性高且价格低廉的方案。
2.1.2AT89S51内部资源
1.中央处理器(CPU)
CPU是单片机内部的核心部件,是一个8位二进制数的中央处理单元,主要有运算器和控制器构成。
运算器用来完成算术运算、逻辑运算、位变量处理和数据传送等功能。
它是89S51内部处理各种信息的主要部件,运算器主要有算术运算和逻辑运算组成。
算术逻辑单元,89S51中算术逻辑单元由加法器和一个布尔处理器组成。
主要是实现8位数据的加、减、乘、除算术运算和与、或、异或、循环、求反等逻辑运算;
布尔处理器主要用来处理位操作,它是以进位标志位C为累加器的,可执行置位、复位、取反、等于1转移、等于0转移、等于1转移且清0以及进位标志位与其他位寻址的位之间进行数据传送等位操作,也能使进位标志位与其他可以寻址的位之间逻辑与、或操作。
控制器:
控制器是单片机内部各部件按一定时序协调工作的控制核心。
是分析和执行指令的部件,控制器主要有程序计数器PC、指令寄存器IR、指令译码器ID、振荡器和定时控制逻辑电路等构成。
程序计数器PC是专门用于存放下一条将要执行指令的16位地址的一个部件,由8位计数器PCH(高8位)和PCL(低8位)组成。
CPU就是根据PC中的地址到ROM中去读取程序指令码和数据。
指令寄存器IR是用于存放CPU根据PC地址从ROM中读出的指令操作码并送给ID。
指令译码器ID是用于分析指令操作的部件,指令操作码经译码后送至定时控制电路,产生一定序列的脉冲信号,来执行指令规定的操作。
振荡器及定时控制逻辑电路,在它们外接石英晶体和微调电容(2—30pF),即可以产生1.2-12Mhz的脉冲信号,作为89S51工作的基本节拍。
2.存储器
89S51单片机内部有128B的RAM数据存储器和4KB的掩膜式ROM,当不够使用时,可以分别扩展为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单片机设有5个中断源(外中断2个,定时/计数中断2个,串行中断1个),2个优先级,可以实现两级中断嵌套。
5.内部总线
总线是用于传送信息的公共通道。
总线可以分为数据总线、地址总线、控制总线。
单片机内的CPU、存储器、I/O接口等单元部件都是通过总线连接到一起的,采用总线结构可以减少信息传输线的根数,提高系统可靠性,增强系统灵活性。
2.1.3AT89S51性能及特点
(1)与MCS-51微控制器产品兼容
(2)片内有4KB可以在线重复编程的快闪擦写存储器(FlashMemory)
(3)存储器可以循环写入/擦除100次
(4)存储器数据可以保存时间为10年
(5)较宽的工作电压范围:
VCC可以为2.7--6V
(6)全静态工作
(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的引脚完全兼容。
AT89S51的引脚图如下图2.1所示:
图2.1AT89S51芯片引脚图
Pin40:
电源脚,工作电压为+5V
Pin20:
接地端
P0口:
P0口为一个8位漏极开路的双向I/O口,每脚可以吸收8TTL门电流。
当P0口的管脚第一次写“1”时,被定义为高阻输入,P0口能够用于外部数据存储器,它可以被定义为数据/地址的第八位,在FLASH编程时,P0口作为原码输入口,当FLASH进行校验时,P0口输出原码,此时,P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流,P1口管脚写入1时,被内部上拉为高,可用作输出,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可以接收、输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
因此作为输入时,P2口的管脚被外部拉低,将输出电流,这就是内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位,。
在给出地址“1”时,它利用内部上拉的优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向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脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节,在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出脉冲信号,此频率为振荡器频率的1/6,因此它用作对外部输出的脉冲或用于定时目的。
然而应注意的是,每当用作外部数据存储器时,将跳过一个ALE脉冲,如想禁止ALE的输出可在数据地址上置0。
此时,ALE只有在执行MOVX、MOVC指令时ALE才其作用。
另外,该引脚被略微拉高,如果处理器在外部执行状态ALE禁止,置位无效。
XTAL1:
反向振荡器的输入及内部时钟工作电路的输入
XTAL2:
来自反向振荡器的输出
振荡器特性:
XTAL1和XTAL2分别为反向放大器的输入和输出,该反向放大器可以配置为片内振荡器,石英振荡器和陶瓷振荡器均可采用,如果采用外部时钟源驱动器件,XTAL2应不连接,有余的输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉冲没有任何严格的要求,但必须保证脉冲的高低电平要求的宽度。
芯片擦除:
整个PEROM系列和三个锁定位的电擦除可通过正确的控制信号组合,并保证ALE管脚处于低电平,在芯片擦除操作中,代码阵列全被写“1”,且在任何非空存储字节被重复编程以前,该操作必须被执行。
此外,AT89S51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。
在闲置模式下,CPU停止工作,但RAM、定时器、计数器、串口和中断系统仍工作;
在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用芯片的其他功能,直到下一个硬件复位为止。
为了满足一些应用系统的特殊要求,如在一些工业控制中系统中,有时要进行一些系统的扩展设计以弥补单片机内部资源的不足。
单片机的扩展系统通过并行I/O接口作总线,在外部扩展程序存储器、数据存储器或输入输出接口以及其他功能的部件以满足一些控制系统的特殊要求。
2.2动态显示电路的介绍
LED动态显示就是利用单片机依次输出每一位数码管的段选码和对应于该位数码管的位选控制信号,一位一位轮流点亮各七段数码管。
对于数码管来说,每隔一段时间点亮一次,如此循环,利用人眼的“视觉暂留”效应,只要每位显示间隔足够短就可以给人以同时显示的感觉。
在动态显示方式中,同一时刻,只有一位LED数码管在显示,其他各位是关闭的。
在段选码和位选码每送出一次后,应保持1ms左右,这个时间应根据实际情况而定,不能太小,因为发光二极管从导通到发光有一定的延时,导通时间太小,发光太弱,人眼无法看清,但是也不能太大,因为毕竟要受限于临界闪烁频率,而且此时间越长,占用CPU时间也就越多。
1.采用动态显示方式比较节省I/O接口,硬件电路也比静态显示方式简单,在此次的设计中我们利用89S51作为I/O接口,六个七段数码管均采用共阴极的方式显示,P0口作为段选码输出口使用,P2口作为位选码输出口使用,它们的显示缓冲区分别为:
MOV30H,#01HMOV40H,#05H
MOV31H,#00HMOV41H,#01H
MOV32H,#05HMOV42H,#03H
MOV33H,#00HMOV43H,#00H
MOV34H,#07HMOV44H,#07H
MOV35H,#00HMOV45H,#00H
2.显示部分我们利用动态显示电路,而其显示电路中的驱动部分我们则采用一片74LS245芯片作为驱动部分,来完成电路的动态显示。
3.74LS245是一种三态输出的8总线收发驱动器,无锁存功能。
它的
端和DIP端是控制端,当它的
端为低电平时,如果DIP为高电平,则74LS245将A端数据传送至B端;
如果DIP为低电平,则74LS245将B端数据传送至A端。
在其他情况下不传送数据,并输出高阻态,它的引脚图如下图2.2所示,其功能表如表2.1所示。
4.74LS138是一种3-8译码器,其中G1、G2A、G2B脚为使能端,只有G1为高电平时,G2A、G2B为低电平时,译码器才可以使用。
A、B、C为译码器的信号输入端,Y0---Y7为译码器的输出端,低电平有效。
74LS138译码器如图2.3所示:
图2.374LS138译码器
2.3去抖电路的工作原理
1.目前,MCS-51单片机应用系统上常采用键盘作为输入设备,通过键盘的操作将数据、内存地址、命令及指令等输入系统中,来实现简单的人机通信。
MCS-51单片机在应用系统上的按键常用机械触点式按键,它在闭合及断开的瞬间均有抖动的过程,时间长短与开关的机械特性有关。
一般为5—10ms,由于抖动会造成被查询的开关状态无法正确读出,造成误操作。
为了保证CPU对按键的一次闭合仅在按键稳定时作一次键输入处理,必须消除产生的(前沿)后沿的抖动影响,在本次设计中我们采用独立式键盘接口电路的方式来消除按键抖动的现象。
2.独立式键盘的接口电路
独立式键盘的接口电路:
在单片机应用系统中,有时只需要几个简单的按键向系统输入信息。
这时,可将每个按键直接接在一根I/O接口线上,这种连接方式的键盘称为独立式键盘。
每个独立按键单独占有一根I/O接口线,每根I/O接口线的工作状态不会影响到其他I/O接口线。
这种按键接口电路配置灵活,硬件结构简单,但每个按键必须占用一根I/O线,I/O接口线浪费较大。
在此电路中,按键输入都采用低电平有效。
上拉电阻保证了按键断开时,I/O接口线有确定的高电平。
当I/O接口内部有上拉电阻时,外电路可以不配置上拉电阻。
如图2.4所示:
图2.4独立式键盘接口电路
2.4复位电路的方式
1.单片机在开机时或者在工作中因干扰而使程序失控,或工作中程序处于某死循环状态,在这些情况下都需要复位,复位的作用是使中央处理器CPU以及其他功能部件都需要恢复到一个确定的初始状态,并从这个状态重新开始工作。
2.89S51单片机的复位靠外部的电路实现,信号由REST引脚输入,高电平有效,在振荡器工作时,主要保持REST引脚高电平两个机器周期,单片机即
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 电子 日历 设计