LED1602液晶万年历

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

单片机课程设计1单片机原理与应用技术课程设计报告JINGCHUUNIVERSITYOFTECHNOLOGY单片机课程设计2目录一引言¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨3二设计目的¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨3三设计任务和要求¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨3四总体设计方案¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨34.1方案的确立¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨34.2设计方框图¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨4五设计原理分析¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨6六protues硬件图¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨6七程序清单¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨6八参考文献¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨15九体会心得¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨15十元件清单¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨15单片机课程设计3LED1602液晶数字万年历11级电气自动化技术三班周晓宇摘要:本设计能够用3个按键调整日历时钟的年、月、日、时、分、秒完成可调式电子日历时钟的硬件和软件的设计,包括单片机的相关内容;液晶显示模块的设计,按键模块的设计。控制程序的编写等。关键词:主要由80C51单片机最小系统,显示模块,按键模块构成。一引言随着电子技术的迅速发展,特别是随大规模集成电路出现,给人类生活带来了根本性的改变。由其是单片机技术的应用产品已经走进了千家万户。电子万年历的出现给人们的生活带来的诸多方便。本文首先描述系统硬件工作原理,并附以系统结构框图加以说明,着重介绍了本系统所应用的各硬件接口技术和各个接口模块的功能及工作过程,其次,详细阐述了程序的各个模块和实现过程。万年历是采用数字电路实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,但是所有这些,都是以钟表数字化为基础的。因此,研究万年历及扩大其应用,有着非常现实的意义。二设计目的1.1通过单片机课程设计,熟练掌握C51语言的编程方法,将理论联系到实践中去,提高我们的动手和动脑能力。1.2通过数字秒表的设计,掌握外围器件如1602液晶的编程思想,独立键盘的编程思想及它们和单片机I/O口的使用方法,还有简单程序的程序编写,最终提高我们的逻辑抽象能力。三设计任务和要求2.1设计一个能在1602液晶上可以跑动的以独立键盘调整年月日时分秒的数字万年历2.2要求:利用单片机实现上述任务即可四总体设计方案对此次作品的方案选定:采用STC80C51作为主控制系统;4.1方案的确立方案一:LED数码管数码管显示LED数码管数码管具有:低能耗、低损耗、低压、寿命长、耐老化、防晒、防潮、防火、防高(低)温,对外界环境要求低,易于维护,同时其精度比较高,称重轻,确可靠,操作简单片机课程设计4单。数码管采用BCD编码显示数字,程序编译容易,资源占用较少。显示部分采用普通的共阴数码管显示,两个四位一体八段LED显示数码管和一个一位LED数码管设计时数码管同时扫描,显示时采用串行口输出段码,用MAX7219驱动数码管。方案二:LCD液晶显示屏采用LCD液晶显示屏液晶显示屏的显示功能强大可显示大量字符,且视觉效果较好,外形美观。LCD1602可实现显示2行十六个字符。4.2设计方框图五.设计原理分析5.1最小系统的构建基本组成:89c51芯片,始终系统电路,复位电路,串口通信电路,电源电路。时钟系统是一个由震荡器产生的89c52系统工作所需的时钟信号;复位电路产生的复位功能;串口通信电路通过电路电脑与单片机连接通信作用。以下是原理图:单片机课程设计55.2液晶1602原理5.1液晶显示原理及各参数引脚介绍5.11:液晶显示器各种图形的显示原理单片机课程设计6线段的显示:点阵图形式液晶有M*N个显示单元组成,假设LED显示屏有64行,每行有128列,每八列对应一个字节的8位,即每行由16个字节,共16×8=128个点组成,屏上64×16个显示单元与显示RAM区1024字节相应,每一个字节的内容和显示屏上相应位置的亮暗对应,例如屏上的第一行的亮暗由RAM区的000H——00FH的16个字节的内容决定,当(000H)=FFH,(001H),(002H)=00H,……(00EH)=00H,(00FH)=00H时,则在屏幕的顶部显示一条由8段亮线和8条暗线组成的虚线。这就是LED现实的基本原理。5.12:1602LED的引脚及功能1602led分为背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的比不带背光的厚,是否带背光在应用中并无差异,两者尺寸差别如下图5.13.LED1602的主要技术参数:显示容量:16×2个字符芯片工作电压:4.5——5.5V电压工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.95×4.35(W×H)mm5.14,引脚功能说明1602led采用标准的14脚无背光或16脚带背光借口,各引脚接口如下5.15.电路图单片机课程设计7通过最小喜用与1602各个端口的连接,确保1602液晶征程工作,再根据1602液晶时序图在keil4中写出相关程序,及可通过80c51来控制液晶显示。六硬件资源及其分配主要用到的硬件:80c51的P3端口,P2端口,1602液晶,独立键盘硬件分配:P0口全部作为1602液晶的数据传输口,P2口的0,1,2作为1602的控制端口,P3口的0,1作为独立键盘的接口七protues硬件图单片机课程设计8八程序清单#includereg52.h#defineucharunsignedchar#defineuintunsignedintsbitlcden=P2^2;sbitrs=P2^0;sbitrw=P2^1;sbitk1=P3^0;sbitk2=P3^1;ucharcount,nian=13,yue=5,ri=15,day=3,shi=14,fen,miao,k1num;ucharcodetable[]=2013-05-15WED;ucharcodetable1[]=14:00:00;//预设时间voiddelay(uintz){uintx,y;for(x=z;x0;x--)for(y=6;y0;y--);}voidwrite_com(ucharcom){rs=0;单片机课程设计9lcden=0;P0=com;delay(50);lcden=1;delay(5);lcden=0;}voidwrite_date(uchardate){rs=1;lcden=0;P0=date;delay(5);lcden=1;delay(5);lcden=0;}voidinit(){ucharnum;rw=0;lcden=0;write_com(0x38);write_com(0x0c);write_com(0x01);write_com(0x06);write_com(0x80);for(num=0;num15;num++){write_date(table[num]);delay(2);}write_com(0x80+0x40);for(num=0;num12;num++){write_date(table1[num]);delay(2);}TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;单片机课程设计10}voidwrite_sfm(ucharadd,uchardate){ucharshi,ge;shi=date/10;ge=date%10;write_com(0x80+0x40+add);write_date(0x30+shi);//详细见码表write_date(0x30+ge);}voidwrite_nyr(ucharadd,uchardate){ucharshi,ge;shi=date/10;ge=date%10;write_com(0x80+add);write_date(0x30+shi);//详细见码表write_date(0x30+ge);}voidtimer0()interrupt1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;count++;}voidkeyscan(){if(k1==0){delay(50);//延时消抖if(k1==0){k1num++;while(!k1);if(k1num==1)//进入年设置选项{TR0=0;//时间停止write_com(0x80+2);write_com(0x0f);//此时设置为显示光标,光标闪烁}}if(k1num==2)//进入月设置选项{write_com(0x80+5);单片机课程设计11}if(k1num==3)//日设置选项{write_com(0x80+8);}if(k1num==4)//星期设置选项{write_com(0x80+12);}if(k1num==5)//时设置选项{write_com(0x80+0x40+4);}if(k1num==6)//分设置选项{write_com(0x80+0x40+7);}if(k1num==7)//秒设置选项{write_com(0x80+0x40+10);}if(k1num==8)//退出设置{k1num=0;write_com(0x0c);TH0=(65536-50000)/256;//设置完成后再次讲定时器装初值,以免影响及时准确度TL0=(65536-50000)%256;TR0=1;//时间继续走}}if((k1num!=0)&&(k1num!=8))//判定是否进入设置状态{if(k2==0)//按键2,加数据{delay(20);if(k2==0){while(!k2);if(k1num==1)//调节年的数据{nian++;if((nian==0)||(nian99))nian=0;单片机课程设计12write_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)//调节日的数据{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){case1:write_date(0x4D);write_date(0x4F);write_date(0x4E);write_com(0x80+12);break;case2:write_date(0x54);write_date(0x55);write_date(0x45);write_com(0x80+12);break;case3:write_date(0x57);write_date(0x45);write_date(0x44);write_com(0x80+12);单片机课程设计13break;case4:write_date(0x54);writ

1 / 18
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功