数字逻辑彩灯显示系统3_第1页
数字逻辑彩灯显示系统3_第2页
数字逻辑彩灯显示系统3_第3页
数字逻辑彩灯显示系统3_第4页
数字逻辑彩灯显示系统3_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、武汉理工大学华夏学院课程设计报告书课程名称: 微机原理与接口技术课程设计题 目: 彩灯显示系统设计 系 名: 信息工程系 专业班级: 姓 名: 学 号: 指导教师: 2011 年 6月 23日 课程设计任务书学生姓名: 专业班级: 指导教师: 工作单位: 设计题目:彩灯显示系统设计初始条件:1、7段LED数码管引脚功能2、TDN86/88型多功能微机实验平台要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)主要任务:(在规定的时间内完成下列任务)1. 画出硬件原理图(接口芯片和外设部分)和实验连线图;2三个开关输入07 8个十六进制数字,对应8种不同的彩灯组合状态

2、进行显示;3彩灯显示方式中必须有左、右移动循环亮,左右对向移动循环亮;4用1位7段LED数码管以十进制显示当前输入开关显示方式的序号;5使用软件延时实现彩灯左、右移动循环过程中点亮1s的时间间隔;*5使用硬件延时实现彩灯左、右移动循环过程中点亮1s的时间间隔。*6若有异常事件发生(用开关模拟中断信号的产生),则使红灯闪烁10秒钟后,返回原处继续。设计报告撰写格式要求:(按提供的设计报告统一格式撰写)设计报告应包含以下内容: 设计任务与要求 总体方案与说明 硬件原理图与说明 实验电路图与说明 软件主要模块流程图 源程序清单与注释 问题分析与解决方案(包括调式记录、调式报告,即在调式过程中遇到的主

3、要问题、解决方法及改进设想); 小结与体会附录: 源程序(必须有简单注释) 使用说明 参考资料时间安排:6月20日布置题目,确定任务、查找相关资料6月21日6月23日功能分析,硬件设计,拟定实验电路,编写程序,调试程序、运行系统;6月24日答辩后撰写设计报告。指 导 教 师 签 字: 2011 年 6 月 20 日系 主 任 签 字: 年 月 日目 录第一章 需求分析1.1 课程设计题目41.2 课程设计任务及要求41.3 软硬件运行环境及开发工具4第二章概要设计2.1 彩灯显示系统设计原理及其方法52.2 彩灯显示系统流程图6第三章详细设计3.1 硬件设计与软件设计73.2 硬件电路的设计与

4、实现12第四章系统调试与操作说明4.1 系统调试144.2 操作说明14第五章课程设计总结与体会5.1 心得体会15参考文献附录: 彩灯显示系统控制程序第一章 需求分析1.1 课程设计题目设计题目:彩灯显示系统设计1.2 课程设计任务及要求1.2.1 设计任务1. 画出硬件原理图(接口芯片和外设部分)和实验连线图;2三个开关输入07 8个十六进制数字,对应8种不同的彩灯组合状态进行显示;3彩灯显示方式中必须有左、右移动循环亮,左右对向移动循环亮;4用1位7段LED数码管以十进制显示当前输入开关显示方式的序号;5使用软件延时实现彩灯左、右移动循环过程中点亮1s的时间间隔;*6使用硬件延时实现彩灯

5、左、右移动循环过程中点亮1s的时间间隔。*7若有异常事件发生(用开关模拟中断信号的产生),则使红灯闪烁10秒钟后,返回原处继续。1.2.2 设计要求 设计任务与要求 总体方案与说明 硬件原理图与说明 实验电路图与说明 软件主要模块流程图 源程序清单与注释 问题分析与解决方案(包括调式记录、调式报告,即在调式过程中遇到的主要问题、解决方法及改进设想); 小结与体会1.3 软硬件运行环境及开发工具 TDN86/88教学实验系统第二章 概要设计2.1 彩灯显示系统设计原理及其方法本系统设计的彩灯控制是以8088微处理器作为CPU,将8255A的PA口设置为方式0并作为输入口,读取K1K8个开关量,P

6、B口设置为方式0作为输出口连接8个发光二极管,PC口作为同步输出口连接LED数码管。2.2 彩灯显示系统流程图1)预置8255端口的工作方式;2)编写8259中断初始化程序,填8259中断7中断矢量。3)编写7种分支彩灯显示模式,读取开关信息时,通过跳转指令选择显示模式。4)编写彩灯显示子程序,控制彩灯的显示模式。5)编写查询接口子程序,用来实现LED序号显示与彩灯模式的协调。6)调用无条件跳转指令,回到分支程序的起点,再次进行模式选择7)重复步骤6,可实现多次彩灯显示模式的选择开始中断启动初始化彩灯1及显示数字0PC=00 Y PC=01 N Y彩灯2及显示数字1 N 彩灯3及显示数字2PC

7、=02 Y N 彩灯4及显示数字3PC=03 Y N 彩灯5及显示数字4PC=04 Y N 彩灯6及显示数字5PC=05 Y N 彩灯7及显示数字6PC=06 Y N 彩灯1及显示数字0PC=07 Y 延时程序 N 结束 图2 程序流程图第三章详细设计3.1 硬件设计与软件设计3.1.1 硬件系统介绍8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种工作方式下工作:方式0基本输入/输出方式方式1选通输入/输出方式方式2双向选通输入/输出方式其内部结构图如图2所示:图3.1 8255内部结构图8255引脚图如图3

8、所示,各引脚功能如下:D7D0与CPU侧连接的八条双向数据线;WR(低电平有效)写输入信号;RD(低电平有效)读输入信号;CS(低电平有效)片选输入信号;A0、A1片内寄存器选择输入信号;PA7PA0A口外设双向数据线;PB7PB0B口外设双向数据线;PC7PC0C口外设双向数据线;RESET复位输入信号图3.2 8255引脚图3.1.2 8255硬件连接设计简图本课题的设计可通过实验平台上的一些功能模块电路组成,由于各模块电路内部已经连接,用户在使用时只要设计模块间电路的连接,因此,硬件电路的设计及实现相对简单。完整系统的硬件连接如图4所示B口LED数码管显示8255AA口8个发光二极管80

9、86总线8259 IRQ7KK1-KK1+KK2-KK2+图3.3 8255接线设计图3.1.3 主控模块设计 该模块实现控制程序流程的功能。具体实现方法为:根据8255的PA口状态(0或1),判断程序的走向。如果PA=0,彩灯全灭处于等待PA状态的变化;如果PA=1(第一次为1)则输出显示第1种彩灯,假设PA第N次为1,由于只有8种彩灯模式,所以输出显示为第N mod 8种彩灯。编写程序如下:CBC: MOV BL,00H AA: MOV DX,IOAPT IN AL,DX CMP AL,00H JZ K0 INC BL CMP BL,08H JG CBC MOV AL,BL JMP CC

10、BB: MOV DX,IOAPT IN AL,DX CMP AL,00H JZ K0 MOV AL,BL CC: CMP AL,01H JZ K1 ;第1种彩灯显示 CMP AL,02H JZ K2 ;第2种彩灯显示 CMP AL,03H JZ K3 ;第3种彩灯显示 CMP AL,04H JZ K4 ;第4种彩灯显示 CMP AL,05H JZ K5 ;第5种彩灯显示 CMP AL,06H JZ K6 ;第6种彩灯显示 CMP AL,07H JZ K7 ;第7种彩灯显示 JMP K8 ;第8种彩灯显示K0: MOV AL,0FFH CALL IOLED JMP AA3.1.4 第1种彩灯显示

11、模块设计 第1种彩灯为:8个彩灯一个一个顺序点亮,并且每次只点亮1个。具体实现方法为:由于有8个灯,每次点亮一个,所以只需赋值AL=0FEH并读出到PB口,再逻辑左移8次AL,即可实现一次完整的彩灯输出。编写程序如下:;依次点亮K1: CALL ADD1 ;调用查询接口 MOV CX,09H MOV AL,0FEHLOOP1: CALL IOLED ;彩灯显示 ROL AL,1 LOOP LOOP1 JMP WAITING3.1.5 第2种彩灯显示模块 第2种彩灯为:左右4个灯交替点亮,每次只点亮左4个灯或右4个灯。具体实现方法:赋值AL=0F0H并读出到PB口,再逻辑取反AL,即可实现一次完

12、整的彩灯输出。编写程序如下:;左右4个交替点亮K2: CALL ADD1 MOV CX,09H MOV AL,0F0HLOOP2: CALL IOLED ;彩灯显示 NOT AL LOOP LOOP2 JMP WAITING3.1.6 第3种彩灯显示模块 第3种彩灯为:8个灯起初全亮,再全灭,然后循环。具体实现方法:赋值AL=0AAH并读出到PB口,再逻辑取反AL,即可实现一次完整的彩灯输出。编写程序如下:;先全灭,然后依次点亮K3: CALL ADD1 ;彩灯显示 MOV CX,09H MOV AL,0AAH MOV AH,01HLOOP3: CALL IOLED SUB AL,AH ROL

13、 AH,1 LOOP LOOP3 JMP WAITING3.1.7 第4种彩灯显示模块第4种彩灯为:循环亮灯(1,5)、(2,6)、(3,7)、(4,8)。具体实现实现方法:赋值AL=0EEH并读出PB口,在逻辑左移4次AL,即可实现一次完整的彩灯输出。编写程序如下:循环亮灯(1,5)、(2,6)、(3,7)、(4,8)K4: MOV CX,08H MOV AL,0EEHLOOP4: CALL IOLED ROL AL,1 LOOP LOOP4 POP AX JMP WAITING3.1.8 第5种彩灯显示模块第5种彩灯为起初是两边4个灯亮,然后中间4个灯亮,再循环。具体实现方法:赋值AL=0

14、C3H并读出到PB口,再逻辑取反AL,即可实现一次完整的彩灯输出。编写程序如下:先两边亮,后中间亮,再循环K5: MOV CX,09H MOV AL,0C3HLOOP5: CALL IOLED NOT AL LOOP LOOP5 POP AXJMP WAITING3.1.9第6种彩灯显示模块 第6种彩灯为:起初8个灯全亮,然后依次一个一个不亮,直至全灭。具体实现方法:赋值AL=00H并读出到PB口,再把AL加1B,加10B加10000000B,直到灯全灭后再从头循环,即可实现一次完整的彩灯输出。编写程序如下:;先全亮后全不亮再循环K6: CALL ADD1 MOV CX,09H MOV AL,

15、00H MOV AH,01HLOOP6: CALL IOLED NOT AL LOOP LOOP6 JMP WAITING3.1.10 第7种彩灯显示模块 第7种彩灯为:起初8个灯全灭,然后一个一个亮,直至全亮,再循环。具体实现方法:赋值AL=0AAH并读出到PB口,再把AL减1B,减10B减10000000B,直到灯全灭后再从头循环,即可实现一次完整的彩灯输出。编写程序如下:K7: CALL ADD1 MOV CX,09H MOV AL,0AAH MOV AH,01HLOOP7 CALL IOLED ADD AL,AH ROL AH,1 LOOP LOOP7 JMP WAITING3.1.1

16、1 第8种彩灯显示模块 第8种彩灯为:先点亮灯(1,3,5,7),再点亮灯(2,4,6,8),然后循环。具体实现方法:赋值AL=0AAH并读出到PB口,再逻辑逻辑取反AL,即可实现一次完整的彩灯输出。编写程序如下:K8: CALL ADD1 MOV CX,09H MOV AL,0AAHLOOP8: CALL IOLED NOT AL LOOP LOOP8 JMP WAITING3.2 硬件电路的设计与实现3.2.1 LED数码管电路设计LED数码管也称半导体数码管,是目前数字电路中最常用的显示器件。它是以发光二极管作笔段并按共阴极方式或共阳极方式连接后封装而成的。图5所示是两种LED数码管的外

17、形与内部结构,、分别表示公共阳极和公共阴极,ag 是7个笔段电极,DP为小数点。LED数码管型号较多,规格尺寸也各异,显示颜色有红、绿、橙等。 图3.4 LED内部结构及连线图3.2.2 LED数码管与8255的连线设计A口和B口0方式, A口为输入端口,接有4个开关, B口为输出端口,接有一个七段发光二极管,编程实现发光二极管显示开关所拨通的数字。A口地址: 60H B口地址: 61H C口地址: 62H 控制口地址: 63H 图3.5 LED数码管与8255的连接图3.2.3 8255与中断电路的实现按图7 所示接线,编写程序,使8255A端口A工作在方式0并作为输出口,端口B工作于方式1

18、并作为输入口,则端口C的PC2 成为选通信号输入端STBB,PCO 成为中断请求信号输出端INTRB。当B口数据就绪后,通过发STBB 信号来请求CPU读取端口B数据并送端口A输出显示。IRQ7中断子程序是实现所有灯闪烁10s就返回的功能。具体流程就如下开始AX,BX,CX进栈CX清零,调用1s延时子程序时LED数码管显示00置AL=0FFH,BX=0AH从C口输出AL值,用于把灯灭掉(AL=00H)或全点亮(AL=0FFH)调用1s延时子程序AL取反,BX-1否判断BX是否为0是AX,BX,CX出栈中断结束、返回图3.6 中断服务程序流程图图3.7 中断连接电路图3.2.4 8255连接二极

19、管连接实现A口和B口0方式, A口为输入端口,接有4个开关, B口为输出端口,接有一个七段发光二极管,编程实现发光二极管显示开关所拨通的数字。A口地址: 60H B口地址: 61H C口地址: 62H 控制口地址: 63H第四章系统调试与操作说明4.1 系统调试按照实验电路图(如图7)连接实验线路,确认无误后。输入编写好的源程序代码,确认没有输入错误以后,编译连接加载程序,在下方会显示程序中出现的错误,找到出错的位置,改正错误,当有些错误难以排查时,使用单步运行的方式去排查错误。本实验8255A芯片PA口作为输入,工作在0方式下。PC口的下C口PC0PC3接开关K0K3,负责序号显示控制与彩灯

20、控制模式协调;PB0PB7接LED发光二极管ag。PB作为输出口,工作在0方式下。PA口作为输出口,接KK UNIT的彩灯数据单元。故本次设计中8255A的方式控制字为10001001B。A口地址为60H,作为输出所以OUT 60H,AL,B口地址为61H,作为输出口所以OUT AL,61H。C口地址为62H,作为输入口所以IN AL,62H经过以上的调式,编译加载后系统能够正常的运行。4.2 操作说明1) 按实验接线图接线。2) 输入程序并检查无误,经汇编,连接后装入系统。3) 运行程序。观察灯的变化,拨动开关K0K3控制彩灯显示。当K0,K1,K2,K3为0000时,彩灯全灭;当K0,K1

21、,K2,K3为0001时,彩灯依次点亮;当K1,K2,K3,K4为0010时,彩灯左右4个交替点亮;K0,K1,K2,K3的状态按0011,01001111规律递增,会出现不同的彩灯显示模式和序号显示(09)。本次课程设计总共实现了7种不同的彩灯显示模式和09的序号显示。4)当出现紧急情况的时候,将KK2按下,此时所有灯将会闪烁5秒钟,然后回到当前状态,会出现跳转现象。第五章课程设计总结与体会5.1 心得与体会经过几天的实验调试,程序运行的结果总算到达了令自己满意的程度。其实,起初我已经单步调试、纠错更正成功了。只不过,那个版本是用3个开关来控制8种彩灯的显示输出。因为在我的脑海里一直存在某种

22、想法,即根据二进制运算法则,8种彩灯至少要3位二进制数来控制。虽然,3开关控制程序已经运行成功了,很不错了。但是,由于我的好奇心的驱使,我很想使用一个开关来控制8种彩灯的输出显示,即单开关每次打开,都会有一种彩灯的输出,而且每次都不一样,直到8种彩灯显示完毕。带着这种想法,我一直在修改程序,终于皇天不负苦心人,只要努力就能成功。最终,我实现了单开关控制8 种彩灯的输出显示。成功之余不乏喜悦,但仔细想想,这几天下来,确实吃了那么点苦。尽管如此,留下的果实却是甜蜜的。虽然我成功了,但我清楚的知道,我所选的课题只是其中的一个,而且是最简单的。实质上,我只是掌握了一种接口芯片即8255并行接口芯片的使

23、用方法及编程方法,其他的我都不会。说到此,我所编写的程序是有缺点的,因为程序是采用查询方式来实现的,所以,它并不能及时反映外界的变化而做出相应的改变。如果采用中断的方法就可以避免上述问题,不过水平有限,我也只能做到此为止了,其他的还有待以后再学习吧。本次课程设计成果让我们得以体会课程的意义,学习系统设计的方法,养成良好的汇编习惯,培养了我们在生活中发现问题、应用所学知识解决问题的能力这些都是社会所需要的,我们必须具备的素质。 参考文献1 戴梅萼 史嘉权编著.微型计算机技术及应用(第三版).北京:清华大学出版社2 周明德编著.微型计算机系统原理及应用(第四版).北京:清华大学出版社3 李顺增,吴

24、国东,赵河明等.微机原理及接口技术.北京:机械工业出版社4 杨立新.微型计算机原理和应用M.北京:科学技术文献出版社 5 李大友.微型计算机原理M.北京:清华大学出版社6 眭碧霞.微型计算机原理与组成M.人民邮电出版社 设计者: 黄思程 日 期: 2011年 6月 24日附录: 彩灯显示系统控制程序源程序:STACK SEGMENT STACK DW 64 DUP(?)STACK ENDSDATA SEGMENT BUF DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,31HDATA ENDSCODE SEGMENT

25、 ASSUME DS:DATA,CS:CODESTART:MOV AX,DATA MOV DS,AX MOV AL,89H OUT 63H,AL ;8255初始化 PUSH DS MOV AX,0000H MOV DS,AX MOV AX, OFFSET IRQ7 MOV SI, 003CH MOV SI,AX MOV AX,CS MOV SI,003EH MOV SI,AX POP DS IN AL,21H AND AL,7FH OUT 21H,AL ;8259中断初始化程序 MAIN: IN AL,62H ;取开关信息,检查PC口状态 CMP AL,00H JZ K0 ;第1种彩灯显示 C

26、MP AL,01H JZ K1 ;第2种彩灯显示 CMP AL,02H JZ K2 ;第3种彩灯显示 CMP AL,03H JZ K3 ;第4种彩灯显示 CMP AL,04H JZ K4 ;第5种彩灯显示 CMP AL,05H JZ K5 ;第6种彩灯显示 CMP AL,06H JZ K6 ;第7种彩灯显示 JMP defaultK0: CALL ADD1 MOV AL,00H CALL IOLED JMP WAITING ;依次点亮K1: CALL ADD1 MOV CX,09H MOV AL,0FEHLOOP1: CALL IOLED ROL AL,1 LOOP LOOP1 JMP WAI

27、TING ;左右4个交替点亮K2: CALL ADD1 MOV CX,09H MOV AL,0F0HLOOP2: CALL IOLED NOT AL LOOP LOOP2 JMP WAITING ;先全灭,然后依次点亮K3: CALL ADD1 MOV CX,09H MOV AL,0AAH LOOP3: CALL IOLED ROL AL,1 LOOP LOOP3 JMP WAITING ;右至左循环点亮K4: CALL ADD1 MOV CX,09H MOV AL,77HLOOP4: CALL IOLED ROR AL,1 LOOP LOOP4 JMP WAITING ;8个全亮后依次不亮K5: CALL ADD1 MOV CX,09H MOV AL,00H MOV AH,01HLOOP5: CALL IOLED ADD AL,AH ROL AL,1 LOOP LOOP5 JMP WAITING ;先两边亮后中间亮再循环K6: CALL ADD1 MOV CX,09H MOV AL,0C3HLOOP6: CALL IOLED NOT AL LOOP LOOP6 JMP WAITING default: CALL ADD1 MOV CX,09H MOV AL,00HLOOPd: CALL IOLED NOT AL LOOP LOOPd JMP WAITING

温馨提示

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

评论

0/150

提交评论