基于单片机电子日历的设计.docx
- 文档编号:9004986
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:13
- 大小:138.76KB
基于单片机电子日历的设计.docx
《基于单片机电子日历的设计.docx》由会员分享,可在线阅读,更多相关《基于单片机电子日历的设计.docx(13页珍藏版)》请在冰豆网上搜索。
基于单片机电子日历的设计
基于单片机的电子日历设计
摘要:
单片计算机即单片微型计算机。
由RAM,ROM,CPU构成,定时,计数和多种接口于一体的微控制器。
它体积小,本钱低,功能强,广泛应用于智能产业和工业自动化上。
而51系列单片机是各单片机中最为典型和最有代表性的一种。
这次课程设计通过对它的学习,应用,从而到达学习、设计、开发软、硬的能力。
本设计主要设计了一个基于AT89C51单片机的电子日历。
能在数码管上进展年、月、日、星期、时、分、秒等自动显示。
应用Proteus软件实现了单片机电子日历系统的设计与仿真。
该方法仿真效果真实、准确,节省了硬件资源。
关键字:
单片机;电子日历;仿真。
一、概述
单片机因将其主要组成局部集成在一个芯片上而得名,就是把中央处理器、随机存储器、只读存储器、中断系统、定时器/计数器以及I/O接口电路等部件集成在一个芯片上。
单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、开展很快。
单片机具有体积小、功能多、价格低廉、使用方便、系统设计灵活等优点。
在我国,单片机的开发应用已有15年左右,已经形成一支庞大的技术开发队伍,为我国单片机应用积累了丰富的经历。
随着电子技术、计算机芯片技术和微电子技术的飞速开展促进了单片机技术一日千里的变化。
电子日历是一种利用数字电路来显示年、月、日、星期、时、分、秒的计时装置,由于数字集成电路的开展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表。
如今它已成为人们日常生活中的必需品,广泛应用于家庭、车站、码头、剧院、办公室等场所,给人们的生活、学习、工作带来极大的方便。
二、主要元件的介绍及使用方法
2.1AT89C51单片机介绍
图2.1AT89C51单片机
VCC:
电源。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进展校验时,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口将输出电流〔ILL〕这是由于上拉的缘故。
2.2单片机的选择
通过对多种单片机性能的分析,最终认为89C51是最理想的电子日历开发芯片。
89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,而且它与MCS-51兼容,且具有4K字节可编程闪烁存储器和1000写/擦循环,数据保存时间为10年等特点,是最好的选择。
2.2数码显示管的工作原理
LED数码管分共阳极与共阴极两种,其工作特点是,当笔段电极接低电平,公共阳极接高电平时,相应笔段可以发光。
共阴极LED数码管那么与之相反,它是将发光二极管的阴极(负极)短接后作为反映出半导体材料的特性。
常见管芯材料有磷化镓(GaP)、砷化镓(GaAs)、磷砷化镓(GaAsP)、氮化镓(GaN)等,其中氮化镓可发蓝光。
发光颜色不仅与管芯材料有关,还与所掺杂质有关,因此用同一种管芯材料可以制成发出红、橙、黄、绿等不同颜色的数码管。
其他颜色LED数码管的光谱曲线形状与之相似,仅入,值不同。
LED数码管的产品中,以发红光、绿光的居多、这两种颜色也比拟醒目。
LED数码管等效于多只具有发光性能的PN结。
当PN结导通时,依靠少数载流子的注人及随后的复合而辐射发光,其伏安特性与普通二极管相似。
在正向导通之前,正向电流近似于零,笔段不发光。
当电压超过开启电压时,电流就急剧上升,笔段发光。
因此,LED数码管属于电流控制型器件,其发光亮度L(单位是cd/m2)与正向电流IF有关,用公式表示:
L=KIF即亮度与正向电流成正比。
LED的正向电压U,那么与正向电流以及管芯材料有关。
使用LED数码管时,工作电流一般选10mA左右/段,既保证亮度适中,又不会损坏器件。
三、设计方案
3.1总体电路的设计方案
此次设计主要是应用单片机来设计电子日历,硬件局部主要分以下电路模块:
显示电路用六个数码管分别显示小时〔年份〕、分钟〔月份〕和秒〔日〕,通过动态扫描进展显示,从而防止了译码器的使用,使电路更加简单。
图3.1电路的总体设计框架
3.2硬件电路的原理图
图3.2设计原理图
本设计电路,硬件局部共由四个模块组成:
按键模块、复位电路模块、晶振电路模块、时间显示模块。
晶振电路模块负责给单片机提供时钟周期。
复位单路模块负责上电后自动复位,或按键后强制复位。
上电后,由单片机内部定时器计时,同时通过动态显示函数自动将时分秒显示到数码管上。
与此同时,按键扫描函数,一直扫描按键引脚状态,一旦扫描到按键被按下,即进入相应的功能函数。
3.3硬件电路说明
3.3.1按键模块
图3.3.1按键模块
在该模块中,采用四个按键作为电子时钟的控制输入,通过按键来实现时钟的时间设置、定时、秒表功能。
电路中将四个按键的一端接公共地,而单片机的P2口默认为高电平,一旦按键被按下,那么该按键对应的额管脚被拉低,通过软件扫描按键即可知道用户所要实现的功能,调用相应的按键子程序来完成该操作。
按键的去抖动由软件来实现。
3.3.2单片机的复位电路
图3.3.2单片机的复位电路
当MCS-5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作。
如果RST持续为高电平,单片机就处于循环复位状态。
根据应用的要求,复位操作通常有两种根本形式:
上电复位和上电或开关复位。
上电复位要求接通电源后,自动实现复位操作。
上电后,保持RST一段高电平时间。
3.3.3单片机的晶振电路。
图3.3.3单片机的晶振电路
石英晶体也连接在晶振引脚的输入和输出之间,等效为一个并联谐振回路,振荡频率应该是石英晶体的并联谐振频率。
晶体旁边的两个电容接地,实际上就是电容三点式电路的分压电容,接地点就是分压点。
以接地点即分压点为参考点,振荡引脚的输入和输出是反相的,但从并联谐振回路即石英晶体两端来看,形成一个正反应以保证电路持续振荡。
3.3.5LED显示模块
图3.3.5显示模块如图。
四、控制系统的软件设计
4.1程序设计
本系统的软件系统主要可分为主程序、定时计数中断程序、时间调整程序、延时程序四大模块。
在程序设计过程中,加强了局部软件抗干扰措施,下面对局部模块作介绍。
定时计数中断程序:
MOVTMOD,#00H;写控制字
MOVTH0,#0F0H;写定时常数
MOVTLO,#0CH
SETBTR0;启动T0
SETBETO;允许T0中断
SETBEA;开放CPU中断
AJMP$
时间调整程序:
SETMM:
cLRET0;关定时器T0中断
CLRTR0;关闭定时器T0
LCALLDL1S;调用1秒延时程序
P3.7,CLOSEDIS;键按下时间小于1秒,关闭显示〔省电〕MOVR2,#06H;进入调时状态,赋闪烁定时初值SETBET1;允许T1中断
SETBTR1;开启定时器T1
SET2:
JNBP3.7,SET1;P3.7口为0〔键未释放〕,等待
SETB00H;键释放,分调整闪烁标志置1
SET4:
P3.7,SET3;等待键按下
LCALLDL05S;有键按下,延时0.5秒
JNBP3.7,SETHH;按下时间大于0.5秒转调小时状态
MOVR0,#77H;按下时间小于0.5秒加1分钟操作
LCALLADD1;调用加1子程序
MOVA,R3;取调整单元数据
CLRC;清进位标志
CJNEA,#60H,HHH;调整单元数据与60比拟
HHH:
JCSET4;调整单元数据小于60转SET4循环
LCALLCLR0;调整单元数据大于或等于60时清0
CLRC;清进位标志
AJMPSET4;跳转到SET4循环
CLOSEDIS:
SETBET0;省电〔LED不显示〕状态。
开T0中断
SETBTR0;开启T0定时器〔开时钟〕
CLOSE:
P3.7,CLOSE;无按键按下,等待。
LCALLDISPLAY;有键按下,调显示子程序延时削抖
P3.7,CLOSE;是干扰返回CLOSE等待
WAITH:
JNBP3.7,WAITH;等待键释放
LJMPSTART1;返回主程序〔LED数据显示亮〕
SETHH:
CLR00H;分闪烁标志去除〔进入调小时状态〕
SETHH1:
JNBP3.7,SET5;等待键释放
SETB01H;小时调整标志置1
SET6:
P3.7,SET7;等待按键按下
LCALLDL05S;有键按下延时0.5秒
JNBP3.7,SETOUT;按下时间大于0.5秒退出时间调整
MOVR0,#79H;按下时间小于0.5秒加1小时操作
LCALLADD1;调加1子程序
MOVA,R3;
CLRC;
CJNEA,#24H,HOUU;计时单元数据与24比拟
HOUU:
JCSET6;小于24转SET6循环
LCALLCLR0;大于或等于24时清0操作
AJMPSET6;跳转到SET6循环
SETOUT:
JNBP3.7,SETOUT1;调时退出程序。
等待键释放
LCALLDISPLAY;延时削抖
JNBP3.7,SETOUT;是抖动,返回SETOUT再等待
CLR01H;清调小时标志
CLR00H;清调分标志
CLR02H;清闪烁标志
CLRTR1;关闭定时器T1
CLRET1;关定时器T1中断
SETBTR0;开启定时器T0
SETBET0;开定时器T0中断〔计时开场〕
LJMPSTART1;跳回主程序
SET1:
LCALLDISPLAY;键释放等待时调用显示程序〔调分〕
AJMPSET2;防止键按下时无时钟显示
SET3:
LCALLDISPLAY;等待调分按键时时钟显示用
AJMPSET4
SET5:
LCALLDISPLAY;键释放等待时调用显示程序〔调小时〕
AJMPSETHH1;防止键按下时无时钟显示
SET7:
LCALLDISPLAY;等待调小时按键时时钟显示用
AJMPSET6
SETOUT1:
LCALLDISPLAY;退出时钟调整时键释放等待
AJMPSETOUT;防止键按下时无时钟显示
延时程序:
1MS延时程序,LED显示程序用
DL1MS:
MOVR6,#14H
DL1:
MOVR7,#19H
DL2:
DJNZR7,DL2
DJNZR6,DL1
RET20MS延时程序,采用调用显示子程序以改善LED的显示闪烁现象
DS20MS:
ACALLDISPLAY
ACALLDISPLAY
ACALLDISPLAY
RET
4.2程序流程图
图a主程序流程图
图b中断处理流程图
4.3仿真结果
在使用Proteus进展仿真时,仿真图不用画出数码管驱动程序,其他局部与设计的硬件图相仿。
绘制结果如下:
图4.3仿真图
五、总结
本文介绍的是利用AT89C51单片机设计的电子日历。
两周来,通过电子日历的设计和制作,加深了对单片机的理解,能够更熟练地应用单片机实现预期的功能,对今后的工作和接下来的毕业设计有很大的帮助。
当然,该电子日历还有很多缺乏之处,功能太过单调,只能实现年、月、日、星期、时、分、秒的显示,设计比拟简单。
电路图的设计过于单调,用的器件太少,实现调节时间的按钮太少,不能很好的实现时间的调节。
在测试过程中,六位数码显示管只显示五位数字,有一位数字不亮,通过屡次的修改程序并在PROTEUS软件环境中进展仿真,最终解决了这个问题,同时也透露出本人在单片机电路设计和程序设计方面的缺乏。
不过最后的仿真效果比拟好,今后还要对此加以研究,尽量实现更多的功能。
本次设计由王茂胜和X帅设计电路,程旺和郝行飞编程,罗振超和程朋朋进展调试,最终实现了预期的效果。
参考文献
[1]、董晓红,单片机原理及接口技术,XX电子科技大学,2004
[2]、何立民,MCS-51系列单片机应用设计系统配置与接口技术,航空航天大学,2001
[3]、李建忠,单片机原理及运用,XX电子科技大学,2002
[4]、邸春芳,电脑实时时钟的设计,计量与测试技术,2005/03
[5]、X勇,基于AT89C2051单片机的时钟日历系统,XX科技通讯,2005/03
[6]、余威明,MCU语音型电子万年历的开发,XX工贸职业技术学院报,2004/03
[7]、李光才,单片机课程设计实例指导[M],航空航天大学,2004
[8]、DS1302TrickleChargeTimekeepingChip,.dalsemi.
[9]、DateSheet,PCF8563Real-timecClock/calendar
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 电子 日历 设计