项目4单片机控制的点阵显示屏的设计和制作_第1页
项目4单片机控制的点阵显示屏的设计和制作_第2页
项目4单片机控制的点阵显示屏的设计和制作_第3页
项目4单片机控制的点阵显示屏的设计和制作_第4页
项目4单片机控制的点阵显示屏的设计和制作_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

项目4单片机控制的点阵显示屏的设计和制作

LED点阵显示屏是由若干个半导体发光二极管像素点均匀排列组成。利用不同的材料可以制造不同色彩的LED像素点,目前应用最广的是红色、绿色、黄色。可用来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息。LED显示屏显示画面色彩鲜艳,立体感强,广泛应用于商场、银行、码头、机场、车站、医院、宾馆、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。本项目将设计单片机控制的16×16点阵显示屏。涉及到的知识点有点阵显示器的结构和原理,汇编和C51编程。

任务4.1认识LED点阵显示器任务4.2单片机控制的点阵显示屏的设计与仿真

下一页任务4.1认识LED点阵显示器4.1.1LED点阵显示器的结构和原理4.1.2MCS-51单片机和LED点阵显示器的接口设计上一页下一页返回4.1.1LED点阵显示器的结构和原理一、

LED点阵显示器的结构上一页下一页返回

内部等效电路如图所示。上一页下一页返回二、LED点阵显示器的显示原理看图上图可知,要想显示某个数字、字符或简单的汉字,只需将相应位置的二极管点亮即可,例如显示大写字母“A”,如下图所示,可让字符位置的二极管点亮。上一页下一页返回要想显示字母“A”,造型中的二极管同时点亮是不可能的,这点和LED数码管动态显示的道理是一样的。那就只能采用分时显示,可采用逐行扫描或者逐列扫描。所谓的逐行扫描就是行线送出扫描信号,0~7行每次只有1行是高电平,同时在列线送出扫描码,8行采用分时显示。逐列扫描则是列线送出扫描信号,A~H每次只有1列是低电平,同时行线送出扫描码,8列采用分时显示。这样的话,字母“A”、“0”、汉字“工”对应的行扫描码和列扫描码如图所示。上一页下一页返回4.1.2MCS-51单片机和LED点阵显示器的接口设计上一页下一页返回在PROTEUS的元件库中找到“MATRIX-8×8-RED”元件,然后用电源端子“POWER”和地端子“GROUND”来测试点阵显示器的管脚对应的是二极管的正负极性,进而测试出列线和行线。在硬件连线时,行线、列线和I/O口可以随意连接,但程序和硬件要对应起来,也就是说,行扫描还是列扫描可完全有程序来决定。在上图中,经过测试,点阵显示器右边的管脚为列信号,从上至下依次为0~7列(左边为第0列),而左边的管脚为行信号,从下而上依次为0~7行(下面为第0行)。程序的编制,可以采用列扫描,即每次选中一列,然后送出列扫描码,延时大约1ms,如此让8列循环点亮即可。上一页下一页返回汇编源程序如下:;P2提供行线\P0提供列线ORG0000HMAIN:MOVR2,#0FEHMOVR1,#00HMOVR7,#08HMOVDPTR,#TABSCAN:MOVA,R1MOVCA,@A+DPTRMOVP2,AMOVA,R2MOVP0,AACALLD1MS上一页下一页返回MOVP0,#0FFHINCR1RLAMOVR2,ADJNZR7,SCANSJMPMAINTAB:DB00H,3FH,48H,88HDB88H,48H,3FH,00HD1MS:MOVR5,#10HD1:MOVR4,#10HD2:DJNZR4,$DJNZR5,D1RETC51源程序如下:#include<AT89X51.h>#include<intrins.h>typedefunsignedcharu8;u8codeLEDA[]={0x00,0x3F,0x48,0x88,0x88,0x48,0x3F,0x00};voiddelay02s(void){u8i,j; for(i=20;i>0;i--)for(j=20;j>0;j--);}voidmain(void) /*主函数*/{u8m,i,j; 上一页下一页返回while(1){m=0xfe;j=0;for(i=0;i<8;i++){P0=m;P2=LEDA[j];delay02s(); /*调用函数delay02s()*/m=_crol_(m,1);j++;}}}

任务4.2单片机控制的点阵显示屏的设计与仿真4.2.1硬件电路设计4.2.2程序编制4.2.3综合仿真调试上一页下一页返回4.2.1硬件电路设计在本任务中,我们将完成16×16大屏幕点阵显示器的接口设计,并编程使其显示汉字。一、硬件电路设计上一页下一页返回PROTEUS中没有16×16的点阵显示器,可以用4片8×8的点阵显示器来拼装。从库中找到“MATRIX-8×8-RED”元件,放置4块到文档编辑窗口。每一块显示器的上边8个引脚为列线,下边8个引脚为行线。拼接时可这样连线:左上和左下的列线连接起来组成col0~col7,左上和左下的行线连接起来组成row0~row7;右上和右下的列线连接起来组成col8~col15,右上和右下的行线连接起来组成row8~row15。用单片机的P0口和P2口连接16位列线,P1和P3口通过两片74LS245连接16位行线,74LS245起驱动行信号的作用。上一页下一页返回硬件连接完成后,接下来就可以编写显示程序了,依据显示的内容和方式不同,程序也会有所不同。但有一点是必须的,那就是待显示的汉字或符号的编码,也可叫字模。字模手工算起来太麻烦,可用专门的字模软件。下面介绍一款字模软件“PCtoLCD2002完美版”。PCtoLCD2002完美版是一款绿色软件,无需安装,直接运行即可。支持字符模式和图形模式取模。下面简单说明该软件的用法。如果在“模式”菜单中选择图形模式,那么在“文件”菜单中点“新建”后,弹出如下窗口如下图,输入16和16,点击确定后进入下图所示图形编辑界面。上一页下一页返回上一页下一页返回上一页下一页返回字模选项:上一页下一页返回上一页下一页返回上一页下一页返回4.2.2程序编制

取得字模后,编写动态扫描程序。汇编源程序为:;阵列LED显示实验,P0,P2接列,P1,P3接行,高低位按自然顺序对应,阵列自上而下扫描ORG0000HMAIN:MOVR2,#0FEHMOVR1,#00HMOVR7,#08HMOVDPTR,#TABSCAN1:MOVA,R1MOVCA,@A+DPTRMOVP0,AINCR1MOVA,R1MOVCA,@A+DPTR上一页下一页返回MOVP2,AMOVA,R2MOVHANG,AACALLD1MSMOVHANG,#0FFHINCR1RLAMOVR2,ADJNZR7,SCAN1MOVR7,#08HMOVR2,#0FEHSCAN2:MOVA,R1MOVCA,@A+DPTRMOVP0,AINCR1

MOVA,R1MOVCA,@A+DPTRMOVP2,AMOVA,R2MOVP3,AACALLD1MSMOVP3,#0FFHINCR1RLAMOVR2,ADJNZR7,SCAN2SJMPMAIN上一页下一页返回TAB:DB00H,01H,00H,01H,3FH,01H,20H,3FH,0A0H,20H,92H,10H,54H,02H,28H,02H;DB08H,02H,14H,05H,24H,05H,0A2H,08H,81H,08H,40H,10H,20H,20H,10H,40H;"欢",0D1MS:MOVR5,#10HD1:MOVR4,#10HD2:DJNZR4,$DJNZR5,D1RET

上一页下一页返回C51源程序为:#include<AT89X51.h>#include<intrins.h>typedefunsignedcharu8;u8codeliedata[]= {0x00,0x01,0x00,0x01,0x3F,0x01,0x20,0x3F,0xA0,0x20,0x92,0x10,0x54,0x02,0x28,0x02, 0x08,0x02,0x14,0x05,0x24,0x05,0xA2,0x08, 0x81,0x08,0x40,0x10,0x20,0x20,0x10,0x40};/*"欢",0*/voiddelay02s(void){u8i,j; 上一页下一页返回for(i=20;i>0;i--)for(j=20;j>0;j--);}voidmain(void) /*主函数*/{u8m,i; while(1){m=0xfe;for(i=0;i<8;i++){P1=m;P0=liedata[i*2]; P2=liedata[i*2+1];delay02s(); /*调用函数delay02s()*/m=_crol_(m,1);上一页下一页返回} P1=0xff; m=0xfe; for(i=8;i<16;i++){P3=m;P0=liedata[i*

温馨提示

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

评论

0/150

提交评论