1、8乘88x8点阵汉字显示单片机课程设计题目:8*8点阵汉字显示器专业班级:*姓名:*学号:*一摘要:用TOP-23088DH-U 8*8点阵块设计制作一个8*16点阵汉字显示器。通过51单片机作为控制系统,由8255的A口为段数据口向两块点阵提供行数据,C口提供扫描列信息,通过74LS154译码后进行扫描,当点阵的行接高电平,列为低电平时,同时选通,则在该点的LED点亮。由于实验箱上所提供的驱动电流太低,不足以点亮二极管,所以在电路中增加一个74LS254芯片,以提供点亮LED所需的驱动电流。同时在P1.0-P1.2口接3个开关,形成按键控制功能选择。点阵模块图如下:如上图所示,本实验通过列扫
2、描方式,扫描同时给行线送显示数据。当扫描到某列,则该列选通,其他列截止,选通瞬间送显示数据,则所对应的二极管亮。点阵依靠循环点亮每一列(或行),快速循环形成一屏图像,而每一屏快速交替,可进一步形成动画的效果。 二设计任务和要求:(1)基本要求:1.能显示8*8的汉字,用两个8*8点阵,显示“大连”。2.通过键盘控制可以改变显示的汉字与图形。3.通过键盘控制,可以实现彩灯控制功能,发光管从内向外周期显示和相反显示。(2)发挥要求:1.增加驱动电路,提高显示亮度。三方案选择和论证:3.1:方案论证:控制模块由8051、74LS154,8255组成,其中,采用51单片机制做一个最小系统,包含有时钟信
3、号电路、复位电路等,154是4线转16线译码器,4线端接8255的PC.0-PC.3口,16线端低电平有效,控制点阵的16列,245是对列的驱动,8255的PA.0-PA.7用于将行扫描数据进行高速串-并转换,实验箱内部便可提供较大电流总够控制点阵的8行,这样,点阵的128个点中被选通的就亮。显示模块由2块88点阵组成,通过相互并联转换成168点阵。3.2:方案选择:(1).实验仪器名称数量8051174LS1541825518X8点阵274LS2451面包板2导线若干万用表1(2).流程图:Y NN YNYN(3).硬件连接四实际操作与调试:(1)实际制作使用keil先对软件程序进行编译测试
4、并进行proteus仿真,调试成功后开始硬件部分。(2).软件调试:编程思路为:先对相关变量进行初始化,循环扫描点亮16列LED,一帧图像扫描完毕后,列指针向右移动一位,再扫描下一帧图像。依此类推,列指针共向右移动16位,这样主观上就感觉向左滚动,移动一个汉字(列指针右移16位)后,字指针指向下一个汉字,这样就能在显示屏上看到汉字滚动。(3).实验程序: ORG 0000h LJMP START ORG 0030HSTART: MOV DPTR,#8003H ;控制口地址 MOV A,#80H;8255初始化,A.B.C口均输出 MOVX DPTR,A MOV P1,#0ffH ;P1口在输入
5、前要先置1 LJMP KEY1;跳到KEY1K2:LCALL KEY2 KEY1: JNB P1.0,K2;当为0时(P1.0未按下),则跳转K2,转判P1.1 MOV R0,#00H ;列号 MOV R1,#00H ;字型码偏移地址 MOV R3,#10H ;计数(扫描16列) A1: MOV DPTR,#8002H ;C口地址 MOV A,R0;将列号给出 MOVX DPTR,A INC R0;加1,为下一列做准备 MOV DPTR,#TAB5 ;取字型码首地址 CLR A ADD A,R1;字型码偏移量 MOVC A,A+DPTR INC R1;为下一个字型码准备 MOV DPTR,#8
6、000H MOVX DPTR,A;字型码从A口输出 LCALL DELAY DJNZ R3,A1;判断16列是否扫描完,未结束则继续扫描 MOV DPTR,#8000H ;清零 MOV A,#00H MOVX DPTR,A LJMP KEY1 RETCLEAR: MOV DPTR,#8000H ;清零 MOV A,#00H MOVX DPTR,A LCALL DELAY1 RETK3:LCALL KEY3 KEY2: JNB P1.1,K3;当为0时(P1.1未按下),则跳转K3,转判P1.2LD1: MOV R5,#7FHCD1: LCALL S1;调用 S1 JNB P1.1,CLEAR;
7、当P1.1未按下(运行过程中中断),则清零 DJNZ R5,CD1LD2: MOV R5,#44H;LD2-LD16均与LD1类似CD2: LCALL S2 JNB P1.1,CLEAR DJNZ R5,CD2LD3: MOV R5,#3FHCD3: LCALL S3 JNB P1.1,CLEAR DJNZ R5,CD3LD4: MOV R5,#34HCD4: LCALL S4 JNB P1.1,CLEAR DJNZ R5,CD4LD5: MOV R5,#2FHCD5: LCALL S5 JNB P1.1,CLEAR DJNZ R5,CD5 LD6: MOV R5,#24HCD6: LCALL
8、 S6 JNB P1.1,CLEAR DJNZ R5,CD6LD7: MOV R5,#1FHCD7: LCALL S7 JNB P1.1,CLEAR DJNZ R5,CD7LD8: MOV R5,#14HCD8: LCALL S8 DJNZ R5,CD8LD9: MOV R5,#7FHCD9: LCALL S16 JNB P1.1,CLEAR DJNZ R5,CD9LD10: MOV R5,#44HCD10: LCALL S15 JNB P1.1,CLEAR DJNZ R5,CD10LD11: MOV R5,#3FHCD11: LCALL S14 JNB P1.1,CLEAR DJNZ R5,
9、CD11LD12: MOV R5,#34HCD12: LCALL S13 JNB P1.1,C1 DJNZ R5,CD12LD13: MOV R5,#2FHCD13: LCALL S12 JNB P1.1,C2 DJNZ R5,CD13 LD14: MOV R5,#24HCD14: LCALL S11 JNB P1.1,C3 DJNZ R5,CD14LD15: MOV R5,#1FHCD15: LCALL S10 JNB P1.1,C4 DJNZ R5,CD15LD16: MOV R5,#14HCD16: LCALL S9 DJNZ R5,CD16 LJMP KEY2 RETC1:LCALL
10、CLEARC2:LCALL CLEARC3:LCALL CLEARC4:LCALL CLEARS1: MOV DPTR,#8002H;C口 MOV A,#07H;列号 MOVX DPTR,A MOV A,#00H;字型码 MOV DPTR,#8000H MOVX DPTR,A;字型码从A口输出 LCALL DELAY MOV DPTR,#8002H MOV A,#08H;列号 MOVX DPTR,A MOV A,#0d1H;字型码 MOV DPTR,#8000H MOVX DPTR,A LCALL DELAY RET;SI功能为选通中间两列亮S2: LCALL S1 MOV DPTR,#800
11、2H MOV A,#06H MOVX DPTR,A MOV A,#22H MOV DPTR,#8000H MOVX DPTR,A LCALL DELAY MOV DPTR,#8002H MOV A,#09H MOVX DPTR,A MOV A,#6fH MOV DPTR,#8000H MOVX DPTR,A LCALL DELAY RET;S2为让第6和9列亮,S3-S8以此类推S3: LCALL S2 MOV DPTR,#8002H MOV A,#05H MOVX DPTR,A MOV A,#24H MOV DPTR,#8000H MOVX DPTR,A LCALL DELAY MOV DP
12、TR,#8002H MOV A,#0AH MOVX DPTR,A MOV A,#55H MOV DPTR,#8000H MOVX DPTR,A LCALL DELAY RETS4: LCALL S3 MOV DPTR,#8002H MOV A,#04H MOVX DPTR,A MOV A,#28H MOV DPTR,#8000H MOVX DPTR,A LCALL DELAY MOV DPTR,#8002H MOV A,#0BH MOVX DPTR,A MOV A,#75H MOV DPTR,#8000H MOVX DPTR,A LCALL DELAY RETS5: LCALL S4 MOV
13、DPTR,#8002H MOV A,#03H MOVX DPTR,A MOV A,#0F0H MOV DPTR,#8000H MOVX DPTR,A LCALL DELAY MOV DPTR,#8002H MOV A,#0CH MOVX DPTR,A MOV A,#0d5H MOV DPTR,#8000H MOVX DPTR,A LCALL DELAY RETS6: LCALL S5 MOV DPTR,#8002H MOV A,#02H MOVX DPTR,A MOV A,#28H MOV DPTR,#8000H MOVX DPTR,A LCALL DELAY MOV DPTR,#8002H
14、MOV A,#0DH MOVX DPTR,A MOV A,#7fH MOV DPTR,#8000H MOVX DPTR,A LCALL DELAY RETS7: LCALL S6 MOV DPTR,#8002H MOV A,#01H MOVX DPTR,A MOV A,#24H MOV DPTR,#8000H MOVX DPTR,A LCALL DELAY MOV DPTR,#8002H MOV A,#0EH MOVX DPTR,A MOV A,#55H MOV DPTR,#8000H MOVX DPTR,A LCALL DELAY RETS8: LCALL S7 MOV DPTR,#8002
15、H MOV A,#00H MOVX DPTR,A MOV A,#22H MOV DPTR,#8000H MOVX DPTR,A LCALL DELAY MOV DPTR,#8002H MOV A,#0FH MOVX DPTR,A MOV A,#55H MOV DPTR,#8000H MOVX DPTR,A LCALL DELAY RETS9: LCALL S10 MOV DPTR,#8002H MOV A,#07H MOVX DPTR,A MOV A,#00H MOV DPTR,#8000H MOVX DPTR,A LCALL DELAY MOV DPTR,#8002H MOV A,#08H
16、MOVX DPTR,A MOV A,#0d1H MOV DPTR,#8000H MOVX DPTR,A LCALL DELAY RET;中间两列亮S10: LCALL S11 MOV DPTR,#8002H MOV A,#06H MOVX DPTR,A MOV A,#22H MOV DPTR,#8000H MOVX DPTR,A LCALL DELAY MOV DPTR,#8002H MOV A,#09H MOVX DPTR,A MOV A,#6fH MOV DPTR,#8000H MOVX DPTR,A LCALL DELAY RET;S10-S16以此类推S11: LCALL S12 MO
17、V DPTR,#8002H MOV A,#05H MOVX DPTR,A MOV A,#24H MOV DPTR,#8000H MOVX DPTR,A LCALL DELAY MOV DPTR,#8002H MOV A,#0AH MOVX DPTR,A MOV A,#55H MOV DPTR,#8000H MOVX DPTR,A LCALL DELAY RETS12: LCALL S13 MOV DPTR,#8002H MOV A,#04H MOVX DPTR,A MOV A,#28H MOV DPTR,#8000H MOVX DPTR,A LCALL DELAY MOV DPTR,#8002
18、H MOV A,#0BH MOVX DPTR,A MOV A,#75H MOV DPTR,#8000H MOVX DPTR,A LCALL DELAY RETS13: LCALL S14 MOV DPTR,#8002H MOV A,#03H MOVX DPTR,A MOV A,#0F0H MOV DPTR,#8000H MOVX DPTR,A LCALL DELAY MOV DPTR,#8002H MOV A,#0CH MOVX DPTR,A MOV A,#0d5H MOV DPTR,#8000H MOVX DPTR,A LCALL DELAY RETS14: LCALL S15 MOV DP
19、TR,#8002H MOV A,#02H MOVX DPTR,A MOV A,#28H MOV DPTR,#8000H MOVX DPTR,A LCALL DELAY MOV DPTR,#8002H MOV A,#0DH MOVX DPTR,A MOV A,#7fH MOV DPTR,#8000H MOVX DPTR,A LCALL DELAY RETS15: LCALL S16 MOV DPTR,#8002H MOV A,#01H MOVX DPTR,A MOV A,#24H MOV DPTR,#8000H MOVX DPTR,A LCALL DELAY MOV DPTR,#8002H MO
20、V A,#0EH MOVX DPTR,A MOV A,#55H MOV DPTR,#8000H MOVX DPTR,A LCALL DELAY RETS16: MOV DPTR,#8002H MOV A,#00H MOVX DPTR,A MOV A,#22H MOV DPTR,#8000H MOVX DPTR,A LCALL DELAY MOV DPTR,#8002H MOV A,#0FH MOVX DPTR,A MOV A,#55H MOV DPTR,#8000H MOVX DPTR,A LCALL DELAY RETK1:LCALL KEY1 KEY3: JNB P1.2,K1;当为0时(
21、P1.2未按下),则跳转K1,转判P1.0 MOV R0,#00H MOV R1,#00H MOV R3,#10H A3: MOV DPTR,#8002H MOV A,R0 MOVX DPTR,A INC R0 MOV DPTR,#TAB4;KEY3与KEY1类似,只是调用字型码4 CLR A ADD A,R1 MOVC A,A+DPTR INC R1 MOV DPTR,#8000H MOVX DPTR,A LCALL DELAY DJNZ R3,A3 MOV DPTR,#8000H MOV A,#00H MOVX DPTR,A LJMP KEY3 RETDELAY: MOV R7,#0FH
22、D1: MOV R6,#0FHD2: DJNZ R6,D2 DJNZ R7,D1 RETDELAY1: MOV R7,#0FFHD3: MOV R6,#0FFHD4: DJNZ R6,D4 DJNZ R7,D3 RETTAB5: DB 22h,24h,28h,0f0h,28h,24h,22h,00h;大 DB 0d1h,6fh,55h,75h,0d5h,7fh,55h,55h;连TAB4: DB 00h,00h,00h,70h,88h,84h,42h,21h DB 21h,42h,84h,88h,70h,00h,00h,00h;“爱心形状”END(4).硬件调试:将万用表打到二极管端,用红表笔
23、接点阵的某个管脚,黑表笔接另一个管脚,若点亮,则选通。依次测出每个管脚所担任的行和列,其中,低电平选通列,高电平选通行。通过wave的软件将程序下载到实验箱中,初始为黑屏,因为没有按键被按下。之后通过按键进行控制,看显示是否正确,若点阵全都不亮,则首先要仔细检查程序,很可能是程序出了问题,因为之前已经对硬件进行测试了,若确定程序没有问题,则很可能是连线出现了断线,或者是连线连错了,点阵实验的线较多,所以需要在实验之前对每根线路进行检测,检测的方法是使用万用表检测是否出现短路现象。由于线较多,所以很容易接连错了,也有可能是前面对LED的能否正常工作没有测试到位导致部分电路问题被遗漏。若测试时就只
24、有几个点不亮,这时就能确定点阵极性及那些点是坏点。(5).调试中的问题记录:搭线的时候要细心,由于线较多,所以会插错管脚,或接触不良,注意不要带电操作,否则容易烧坏芯片。面包板与线的接触,要注意每根导线均导通,且与面包板接触良好。五发挥部分设计与调试:由于实验箱所能提供的驱动电流太低,所以程序下载后,可能导致LED亮度较暗,或者不亮。因此,我们加入一个74LS245芯片,该芯片是对列的驱动,8255的PA.0-PA.7用于将行扫描数据进行高速串-并转换,实验箱内部便可提供较大电流总够控制点阵的8行,这样,点阵的128个点中被选通的就亮。因此亮度提高。其余部分调试,与基本任务中的调试相同。六实验
25、数据记录与测试结果分析:静态显示“大连”: 静态显示“爱心”(图案): 由内向外显示“大连”: 由外向内显示“大连”: 当点阵的行接高电平,列为低电平时,同时选通,则在该点的LED点亮。通过程序传送,通过51单片机作为控制系统,由8255的A口为段数据口向两块点阵提供行数据,C口提供扫描列信息,通过74LS154译码后进行扫描。七实验总结: 1.实验过程中的问题与分析:(1)程序关键之处在于串口发送列数据的延时控制,否则很难观测到扫描图像。同时,行数据的延时控制也很重要,这决定整个画面是否闪烁。(2)要注意与面包板接触问题,导线与面包板接触良好。(3)为了是提高显示图形的亮度,加了一块74LS245对行进行驱动2收获与感想: 通过此次实验,我学到了许多实验上的知识,如利用单片机进行汉字点阵的扫描显示及控制的基本知识,使我对单片机有了更充分的认识;此外,又学会了部分芯片的使用,懂得了动态电子指示牌实现的原理,培养了兴趣,通过硬件的连接,让我在实验中提高了动手实践,硬件的多次连接让我提高了发现问题和处理问题的能力。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1