霓虹灯设计报告 大学课程设计报告.doc
上传人:sy****28 上传时间:2024-09-13 格式:DOC 页数:6 大小:21KB 金币:14 举报 版权申诉
预览加载中,请您耐心等待几秒...

霓虹灯设计报告 大学课程设计报告.doc

霓虹灯设计报告大学课程设计报告.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

14 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

霓虹灯《微机原理》课程设计-----设计者:熊君(12008242570)设计者:熊君(12008242570)合作者:赵希希(12008243718)合作者:赵希希(12008243718)班级:级自动化(班级:08级自动化(二)班指导老师:指导老师:蔺金元1霓虹灯霓虹灯程序设计报告(一)实验目的■1、掌握8255A的微机接口方法。■2、掌握8255A工作方式及编程原理。(二)实验内容■1.实验任务:用8255设计霓虹灯,三种以上变化:设计程序控制8个并排LED灯1、8个灯闪烁4次2、从右向左循环依次逐一闪亮,闪亮时间隔离定为0.5秒。这种变化重复4次。3、从左向右循环依次逐一闪亮,闪亮时间隔离定为0.5秒。这种变化重复4次。4、最左边和最右的两个灯点亮并同时向中间移动,相遇后又分离,移动间隔时间为0.5秒。这种变化重复4次。5、假定从左至右依次为L1-L8:L1、L4、L7闪烁4,L2、L5、L8闪烁4,L3、L6、L1闪烁4,L4、L7、L2闪烁4,L5、L8、L3闪烁4,L6、L1、L4闪烁4,L7、L2、L5闪烁4,L8、L3、L6闪烁4。到此五种变化全部显示完毕,而后跳转到变化1循环显示这五种变化。■2.原理:可通过DVCC8086单板机上的8255芯片来实现,利用8255A中的PC口,将其8位输出PC7~PC0分别与8个LED灯L1~L8相连,当PC口其中某位输出为“0”时,则对应LED灯亮。通过编程先对8255进行初始化,选择控制字,设置PC口为输出方式,然后给8088CPU中的AH赋值0EFH,采用循环移位指令对AH中的数值0EFH进行移位,最后将移位后的数据输到PC口,从而使8个LED灯按要求依次逐一点亮。其他变化原理类似。■3.预备知识:①8255端口地址的确定:8255片选CS的连接决定了8255的端口地址。当8255片选CS端连接到地址译码器输出070-07F插孔时,则8255端口地址对应为:控制口:0F3HPA口:0F0HPB口:0F1HPC口:0F2H②8255控制字的确定:置8255控制字为80H=10000000D7:=1(控制字标志)D6,D5:=00(A口方式0),=01(方式1)=1X(方式2),D4:=0(A口输出)=1(A口输入),D3:=0(C口高4位输出),=1(C口高4位输入)D2:=0(B口方式0)=1(方式1),2霓虹灯D1:=0(B口输出)=1(B口输入),D0:=0(C口低4位输出),=1(C口低4位输入)8255A的引脚图及相关说明如下:③8255编程:先8255初始化,送8255控制字到控制口,再从PA、PB、PC口输入输出数据。■4.软件流程:开始8255初始化,置8255控制字为80H①置PA0=0,其余各位为1,右边第一只LED灯亮,延时0.5秒3霓虹灯②置PA1=0,其余各位为1,右边第二只LED灯亮,延时0.5秒┇┇③置PA7=0,其余各位为1,右边第八只LED灯亮,延时0.5秒④返回①┇■5.软件清单:;霓虹灯程序CODESEGMENTASSUMECS:CODEIOCONPTEQU0073HIOAPTEQU0070HIOBPTEQU0071HIOCPTEQU0072HIOBDATAEQU0500HCONTPORTEQU00DFHDATAPORTEQU00DEHDATA1EQU0640HSTART:JMPIOLEDIOLED:CALLFORMATCALLLEDDISPMOVAX,0HMOVDS,AXMOVAL,82HMOVDX,IOCONPTOUTDX,ALMOVDX,IOBPTINAL,DXMOVBYTEPTRDS:[0501H],ALMOVDX,IOCONPTMOVAL,80HOUTDX,AL;只用C口;L1--L8对应PC7--PC0;(1)L1--L8闪烁四次VV:MOVCX,4H;设置8个灯闪烁次数LEDSTART:MOVDX,IOCPTMOVAL,00H;点亮L1--L8OUTDX,ALCALLDELAY2MOVMOVOUTDX,IOCPTAL,0FFHDX,AL;L1--L8灯灭4霓虹灯CALLDELAY2LOOPLEDSTARTCALLDELAY1;循环(L1--L8闪烁4次);(2)单灯流水(右四次,左四次,两边到中间四次)MOVCX,4HLED01:MOVDX,IOCPTMOVAL,7FH;AL=01111111B即点亮L1OUTDX,ALCALLDELAY2AA:RORAL,1;AL=10111111B即点亮L2OUTDX,ALCALLDELAY2CMPAL,80HJAAA;当循环右移AL的最高位再次为0时跳出循环LOOPLED01CALLDELAY1MOVLED02:MOV