LED1602液晶万年历_第1页
LED1602液晶万年历_第2页
LED1602液晶万年历_第3页
LED1602液晶万年历_第4页
LED1602液晶万年历_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 JINGCHU UNIVERSITY OF TECHNOLOGY 单片机原理与应用技术课程设计报告 目录一 引言3二 设计目的3三 设计任务和要求3四 总体设计方案34.1 方案的确立3 4.2 设计方框图4五 设计原理分析6六protues硬件图6七 程序清单6八 参考文献15九 体会心得15十 元件清单15LED1602液晶数字万年历11级电气自动化技术三班周晓宇摘要:本设计能够用3个按键调整日历时钟的年、月、日、时、分、秒完成可调式电子日历时钟的硬件和软件的设计,包括单片机的相关内容;液晶显示模块的设计,按键模块的设计。控制程序的编写等。关键词:主要由80C51单片机最小系统,显示模块

2、,按键模块构成。一 引言随着电子技术的迅速发展,特别是随大规模集成电路出现,给人类生活带来了根本性的改变。由其是单片机技术的应用产品已经走进了千家万户。电子万年历的出现给人们的生活带来的诸多方便。本文首先描述系统硬件工作原理,并附以系统结构框图加以说明,着重介绍了本系统所应用的各硬件接口技术和各个接口模块的功能及工作过程,其次,详细阐述了程序的各个模块和实现过程。万年历是采用数字电路实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表

3、的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,但是所有这些,都是以钟表数字化为基础的。因此,研究万年历及扩大其应用,有着非常现实的意义。二设计目的1.1 通过单片机课程设计,熟练掌握C51语言的编程方法,将理论联系到实践中去,提高我们的动手和动脑能力。1.2 通过数字秒表的设计,掌握外围器件如1602液晶的编程思想,独立键盘的编程思想及它们和单片机I/O口的使用方法,还有简单程序的程序编写,最终提高我们的逻辑抽象能力。三设计任务和要求

4、2.1 设计一个能在1602液晶上可以跑动的以独立键盘调整年月日时分秒的数字万年历2.2 要求:利用单片机实现上述任务即可四 总体设计方案对此次作品的方案选定:采用STC80C51作为主控制系统;4.1 方案的确立方案一:LED数码管数码管显示 LED数码管数码管具有:低能耗、低损耗、低压、寿命长、耐老化、防晒、防潮、防火、防高(低)温,对外界 环 境 要 求低,易于维护,同时其精度比较高,称重轻,确可靠,操作简单。数码管采用BCD编码显示数字,程序编译容易,资源占用较少。显示部分采用普通的共阴数码管显示,两个四位一体八段LED显示数码管和一个一位LED数码管设计时数码管同时扫描,显示时采用串

5、行口输出段码,用MAX7219驱动数码管。方案二:LCD液晶显示屏采用LCD液晶显示屏液晶显示屏的显示功能强大可显示大量字符,且视觉效果较好,外形美观。LCD1602可实现显示2行十六个字符。4.2 设计方框图五设计原理分析5.1最小系统的构建基本组成:89c51芯片,始终系统电路,复位电路,串口通信电路,电源电路。时钟系统是一个由震荡器产生的89c52系统工作所需的时钟信号;复位电路产生的复位功能;串口通信电路通过电路电脑与单片机连接通信作用。以下是原理图:5.2 液晶1602原理5.1 液晶显示原理及各参数引脚介绍5.11:液晶显示器各种图形的显示原理线段的显示:点阵图形式液晶有M*N个显

6、示单元组成,假设LED显示屏有64行,每行有128列,每八列对应一个字节的8位,即每行由16个字节,共168=128个点组成,屏上6416个显示单元与显示RAM区1024字节相应,每一个字节的内容和显示屏上相应位置的亮暗对应,例如屏上的第一行的亮暗由RAM区的000H00FH的16个字节的内容决定,当(000H)=FFH,(001H),(002H)=00H,(00EH)=00H,(00FH)=00H时,则在屏幕的顶部显示一条由8段亮线和8条暗线组成的虚线。这就是LED现实的基本原理。 5.12:1602LED的引脚及功能1602led分为背光和不带背光两种,基控制器大部分为HD44780,带背

7、光的比不带背光的比不带背光的厚,是否带背光在应用中并无差异,两者尺寸差别如下图5.13LED1602的主要技术参数:显示容量:162个字符芯片工作电压:4.55.5V电压工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.954.35(WH)mm5.14,引脚功能说明1602led采用标准的14脚无背光或16脚带背光借口,各引脚接口如下 5.15 电路图通过最小喜用与1602各个端口的连接,确保1602液晶征程工作,再根据1602液晶时序图在keil4中写出相关程序,及可通过80c51来控制液晶显示。六 硬件资源及其分配主要用到的硬件:80c51的P3端口,P2端口,160

8、2液晶,独立键盘 硬件分配:P0口全部作为1602液晶的数据传输口,P2口的0,1,2作为1602的控制端口,P3口的0,1作为独立键盘的接口七 protues硬件图八 程序清单#include#define uchar unsigned char#define uint unsigned intsbit lcden =P22;sbit rs =P20;sbit rw =P21;sbit k1 =P30;sbit k2 =P31;uchar count,nian=13,yue=5,ri=15,day=3,shi=14,fen,miao,k1num;uchar code table=2013-0

9、5-15 WED;uchar code table1= 14:00:00;/预设时间void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=6;y0;y-);void write_com(uchar com)rs=0;lcden=0;P0=com;delay(50);lcden=1;delay(5);lcden=0;void write_date(uchar date)rs=1;lcden=0;P0=date;delay(5);lcden=1;delay(5);lcden=0;void init()uchar num;rw=0;lcden=0;write_

10、com(0x38);write_com(0x0c);write_com(0x01);write_com(0x06);write_com(0x80);for(num=0;num15;num+)write_date(tablenum);delay(2); write_com(0x80+0x40);for(num=0;num99)nian=0;write_nyr(2,nian);write_com(0x80+2);if(k1num=2) /调节月的数据yue+;if(yue=0)|(yue12)yue=1;write_nyr(5,yue);write_com(0x80+5);if(k1num=3)

11、/调节日的数据ri+;if(ri=0)|(ri31)ri=1;write_nyr(8,ri);write_com(0x80+8);if(k1num=4) /调节星期的数据day+;if(day=0)|(day7)day=1;write_com(0x80+12);switch(day)case 1:write_date(0x4D);write_date(0x4F);write_date(0x4E);write_com(0x80+12);break;case 2: write_date(0x54);write_date(0x55);write_date(0x45); write_com(0x80+

12、12);break;case 3:write_date(0x57);write_date(0x45);write_date(0x44); write_com(0x80+12);break;case 4:write_date(0x54);write_date(0x48);write_date(0x55); write_com(0x80+12);break;case 5:write_date(0x46);write_date(0x52);write_date(0x54); write_com(0x80+12);break;case 6:write_date(0x53);write_date(0x4

13、1);write_date(0x54); write_com(0x80+12);break;case 7:write_date(0x53);write_date(0x55);write_date(0x4E); write_com(0x80+12);break; if(k1num=5)shi-;if(shi=0)|(shi24)shi=23;write_sfm(4,shi);write_com(0x80+0x40+4);if(k1num=6)if(fen=00)|(fen59)fen=60;fen-;write_sfm(7,fen);write_com(0x80+0x40+7);if(k1num

14、=7)if(miao=00)|(miao=59)miao=60;miao-;write_sfm(10,miao);write_com(0x80+0x40+10);void main() uchar a,b;init();while(1) keyscan();if(yue=1)|(yue=3)|(yue=5)|(yue=7)|(yue=8)|(yue=10)|(yue=12) /判断月份的天数a=31;if(yue=4)|(yue=6)|(yue=9)|(yue=11)a=30;if(yue=2) /判断是否为闰年if(nian%4=0)b=29;elseb=28;if(count=20) /定

15、时器计数满20次为一秒,秒数加一count=0;miao+;if(miao=60) /秒等于60的时候将miao清零,同时fen加一,下同miao=0;fen+;if(fen=60)fen=0;shi+;if(shi=24)shi=0;day+;ri+;if(day=8) /星期的选择,用的case语句day=1;switch(day)case 1:write_com(0x80+12);write_date(0x4D);write_date(0x4F);write_date(0x4E);write_date(0x0c);break;case 2:write_com(0x80+12);write

16、_date(0x54);write_date(0x55);write_date(0x45);write_date(0x0c);break;case 3:write_com(0x80+12);write_date(0x57);write_date(0x45);write_date(0x44);write_date(0x0c);break;case 4:write_com(0x80+12);write_date(0x54);write_date(0x48);write_date(0x55);write_date(0x0c);break;case 5:write_com(0x80+12);write

17、_date(0x46);write_date(0x52);write_date(0x54);write_date(0x0c);break;case 6:write_com(0x80+12);write_date(0x53);write_date(0x41);write_date(0x54);write_date(0x0c);break;case 7:write_com(0x80+12);write_date(0x53);write_date(0x55);write_date(0x4E);write_date(0x0c);break;if(yue=2) /是否为2月的判断if(rib)ri=1;

18、yue+;if(yue!=2)if(ria)ri=1;yue+;if(yue=13)yue=1;nian+;if(nian=100)nian=0;write_nyr(2,nian); /将数据写入1602write_nyr(5,yue);write_nyr(8,ri);write_sfm(4,shi);write_sfm(7,fen);write_sfm(10,miao);八 参考文献1 林志琦.基于Proteus的单片机可视化软硬件仿真M.北京:北京航空航天大学出版社,2006.92楼然苗,李光飞.51系列单片机设计实例M.北京:北京航空航天大学出版社,2003.33郭天祥,51单片机c语言教程,电子工业出版社2012.12九 设计心得体会通过这一周的课程设计,我学到了不少的知识。把以前没有学好的模拟电路的知识进行了补充和加强。这使我受益很大。加深了我对于单片机和数字电路的认识,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论