51单片机点阵设计

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

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

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

资源描述

单片机课程设计—16×8点阵汉字显示器班级:计科10901姓名:武术军学号:200903730序号:30一.设计目的用LED点阵块设计制作一个16×8点阵汉字显示器,本系统采用51系列单片机作为控制器件,辅以外围数字电路来实现。本作品的实现由控制模块和显示模块完成,在单片机最小系统的基础上,结合相关芯片,对电路参数进行不断调整。二.设计要求1、能显示16×8的汉字,显示“大连”。2、通过按键控制可以改变显示的汉字,图形和符号。3、通过按键控制可以实现汉字左移显示上移动态显示。4、可以实现图形的从外向内周期显示。三.原理分析点阵模块图如下:如上图所示,本实验通过列扫描方式,扫描同时给行线送显示数据。当扫描到某列,则该列选通,其他列截止,选通瞬间送显示数据,则所对应的二极管亮。显示的基本原理:点阵依靠循环点亮每一列(或行),快速循环形成一屏图像,而每一屏快速交替,可进一步形成动画的效果。四.设计方案(1)方案论证控制模块由8051、74LS154,8255组成,其中,采用51单片机制做一个最小系统,包含有时钟信号电路、复位电路等,154是4线转16线译码器,4线端接8255的PB.0-PB.3口,16线端低电平有效,控制点阵的16列,244是对列的驱动,8255的PA.0-PA.7用于将行扫描数据进行高速串-并转换,实验箱内部便可提供较大电流总够控制点阵的8行,这样,点阵的128个点中被选通的就亮。显示模块由2块8×8点阵组成,通过相互并联转换成16×8点阵。(2)硬件连接(3)软件部分编程思路为:先对相关变量进行初始化,循环扫描点亮16列LED,一帧图像扫描完毕后,列指针向右移动一位,再扫描下一帧图像。依此类推,列指针共向右移动16位,这样主观上就感觉向左滚动,移动一个汉字(列指针右移16位)后,字指针指向下一个汉字,这样就能在显示屏上看到汉字滚动。(3)设计程序ORG0000HLJMPSTARTORG3000HSTART:MOVDPTR,#8003HMOVA,#81H;扩展I/O口,方式0,A口出,B口出,C口入MOVX@DPTR,AMOVR6,#2;每个状态循环的次数MOVR7,#10H;扫描16列MOVDPTR,#8002HMOVXA,@DPTR;检查C口的PC0,PC1,PC2是否有键按下JNBACC.0,L1JNBACC.1,L2JNBACC.2,L3SJMPSTART;模式1-显示大连两个字,不动L1:MOVR0,#00HMOVR1,#00HLOOP1:MOVA,R1MOVDPTR,#8001HMOVX@DPTR,A;B口是扫描口MOVDPTR,#TAB1MOVA,R0MOVCA,@A+DPTRMOVDPTR,#8000HMOVX@DPTR,A;查表,将表中数码传给A口LCALLDELAYINCR0INCR1DJNZR7,LOOP1;16列全部扫描完毕跳出MOVR7,#10HDJNZR6,L1;状态1循环LJMPSTART;重新检测C口的状态;模式2-大连两个字滚动显示L2:MOVR4,#00H;行指针MOVA,R4MOVR0,ALOOP2:MOVR1,#00HKK2:MOVA,R1MOVDPTR,#8001HMOVX@DPTR,A;B口是扫描口MOVDPTR,#TAB2MOVA,R0MOVCA,@A+DPTRMOVDPTR,#8000HMOVX@DPTR,A;查表,将表中数码传给A口INCR0INCR1LCALLDELAYDJNZR7,KK2;16列全部扫描完毕跳出MOVA,R4MOVR0,AMOVR7,#10HDJNZR6,LOOP2;状态2循环LCALLDELAYINCR4MOVA,R4MOVR0,A;重新检测C口的状态MOVR7,#10HMOVR6,#02HCJNER4,#16,LOOP2LJMPSTART;模式3-左边的点阵从外向内周期显示,右边的点阵随后从内向外周期显示L3:MOVR4,#00HMOVR5,#08HMOVA,R4MOVR0,AMOVR1,#00HLOOP3:MOVA,R1MOVDPTR,#8001HMOVX@DPTR,A;B口是扫描口MOVDPTR,#TAB3MOVA,R0MOVCA,@A+DPTRMOVDPTR,#8000HMOVX@DPTR,A;查表,将表中数码传给A口LCALLDELAYINCR0INCR1DJNZR7,LOOP3;16列全部扫描完毕跳出MOVR7,#10HMOVA,R4MOVR0,ADJNZR6,LOOP3;状态3循环MOVR6,#2MOVA,#16ADDA,R4MOVR4,AMOVR0,ADJNZR5,LOOP3LJMPSTART;重新检测C口的状态DELAY:MOVR2,#0FHPP:MOVR3,#1FHDJNZR3,$DJNZR2,PPRETTAB1:DB7EH,40H,40H,40H,7EH,42H,42H,7EH,3EH,40H,40H,3EH,7EH,4AH,4AH,4AHTAB2:DB44H,24H,14H,0FH,14H,24H,44H,00H,8BH,0F6H,0AAH,0AEH,0ABH,0FEH,0AAH,0AAHDB44H,24H,14H,0FH,14H,24H,44H,00H,8BH,0F6H,0AAH,0AEH,0ABH,0FEH,0AAH,0AAHTAB3:DB0FFH,81H,81H,81H,81H,81H,81H,0FFH,00H,00H,00H,00H,00H,00H,00H,00HDB00H,7EH,42H,42H,42H,42H,7EH,00H,00H,00H,00H,00H,00H,00H,00H,00HDB00H,00H,3CH,24H,24H,3CH,00H,00H,00H,00H,00H,00H,00H,00H,00H,00HDB00H,00H,00H,18H,18H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00HDB00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,18H,18H,00H,00H,00HDB00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,3CH,24H,24H,3CH,00H,00HDB00H,00H,00H,00H,00H,00H,00H,00H,00H,7EH,42H,42H,42H,42H,7EH,00HDB00H,00H,00H,00H,00H,00H,00H,00H,0FFH,81H,81H,81H,81H,81H,81H,0FFHEND五.实际制作与调试(1)实际制作先对软件程序进行编译测试,调试成功后开始硬件部分。再编一段小程序用来测试硬件,发现LED有显示,即可向下进行,在这个环节上,所编程序应将字型表先全设为0FFH,因为只有让LED全点亮才能测试出所有线路,LED,8051和8255能否正常工作、点阵的极性及是否有坏点。在制作过程中,由于LED管脚并不是与每一行每一列一一对应的,所以先测出8×8点阵的管脚控制。具体方法为:用两根导线A,B,A根一端连实验箱+5伏,另一端连LED的第一根管脚,B根在另一面的管脚上挨个点,看连到哪根脚时LED亮,说明这两根是对应的,再看这个亮点在对角线的第几个位置上,第几个位置就是第几个行与列的控制脚被找到,A为管脚高电平端,B为低电平端,以此法其他同理。之后在用仪器测试74LS154,74LS244是否正常,然后按照之前设计好的线路连接硬件线路,电路连接需要仔细。(2)调试过程先将程序下载到8051中,按键进行控制,看显示是否正确,若程序测出点阵全都不亮,则首先要仔细检查程序,很可能是程序出了问题,因为之前已经对硬件进行测试了,若确定程序没有问题,有可能是之前LED测试管脚时测错了,或者是连线连错了,因为点阵实验的连线很多所以连起来特别繁琐,很容易接连错了,也有可能是前面对LED的能否正常工作没有测试到位导致部分电路问题被遗漏。若测试时就只有几个点不亮,这时就能确定点阵极性及那些点是坏点。六.收获和感想:通过此次设计,我学到了许多设计上的知识,如利用单片机进行汉字点阵的扫描显示及控制的基本知识,使我对单片机有了更充分的认识;此外,又学会了部分芯片的使用,懂得了动态电子指示牌实现的原理,培养了兴趣,通过硬件的连接,让我在实验中提高了动手实践,硬件的多次连接让我提高了发现问题和处理问题的能力。

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

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

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

×
保存成功