基于单片机的16X64LED点阵显示屏设计.docx
《基于单片机的16X64LED点阵显示屏设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的16X64LED点阵显示屏设计.docx(7页珍藏版)》请在冰点文库上搜索。
基于单片机的16X64LED点阵显示屏设计
基于单片机的16X64LED点阵显示屏设计
分类号TP273 单位代码 10642 密级公开 学号201108051018 学士学位论文 论文题目:
基于单片机的LED点阵显示屏设计 论文作者:
付文星指导教师:
杨宝亮专 业:
电子信息科学与技术提交论文日期:
2015年5月11日论文答辩日期:
2015年5月17日学位授予单位:
重庆文理学院 中国?
重庆2015年5月 GraduationThesisofChongqingUniversityofArtsandSciences DesignofLEDMatrixScreenbasedonMCU Candidate:
FuWenXing Supervisor:
YangBaoLiang Major:
ElectronicinformationScienceTechnology CollegeofElectronandElectricalEngineeringChongqingUniversityofArtsandSciences 05,2015 and中文摘要 摘要 此课题设计的是基于单片机的LED显示屏,以STC12C5A60S2单片机为整个系统的控制核心,时钟芯片DS1302、温度传感器DS18B20和点阵显示屏驱动器构成整个系统。
点阵显示屏采用16块8×8的LED点阵焊接成16×64点阵显示屏,能够实现显示时间、温度、简单的图像等。
显示方式采用动态显示,文字、数字能够实现静止、滚动显示方式。
单片机STC12C5A60S2控制程序采用C语言进行编程,通过程序控制各显示单元对应LED点阵屏的阳极和阴极端的高低电平,准确的控制没一个LED灯的亮灭。
所需要显示文字、数字、符号的点阵数据使用字模提取软件获取。
基于单片机的LED点阵屏便于信息更改、亮度高、能耗低、显示内容丰富,在广告宣传和实验教学中有着广泛的应用。
关键词:
单片机;LED点阵屏;STC12C5A60S2;DS1302 I 英文摘要 Abstract DesignofthesubjectistheLEDdisplaybasedonsinglechipmicrocomputer,STC12C5A60S2microcontrollerasthecontrolcoreofthewholesystem,bytheclockchipDS1302,temperaturesensorDS18B20anddotmatrixdisplayscreendrivethewholematrixdisplayscreenwith16piecesof8x8of16*64dotmatrixdisplayscreen,LEDlatticeweldingintocanachievedisplaytime,temperature,simpleimageandsodynamicdisplay,text,Numbers,canachievestatic,scrollingdisplaySTC12C5A60S2controlprogramusingClanguageprogramming,throughtheprogramcontrolanddisplayunitcorrespondingtotheLEDlatticescreenanodeandthecathodesideofhighandlowlevel,theaccuratecontroldidnotdestroythelightofanLEDneedtodisplaytext,Numbers,symbolsoflatticesoftwareforextractingdatausingaonsinglechipmicrocomputerofLEDdotmatrixscreentofacilitateinformationchanges,highbrightness,lowenergyconsumption,showsrichcontent,inadvertisingandhasbeenwidelyusedintheexperimentteaching. Keywords:
MCU;LEDmatrixscreen;STC12C5A60S2;DS1302 II
目录 目录 1引言.......................................................................................................................................................12系统总体设计.......................................................................................................................................13系统硬件电路设计...............................................................................................................................1 主控模块.................................................................................................................................1单片机时钟电路和复位电路..................................................................................................2时钟模块.................................................................................................................................3温度模块.................................................................................................................................3按键模块.................................................................................................................................4点阵屏驱动芯片........................................................................................................................4 74HC138芯片简介..........................................................................................................474HC595芯片简介.........................................................................................................574HC245芯片简介.........................................................................................................574HC4953芯片简介........................................................................................................6点阵显示屏模块......................................................................................................................6 点阵显示原理...................................................................................................................6驱动电路设计...................................................................................................................8 4系统总体设计.......................................................................................................................................95系统调试.............................................................................................................................................11 硬件调试...............................................................................................................................11软件调试...............................................................................................................................116结语.....................................................................................................................................................13致谢.........................................................................................................................................................14
姓名:
付文星 论文题目:
基于单片机的LED点阵显示屏设计 图4温度传感器DS18B20原理图 按键模块 本设计共4个独立按键,每个独立按键的一端接一个I/O口,另外一端接地,在没有按下按键的时候,单片机始终检测到的是高电平,即识别为按键没有按下,因此不做任何应答。
当按键按下时,此时I/O短接地,单片机检测到按键所对应到的I/O此时高电平改变为低电平,就可以判断此时触发的是哪一个按键。
4个按键的功能分别是:
第一按键为设置按键,正常显示时,按一下进入设置日期的年,在按设置键分别是设置月、日、时、分、秒;第二个按键为用于调整时间的递增按键,第三个按键为用于调整时间的递减按键,第四个按键为返回按键,用于退出设置界面,返回到正常显示。
图5键盘模块电路图 点阵屏驱动芯片 本设计中需要控制的led灯数量大,因此不能用单片机的一个i/O驱动一个led的方式,采用扫描驱动的方式。
本设计的屏幕,于需要的驱动芯片,驱动电路较为复杂,工作量大,本设计集成了驱动的单元板,这样设计可以降低成本,增加产品的观赏性。
这里简单介绍各个驱动芯片。
74HC138芯片简介74HC138是一款高速CMOS器件,74HC138引脚兼容低功耗肖特基TTL系列。
74HC138与单片机连接的数据引脚一共有三个,分别为A0,A1、A2。
并且当138使能时,138的输出Y0-Y7输出是相互排斥的,Y0-Y7输出自有一个是低电平其余为高电平。
74HC138总共有3个使能输入端,要保证138的正常工作,必须正确的配置这三个使能引脚。
他的使引脚中两个低有效和一个高电平有效。
因为74HC138有这些特定的性能,因 4 2015届电子信息科学与技术专业学士学位毕业论文 此只要2块74HC138就可以搭建一个4-16译码器。
图6为74HC138的引脚图。
①第4,5脚./(E1)、/(E2)选通端;②第6脚.E3选通端;③第8脚.GND地; ④第7,9~15脚.Y7~Y0译码输出端;⑤第16脚.Vcc电源 图674HC138引脚图 74HC595芯片简介 74HC595内部含有一个8位移位寄存器还包含有存储器,它的I/O具有三态输出功能。
移位寄存器和存储器它们的时钟电路是分开的互不影响。
当我们想通过595向外输出数据时,数据首先在SH_cp的上升沿的时候保存到移位寄存器,数据在ST_cp的上升沿保存到存储寄存器。
其输入与CMOS输出兼容,有一个端口可以对移位存器清零和复位可以控制输出部分。
74HC595最大的好处是包含有数据存储寄存器,移位的时候输出端的数据不会改变,这对于显示屏的驱动有极为重要的作用。
其引脚说明如下,真值表见图7。
①Q0?
Q78位并行数据输出;②GND第8脚地; ③Q7’第9脚串行数据输出;④MR第10脚主复位;⑤SHCP第11脚移位寄存器时钟输入; ⑥STCP第12脚存储寄存器时钟输入;⑦OE第13脚输出有效;⑧DS第14脚串行数据输入;⑨VCC第16脚电源; 图774HC595真值表 74HC245芯片简介于单片机i/O的驱动能力非常的有限,通常需要在单片机和另外的模块中加驱动。
245是可以控制上行还是下行八路缓冲器,常常用于数据总线的双向异步通信。
在将245数据输入 5 姓名:
付文星 论文题目:
基于单片机的LED点阵显示屏设计 引脚接到单片机上,不仅可以消除上下行数据的相互影响,而且可以保证芯片的不被损坏。
当cpu与受控器件之间想要双向异步通信,245就是最好的选择。
通常在同并口液晶屏、、并口传感器或通讯模块的接口上我们可以见到。
图8为74HC245的引脚图。
图874HC245引脚图 74HC4953芯片简介 4953作用:
行驱动管;功率管。
我们常常在LED点阵显示屏的驱动电路中能够发现。
点阵显示屏的每一行常常有许许多多的led灯,想要它们都正常工作,每一行的电流就会特别大这时就需要使用行驱动管。
一片4953内部有两个行驱动管,可以驱动两行。
1、3脚VCC;2、4脚控制脚;2脚控制7、8脚的输出;4脚控制5、6脚的输出;只有当2脚为“0”时;7、8才会输出否则这个端口为高阻态,与之对应的另外一组行驱动管也有相同的特性。
图9为74HC4953的引脚图和内部结构图。
图974HC4953引脚图和内部结构图 点阵显示屏模块 点阵显示原理 8*8LED点阵64发光二级管构成。
每一行的LED是共阴极,每一列的LED是共阳极。
如果只需要左上角的灯亮就需要第一行为低电平,第一列为高电平。
如果想要点阵显示一个字符,就需要利用像流水灯一样的多太显示,当刷新速度大于人眼视觉暂留性时间。
6 2015届电子信息科学与技术专业学士学位毕业论文 图108×8共阴点阵原理图 本设计需要显示的信息量大,因此必须用到动态显示。
动态显示是指将一个需要显示的字符分割为一行一行的,然后快速的显示完16行,并重复许多次。
但是如果驱动电路和驱动程序设计不够好,容易造成亮度低,闪烁等问题。
事实上利用动态显示并不是让需要亮的灯常亮,而是因为发光二极管的余晖效应和人眼的视觉暂留,让我们感觉到他们是常亮的。
最关键的的是如何恰当的提取每个字符的字模。
目前有许许多多可以完成取模的软件,本次设计采用的是pc2002取模软件。
打开软件后首先要最取模的参数进行详细的设置,规避取模参数与程序不相符造成乱码的现象。
这里我采用的取模参数为宋体、粗体、左移一位,取模方式:
逐行式逆向阳码,汉子需要的点阵大小为16*16。
当为数字或者英文取模时这款软件能自动将字符的宽度减少一半。
设置好取模参数后,在文字输入框内输入“电”后在上面的预览框内能看到字符的效果然后点生成字模。
最后把下面的字模复制到程序中的相应位置。
图11字模选项设置 7 姓名:
付文星 论文题目:
基于单片机的LED点阵显示屏设计 图12软件提取字符字模 驱动电路设计 行驱动我采用2块74ls138级联组成一个4-16译码器。
本设计显示屏每行有64个led灯,每行的显示电流较大,138的驱动能力有限,因此在138译出引脚后连接P_MOS管4953,4953为行驱动管,每片4953分别可以帮助我们驱动两行。
8个4953的每一个输出引脚加起来一共有16个输出引脚,每个输出引脚分别分别接led显示屏一个行且接一个33K的电阻电阻的另一端接地。
于单片机芯片很脆弱,为了保证产品长时间无故障运行,所以在74LS138的数据选择端接到一个74hc245的数据引脚。
74HC245是八路缓冲器,可以实现数据的双向异步通信。
在将245数据输入引脚接到单片机上,不仅可以消除上下行数据的相互影响,而且可以保证芯片的不被损坏。
整体驱动原理框图如图13所示,电路图如图14所示。
图13驱动电路原理图 8
2015届电子信息科学与技术专业学士学位毕业论文 else{for(i=0;i voiddisplay(unsignedcharmode){unsignedchari;//送显示数据switch(mode){case0:
if(switch_flag==1){k=0;switch_flag=0;}//流动暂停显示for(i=0;i45&&nongli_flag==0){k=0;nongli_flag=~nongli_flag;nongli_change_flag=1;} if(k>24&&festival_flag==0&&nongli_flag==1) {k=0;nongli_flag=~nongli_flag;nongli_change_flag=1;} elseif(k>30&&festival_flag==1&&nongli_flag==1) {k=0;nongli_flag=~nongli_flag;nongli_change_flag=1;}}break; case7:
//全部流动显示 if(switch_flag==1){k=0;switch_flag=0;}for(i=0;i45){k=0;nongli_flag=~nongli_flag;nongli_change_flag=1;} if(k>24&&festival_flag==0&&nongli_flag==1) {k=0;nongli_flag=~nongli_flag;nongli_change_flag=1;} elseif(k>30&&festival_flag==1&&nongli_flag==1) {k=0;nongli_flag=~nongli_flag;nongli_change_flag=1;}}break; case8:
//固定显示温度 for(i=0;i 19 2015届电子信息科学与技术专业学士学位毕业论文 case3:
//显示年 if(switch_flag==1){k=0;switch_flag=0;}if(k voidshutter_clock(void){if(date[30]!
=temp_time[0])f1=0;//时十位if(f1 20 2015届电子信息科学与技术专业学士学位毕业论文 elseSendByte(a[date[34]][disrow]);SendByte(a[date[35]][disrow]);//冒号if(date[36]!
=temp_time[4])f5=0; //秒十位if(f5 voiddelay_nms(unsignedintcount){ //软件延时unsignedinti,j;for(i=0;i voidtime_to_buff_all(void){DS1302_GetTime_ALL(&CurrentTime);//读取全部时间 temp_time[0]=date[30];temp_time[1]=date[31];temp_time[2]=date[33];temp_time[3]=date[34];temp_time[4]=date[36];temp_time[5]=date[37]; date[30]=/10;date[31]=; //小时 date[33]=/10;date[34]=; //分钟 date[36]=/10;date[37]=; //秒 date[10]=/10;date[11]=; //年 date[14]=/10;date[15]=; //月 date[18]=/10;date[19]=; //日 date[27]=week_data;date[28]=week_data+1;//星期} voidkey_scan(void){ //扫描按键 staticunsignedcharmode_counter=0;if(adj_flag==1){adj_flag=0;stop_bit=0;offset=0;switch_f