基于51单片机液晶电子钟显示设计

上传人:r****d 文档编号:123580747 上传时间:2022-07-22 格式:DOCX 页数:18 大小:230.87KB
返回 下载 相关 举报
基于51单片机液晶电子钟显示设计_第1页
第1页 / 共18页
基于51单片机液晶电子钟显示设计_第2页
第2页 / 共18页
基于51单片机液晶电子钟显示设计_第3页
第3页 / 共18页
点击查看更多>>
资源描述
基于51单片机液晶电子钟显示实训报告学院系别: 机电工程学院 专业班级: 机电一体化ZB421101 设计学生: 指导老师: 阎峻岭 王晓勤 设计时间: 2014.04.26 目录第一章 绪论1第二章 方案比较与论证2第三章 系统理论分析、计算与电路仿真3定时器与中断原理3proteus仿真结果3第四章 系统的硬件设计与实现4复位部分4晶振部分4液晶部分5第五章 系统的软硬件设计6按键抖动处理6第六章 系统测试及结果8第七章 小节9第八章 设计心得体会10致谢11参考文献12附录131、原理图132、源程序13摘要 该设计主要由单片机AT89C51和液晶显示器组成,实现常用的实时电子钟功能。利用可编程芯片AT89C51强大的功能,我们实现了日历功能、时钟功能。该时钟使用液晶显示器作为显示模块,使用三个弹性小按键作为输入模块,调节年、月、日、星期、时、分、秒。该时钟系统还具有功耗小、成本低的特点,具有很强的实用性。由于系统使用元器件较少,单片机所占用的I/O口不多,因此系统具有一定的扩展性。 经实验测试表明,该系统各项功能都已达到计划要求。 关键词:单片机、电子钟、AT89C51、中断、计时器、LM016L液晶显示器AbstractThedesign mainly consists ofMCU AT89C51 andLCDdisplay,used to achieve areal-timeclockfunction.Using the programmablechipAT89C51 powerful,we implement acalendar,clock function.Theclock usesLCDas the display module,using threeelasticsmall keysas inputmodule,adjusting theyear,month,day,week,time,minutes,seconds.The clock system alsohas the characteristics oflow power consumption,low cost,strong practicability. Because the system usesfewer components,single chipoccupied by theI/O portis not much,so thesystem scalable.The experimentsshow that,the system functions have beenachievedplan requirements.Keywords:single chip microcomputer,electronic clock,AT89C51,interrupt,timer,LM016L liquid crystal display第一章 绪论单片机自1976年由于Intel公司推出MCS-48开始,迄今已有二十多年了。由于单片机集成度高、功能强、可靠性高、体积小、功耗低、使用方便、价格低廉、等一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎“无所不在,无所不为”。单片机的应用领域已从面向工业控制、通讯、交通、智能仪表等迅速发展到家用消费产品、办公自动化、汽车电子、PC机外围以及网络通讯等广大领域。 本文讨论的单片机多功能定时器的核心是目前应用极为广泛的51系列单片机,配置了外围设备,构成了一个可编程的计时定时系统,具有体积小、可靠性高等优点。第二章 方案比较与论证根据实训要求,该时钟系统可分为输入部分、处理部分和显示部分。其中输入部分是键盘输入数据调整要显示的内容,处理部分单片机接收并通过算法处理键盘输入的信息变成显示模块所能接受的信息,显示部分是用来实时显示处理部分处理后的数据。 输入模块处理模块显示模块 图2-1 输入模块:我们选用三个独立的弹性小按键来实现,选用矩阵式键盘则太浪费资源了,另外独立弹性小按键具有价格便宜、容易获得、容易控制等特点。 处理模块:我们Atmel公司生产的芯片,是40引脚DIP封装,这种单片机芯片对初学者来说容易上手,其功能也很强大,用来实现一个电子钟绰绰有余。 显示部分:我们有两种可供选择:数码管和LM016L液晶显示器。实现一个电子钟若用数码管则需6个,所占空间相对大了些,而且如果我们还要实现日历功能,则需要更多的数码管,所占空间翻倍,而且还会造成单片机I/O引脚滥用甚至不够用,用液晶显示器来实现则方便得多,界面也相对友好,但液晶显示器有个缺点就是价格比较贵。综合而言,我们最终选择了LM016L液晶显示器。第三章 系统理论分析、计算与电路仿真3.1 定时器与中断原理电子钟主要是利用单片机的定时器/计数器和中断来实现。定时器实际是加1计数器,单片机每运行一个机器周期定时器自动加1,当计到所定的数N时,单片机就产生一次中断,停下所做的工作,转而去执行中断服务程序,单片机每个机器周期等于外部晶振的12个振荡周期,当外部晶振是12MHZ时,则每个机器周期的时间是: Tcy=121/12=1m (3-1)定时器设为N时,即每计到N时产生一次中断,而一次中断的时间为: t=NTcym (3-2)当产生X(x根据N来设置,两者之积为1000000)次中断后,就过了1s,再通过液晶显示屏显示出来,这样就达到了让液晶显示屏每隔一秒就跳一下的目的了。3.2 proteus仿真结果引脚相同符号表示连接在一起的点图3-1 PROTEUS仿真效果图第四章 系统的硬件设计与实现4.1 复位部分图4-1 复位部分原理图 当复位键S1被按下时,电容C1开始充电,按键放开时,C1开始放电,电流经R3流向接地端,此时单片机复位端RST电平被拉高,当放电时间常数C1R32Tcy(Tcy时为机器周期 ),即给单片机持续的两个机器周期的高电平时单片机被复位。4.2 晶振部分图4-2 晶振部分原理图 晶体振荡器用于给单片机提供时钟脉冲,使单片机按照一定的步伐走,晶振没振荡12个周期,单片机运行一个机器周期,晶振外面的两个电容C1和C2是让晶振工作在其感性区,因为工作在这个区时它的稳定度是最高的。电容大小一般为1547Pf。4.3 液晶部分图4-3 液晶部分原理图 液晶1、2端口分别是工作电源的负、正极;3端口接一电位器,哟ing语调节液晶显示对比度;714为数据端口;4、5、6是三个连接单片机芯片的控制引脚。第五章 系统的软硬件设计图5-1 程序流程图5.1 按键抖动处理图5-2 按键抖动处理从上图可以看出,按键在被按下或弹起的瞬间会有抖动现象,抖动的时间长短与按键的机械特性有关,一般是510ms。如果不采取相关措施处理,按一次键时会发现按了几次键的现象。只要在软件设计中避免过这段时间就可以解决这一问题了。解决方法是:当扫描到按键被按下时延时一段时间(延时时间应该大于按键抖动时间)再检测按键是否仍为按下状态,这是才判定按键被按下。软件只需在程序中加一个延时函数即可。第六章 系统测试及结果测试结果总的来说较为满意,比预计的稍好。但由于中断函数中代码较长,故存在一定程度的误差,用秒表测试大约每5分钟慢了1秒,这个问题是单片机定时器来数时无法解决的,中断函数必定会较长,处理这一函数会花费一定时间,这就无法做到时钟走得很精确。解决方法是:用一时钟芯片来实现,用了时钟芯片后,误差明显减小,近乎精确,结果较好。第七章 小节本实验以AT89C51为单片机核心部件,不仅实现了实验要求得实时时钟功能,还实现了日历功能。硬件线路较为简单,主要是通过KEIL软件灵活编程和Proteus仿真来实现的,实训结果基本达到实验要求。通过本实训我们自己的动手能力和对单片机的编程及仿真能力有了较大的提高,为以后进一步学好单片机打下了坚实的基础。有人说能用单片机做一个电子钟,那么你已经掌握了单片机的80%。这是有一定的道理的,电子钟对编程的综合性要求是非常高的,对单片机内部结果也要很熟悉。第八章 设计心得体会通过这次单片机仿真实训,我不仅加深了对单片机的理论理解,将老师交给的单片机编程思想运用到了实际的项目中去,而且我还学会了如何去培养自己的创新精神,从而不断的战胜自己,超越自己。但前提是要很好的掌握单片机设计的核心理论基础知识。同时,在更重要的是,我在实训过程中,学会了坚持不懈,不轻言放弃。在这次的实训过程中,我虽然没学过单片机编程,但我通过老师细心的讲解和帮助下,使我初步了解单片机项目的编程和设计过程,掌握了一些基本的编程语句和设计思想。虽然在实训的过程中遇到了很多困难和失败的考验,但我在要放弃的那一刻,我明白饿了结果不是最重要的,重要的学习单片机的编程思想和设计方法的过程,这才是学习单片机的核心。在设计一个单片机系统时,除了要达到要求的性能指标之外,成本也是一个重要的指标。成本的高低决定了产品的实用性。致谢 在本次单片机仿真实训结束之际,首先要感谢阎峻岭和王晓勤老师的谆谆教诲和耐心指导。在本次单片机仿真实训中,通过王老师详细生动的单片机仿真理论讲解,以及有着非常丰富的单片机设计经验的阎老师,给我们单片机初学者以浅显易懂的讲解,使我在实训过程中能够较容易的理解单片机的编程思想及设计过程。我能顺利完成本次单片机仿真实训,离不开这两个老师的长达一个星期的指导。 通过本次单片机仿真实训,我最重要的收获是在实训过程中,领悟了单片机的设计,必须经过长期坚持不懈的反复进行单片机项目设计的过程,只有经过了编程和设计的过程,自己才能在以后的单片机学习中逐渐掌握单片机编程设计的思想,实现各个单片机项目的顺利地完成设计。当然,本次实训因为是初学者,在C语言编程中还不是很熟悉,希望在以后的实训中,能汲取本次的经验和教训,以期望更好的完成单片机设计。参考文献1 新概念51单片机C语言教程入门、提高、开发、拓展全攻略 郭天祥编著,电子工业出版社M2 protel 99 实用培训教程 陈爱弟编著,人民邮电出版社M3 赵建领、薛园园等编.零基础学单片机C语言程序设计.机械工业出版社出版M,2009-44 李文方编.单片机原理与应用M.哈尔滨工业大学出版社,2010-55陈建铎编.单片微型计算机原理及其应用.北京师范大学出版社,19876 贺康益等编.电力电子技术基础M.浙江大学出版社,19957 王兆安,杨君,刘进军,王跃编.单片机原理及应用M.重庆大学出版社,2006-18 余红娟,杨承毅编.电子技术基本技能.人民邮电出版社,2009-109 杨宁编.单片机与控制技术M.北京航空航天大学出版社,2005-03-0110 张辉,马建华,隋淼编.电力内外线施工.北京理工大学出版社,2010-811 杨金岩,郑应强,张振仁编.8051单片机数据传输接口扩展技术与应用实例M.人民邮电出版社,2005-1-112 董毅编.电路与电子技术M.机械工业出版社,2008-113 何立民编.单片机应用技术选编10M.北京航空航天大学出版社,2004-3附录1、原理图2、源程序#include#define uchar unsigned char#define LCD P0sbit K1 = P30;sbit K2 = P31;sbit K3 = P32;sbit RS = P20;sbit RW = P21;sbit EN = P22;uchar code table116 = Welcome ZB421101;uchar code table216 = SD:2014-04-25;void delay(uchar z)/2msuchar i,j,k;for(i=z;i0;i-)for(j=4;j0;j-)for(k=248;k0;k-);void write_cmd(uchar cmd)RS = 0; RW = 0;EN = 1;LCD = cmd;EN = 0;delay(5);/10msvoid write_data(uchar dat)RS = 1; RW = 0;EN = 1;/_nop_(); /1000nsLCD = dat;EN = 0;delay(5);/10msvoid init_lcd(void)write_cmd(0x38); /显示模式设置write_cmd(0x01); /清屏/write_cmd(0x0f); /光标设置write_cmd(0x06); /光标设置write_cmd(0x0c); /光标设置void main(void) init_lcd();while(1)uchar i; write_cmd(0x80);for(i=0;i16;i+)write_data(table1i);delay(50); write_cmd(0x80+0x40);for(i=0;i16;i+)write_data(table2i);delay(50);
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 商业计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!