汇编语言八路抢答器设计论文(实用资料).doc
《汇编语言八路抢答器设计论文(实用资料).doc》由会员分享,可在线阅读,更多相关《汇编语言八路抢答器设计论文(实用资料).doc(23页珍藏版)》请在咨信网上搜索。
微机原理与接口技术课程设计报告 2015-2016学年第二学期 设计题目: _______ 小组成员: 所学专业: 指导教师: _______ 完成时间: ___ 目 录 一、课程设计目的 4 二、课程设计要求 4 三、系统功能 4 四、总体设计 4 1.基本工作原理 4 1.1可编程并行接口接口芯片8255A控制字要求 4 1.2可编程定时器/计数器8253控制字要求 5 2.硬件总体设计 5 2.1系统总成方案 5 2.2内存单元编址 5 3.键盘、扬声器及显示功能的定义 5 4.原理图 5 4.1 硬件原理框图 6 4.2 原理连线图 6 5 软件总体设计 6 五、硬件设计 8 六、软件设计 8 七、调试过程 21 八、系统操作说明 21 九、总结 22 十、参考文献 22 八路抢答器设计 一、设计目的 1、掌握微机系统的开发步骤; 2、掌握抢答器控制编程方法和芯片8255、8253的逻辑功能、键盘中断及使用方法和数码管的用法; 3、掌握一定的汇编语言知识,培养自己的动手操作能力。 4、学习程序设计的基本思路和方法。 因此,本次设计要求对微机原理的理论知识,8255A,8253,键盘显示区的工作方式、工作原理熟练掌握。 二、设计要求 当按开始键,绿灯亮后,选手抢答,1-8号选手中先按下按键者,LED数码管显示其选手号码(后按下无效),并进行声光报警(黄灯亮)提示。当按开始键未按下时,如果有选手抢答,LED数码管显示其选手号码,并进行声光报警(红灯亮)提示。 三、系统功能 一个具有8路抢答的抢答器,利用并行接口和开关键。键盘上数字键1--8代表抢答按钮,当某个逻辑开关闭合时(开始键按下未按起时),相当于抢答按钮按下,此时在七段数码管上将其号码显示出来,并使喇叭响一声(或者以发光二极管代替)。 四、总体设计 1. 基本工作原理 当按开始键按下时,绿灯亮后,选手才可抢答,否则违规。若抢答成功,LED显示器显示选手号码,黄灯亮,扬声器鸣叫;若抢答违规(未按下开始键),LED显示器显示违规选手号码,红灯亮,扬声器报警。 1.1可编程并行接口接口芯片8255A控制字要求 (1)、B口工作在方式0,做为输出端口,经驱动器1连接LED显示器(PB7~PB0依次对应连接LED显示器的dp、g、f、e、d、c、b、a七段数码管管脚); (2)、C口也必须工作在方式0,高4 位做输入端口(本次设计中只用PC4、PC5,分别用于连接复位键和开始键),低4位做输出端口(PC3~PC0,经驱动器2后PC1、PC2、PC3分别用于连接黄、红、绿三个发光二极管,PC0连接到8253的GATE1端,以控制方式1的计数)。 1.2可编程定时器/计数器8253控制字要求 (1)、方式0:操作类型为先读写低字节再读写高字节,工作在方式3即方波发生器, 计数格式为BCD码,计数初值为0。 (2)、方式1:操作类型为先读写低字节再读写高字节,工作在方式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、41H、42H、43H (3) 特殊键中断号为2A---36,对应地址为00A8---00DB 本实验用到数字键1--8,对应的ASCII为31H---38H LED显示器1--8对应的十六进制是: 06H,5BH,4FH,66H,6DH,7CH,07H,7FH 3.键盘、扬声器及显示功能的定义 一个开始键一个复位键,另外8个数字键用做8位选手的抢答按键。扬声器用与黄、红、绿三个发光二极管配合使用,黄灯亮扬声器鸣叫表示抢答成功,红灯亮扬声报警表示抢答违规报警,绿灯亮扬声器不鸣则表示主持人已按下开始键。LED显示器显示的内容与选手号对应,抢答成功或违规都要显示。 4.原理图 4.1硬件原理框图 按键设置 8255 8 2 5 5 8086 CPU 8253 8 2 5 4 LED灯 LED显 示 模 块 扬声器 声光报警 键盘输入 图1 4.2 原理连线图 4.3软件总体设计 主程序流程图: 开始 置标志位值为FFH使IF=1开放中断 点亮绿灯 关闭LED显示器 检测开始键是否弹起 检测开始键是否按下 设置抢答键中断向量并使IF置1开放中断 对8259A、8255、8253进行初始化 设置LED字形码初值、标志初值 开始 检测复位键是否按下 置标志位值为FFH使IF=1开放中断 点亮绿灯 关闭LED显示器 检测开始键是否弹起 检测开始键是否按下 设置抢答键中断向量并使IF置1开放中断 对8259A、8255、8253进行初始化 设置LED字形码初值、标志初值 开始 开始 设置LED字形码初值、标志初值 设置LED字形码初值、标志初值 对8255、8253进行初始化 对8259A、8255、8253进行初始化 设置抢答键键盘中断向量并使IF置1开放中断 设置抢答键中断向量并使IF置1开放中断 检测开始键是否按下 检测开始键是否按下 N Y 检测开始键是否弹起 检测开始键是否弹起 N Y 关闭LED显示器 关闭LED显示器 点亮绿灯 点亮绿灯 置标志位值为FFH使IF=1开放中断 置标志位值为FFH使IF=1开放中断 检测复位键是否按下 检测复位键是否按下 N 检测复位键是否弹起 Y N Y 关闭LED显示器、指示灯 将标志位清零,使IF=1开入中断 结束 图3 五、硬件设计 1.可编程并行接口接口芯片8255A的工作方式 8255A具有三个独立的输入/输出端口,每个端口的并行数据宽度为8位。三个端口分别为A端口,B端口,C端口,可分别与不同的外设进行数据交换,也可联合使用,在中断方式下实现CPU与外设间的数据传递。8255A提供方式0,方式1,方式2三种工作方式供选择。 2.可编程定时器/计数器8253的工作方式 (1)方式0:操作类型为先读写低字节再读写高字节,工作在方式3即方波发生器,计数格式为BCD码,计数初值为0。 (2)方式1:操作类型为先读写低字节再读写高字节,工作在方式1即可重触发的单稳态触发器,计数格式为BCD码,计数初值为0。 (3)方式2:操作类型为先读写低字节再读写高字节,工作在方式3即方波发生器,计数格式为BCD码,计数初值为0。 六、软件设计 DATA SEGMENT BZ DB 00H DATA ENDS CODE SEGMENT ASSUME DS:DATA,CS:CODE START: MOV AX,DATA MOV DS,AX ;8255A初始化 MOV AL,88H ;置8255A工作方式 OUT 63H,AL XOR AL,AL ;B口、C口初始化 OUT 61H,AL OUT 62H,AL ;8253初始化 MOV AL,37H ;置8253方式0控制字 OUT 43H,AL MOV AL,00H ;置8253方式0计数初值为4000 OUT 40H,AL MOV AL,40H OUT 40H,AL MOV AL,73H ;置8253 方式1控制字 OUT 43H,AL MOV AL,00H ;置8253方式1计数初值为3000 OUT 41H,AL MOV AL,30H OUT 41H,AL MOV AL,0B7H ;置8253方式2控制字 OUT 43H,AL MOV AL,00H OUT 42H,AL MOV AL,00H ;置8253方式2计数初值为0 OUT 42H,AL ;中断设置 MOV AX,0000H MOV DS,AX; MOV BX,0457H MOV AL,31H MOV CX,8 LOP4:MOV [BX],AL INC BX INC AL LOOP LOP4 MOV AX, OFFSET KKK1 MOV [00A8],AX MOV AX,0000H MOV [00AA],AX MOV AX, OFFSET KKK2 MOV [00AC],AX MOV AX,0000H MOV [00AE],AX MOV AX, OFFSET KKK3 MOV [00B0],AX MOV AX,0000H MOV [00B2],AX MOV AX, OFFSET KKK4 MOV [00B4],AX MOV AX,0000H MOV [00B6],AX MOV AX, OFFSET KKK5 MOV [00B8],AX MOV AX,0000H MOV [00BA],AX MOV AX, OFFSET KKK6 MOV [00BC],AX MOV AX,0000H MOV [00BE],AX MOV AX, OFFSET KKK7 MOV [00C0],AX MOV AX,0000H MOV [00C2],AX MOV AX, OFFSET KKK8 MOV [00C4],AX MOV AX,0000H MOV [00C6],AX STI ;使IF置1,开放可屏蔽中断 ;主循环 LOPM: IN AL,62H ;检测开始键 TEST AL,20H ;检测C口的PC5端 JZ LOP2 ;开始键未按下即PC5=0,则跳转检测 ;复位键 LOP1: IN AL,62H ;检测开始键是否已经弹起,即PC5=0 TEST AL,20H JNZ LOP1 ;开始键没有弹起再重新检测 MOV AL,00H ;关LED显示器 OUT 61H,AL ;送到B口 MOV AL,08H ;绿灯亮 OUT 62H,AL ;送到C口 MOV BZ, 0FFH ;置标志 STI LOP2: IN AL,62H ;检测复位键 TEST AL,10H ;检测C口的PC4端 JZ LOPM ;复位键未按下即PC4=0,则跳转再检 ;测开始键 LOP3: IN AL,62H ;检测复位键是否弹起,即PC4=0 TEST AL,10H JNZ LOP3 ;位键没有弹起,则重新检测 MOV AL,00H ;关LED显示器、指标灯 OUT 61H,AL OUT 62H,AL MOV BZ,00H ;清标志 STI JMP LOPM ;中断服务子程序 KKK1:PUSH AX ;保护现场 PUSH BX PUSH DX PUSH DS CLI ;并使本次中断压入堆栈中的IF=0 MOV AL,06H OUT 61H,AL CALL PUBLIC POP DS ;恢复现场 POP DX POP BX POP AX IRET KKK2:PUSH AX ;保护现场 PUSH BX PUSH DX PUSH DS CLI ;并使本次中断压入堆栈中的IF=0 MOV AL,5BH OUT 61H,AL CALL PUBLIC POP DS ;恢复现场 POP DX POP BX POP AX IRET KKK3:PUSH AX ;保护现场 PUSH BX PUSH DX PUSH DS CLI ;并使本次中断压入堆栈中的IF=0 MOV AL,4FH OUT 61H,AL CALL PUBLIC POP DS ;恢复现场 POP DX POP BX POP AX IRET KKK4:PUSH AX ;保护现场 PUSH BX PUSH DX PUSH DS CLI ;并使本次中断压入堆栈中的IF=0 MOV AL,66H OUT 61H,AL CALL PUBLIC POP DS ;恢复现场 POP DX POP BX POP AX IRET KKK5:PUSH AX ;保护现场 PUSH BX PUSH DX PUSH DS CLI ;并使本次中断压入堆栈中的IF=0 MOV AL,6DH OUT 61H,AL CALL PUBLIC POP DS ;恢复现场 POP DX POP BX POP AX IRET KKK6:PUSH AX ;保护现场 PUSH BX PUSH DX PUSH DS CLI ;并使本次中断压入堆栈中的IF=0 MOV AL,7CH OUT 61H,AL CALL PUBLIC POP DS ;恢复现场 POP DX POP BX POP AX IRET KKK7:PUSH AX ;保护现场 PUSH BX PUSH DX PUSH DS CLI ;并使本次中断压入堆栈中的IF=0 MOV AL,07H OUT 61H,AL CALL PUBLIC POP DS ;恢复现场 POP DX POP BX POP AX IRET KKK8:PUSH AX ;保护现场 PUSH BX PUSH DX PUSH DS CLI ;并使本次中断压入堆栈中的IF=0 MOV AL,7FH OUT 61H,AL CALL PUBLIC POP DS ;恢复现场 POP DX POP BX POP AX IRET PUBLIC:TEST BZ,0FFH ;判断标志位是否为FFH JZ LOP5 MOV AL,00H ;置8253方式2计数值 OUT 42H,AL MOV AL,10H OUT 42H,AL MOV AL,03H ;黄灯亮,抢答成功 OUT 62H,AL JMP KKK LOP5: MOV AL,00H ;置8253方式2计数值 OUT 42H,AL MOV AL,20H OUT 42H,AL MOV AL,05H ;红灯亮,抢答违规 OUT 62H,AL KKK: MOV AL,20H ;中断结束;防止中断重复响应 OUT 20H,AL CODE ENDS END START 七、调试过程 (1)在刚开始编程时,各种功能大部分是由主程序来完成的。由于主程序过于复杂,可读性不高。使得在以后的程序的调试中遇到了很大的麻烦。后来把主程序的部分功能转化成子程序来实现,并在一些重要的地方增加了注释,使的程序的可读性大大加强。调试也变的比较简单了。到此基本解决了第一个问题。 (2)在编程时,子程序的调试也是相当重要,由于子程序不可避免的使用 AX\BX\CX\DX通用寄存器一个或几个。使得原主程序中的通用寄存器的内容很容易被覆盖,对子程序中所有的通用寄存器出入栈即可以避免上诉的问题,不用考虑使用的是哪几个寄存器,使用起来又比较简单方便。所以至此这个问题也已基本解决。 (3)调试是一个复杂烦琐而漫长的过程。在调试的过程中一定要耐下心来去做,否则一旦出现烦躁的心里,就会事倍功半,适得其反。 在本次设计中出现的主要问题即如上所述,解决方法也如上所述,在今后的软件调试过程中更应注意如上问题。 八、系统操作说明 比赛开始,在主持人按下开始键,绿灯亮后,选手才可开始抢答,否则违规。若选手抢答成功,LED显示器显示选手号码,扬声器鸣叫。若选手抢答违规(主持人未按开始键),LED显示器显示违规选手号码,红灯亮,扬声器报警。若系统提示某号选手抢答违规,主持人仍未按开始键,此时该号选手又按下抢答键,LED显示器显示该选手的号码。本系统开机后,若主持人既未按复位键又未按开始键,此时有选手按下抢答键,系统提示红灯亮,并报警。 注: 1、抢答成功,置8253方式2计数值为1000,扬声器的鸣叫声音频率为1MHz/1000=1KHz。 2、抢答失败,置8253方式2计数值为2000,扬声器的鸣叫声音频率为1MHz/2000=0.5KHz。 3、扬声器鸣叫或报警的时间为12s。 九、课程设计总结及体会 这次实验是一个综合性实验,通过这次实验,使我们将以前我们所学习到的芯片知识综合应用到这个实验上,从结构、功能、用法上都有了全面的认识,并基本达到了能够通过我们小组的讨论完成从构思到设计最后到调试的整个过程,虽然其中遇到了很多困难阻力,从开始到整个完成,但我们还是坚持了下来,所有的努力换回了成功的喜悦。下面就说说实验中的一些问题以及一些体会: 实验的初期,由于对整个的电路还不能从整体把握,只能从实验书上的实验要求出发,结合查找到的资料提出解决方案。最大的体会是团队的力量,几乎所有的设计都是在我们的讨论中“诞生”的,尽管每个人的想法不一样,但聚到一起后就会激发出更多的想法,同时也可以完善不足之处。设计如何用一个开关完成这些电路的多功能同时控制,曾经因为这一部分的设计而陷入僵局,好在认真经过分析,终于完成了。这也告诉我们,一定要对自己有信心,所要做的就是坚持,成功就不会遥远。我们调试时,虽然我们有合理的布局作保证,但也遇到了一些麻烦,但最终还是解决了。 十、参考文献 [1]刘红玲,邵晓根·微机原理与接口技术[M].中国电力出版社,2007年第一版 [2]冯博琴·微型计算机原理及接口技术[M].清华大学出版社,2007. [3]艾德才·微型计算机原理与接口技术[M].高等教育出版社,2001. [4]张雪兰,谭毓安·汇编语言程序设计[M].北京:清华大学出版社,2005. [5]王爽·汇编语言 - 23 -- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 八路 抢答 设计 论文 实用 资料
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文