汇编语言八路抢答器设计说明书_第1页
汇编语言八路抢答器设计说明书_第2页
汇编语言八路抢答器设计说明书_第3页
汇编语言八路抢答器设计说明书_第4页
汇编语言八路抢答器设计说明书_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、专业资料微机原理与接口技术课程设计报告2015-2016学年第二学期设计题目:.小组成员:所学专业:指导教师:完成时间:目 录一、课程设计目的 4二、课程设计要求 4二、系统功能 4四、总体设计 41. 基本工作原理 41.1可编程并行接口接口芯片8255A控制字要求 41.2可编程定时器/计数器8253控制字要求 52. 硬件总体设计 52.1系统总成方案 52.2内存单元编址 53. 键盘、扬声器及显示功能的定义 54. 原理图 54.1硬件原理框图 64.2原理连线图 65软件总体设计 6五、 硬件设计 错误!未定义书签。六、软件设计 8七、调试过程 21八、系统操作说明 21九、总结

2、22十、参考文献 22word完美格式八路抢答器设计一、设计目的1、掌握微机系统的开发步骤;2、掌握抢答器控制编程方法和芯片 8255 8253的逻辑功能、键盘中断及使 用方法和数码管的用法;3、掌握一定的汇编语言知识,培养自己的动手操作能力。4、学习程序设计的基本思路和方法。因此,本次设计要求对微机原理的理论知识,8255A, 8253,键盘显示区的工作方式、工作原理熟练掌握。二、设计要求当按开始键,绿灯亮后,选手抢答,1-8号选手中先按下按键者,LED数码 管显示其选手号码(后按下无效),并进行声光报警(黄灯亮)提示。当按开始键 未按下时,如果有选手抢答,LED数码管显示其选手号码,并进行

3、声光报警(红 灯亮)提示。二、系统功能一个具有8路抢答的抢答器,利用并行接口和开关键。键盘上数字键 1-8 代表抢答按钮,当某个逻辑开关闭合时(开始键按下未按起时) ,相当于抢答按 钮按下,此时在七段数码管上将其号码显示出来, 并使喇叭响一声(或者以发光 二极管代替)。四、总体设计1. 基本工作原理当按开始键按下时,绿灯亮后,选手才可抢答,否则违规。若抢答成功,LED 显示器显示选手号码,黄灯亮,扬声器鸣叫;若抢答违规(未按下开始键) ,LED 显示器显示违规选手号码,红灯亮,扬声器报警。1.1可编程并行接口接口芯片8255A控制字要求(1)、B 口工作在方式0,做为输出端口,经驱动器1连接L

4、ED显示器(PB7PB0 依次对应连接LED显示器的dp、g、f、e、d、c、b、a七段数码管管脚);(2) 、C 口也必须工作在方式0,高4位做输入端口(本次设计中只用PC4 PC5, 分别用于连接复位键和开始键),低4位做输出端口( PC3PC0经驱动器2后 PC1 PC2 PC3分别用于连接黄、红、绿三个发光二极管, PC0连接到8253的 GATE端,以控制方式1的计数)。1.2可编程定时器/计数器8253控制字要求(1) 、方式0:操作类型为先读写低字节再读写高字节,工作在方式3即方波发 生器,计数格式为BCD码,计数初值为0。(2) 、方式1:操作类型为先读写低字节再读写高字节,工

5、作在方式1即可重触 发的单稳态触发器,计数格式为 BCD码,计数初值为0。(3) 、方式2:操作类型为先读写低字节再读写高字节,工作在方式3即方波发 生器,计数格式为BCD码,计数初值为0。2. 硬件总体设计2.1系统总成方案该竞赛抢答器所要器件:可编程并行接口接口芯片8255、可编程定时器/计 数器8253,三个一样的驱动器,黄、红、绿三个发光二极管,十三个电阻,一 个8输入与非门,一个非门,一个扬声器,一个 LED显示器,10个按键。2.2内存单元编址(1) 可编程并行接口接口芯片 8255A的端口地址为60H 61H 62H 63H(2) 可编程定时器/计数器 8253的端口地址为40H

6、 41H 42H 43H(3) 特殊键中断号为 2A-36,对应地址为00A8-00DB本实验用到数字键1-8,对应的ASCII为31H-38HLED显示器1-8对应的十六进制是:06H,5BH,4FH,66H,6DH,7CH,07H,7FH3. 键盘、扬声器及显示功能的定义一个开始键一个复位键,另外8个数字键用做8位选手的抢答按键。扬声器 用与黄、红、绿三个发光二极管配合使用,黄灯亮扬声器鸣叫表示抢答成功,红灯亮扬声报警表示抢答违规报警,绿灯亮扬声器不鸣则表示主持人已按下开始键。LED显示器显示的内容与选手号对应,抢答成功或违规都要显示。4. 原理图4.1硬件原理框图4.2 原理连线图JU

7、口 3*All Xj临竺KTTsi鮎FKI护严fi|S3AIT 77启阅& 朗 Y 上ITZ斥启 D:1 iff启1>+AM HAM 2:2旧-ZJ-»DLKD11OATIDIZLi inMCLK115ClATPI1CCIT117OLKZTF口ATEZM3A1iS 1?血AMT IBH EESET 已皿 g HEATl- 削 10.冃 i irarta&iMIH A.LBQS3 oliOTT nr? LPAip prJFT m TET肛 imKFhiR«氏 WRTZF: &LK iJffl7S34.3软件总体设计主程序流程图:开始设置置EE字字

8、码码初值标标志值值对82对AB2582552582进行初始化台化设置抢答键键盘向断并量并IF 置1开族中剜开放中断关闭LED显示器点亮绿灯置标志位值为 FFH使IF=1开放中断关闭LED显示器、指示灯五、硬件设计1. 可编程并行接口接口芯片8255A的工作方式8255A具有三个独立的输入/输出端口,每个端口的并行数据宽度为 8位。 三个端口分别为A端口,B端口,C端口,可分别与不同的外设进行数据交换, 也可联合使用,在中断方式下实现CPU与外设间的数据传递。8255A提供方式0, 方式1,方式2三种工作方式供选择。2. 可编程定时器/计数器8253的工作方式(1) 方式0:操作类型为先读写低字

9、节再读写高字节,工作在方式 3即方波发生器,计数格式为BCD码,计数初值为0。(2) 方式1:操作类型为先读写低字节再读写高字节,工作在方式1即可 重触发的单稳态触发器,计数格式为 BCD码,计数初值为0。(3) 方式2:操作类型为先读写低字节再读写高字节,工作在方式3即方 波发生器,计数格式为BCD码,计数初值为0。六、软件设计DATA SEGMENTBZ DB 00HDATA ENDSCODE SEGMENTASSUME DS:DATA,CS:CODESTART: MOVXQATAMOV DS,AX;8255A初始化MOV AL,88H;置8255A工作方式OUT 63H,ALXOR AL

10、,AL;B 口、C 口初始化OUT 61H,ALOUT 62H,AL;8253初始化MOV AL,37H;置8253方式0控制字OUT 43H,ALMOV AL,00H;置8253方式0计数初值为4000OUT40H,ALMOVAL,40HOUT40H,ALMOV AL,73H;置8253方式1控制字OUT43H,ALMOVAL,00H;置8253方式1计数初值为3000OUT41H,ALMOVAL,30HOUT41H,ALMOV AL,0B7H;置8253方式2控制字OUT43H,ALMOVAL,00HOUT42H,ALMOVAL,00H;置8253方式2计数初值为0OUT42H,AL中断设

11、置MOV AX,0000HMOV DS,AX;MOV BX,0457HMOV AL,31HMOV CX,8LOP4:MOV BX,ALINC BXINC ALLOOP LOP4MOV AX, OFFSET KKK1MOV 00A8,AXMOV AX,0000HMOV 00AA,AXMOV AX, OFFSET KKK2MOV 00AC,AXMOV AX,0000HMOV 00AE,AXMOV AX, OFFSET KKK3MOV 00B0,AXMOV AX,0000HMOV 00B2,AXMOV AX, OFFSET KKK4MOV 00B4,AXMOV AX,0000HMOV 00B6,AX

12、MOV AX, OFFSET KKK5MOV 00B8,AXMOV AX,0000HMOV 00BA,AXMOV AX, OFFSET KKK6MOV 00BC,AXMOV AX,0000HMOV 00BE,AXMOV AX, OFFSET KKK7MOV 00C0,AXMOV AX,0000HMOV 00C2,AXMOV AX, OFFSET KKK8MOV 00C4,AXMOV AX,0000HMOV 00C6,AXSTI ;使IF置1,开放可屏蔽中断;主循环LOPMIN AL,62H;检测开始键TESTAL,20H;检测C 口的PC5端JZLOP2;开始键未按下即PC5=0则跳转检测;复

13、位键LOP1:INAL,62H;检测开始键是否已经弹起,即PC5=0TESTAL,20HJNZLOP1;开始键没有弹起再重新检测MOVAL,00H;关LED显示器OUT61H,AL;送到B 口MOVAL,08H;绿灯亮OUT62H,AL;送到C 口MOVBZ, 0FFH;置标志STILOP2:INAL,62H;检测复位键TESTAL,10H;检测C 口的PC4端JZLOPM;复位键未按下即PC4=0则跳转再检;测开始键LOP3:IN AL,62H;检测复位键是否弹起,即PC4=0TEST AL,10HJNZ LOP3;位键没有弹起,则重新检测MOVAL,00H;关LED显示器、指标灯OUT 6

14、1H,ALOUT 62H,ALMOV BZ,00HSTIJMPLOPM中断服务子程序KKK1:PUSH AX;清标志;保护现场PUSHBXPUSHDXPUSHDSCLIMOV AL,06HOUT61H,ALCALL PUBLICPOPDSPOPDXPOPBXPOPAXIRETKKK2:PUSH AXPUSHBXPUSHDXPUSHDSCLIMOV AL,5BHOUT61H,ALCALL PUBLICPOPDSPOPDXPOPBXPOPAX;并使本次中断压入堆栈中的;恢复现场;保护现场;并使本次中断压入堆栈中的;恢复现场IF=0IF=0IRETKKK3:PUSH AX;保护现场PUSHBXPUS

15、HDXPUSHDSCLIMOV AL,4FHOUT61H,ALCALL PUBLICPOPDSPOPDXPOPBXPOPAXIRET;并使本次中断压入堆栈中的;恢复现场IF=0KKK4:PUSH AX;保护现场PUSHBXPUSHDXPUSHDSCLIMOV AL,66HOUT61H,ALCALL PUBLICPOPDSPOPDXPOPBXPOPAXIRET;并使本次中断压入堆栈中的;恢复现场IF=0KKK5:PUSH AXPUSH BXPUSHDX;保护现场PUSHDSCLIMOV AL,6DHOUT61H,ALCALL PUBLICPOPDSPOPDXPOPBXPOPAXIRETKKK6:

16、PUSH AXPUSHBXPUSHDXPUSHDSCLIMOV AL,7CHOUT61H,ALCALL PUBLICPOPDSPOPDXPOPBXPOPAXIRET;并使本次中断压入堆栈中的;恢复现场;保护现场;并使本次中断压入堆栈中的;恢复现场IF=0IF=0KKK7:PUSH AXPUSH BXPUSHDXPUSH DSCLIMOV AL,07HOUT 61H,AL;保护现场;并使本次中断压入堆栈中的IF=0CALL PUBLICPOPDSPOPDXPOPBXPOPAXIRET;恢复现场KKK8:PUSH AX;保护现场PUSHBXPUSHDXPUSHDSCLIMOV AL,7FHOUT6

17、1H,ALCALL PUBLICPOPDSPOPDXPOPBXPOPAXIRET;并使本次中断压入堆栈中的;恢复现场IF=0PUBLIC:TESTBZ,OFFH;判断标志位是否为FFHJZLOP5MOVAL,00HOUT42H,ALMOVAL,10HOUT42H,ALMOVAL,03HOUT62H,ALJMPKKK;置8253方式2计数值;黄灯亮,抢答成功LOP5: MOV AL,00H;置8253方式2计数值OUT 42H,ALMOVAL,20HOUT42H,ALMOVAL,05H;红灯亮,抢答违规OUT62H,ALK:MOAL,20H;中断结束;防止中断重复响应OUT20H,ALCODEE

18、NDSENDSTART七、调试过程(1) 在刚开始编程时,各种功能大部分是由主程序来完成的。由于主程序过于复杂,可读性不高。使得在以后的程序的调试中遇到了很大的麻烦。后来把主程序的部分功能转化成子程序来实现,并在一些重要的地方增加了注释,使的 程序的可读性大大加强。调试也变的比较简单了。至吐匕基本解决了第一个问题。(2) 在编程时,子程序的调试也是相当重要,由于子程序不可避免的使用AXBXCXDX通用寄存器一个或几个。使得原主程序中的通用寄存器的内容 很容易被覆盖,对子程序中所有的通用寄存器出入栈即可以避免上诉的问题,不 用考虑使用的是哪几个寄存器,使用起来又比较简单方便。所以至此这个问题也

19、已基本解决。(3) 调试是一个复杂烦琐而漫长的过程。在调试的过程中一定要耐下心来 去做,否则一旦出现烦躁的心里,就会事倍功半,适得其反。在本次设计中出现的主要问题即如上所述,解决方法也如上所述,在今后的软件 调试过程中更应注意如上问题。八、系统操作说明比赛开始,在主持人按下开始键,绿灯亮后,选手才可开始抢答,否则违规。 若选手抢答成功,LED显示器显示选手号码,扬声器鸣叫。若选手抢答违规(主 持人未按开始键),LED显示器显示违规选手号码,红灯亮,扬声器报警。若系 统提示某号选手抢答违规,主持人仍未按开始键,此时该号选手又按下抢答键,LED显示器显示该选手的号码。本系统开机后,若主持人既未按复位键又未按开 始键,此时有选手按下抢答键,系统提示红灯亮,并报警。注:1抢答成功,置 8253方式2计数值为1000,扬声器的鸣叫声音频率为 1MHz/1000=1KHz2、 抢答失败,置 8253方式2计数值为20

温馨提示

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

评论

0/150

提交评论