微机原理课程设计抢答器.doc
《微机原理课程设计抢答器.doc》由会员分享,可在线阅读,更多相关《微机原理课程设计抢答器.doc(16页珍藏版)》请在咨信网上搜索。
西安郵電大学 硬件课程设计报告 题 目: 抢 答 器 院系名称:计算机学院 专业名称: 班 级: 学生姓名: 学号(8位): 指导教师: 设计起止时间 一. 设计目的 用逻辑开关模拟竞赛抢答器按钮(共8个开关:K0 ~ K7)当某个逻辑开关置“1”时,相当某组抢答按钮按下。在七段数码管上将其组号(0~7)显示出来,若为0表示无人抢答。从键盘上按空格键开始下一轮抢答,按 <ESC>键 退出程序。 二. 设计内容 1.选用元器件: (1)、并行接口8255:通过编程来指定它要完成的功能,是并行数字设备与微机间的接口。8255用于输入抢答信息,并输出正确的序号给数码管,以及控制LED灯的亮灭。本设计中8255A的地址范围设置为1400H—1403H,其中控制口地址为1403H。而且使用了8255A的A口,B口和C口。它们均工作在方式0下,其中A口和C口为输出,B口为输入。 (2)、数码管:指示先抢答的组号。 (3)、二极管:指示抢答。 (4)、开关:作为抢答者的按钮。 2.基础实验一:8255基本输入输出 能够在自行设计的接口开发板上,实现拨动开关控制LED的亮灭。(软件代码命名为:8255.ASM,代码要求用小写字母,且必须经过优化,源代码小于<95行,每条指令算1行,伪指令也算1行) 3.基础实验二:流水灯设计实现 能够在自行设计的接口开发板上,实现拨动不同开关控制LED灯的变化。例如,K1从左往右,K2从右往左,K3从中间向两边,K4从两边向中间依次亮灭变化,按主机键盘任意键退出。(软件代码命名为:TEST2.ASM,代码要求用小写字母,且必须经过优化,源代码小于<85行,每条指令算1行,伪指令也算1行) 4.基础实验三:数码管应用 能够在自行设计的接口开发板上,上电数码管显示0到7,实现拨动不同开关,数码管显示该开关位置值(1-8);若同时拨动两个以上开关,则数码管显示“E”。(软件代码命名为:8SEGMENT.ASM,代码要求用小写字母,且必须经过优化,源代码小于<100行,每条指令算1行,伪指令也算1行) 5.抢答器: 用逻辑开关模拟竞赛抢答器按钮(共8个开关:K0 ~ K7)当某个逻辑开关置“1”时,相当某组抢答按钮按下。在七段数码管上将其组号(0~7)显示出来,若为0表示无人抢答。从键盘上按空格键开始下一轮抢答,按 <ESC>键 退出程序。 三.概要设计 1.功能模块图; 开始 初始化 开始抢答? 有组抢答? 判断抢答小组号? LED灯显示 是 否 是 否 结束 2. 所用芯片8255引脚图 3. 抢答器电路图 四.详细设计 1. 实验步骤 (1)、在实验箱上连接8255的WR、CS、RD、D0-D7、A1A0以及8255输入输出端口A,B,C口连接到led灯、8段数码管、开关上。硬件电路搭建完毕。 (2)、在TD—PIT上篇写汇编程序,进行测试。 (3)、在Proteus 上按照需求连接电路,为验证电路正确性,为其加入输入,进行模拟。模拟结果正确后,将电路图保存。 (4)、制作硬件电路 2、遇到的问题: (1)、在8255的使用过程中,由于对控制字的使用错误,导致不能从A、B口输出信息,最后通过检查,改变控制字,实现了功能。 (2)、汇编语言的运用。由于平时较少使用汇编语言,用汇编语言编写程序方面存在不小的障碍,通过知识回顾复习,对汇编进一步的了解后,熟练运用。 (3)、汇编语言要求短小精悍,由于程序过长,在使用jnz指令时,出现错误:Relative jump out of range byte XXXXh bytes。通过二度跳转,解决了这个问题。 五.调试情况,设计技巧及体会 通过对抢答器这一课题的设计和实现,使我更好的将理论与实践相结合,我更加深入地理解了微机原理课程上讲到的并行芯片8255的功能,以及引脚的作用,同时加深了对于该芯片的应用的认识,同时在试验室的环境里熟悉了汇编程序的编写过程和运行过程。更重要的是通过这个实验,进一步掌握了程序设计的合理结构。但要达到这样的程度其首要条件还是要学好课本上的基础知识,理解每一条指令的意义。让我感到很欣慰的是,与搭档的合作下高效地、顺利地完成本次实验。 六.参考文献 《微机接口技术及其应用》---李育贤 《微型计算机原理》---王忠民 七.附录:源代码(电子版) 一、8255基本输入输出 data segment data ends code segment assume cs:code, ds:data start: mov dx,1403h mov al,10010000b out dx,al read: mov dx,1400h in al,dx mov dx,1401h out dx,al mov ah,1 int 16h jz read mov ah,4ch int 21h code ends end start 二、流水灯设计实现 data segment my8255_a equ 1400h ;8255的A口地址 my8255_b equ 1401h ;8255的B口地址 my8255_c equ 1402h ;8255的C口地址 my8255_mode equ 1403h ;8255的控制寄存器地址 mode_a db 10001001b ;控制字 left db 0feh data ends code segment assume cs:code,ds:data start: MOV DX, 1406H ;写控制口 MOV AL, 90H OUT DX, AL READ: MOV DX, 1400H ;写A端口 IN AL, DX MOV DX, 1402H ;写B端口 AND AL, 01H JZ key1 AND AL, 02H JZ key2 AND AL, 04H JZ key3 AND AL, 08H JZ key4 JMP READ key1: ;for( i = 0; i < 5; i++) ;for(al = 0x08; al != 0; al >> 1) MOV CX, 5 MOV AL, 08H L_TO_RCNT: PUSH CX L_TO_R: MOV CX, 8 OUT DX, AL SHL AL, 1 LOOP L_TO_R POP CX LOOP L_TO_RCNT JMP READ key2: ;for( i = 0; i < 5; i++) ;for(al = 0x01; al != 0; al << 1) MOV CX, 5 MOV AL, 01H R_TO_LCNT: PUSH CX R_TO_L: MOV CX, 8 OUT DX, AL SHR AL, 1 LOOP R_TO_L POP CX LOOP R_TO_LCNT JMP READ key3: MOV CX, 5 M_TO_OCNT: MOV SI, 4 M_TO_O: MOV AL, TABLE[4-SI] OUT DX, AL DEC SI JNZ M_TO_O LOOP M_TO_OCNT JMP READ key4: MOV CX, 5 CNT: MOV SI, 4 O_TO_M: MOV AL, TABLE[SI] OUT DX, AL DEC SI JNZ O_TO_M LOOP CNT JMP READ ; OUT DX, AL ; JMP READ mov ax, 4c00h int 21h CODE ENDS end start三、数码管应用 data segment my8255_a equ 1400h ;8255的A口地址 my8255_b equ 1401h ;8255的B口地址 my8255_c equ 1402h ;8255的C口地址 my8255_mode equ 1403h ;8255的控制寄存器地址 mode_a db 10001001b ;控制字 data ends code segment assume cs:code,ds:data start: MOV DX, 1406H ;写控制口 MOV AL, 90H OUT DX, AL READ: MOV DX, 1400H ;写A端口 IN AL, DX MOV DX, 1402H ;写B端口 MOV BL, AL ;保存端口读到的值 A1: TEST AL, 01H JNZ A2 OR AL, 01H CMP AL, 0FFH JZ key1 JMP keyE A2: MOV AL, BL TEST AL, 02H JNZ A3 OR AL, 02H CMP AL, 0FFH JZ key2 JMP keyE A3: MOV AL, BL TEST AL, 04H JNZ A4 OR AL, 04H CMP AL, 0FFH JZ key3 JMP keyE A4: MOV AL, BL TEST AL, 08H JNZ A5 OR AL, 08H CMP AL, 0FFH JZ key4 JMP keyE A5: MOV AL, BL TEST AL, 10H JNZ A6 OR AL, 10H CMP AL, 0FFH JZ key5 JMP keyE A6: MOV AL, BL TEST AL, 20H JNZ A7 OR AL, 20H CMP AL, 0FFH JZ key6 JMP keyE A7: MOV AL, BL TEST AL, 40H JNZ A8 OR AL, 40H CMP AL, 0FFH JZ key7 JMP keyE A8: MOV AL, BL TEST AL, 80H JNZ READ OR AL, 80H CMP AL, 0FFH JZ key8 JMP keyE key1: MOV AL, TABLE[0] OUT DX, AL JMP READ key2: MOV AL, TABLE[1] OUT DX, AL JMP READ key3: MOV AL, TABLE[2] OUT DX, AL JMP READ key4: MOV AL, TABLE[3] OUT DX, AL JMP READ key5: MOV AL, TABLE[4] OUT DX, AL JMP READ key6: MOV AL, TABLE[5] OUT DX, AL JMP READ key7: MOV AL, TABLE[6] OUT DX, AL JMP READ key8: MOV AL, TABLE[7] OUT DX, AL JMP READ keyE: MOV AL, TABLE[8] OUT DX, AL JMP READ ; OUT DX, AL ; JMP READ mov ax, 4c00h int 21h CODE ENDS end start 四、抢答器 data segment my8255_a equ 1400h ;8255的A口地址 my8255_b equ 1401h ;8255的B口地址 my8255_c equ 1402h ;8255的C口地址 my8255_mode equ 1403h ;8255的控制寄存器地址 mode_a db 10001001b ;控制字 data ends code segment assume cs:code,ds:data start: MOV DX, 1406H ;写控制口 MOV AL, 90H OUT DX, AL READ: MOV DX, 1400H ;写A端口 IN AL, DX MOV DX, 1402H ;写B端口 ;倒计时过程 到了0开始抢答 MOV SI, 5 TIME: ;延时等待 MOV CX, 0FFFFH delay: LOOP delay MOV AL, TABLE[SI] OUT DX, AL DEC SI JNZ TIME MOV BL, AL A1: TEST AL, 01H JZ key1 A2: TEST AL, 02H JZ key2 A3: TEST AL, 04H CMP AL, 0FFH A4: TEST AL, 08H JZ key4 A5: TEST AL, 10H JZ key5 A6: TEST AL, 20H JZ key6 A7: TEST AL, 40H JZ key7 A8: TEST AL, 80H JZ key8 ;无人抢答 MOV AL, TABLE[0] OUT DX, AL NEXT: ;等待输入空格键或者Esc 到下一轮抢答或者退出程序 MOV AH, 1 INT 21H ; CMP AL, 32 ;是否为 空格 JZ READ CMP AL, 27 ;是否为 Esc JZ END key1: MOV AL, TABLE[1] OUT DX, AL JMP NEXT key2: MOV AL, TABLE[2] OUT DX, AL JMP NEXT key3: MOV AL, TABLE[3] OUT DX, AL JMP NEXT key4: MOV AL, TABLE[4] OUT DX, AL JMP NEXT key5: MOV AL, TABLE[5] OUT DX, AL JMP NEXT key6: MOV AL, TABLE[6] OUT DX, AL JMP NEXT key7: MOV AL, TABLE[7] OUT DX, AL JMP NEXT key8: MOV AL, TABLE[8] OUT DX, AL JMP NEXT ; OUT DX, AL ; JMP READ END: mov ax, 4c00h int 21h CODE ENDS end start- 配套讲稿:
如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。
关于本文