计算机控制课程设计.docx_第1页
计算机控制课程设计.docx_第2页
计算机控制课程设计.docx_第3页
计算机控制课程设计.docx_第4页
计算机控制课程设计.docx_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

目 次1 系统概述2 1.1 设计环境3 1.2 设计要求3 1.3 总体设计32 系统硬件设计 42.1 硬件构成42.2硬件接线图 53系统软件设计63.1系统软件总述63.2 I/O分配63.3程序流程图7 3.4程序代码 8-153.5程序结果显示15 4 结束语 16 1 系统概述LED显示屏(LED panel):又叫电子显示屏或者飘字屏幕,是由LED点阵组成,通过红色或绿色灯珠的亮灭来显示文字、图片、动画、视频,内容可以随时更换,各部分组件都是模块化结构的显示器件。通常由显示模块、控制系统及电源系统组成。显示模块由LED灯组成的点阵构成,负责发光显示;控制系统通过控制相应区域的亮灭,可以让屏幕显示文字、图片、视频等内容,电源系统负责将输入电压电流转为显示屏需要的电压电流。LED显示屏可以显示变化的数字、文字、图形图像;不仅可以用于室内环境还可以用于室外环境,具有投影仪、电视墙、液晶显示屏无法比拟的优点。LED之所以受到广泛重视而得到迅速发展,是与它本身所具有的优点分不开的。这些优点概括起来是:亮度高、工作电压低、功耗小、小型化、寿命长、耐冲击和性能稳定。LED的发展前景极为广阔,目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性,可靠性、全色化方向发展。LED显示屏性能超群: 发光亮度强 ,在可视距离内阳光直射屏幕表面时,显示内容清晰可见. 超级灰度控制 ,具有1024-4096级灰度控制,显示颜色16.7M以上,色彩清晰逼真,立体感强. 静态扫描技术 :采用静态锁存扫描方式,大功率驱动,充分保证发光亮度。自动亮度调节 具有自动亮度调节功能,可在不同亮度环境下获得最佳播放效果。全面采用进口大规模集成电路,可靠性大大提高,便于调试维护。 全天候工作 完全适应户外各种恶劣性环境,防腐,防水,防潮,防雷,抗震整体性能强、性价比高、显示性能好,像素筒可采用P10mm、P16mm等多种规格。先进的数字化视频处理,技术分布式扫描,模块化设计/恒流静态驱动,亮度自动调节,超高亮纯色象素 ,影像画面清晰、无抖动和重影,杜绝失真 ,视频、动画、图表、文字、图片等各种信息显示、联网显示、远程控制。由于LED的众多优势,在市场中得到了广泛的应用。主要应用领域有:(1)信号制式应用:信号照明是LED单色光应用比较广泛也是比较早的一个领域,约占LED应用市场的4%左右。(2)显示应用:指示牌、广告牌、大屏幕显示等,LED用于显示屏幕的应用约占LED应用的20%25%,显示屏幕可分为单色和彩色。(3)照明应用:便携灯具,汽车用灯,特殊照明,由于LED尺寸小,便于动态的亮度和颜色控制。因此比较适合于建筑装饰照明。背光照明:普通电子设备功能显示背景源、笔记本电脑背光源、大尺寸超大尺寸LCD显示器背光源等,以及投影仪用RGB光源。1.1 设计环境本次设计采用了TD-PID+实验系统,它提供了众多实用、新颖的接口实验,提供了一些模块的汇编例子程序、使用说明,可以满足单片机、微机原理课程的开放式实验教学,各种实时控制实验。他布局合理,清晰明了,模块化设计,可以升级,兼容性强,使用方便,易于维护。1.2 设计要求设计点阵LED显示系统,要求系统实现以下功能:1. “开幕式”:从中间向两边逐次熄灭8个灯; 2. “倒计时”:顺序显示9、8、7、1、0; 3. “闭幕式”:从两边向中间逐次点亮8个灯;4 自行设计两种显示效果;5 通过键盘选择,实现多种效果的组合。1.3 总体设计根据设计要求,在8x8点阵LED上实现倒计时90,灯依次从中间向两边展开,从两边向中间聚拢,展示各种自设计图形。并结合TD-PID+实验系统提供的关于8255、8x8点阵LED例题程序,初步做出如下设计:利用并行接口芯片8255PA口、PB口控制8x8点阵LED的行和列,PC口的低四位、高四位分别控制4x4键盘行和列。按1键开始“开幕式”表演,按下2键开始“闭幕式”表演,按下3键开始“烟花1”表演,按下4键开始“烟花2”表演按下5键启动“倒计时”功能,按下6键 结束,返回DOS。程序中需要预先填入要输出数字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 将系统总线和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所示: 图53.4 程序代码IOY0EQU9800HMY8255_AEQU IOY0+00H*4MY8255_BEQU IOY0+01H*4MY8255_CEQUIOY0+02H*4MY8255_MODEEQUIOY0+03H*4STACK1SEGMENTSTACKDW256DUP(?)STACK1ENDSDATA1SEGMENTINR DB 0 ;存放列键值单元CS1CDW?IP1CDW?CNT DB 0 ;计数单元NUM DB 0FIRE1 DB 0H,7EH,42H,5AH,5AH,42H,7EH,0H;烟火闪烁FIRE2 DB 0FFH,81H,0BDH,0A5H,0A5H,0BDH,81H,0FFHMOVEWATER DB 81H,00H,00H,00H,00H,00H,00H,81HDB 42H,0C3H,00H,00H,00H,00H,0C3H,42HDB 24H,24H,0E7H,00H,00H,0E7H,24H,24HDB 18H,18H,18H,0FFH,0FFH,18H,18H,18HDB 24H,24H,0E7H,00H,00H,0E7H,24H,24HDB 42H,0C3H,00H,00H,00H,00H,0C3H,42HDB 81H,00H,00H,00H,00H,00H,00H,81HOPEN1 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,0H CLOSE1 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, 4CH, 52H, 52H, 52H, 52H, 2CH, 00H;9,0 DB 00H, 4CH, 52H, 52H, 52H, 52H, 2CH, 00H;9,0;倒计时字段 DB 00H, 28H, 54H, 54H, 54H, 54H, 28H, 00H;8,1DB 00H, 08H, 44H, 24H, 14H, 0CH, 04H, 00H;7,2 DB 00H, 38H, 54H, 54H, 54H, 54H, 24H, 00H;6,3DB 00H, 58H, 54H, 54H, 54H, 54H, 24H, 00H;5,4 DB 00H, 20H, 30H, 28H, 24H, 7CH, 20H, 00H;4,5DB 00H, 44H, 44H, 54H, 54H, 5CH, 2CH, 00H;3,6 DB 00H, 44H, 64H, 64H, 54H, 54H, 4CH, 00H;2,7 DB 00H, 00H, 08H, 44H, 7CH, 40H, 00H, 00H;1,8 DB 00H, 38H, 44H, 44H, 44H, 44H, 38H, 00H;0,9DATA1ENDSCODESEGMENTASSUMECS:CODE,DS:DATA1,SS:STACK1START: MOVAX,DATA1MOV DS,AXPUSH DS MOVDX,MY8255_MODE;初始化8255,设置A,B,C低四位都为输出,C口高四位为输入MOVAL,88HOUTDX,AL SCAN: ;键盘扫描 XOR BX,BX MOV AL,0H MOV DX,MY8255_C OUT DX,AL MOV DX,MY8255_C IN AL,DX;读入C口 AND AL,0F0H CMP AL,0F0H JE DONE CALL DELAY MOV DX,MY8255_C IN AL,DX AND AL,0F0H CMP AL,0F0H JE DONE MOV CL,0EH;有键按下K1: MOV AL,CL MOV DX,MY8255_C OUT DX,AL MOV DX,MY8255_C IN AL,DX AND AL,0F0H CMP AL,0F0H JNE K2;该列有键按下 MOV AL,BL;该列无键按下,列键值加4 ADD AL,4 DAA MOV BL,AL SHL CL,1 CMP CL,0 JNE K1K2: INC BH SHL AL,1 JC K2;该处无键按下 MOV AL,BLADD AL,BH LEA DI,INR MOV DI,AL JMP COMP DONE: LOOP SCANCOMP:MOV AL,INR CMP AL,1JZ DES1CMP AL,2JZ DES2CMP AL,3JZ DES3CMP AL,4JZ DES4CMP AL,5JZ DES5 CMP AL,6 JZ DES6JMP DONE DES1: CALL OPENING;开幕式 JMP SCANDES2: CALL CLOSING;闭幕式 JMP SCANDES3: CALL YANHUO1;烟花闪烁1 JMP SCAN DES4: CALL YANHUO2;烟花闪烁2 JMP SCAN DES5: CALL TIME ;数字倒计时JMP SCANDES6: MOVDX,MY8255_B;清8255B口MOVAL,0HOUTDX,ALMOV AX,4C00H INT 21HYANHUO1 PROC NEAR;烟火表演1 MOV CX,2FHY1: LEA SI,FIRE1CALL DISPLOOP Y1MOV CX,0FHY2: LEA SI,FIRE2CALL DISPLOOP Y2MOVDX,MY8255_B;清8255B口MOVAL,0HOUTDX,ALmov inr,0h RETYANHUO1 ENDP YANHUO2 PROC NEAR;烟火表演2MOV CNT,0 LEA DI,MOVEWATERMOV CX,7M1:MOV SI,DI CALL DISPINC CNTCMP CNT,8HJE M2 JMP M1M2:ADD DI,8 LOOP M1MOVDX,MY8255_B;清8255B口MOVAL,0HOUTDX,ALmov inr,0RETYANHUO2 ENDPOPENING 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 DISPLOOP T5MOVDX,MY8255_B;清8255B口MOVAL,0HOUTDX,ALMOV INR,0RETOPENING ENDPCLOSING PROC NEAR;闭幕式MOV 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 DISPLOOP TT5MOVDX,MY8255_B;清8255B口MOVAL,0HOUTDX,ALMOV INR,0RETCLOSING ENDPTIME PROC NEAR;数字倒计时程序MOV CNT,0 LEA DI,NUMTABLEMOV CX,11W1:MOV SI,DI CALL DISPINC CNTCMP CNT,8HJE W2 JMP W1W2:ADD DI,8 LOOP W1MOVDX,MY8255_B;清8255B口MOVAL,0HOUTDX,ALmov inr,0 RETTIME ENDPDISP 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,SIOUT DX,ALMOV AL,BLNOT ALMOV DX,MY8255_AOUT DX,ALADD BL,BLCALL DALLYINC SILOOP LOOP1POP AX POP BX POP CX POP DX RETDISP ENDPDALLY PROC NEAR;延时子程序1供显示子程序使用PUSH AXPUSH CXMOV CX,03FHD1:MOV AX,2FFFHD2:DEC AX JNZ D2 LOOP D1 POP CX POP AX RETDALLY ENDPDELAY PROC NEAR;延时子程序2供去抖用 PUSH CX PUSH AX MOV CH,20DL1: MOV CL,200DL2: DEC CL JNZ DL2 DEC CH JNZ DL1 POP AX POP CX RETDELAY ENDPCODE ENDS END START3.5 程序结果部分显示 程序显示结果如下图所示 图6 倒计时“2” 图7烟花闪烁1 图8 开幕式(闭幕式) 图9 烟花闪烁4 结束语本论文主要介绍

温馨提示

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

评论

0/150

提交评论