ImageVerifierCode 换一换
格式:DOC , 页数:15 ,大小:146KB ,
资源ID:1031203      下载积分:15 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/1031203.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于1602液晶显示的数字时钟(课程论文).doc)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于1602液晶显示的数字时钟(课程论文).doc

1、课程论文首页院、系(部)电信系专业电信092班级2班学号910706215姓名戴文滨课程教师林志雄课程名称科研论文与写作论文题目基于1602液晶显示的数字时钟成绩评语 签字: 年 月 日复核人意见 签字: 年 月 日基于1602液晶显示的数字时钟戴文滨摘要:基于单片机技术原理,以单片机芯片AT89C52作为核心控制器,通过硬件电路的制作以及软件程序的编制,设计制作出一个简易数字时钟系统。单片机扩展的LCD显示器用来显示秒、分、时计数单元中的值。整个设计包括两大部分:硬件部分和软件部分,以单片机为核心,配以一定的外围电路和软件。硬件是整个系统的基础,软件部分则要合理、充分地支持和使用系统的硬件,

2、从而完成系统所要完成的任务。关键词:单片机 1602液晶屏 按键 闹钟目前时钟随处可见,随着电子产品的更新速度的加快,各种功能强大,款式新颖的电子产品不断问世。电子时钟便是这一发展趋势中的代表,各种功能的电子时钟应有尽有,且功能不断更新。在现有数字电子钟技术的基础上,基于单片机技术原理,设计了一种体积小,误差小,可调整设置、液晶显示、且具有闹钟报时功能的数字电子钟。1、系统硬件设计1.1、单片机控制系统:本设计基于单片机技术原理,以单片机芯片AT89C52作为核心控制器,通过硬件电路的制作以及软件程序的编制,利用单片机的控制作用通过LCD来直接时、分、秒,并能对其分别进行设置、修改;利用对蜂鸣

3、器的控制来实现闹钟功能。同时使用C语言程序来控制整个时钟显示,使得编程变得更容易,这样通过三个模块:键盘、芯片、显示屏即可满足设计要求。整体线路见附录一所示:1.2、各部分功能实现1.2.1、控制部分(AT89C52):单片机采用52系列单片机。由ATMEL公司生产的AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。在单芯片上,拥有灵巧的8位CPU和在线系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、有效的解决方案。AT89S52具有以

4、下标准功能:8K字节Flash,256字节RAM,32位I/O口线,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。而且,它还具有一个看门狗(WDT)定时/计数器,如果程序没有正常工作,就会强制整个系统复位,还可以在程序陷入死循环的时候,让单片机复位而不用整个系统断电,从而保护你的硬件电路。单片机最小系统:单片机最小系统主要由复位电路,晶振电路,电源等几部分组成。1) 复位

5、电路:图1 复位电路复位电路有两种方式:上电复位和按钮复位,我们主要用按钮复位方式。如图1所示:2) 晶振电路:晶振电路如图2所示:图2 晶振模块原理图选取原则:电容选取22pF,晶振为12MHz。3) 电源:AT89S52单片机的供电电源是5V的直流电。4) EA非/Vpp脚:我们没有用外部扩展ROM,因此EA非/Vpp为高电平,即接+5V电源。1.2.2、键盘控制系统设计:按键需要4个,分别实现为时间调整、时间的加、时间的减、闹钟调整四个功能。用单片机的4个I/O口接收控制信号,其电路如图3所示:图3 按键调时电路通过控制键来控制所要调节的是时、分、还是秒。在控制键按下后LCD中会在相应的

6、位置出现光标,这时在通过加数键或减数键来控制时分秒的加或减。在调闹钟键按下后LCD中也会在相应的位置出现光标,这时也通过加数键或减数键来设置闹钟。1.2.3、1602液晶屏的显示电路1.2.3.1、1602液晶屏的介绍:液晶显示器简称是利用液晶经过处理后能够改变光线传输方向的特性,达到显示字符或者图形的目的。其特点是体积小、重量轻、功耗极低、显示内容丰富等特点,在单片机应用系统中有着日益广泛的应用。1602芯片:主要用于显示时间和定时时间。1602芯片由点阵字符液晶显示器件和专用的行、列驱动器、控制及必要的链接件、结构件组装而成,可以显示数字和西文字符,但不能显示图形,已经可以满足本次设计的需

7、要。1602型LCD可以显示2行16个字符,有8位数据总线D0D7和RS,R/W,EN三个控制端口,工作电压为5V,并且具有字符对比度调节和背光功能。1.2.3.2、显示电路:显示电路图如图4所示:图4 显示电路图1.2.4、闹钟部分:闹钟部分主要由蜂鸣器,三极管,电阻组成。其电路图如图5所示:图5 闹钟电路当单片机的P15接口输出为高电平时,蜂鸣器响,当输出为低电平时,蜂鸣器停止。2、软件编程程序主要分为两个部分,即液晶显示部分和控制按键部分。由于本设计采用的是用按键分别控制,可以在主函数中调用一个键盘扫描的函数,当相应的不同按键按下后通过控制单片机P2的输出,从而控制液晶的显示。源程序见附

8、录二所示:编程思路:在确定了时钟要实现的功能后按照上述各按键所实现的效果编写程序。本程序包含液晶写指令函数(write-com())、写数据函数(write-data()、初始化函数(init())、写入时分秒函数(write-sfm())和键盘扫描函数,这些程序围绕主函数相互调用。3、总结与体会在本次设计的过程中,我发现很多的问题,同时也让我认识到单片机课程设计重点就在于软件算法的设计,需要有很巧妙的程序算法。从这次的课程设计中,我真真正正意识到,在写程序时,逻辑思维要清晰,要有耐心。在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习单片机更是如此,程序只有经常写和读才能

9、提高,这就是我在这次设计中的最大收获。参考文献:1.李光才单片机课程设计 实例指导M北京:北京航空航天大学出版社 2004.2 朱定华单片机原理及接口技术实验M北京:北方交通大学出版社2002.11 3 刘湘涛江世明单片机原理与应用M. 北京:电子工业出版社,2006.4 何立民单片机应用系统设计M北京:北京航空航天大学出版社,1993.5 楼然笛单片机开发M北京:人民邮电出版社,1994.6 付家才单片机控制工程实践技术M北京:化学工业出版社 2004.3.附录一:图6 数字时钟的整体线路附录二:#include#include#define uchar unsigned char#defi

10、ne uint unsigned intsbit beep=P15; /定义蜂鸣器的io口sbit rw=P21; /定义读写的io口sbit rs=P20;/定义接收与发送指令的io口sbit lcden=P22;/定义使能端的io口sbit k1=P30; /定义调时键的io口sbit k2=P31; /定义加数键的io口sbit k3=P32; /定义减数键的io口sbit k4=P33; /定义调闹钟键的io口uchar count,count1,num,num1,num2;char h,min,sec,h1,min1,sec1;uchar table= 23:59:57;uchar table1= 00:00:00;void delay(uint ms)/延时程序 int i;while(ms-) for(i = 0; i0;x-) for(y=110;y0;y-);bit write_busy() /判断是否为繁忙状态 bit result; rs = 0; rw = 1; lcden = 1; _nop_(); _nop_(); _nop_(); _nop_(); result = (bit)(P0&0x80); lcden= 0; return result; void write_com(uchar com) /写指令函数 while(write_b

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1