




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
班级:电信3班姓名: 学号:一实验目的用top-23088dh-u 8x8led点阵块设计制作一个816点阵汉字显示器,通过51单片机作为控制系统,由8255的a口为段数据口向两块点阵提供数据,b口提供扫描信息,通过74ls154译码后进行扫描。同时c口接3个开关,形成控制功能选择。二设计要求1、能显示168的汉字,显示“老师”,“大连”等。2、通过按键控制可以改变显示的汉字,图形和符号。3、通过按键控制可以实现汉字静态显示“老师”以及左移显示“大连”。4、可以实现简单的图形的从外向内周期显示以及从内向外周期显示。5、增加了驱动电路,提高了现实亮度。6、增加了现实图形:点阵从内向外周期显示后又相反显示,显示正弦波形(左移),显示正弦波形(右移)。三实验元器件需要器件名称 数量 8051单片机(实验箱集成) 1 8255(实验箱集成) 1 top-23088dh-u 8x8led 2 74ls154 1 74ls245 1面包板 3导线 若干开关(实验箱集成) 5四.原理分析(1)top-23088dh-u 8x8led点阵电路原理图及其使用说明 有标记的一侧63121141524正面图,脚线分布 813115167109说明:top-23088dh-u 8x8led点阵属于共阴极点阵其中 1至8控制行行为阳极低电平0有效9至16 控制列列为阴极高电平1有效要点亮某盏小灯时,应先把小灯所位置的行置于低电平。然后控制列的高电平编程时按“高位往低位”的顺序编写代码如果,当你所选购的8x8led点阵型号是别的型号,而你又没有得到相关电路图时,可以自己用数字万用表去检测。方法如下:1以有标记的那一端在上,建立坐标系。2将数字万用表调到测试二极管的那端,如后将红笔固定在某一引脚上,然后将黑笔分别与其他引脚相接。观察哪一行或者那一列的小灯是否被点亮,然后记下坐标。如果小灯没亮,则将黑笔与红笔换位,再重复测量。3然后重复上述步骤2。之后整理所得的数据,即可得到该8x8led点阵的电路图了。点阵模块图如下: 如上图所示,本实验通过列扫描方式,扫描同时给行线送显示数据。当扫描到某列,则该列选通,其他列截止,选通瞬间送显示数据,则所对应的二极管亮。显示的基本原理:点阵依靠循环点亮每一列(或行),快速循环形成一屏图像,而每一屏快速交替,可进一步形成动画的效果。 (2)同时,74ls245的管脚图如下图 (3) 74ls154管脚图如下图:五实验方案(1)方案论证控制模块整个系统由8051、74ls154,8255组成,其中,8051,8255,以及开关都集成在实验箱上。并且集成了时钟等必须器件。74ls154是4线转16线译码器,4线端接8255的pb.0-pb.3口接收列扫描信息,16线端低电平有效,控制点阵的16列74ls245是对列的驱动,8255的pa.0-pa.7用于将行扫描数据进行高速串-并转换,实验箱内部便可提供较大电流总够控制点阵的8行,这样,点阵的128个点中被选通的就亮。显示模块由2块top-23088dh-u 8x8led点阵组成(2) 流程图开始动态显示正弦波波形两点阵从内向外周期显示后又相反显示两点阵相反周期显示动态显示“大连”(左移)静态显示“老师”k5是否按下?k4是否按下?k3是否按下?k1是否按下?k2是否按下?不显示ynynynynyn(3)硬件连接(4)软件部分编程思路为:先对相关变量进行初始化,循环扫描点亮16列led,一帧图像扫描完毕后,列指针向右移动一位,再扫描下一帧图像。依此类推,列指针共向右移动16位,这样主观上就感觉向左滚动,移动一个汉字(列指针右移16位)后,字指针指向下一个汉字,这样就能在显示屏上看到汉字滚动。(5)实验程序org 0000hljmp startorg 3000hstart: mov dptr,#8003h mov a,#81h movx dptr,a mov r6,#2 mov r7,#10h mov dptr,#8002h movx a,dptr jnb acc.0,l1 jnb acc.1,l2 jnb acc.2,l3 jnb acc.3,l41 jnb acc.4,l51l41: ljmp l4l51: ljmp l5 sjmp startl1: mov r0,#00h mov r1,#00hloop1: mov a,r1 mov dptr,#8001h movx dptr,a mov dptr,#tab1 mov a,r0 movc a,a+dptr mov dptr,#8000h movx dptr,a lcall delay inc r0 inc r1 djnz r7,loop1 mov r7,#10h ljmp startl2: mov r4,#00h mov a,r4 mov r0,aloop2: mov r1,#00hkk2: mov a,r1 mov dptr,#8001h movx dptr,a mov dptr,#tab2 mov a,r0 movc a,a+dptr mov dptr,#8000h movx dptr,a inc r0 inc r1 lcall delay lcall delay djnz r7,kk2 mov a,r4 mov r0,a mov r7,#10h djnz r6,loop2 lcall delay lcall delay inc r4 mov a,r4 mov r0,a ; mov r7,#10h mov r6,#02h cjne r4, #16,loop2 ljmp startl3: mov r4,#00h mov r5,#08h mov a,r4 mov r0,a mov r1,#00hloop3: mov a,r1 mov dptr,#8001h movx dptr,a mov dptr,#tab3 mov a,r0 movc a,a+dptr mov dptr,#8000h movx dptr,a lcall delay lcall delay inc r0 inc r1 djnz r7,loop3 mov r7,#10h mov a,r4 mov r0,a djnz r6,loop3 mov r6,#2 mov a,#16 add a,r4 mov r4,a mov r0,a djnz r5,loop3 ljmp startl4: mov r4,#00h mov r5,#08h mov a,r4 mov r0,a mov r1,#00hloop4: mov a,r1 mov dptr,#8001h movx dptr,a mov dptr,#tab4 mov a,r0 movc a,a+dptr mov dptr,#8000h movx dptr,a lcall delay lcall delay inc r0 inc r1 djnz r7,loop4 mov r7,#10h mov a,r4 mov r0,a djnz r6,loop4 mov r6,#2 mov a,#16 add a,r4 mov r4,a mov r0,a djnz r5,loop4l6: mov r4,#00h mov r5,#08h mov a,r4 mov r0,a mov r1,#00hloop6: mov a,r1 mov dptr,#8001h movx dptr,a mov dptr,#tab6 mov a,r0 movc a,a+dptr mov dptr,#8000h movx dptr,a lcall delay lcall delay inc r0 inc r1 djnz r7,loop6 mov r7,#10h mov a,r4 mov r0,a djnz r6,loop6 mov r6,#2 mov a,#16 add a,r4 mov r4,a mov r0,a djnz r5,loop6 ljmp startl5: mov r4,#00h mov a,r4 mov r0,aloop5: mov r1,#00hkk5: mov a,r1 mov dptr,#8001h movx dptr,a mov dptr,#tab5 mov a,r0 movc a,a+dptr mov dptr,#8000h movx dptr,a inc r0 inc r1 lcall delay djnz r7,kk5 mov a,r4 mov r0,a mov r7,#10h djnz r6,loop5 lcall delay inc r4 mov a,r4 mov r0,a ; mov r7,#10h mov r6,#02h cjne r4, #16,loop5 ljmp startdelay: mov r2,#0fhpp: mov r3,#0fh djnz r3,$ djnz r2,pp rettab1:db 88h,4ah,2ah,0ffh,0cah,0aeh,88h,0c0h,18h,0ffh,00h,3ch,05h,0ffh,05h,3chtab2:db 44h,24h,14h,0fh,14h,24h,44h,00h,8bh,0f6h,0aah,0aeh,0abh,0feh,0aah,0aah db 44h,24h,14h,0fh,14h,24h,44h,00h,8bh,0f6h,0aah,0aeh,0abh,0feh,0aah,0aahtab3: db 0ffh,81h,81h,81h,81h,81h,81h,0ffh,00h,00h,00h,00h,00h,00h,00h,00h db 00h,7eh,42h,42h,42h,42h,7eh,00h, 00h,00h,00h,00h,00h,00h,00h,00h db 00h,00h,3ch,24h,24h,3ch,00h,00h, 00h,00h,00h,00h,00h,00h,00h,00h db 00h,00h,00h,18h,18h,00h,00h,00h, 00h,00h,00h,00h,00h,00h,00h,00h db 00h,00h,00h,00h,00h,00h,00h,00h, 00h,00h,00h,18h,18h,00h,00h,00h db 00h,00h,00h,00h,00h,00h,00h,00h, 00h,00h,3ch,24h,24h,3ch,00h,00h db 00h,00h,00h,00h,00h,00h,00h,00h, 00h,7eh,42h,42h,42h,42h,7eh,00h db 00h,00h,00h,00h,00h,00h,00h,00h, 0ffh,81h,81h,81h,81h,81h,81h,0ffhtab4: db 00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h db 00h,00h,00h,00h,00h,00h,00h,00h, 00h,00h,00h,00h,00h,00h,00h,00h db 00h,00h,00h,00h,00h,00h,00h,00h, 00h,00h,00h,00h,00h,00h,00h,00h db 00h,00h,00h,00h,00h,00h,00h,00h, 00h,00h,00h,00h,00h,00h,00h,00h db 00h,00h,00h,18h,18h,00h,00h,00h, 00h,00h,00h,18h,18h,00h,00h,00h db 00h,00h,3ch,24h,24h,3ch,00h,00h, 00h,00h,3ch,24h,24h,3ch,00h,00h db 00h,7eh,42h,42h,42h,42h,7eh,00h, 00h,7eh,42h,42h,42h,42h,7eh,00h db 0ffh,81h,81h,81h,81h,81h,81h,0ffh, 0ffh,81h,81h,81h,81h,81h,81h,0ffhtab6: db 0ffh,81h,81h,81h,81h,81h,81h,0ffh, 0ffh,81h,81h,81h,81h,81h,81h,0ffh db 00h,7eh,42h,42h,42h,42h,7eh,00h, 00h,7eh,42h,42h,42h,42h,7eh,00h db 00h,00h,3ch,24h,24h,3ch,00h,00h, 00h,00h,3ch,24h,24h,3ch,00h,00h db 00h,00h,00h,18h,18h,00h,00h,00h, 00h,00h,00h,18h,18h,00h,00h,00h db 00h,00h,00h,00h,00h,00h,00h,00h, 00h,00h,00h,00h,00h,00h,00h,00h db 00h,00h,00h,00h,00h,00h,00h,00h, 00h,00h,00h,00h,00h,00h,00h,00h db 00h,00h,00h,00h,00h,00h,00h,00h, 00h,00h,00h,00h,00h,00h,00h,00h db 00h,00h,00h,00h,00h,00h,00h,00h, 00h,00h,00h,00h,00h,00h,00h,00htab5: db 01h,02h,04h,08h,10h,20h,40h,80h,80h,40h,20h,10h,08h,04h,02h,01h db 01h,02h,04h,08h,10h,20h,40h,80h,80h,40h,20h,10h,08h,04h,02h,01hend六.实际制作与调试(1)实际制作使用keil先对软件程序进行编译测试并进行proteus仿真,调试成功后开始硬件部分。再编一段小程序用来测试硬件,发现led有显示,即可向下进行,在这个环节上,所编程序应将字型表先全设为0ffh,因为只有让led全点亮才能测试出所有线路,led,8051和8255能否正常工作、点阵的极性及是否有坏点。在制作过程中,由于led管脚并不是与每一行每一列一一对应的,所以上网站找到了关于该点阵的资料。之后在用仪器测试74ls154,74ls245是否正常,然后按照之前设计好的线路连接硬件线路,电路连接需要仔细。(2)调试过程先通过韦弗的软件将程序下载到实验箱中,初始为黑屏,因为没有按键被按下。之后通过按键进行控制,看显示是否正确,若点阵全都不亮,则首先要仔细检查程序,很可能是程序出了问题,因为之前已经对硬件进行测试了,若确定程序没有问题,则很可能是连线出现了断线,或者是连线连错了,点阵实验的线较多,所以需要在实验之前对每根线路进行检测,检测的方法是使用万用表检测是否出现短路现象。由于线较多,所以很容易接连错了,也有可能是前面对led的能否正常工作没有测试到位导致部分电路问题被遗漏。若测试时就只有几个点不亮,这时就能确定点阵极性及那些点是坏点。(3) 实物图七实验总结 1.实验过程中的问题与分析:(1) 这次实验管教连线比较多,而且比较密集,一定要细心。(2)点阵的每个管脚行与列要先通过测试后才能确定,或者是在网上寻找资料确定管脚,由于管脚并不是按顺序的,所以不
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 一、电磁波的发现教学设计-2025-2026学年高中物理人教版选修1-1-人教版2004
- 电工PLC通信协议选择考试题目及答案
- 2025医学异位妊娠处理考试题目及答案
- 2025医学小儿佝偻病防治考试题目及答案
- 2025医学神经病学定位诊断考试题目及答案
- 2025医学纳米医学应用前景考试题目及答案
- 校园体育赛事三人篮球比赛组织策划与运营管理研究
- 物流知识培训讲座课件
- 毛笔书法教学符号关联训练法与课例研究
- 2025至2030影视制作行业市场行业市场深度研究及发展前景投资可行性分析报告
- 《上腔静脉综合征》课件
- 果胶功能化产品开发
- 塞力斯招聘在线测评题
- 西方现代思想讲义
- 在线教育行业智能学习与个性化教育方案
- 工程变更流程ECN
- LED电子显示屏系统设计方案
- 高中英语人教新教材选择性必修一全册词汇表和默写表(分单元编排)
- 矿床学全套教学课件
- HG-T 6038-2022 聚乙烯蜡微粉
- 全册(教案)人教精通版英语五年级下册
评论
0/150
提交评论