计算机控制课程设计---点阵LED显示系统.doc_第1页
计算机控制课程设计---点阵LED显示系统.doc_第2页
计算机控制课程设计---点阵LED显示系统.doc_第3页
计算机控制课程设计---点阵LED显示系统.doc_第4页
计算机控制课程设计---点阵LED显示系统.doc_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

计算机控制技术课程设计报告设计题目:点阵led显示系统班 级: 学 号: 姓 名: 时 间: 1 系统概述led显示屏(led panel):又叫电子显示屏,是由led点阵组成,通过红色或绿色灯珠的亮灭来显示文字、图片、动画、视频,内容可以随时更换,各部分组件都是模块化结构的显示器件。通常由显示模块、控制系统及电源系统组成。显示模块由led灯组成的点阵构成,负责发光显示;控制系统通过控制相应区域的亮灭,可以让屏幕显示文字、图片、视频等内容,电源系统负责将输入电压电流转为显示屏需要的电压电流。led显示屏可以显示变化的数字、文字、图形图像;不仅可以用于室内环境还可以用于室外环境,具有投影仪、电视墙、液晶显示屏无法比拟的优点。led具有亮度高、工作电压低、功耗小、小型化、寿命长、耐冲击和性能稳定等特点,因此,led受到广泛重视而得到迅速发展。并且,led的发展前景极为广阔,目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性,可靠性、全色化方向发展。led显示屏性能超群: 发光亮度强 ,在可视距离内阳光直射屏幕表面时,显示内容清晰可见. 超级灰度控制 ,具有1024-4096级灰度控制,显示颜色16.7m以上,色彩清晰逼真,立体感强. 静态扫描技术 :采用静态锁存扫描方式,大功率驱动,充分保证发光亮度。自动亮度调节 具有自动亮度调节功能,可在不同亮度环境下获得最佳播放效果。全面采用进口大规模集成电路,可靠性大大提高,便于调试维护。全天候工作 完全适应户外各种恶劣性环境,防腐,防水,防潮,防雷,抗震整体性能强、性价比高、显示性能好,像素筒可采用p10mm、p16mm等多种规格。先进的数字化视频处理,技术分布式扫描,模块化设计/恒流静态驱动,亮度自动调节,超高亮纯色象素 ,影像画面清晰、无抖动和重影,杜绝失真 ,视频、动画、图表、文字、图片等各种信息显示、联网显示、远程控制。led的主要应用领域有:(1)信号制式应用:信号照明是led单色光应用比较广泛也是比较早的一个领域。(2)显示应用:指示牌、广告牌、大屏幕显示等,显示屏幕可分为单色和彩色。(3)照明应用:便携灯具,汽车用灯,特殊照明。由于led尺寸小,便于动态的亮度和颜色控制,因此比较适合于建筑装饰照明。背光照明:普通电子设备功能显示背景源、笔记本电脑背光源等。1.1 设计环境实验系统本次设计采用了西安唐都科教仪器公司的td-pid+实验系统。 1.2 设计要求设计点阵led显示系统,要求系统实现以下功能:1. “开幕式”:从中间向两边逐次熄灭8个灯; 2. “倒计时”:顺序显示9、8、7、1、0; 3. “闭幕式”:从两边向中间逐次点亮8个灯;4 自行设计两种显示效果;5 通过键盘选择,实现多种效果的组合。1.3 总体设计利用并行接口芯片8255pa口、pb口控制8x8点阵led的行和列,pc口的低四位、高四位分别控制4x4键盘行和列。按1键开始“开幕式”表演:从中间向两边逐次熄灭8个灯;按下2键开始“闭幕式”表演:从两边向中间逐次点亮8个灯;按下3键开始“风车”表演:风车转动;按下4键开始“烟花”表演:烟花开放按下5键启动“倒计时”功能:顺序显示9、8、7、1、0;按下6键:结束。同时实现按键转跳功能,也就是在表演过程中,按下其它键,立即转跳显示其它表演。程序中需要预先填入要输出数字90、烟花、风车图的字模,由于需要改变方向输出,不同输出所需的字模也不一样,故需要多种字模。led点阵显示图形的原理是:每次只输出一列,8列都输出之后才将自摸移动一列,重新按列输出:每次变化的时间非常短,肉眼无法识别出来,因而以为显示的是整个图形。控制显示速度的变化实际上就是控制每列输出后延迟的时间。2 硬件设计2.1 硬件构成本次设计点阵led显示需要的硬件模块有8x8点阵led、4x4键盘,可编程并行接口芯片8255等,下面简要介绍相关芯片:8x8点阵led单元该单元提供一个8x8的点阵led显示模块,点阵led的行列控制已经连接好。行控制为r1r8,列控制为l1l8。其线路连接如图1所示。 图1 点阵led显示单元8255单元该单元提供一片开放的并口控制器8255,用于学习并行接口8255的编程方法。其线路连接如图2所示 图2 8255单元4x4键盘单元该单元提供4x4的小键盘阵列及4位七段数码管,电路连接为扫描电路形式。其线路连接如图3所示。图3 键盘及数码管显示单元2.2 硬件连线图td-pid+实验板上连接图如图4所示: l1 l8 点阵led单元 r1 r7 x1 x4 键盘及数码 y1 显示单元 y4 d0 pa0 d7 pa7 pb0 8255 单元 pb7 a1 a0 wr pc0 rd cs pc3 pc4 pc7 xd0 xd7 系 统 总 线 xa3 xa2 xiow xior ioy0 图4 td-pid+实验板上连线图 将系统总线和8255的数据总线相连,利用并行接口芯片8255pa口、pb口作为输出口,分别于点阵led的列控制l1l8、行控制r1r8相连,控制 led的行和列,pc口的低四位、高四位分别控制4x4键盘行x1x4和列y1y4。 其它8255的片选端cs、a0、a1分别接系统总线的ioy0、xa2、xa3。3 系统软件设计3.1 系统软件总述本次设计采用的语言为汇编语言,大量使用了模块化程序,所有功能都能通过调子程序实现。点阵led显示系统设计的软件部分由主程序、烟火表演1子程序、烟火表演2子程序、开幕式子程序、闭幕式子程序、数字倒计时程序子程序、显示子程序、以及延时子程序1和2组成。在平时编程中,用c语言编写程序有利于实现较复杂的算法,但是汇编语言程序则具有较高的效率且容易精细计算程序运行的时间。不论是什么语言,始终是要被电脑转换成c语言进行执行的。所以,在此次设计中,编程采用的是汇编语言,整个程序层次有序,结构清晰,易于维护,完整程序见程序代码。3.2 i/o口分配8255i/o口分配如表1所示表1i/o口ioy0my8255_amy8255_bmy8255_cmy8255_mode分配9800hioy0+00h*4ioy0+01h*4ioy0+02h*4ioy0+03h*4 3.3 软件流程图系统流程图如图5所示:图5 系统流程图3.4 程序代码ioy0equ9800hmy8255_aequ ioy0+00h*4my8255_bequ ioy0+01h*4my8255_cequ ioy0+02h*4my8255_modeequ ioy0+03h*4stack1segmentstackdw256dup(?)stack1endsdata1segmentinr db 0 ;存放列键值单元cs1cdw?ip1cdw?cnt db 0 ;计数单元num db 0fire1 db 0c1h,63h,36h,1ch,038h,6ch,0c6h,83h;风车1 db 10h,18h,18h,07fh,0feh,18h,18h,08h db 0c1h,63h,36h,1ch,038h,6ch,0c6h,83h db 10h,18h,18h,07fh,0feh,18h,18h,08h moveyanhua db 81h,00h,00h,00h,00h,00h,00h,81h ;烟火2 db 81h,42h,00h,00h,00h,00h,42h,81h db 00h,00h,24h,00h,00h,24h,00h,00h db 00h,00h,00h,18h,18h,00h,00h,00h db 00h,00h,00h,18h,18h,00h,00h,00h db 00h,00h,24h,00h,00h,24h,00h,00h db 81h,42h,00h,00h,00h,00h,42h,81h db 81h,00h,00h,00h,00h,00h,00h,81h open1 db 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh;开幕式字段open2 db 0ffh,0ffh,0ffh,0h,0h,0ffh,0ffh,0ffhopen3 db 0ffh,0ffh,0h,0h,0h,0h,0ffh,0ffhopen4 db 0ffh,0h,0h,0h,0h,0h,0h,0ffhopen5 db 0h,0h,0h,0h,0h,0h,0h,0hclose1 db 0h,0h,0h,0h,0h,0h,0h,0h ;闭幕式字段close2 db 0ffh,0h,0h,0h,0h,0h,0h,0ffhclose3 db 0ffh,0ffh,0h,0h,0h,0h,0ffh,0ffhclose4 db 0ffh,0ffh,0ffh,0h,0h,0ffh,0ffh,0ffhclose5 db 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffhnumtable db 00h, 00h, 4fh, 49h, 49h, 49h, 7fh, 00h;9,0 db 00h, 00h, 4fh, 49h, 49h, 49h, 7fh, 00h;9,0 倒计时字段 db 00h, 00h, 7fh, 49h, 49h, 49h, 7fh, 00h;8,1 db 00h, 00h, 01h, 01h, 79h, 05h, 03h, 00h;7,2 db 00h, 00h, 7fh, 49h, 49h, 49h, 79h, 00h;6,3 db 00h, 00h, 4fh, 49h, 49h, 49h, 79h, 00h;5,4 db 00h, 00h, 1fh, 10h, 10h, 10h, 7fh, 00h;4,5 db 00h, 00h, 49h, 49h, 49h, 49h, 7fh, 00h;3,6 db 00h, 00h, 79h, 49h, 49h, 49h, 4fh, 00h;2,7 db 00h, 00h, 00h, 00h, 42h, 7fh, 40h, 00h;1,8 db 00h, 00h, 7fh, 41h, 41h, 41h, 7fh, 00h;0,9data1endscodesegment assumecs:code,ds:data1,ss:stack1start:mov ax,data1 mov ds,ax push ds mov dx,my8255_mode ;初始化8255,设置a,b和c低四位为输出,c口高四位为输入 mov al,88h out dx,al call scan ;扫描有无按键按下,有则跳出,无则继续 ;/风车/yanhuo1 proc near mov bx,3h ;风车表演循环次数s1: mov cnt,0 lea di,fire1 mov cx,4y1:mov si,di call disp call scan ;扫描有无按键按下,有则跳出,无则继续inc cntcmp cnt,8hje y2 jmp y1 y2: add di,8 loop y1dec bxmov cx,bxloop s1movdx,my8255_b;清8255b口moval,0houtdx,almov inr,0hretyanhuo1 endp;/烟火/ yanhuo2 proc near mov bx,3h ;循环次数s2: mov cnt,0 lea di,moveyanhua mov cx,8m1:mov si,di call disp call scan ;扫描有无按键按下,有则跳出,无则继续inc cntcmp cnt,8hje m2 jmp m1m2:add di,8 loop m1dec bxmov cx,bxloop s2movdx,my8255_b;清8255b口moval,0houtdx,almov inr,0hretyanhuo2 endp;/开幕式/opening proc near mov cx,6h t1: lea si,open1call disploop t1mov cx,6h t2: lea si,open2call disploop t2mov cx,6h t3: lea si,open3call disploop t3mov cx,6h t4: lea si,open4call disploop t4mov cx,6h t5: lea si,open5call disp call scan ;扫描有无按键按下,有则跳出,无则继续loop t5movdx,my8255_b;清8255b口moval,0houtdx,almov inr,0retopening endp;/闭幕式/closing proc nearmov cx,6h tt1: lea si,close1call disploop tt1mov cx,6h tt2: lea si,close2call disploop tt2mov cx,6h tt3: lea si,close3call disploop tt3mov cx,6h tt4: lea si,close4call disploop tt4mov cx,6h tt5: lea si,close5call disp call scan ;扫描有无按键按下,有则跳出,无则继续loop tt5movdx,my8255_b;清8255b口moval,0houtdx,almov inr,0retclosing endp;/数字倒计时程序/time proc nearmov cnt,0 lea di,numtablemov cx,11w1:mov si,di call disp call scan ;扫描有无按键按下,有则跳出,无则继续inc cntcmp cnt,8hje w2 jmp w1w2:add di,8loop w1movdx,my8255_b;清8255b口moval,0houtdx,almov inr,0rettime endp;/键盘扫描子程序/ scan proc near xor bx,bx ;列键值bl=0,行键值bh=0 mov al,0h ;c口低四位输出全为0 mov dx,my8255_c out dx,al mov dx,my8255_c ;读入c口高四位 in al,dx and al,0f0h cmp al,0f0h je l ;c口高四位输入全为1,该列无键按下转l call delay ;c口高四位输入非全1,该列有键按下调延时 mov dx,my8255_c in al,dx and al,0f0h cmp al,0f0h je l mov cl,0eh ;该列有键按下,从第一行开始查找r1: mov al,cl ;使某列为0 mov dx,my8255_c out dx,al mov dx,my8255_c in al,dx and al,0f0h cmp al,0f0h jne r2 ;该列有键按下 mov al,bl ;该列无键按下,列键值加4 add al,4 daa mov bl,al ;bl列键值 shl cl,1 ;准备查找下一列 cmp cl,0 ;所有列未查找完转k1 jne r1r2: inc bh ;该列有键按下,行值加1 shl al,1 ;行键移入cf jc r2 ;cf=1,该行无键按下转k2 mov al,bl ;cf=0,该行有键按下 add al,bh ;键值=行键值+列键值 daa lea di,inr ;存键值 mov di,al jmp comp ;转键处理程序l: ret ;无键按下,跳出查询comp:mov al,inr cmp al,1jz des1cmp al,2jz des2cmp al,3jz des3cmp al,4jz des4cmp al,5jz des5 cmp al,6 jz des6 jmp l des1:call opening ;开幕式 jmp scandes2:call closing ;闭幕式 jmp scandes3: call yanhuo1 ;风车 jmp scan des4: call yanhuo2 ;烟花 jmp scan des5: call time ;数字倒计时jmp scandes6: movdx,my8255_b ;清8255b口,停止moval,0houtdx,almov ax,4c00h int 21hscan endp;/显示子程序/disp proc near push ax push bx push cx push dxmov dx,my8255_bmov al,0hout dx,al mov bl,01hmov cx,8hloop1:mov dx,my8255_bmov al,si out dx,almov al,blnot almov dx,my8255_aout dx,aladd bl,blcall dallyinc siloop loop1pop ax pop bx pop cx pop dx retdisp endp;/延时子程序1供显示子程序使用/dally proc nearpush axpush cxmov cx,03fhd1:mov ax,2fffhd2:dec ax jnz d2 loop d1 pop cx pop ax retdally endp;/延时子程序2供去抖用/delay proc near push cx push ax mov ch,20dl1:mov cl,200dl2:dec cl jnz dl2 dec ch jnz dl1 pop ax pop cx retdelay endp;/结束/code ends end start3.5 程序结果部分显示 程序显示结果如下图所示 图6 开幕式(闭幕式) 图7 烟花闪烁4 结束语本报告主要介绍如何实现8x8点阵led显示,硬件部分使用西安唐都科教仪器公司的td-pid+实验系统,实验箱中的可编程并行接口芯片8255,8x8点阵led,4x4键盘等连接组成点阵led

温馨提示

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

评论

0/150

提交评论