微机原理课程设计抢答器_第1页
微机原理课程设计抢答器_第2页
微机原理课程设计抢答器_第3页
微机原理课程设计抢答器_第4页
微机原理课程设计抢答器_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

西安郵電大学硬件课程设计报告题目:抢答器院系名称:计算机学院专业名称:班级:学生姓名:学号(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灯显示是否是否结束所用芯片8255引脚图抢答器电路图四.详细设计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指令时,出现错误:RelativejumpoutofrangebyteXXXXhbytes。通过二度跳转,解决了这个问题。五.调试情况,设计技巧及体会通过对抢答器这一课题的设计和实现,使我更好的将理论与实践相结合,我更加深入地理解了微机原理课程上讲到的并行芯片8255的功能,以及引脚的作用,同时加深了对于该芯片的应用的认识,同时在试验室的环境里熟悉了汇编程序的编写过程和运行过程。更重要的是通过这个实验,进一步掌握了程序设计的合理结构。但要达到这样的程度其首要条件还是要学好课本上的基础知识,理解每一条指令的意义。让我感到很欣慰的是,与搭档的合作下高效地、顺利地完成本次实验。六.参考文献《微机接口技术及其应用》---李育贤《微型计算机原理》---王忠民七.附录:源代码(电子版)一、8255基本输入输出datasegmentdataendscodesegmentassumecs:code,ds:datastart:movdx,1403hmoval,10010000boutdx,alread:movdx,1400hinal,dxmovdx,1401houtdx,almovah,1int16h jzread movah,4chint21hcodeendsendstart二、流水灯设计实现datasegmentmy8255_aequ1400h;8255的A口地址my8255_bequ1401h;8255的B口地址my8255_cequ1402h;8255的C口地址my8255_modeequ1403h;8255的控制寄存器地址mode_adb10001001b;控制字leftdb0fehdataendscodesegmentassumecs:code,ds:datastart: MOVDX,1406H;写控制口 MOVAL,90H OUTDX,AL READ: MOVDX,1400H;写A端口 INAL,DX MOVDX,1402H;写B端口 ANDAL,01H JZkey1 ANDAL,02H JZkey2 ANDAL,04H JZkey3 ANDAL,08H JZkey4 JMPREAD key1: ;for(i=0;i<5;i++) ;for(al=0x08;al!=0;al>>1) MOVCX,5 MOVAL,08H L_TO_RCNT: PUSHCX L_TO_R: MOVCX,8 OUTDX,AL SHLAL,1 LOOPL_TO_R POP CX LOOPL_TO_RCNT JMPREAD key2: ;for(i=0;i<5;i++) ;for(al=0x01;al!=0;al<<1) MOVCX,5 MOVAL,01H R_TO_LCNT: PUSHCX R_TO_L: MOVCX,8 OUTDX,AL SHRAL,1 LOOPR_TO_L POP CX LOOPR_TO_LCNT JMPREAD key3: MOVCX,5 M_TO_OCNT: MOVSI,4 M_TO_O: MOVAL,TABLE[4-SI] OUTDX,AL DECSI JNZM_TO_O LOOPM_TO_OCNT JMPREADkey4: MOVCX,5 CNT: MOVSI,4 O_TO_M: MOVAL,TABLE[SI] OUTDX,AL DECSI JNZO_TO_M LOOPCNT JMPREAD ; OUTDX,AL; JMPREAD movax,4c00h int21h CODE ENDS endstart三、数码管应用datasegmentmy8255_aequ1400h;8255的A口地址my8255_bequ1401h;8255的B口地址my8255_cequ1402h;8255的C口地址my8255_modeequ1403h;8255的控制寄存器地址mode_adb10001001b;控制字dataendscodesegmentassumecs:code,ds:datastart: MOVDX,1406H;写控制口 MOVAL,90H OUTDX,AL READ: MOVDX,1400H;写A端口 INAL,DX MOVDX,1402H;写B端口 MOVBL,AL ;保存端口读到的值A1: TESTAL,01H JNZA2 ORAL,01H CMPAL,0FFH JZkey1 JMPkeyEA2: MOVAL,BL TESTAL,02H JNZA3 ORAL,02H CMPAL,0FFH JZkey2 JMPkeyE A3: MOVAL,BL TESTAL,04H JNZA4 ORAL,04H CMPAL,0FFH JZkey3 JMPkeyE A4: MOVAL,BL TESTAL,08H JNZA5 ORAL,08H CMPAL,0FFH JZkey4 JMPkeyE A5: MOVAL,BL TESTAL,10H JNZA6 ORAL,10H CMPAL,0FFH JZkey5 JMPkeyE A6: MOVAL,BL TESTAL,20H JNZA7 ORAL,20H CMPAL,0FFH JZkey6 JMPkeyE A7: MOVAL,BL TESTAL,40H JNZA8 ORAL,40H CMPAL,0FFH JZkey7 JMPkeyE A8: MOVAL,BL TESTAL,80H JNZREAD ORAL,80H CMPAL,0FFH JZkey8 JMPkeyE key1: MOVAL,TABLE[0] OUTDX,AL JMPREAD key2: MOVAL,TABLE[1] OUTDX,AL JMPREAD key3: MOVAL,TABLE[2] OUTDX,AL JMPREADkey4: MOVAL,TABLE[3] OUTDX,AL JMPREADkey5: MOVAL,TABLE[4] OUTDX,AL JMPREADkey6: MOVAL,TABLE[5] OUTDX,AL JMPREAD key7: MOVAL,TABLE[6] OUTDX,AL JMPREADkey8: MOVAL,TABLE[7] OUTDX,AL JMPREADkeyE: MOVAL,TABLE[8] OUTDX,AL JMPREAD ; OUTDX,AL; JMPREAD movax,4c00h int21h CODE ENDS endstart四、抢答器datasegmentmy8255_aequ1400h;8255的A口地址my8255_bequ1401h;8255的B口地址my8255_cequ1402h;8255的C口地址my8255_modeequ1403h;8255的控制寄存器地址mode_adb10001001b;控制字dataendscodesegmentassumecs:code,ds:datastart: MOVDX,1406H;写控制口 MOVAL,90H OUTDX,AL READ: MOVDX,1400H;写A端口 INAL,DX MOVDX,1402H;写B端口 ;倒计时过程到了0开始抢答 MOVSI,5 TIME: ;延时等待 MOVCX,0FFFFH delay: LOOPdelay MOVAL,TABLE[SI] OUTDX,AL DECSI JNZTIME MOVBL,ALA1: TESTAL,01H JZkey1A2: TESTAL,02H JZkey2 A3: TESTAL,04H CMPAL,0FFH A4: TESTAL,08H JZkey4 A5: TESTAL,10H JZkey5 A6: TESTAL,20H JZkey6 A7: TESTAL,40H JZkey7 A8: TESTAL,80H JZkey8 ;无人抢答 MOVAL,TABLE[0] OUTDX,AL NEXT: ;等待输入空格键或者Esc到下一轮抢答或者退出程序 MOVAH,1 INT21H ; CMPAL,32 ;是否为空格 JZREAD CMPAL,27 ;是否为Esc JZEND key1: MOVAL,TABLE[1] OUTDX,AL JMPNEXT key2: MOVAL,TABLE[2] OUTDX,AL JMPNEXT key3: MOVAL,TABLE[3] OUTDX,AL JMPNEXTkey4: MOVAL,TABLE[4] OUTDX,AL JMPNEXTkey5: MOVAL,TABLE[5] OUTDX,AL JMPNEXTkey6: MOVAL,TABLE[6] OUTDX,AL JMPNEXT key7: MOVAL,TABLE[7] OUTDX,AL JMPNEXTkey8: MOVAL,TABLE[8] OUTDX,AL JMPNEXT ; OUTDX,AL; JMPREADEND: movax,4c00h int21h CODE ENDS endstart基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平控制系统研究基于C8051F040单片机的嵌入式系统开发基于单片机的液压动力系统状态监测仪开发模糊Smith智能控制方法的研究及其单片机实现一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制基于双单片机冲床数控系统的研究基于CYGNAL单片机的在线间歇式浊度仪的研制基于单片机的喷油泵试验台控制器的研制基于单片机的软起动器的研究和设计基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究基于单片机的机电产品控制系统开发基于PIC单片机的智能手机充电器基于单片机的实时内核设计及其应用研究基于单片机的远程抄表系统的设计与研究基于单片机的烟气二氧化硫浓度检测仪的研制基于微型光谱仪的单片机系统单片机系统软件构件开发的技术研究基于单片机的液体点滴速度自动检测仪的研制基于单片机系统的多功能温度测量仪的研制基于PIC单片机的电能采集终端的设计和应用基于单片机的光纤光栅解调仪的研制气压式线性摩擦焊机单片机控制系统的研制基于单片机的数字磁通门传感器基于单片机的旋转变压器-数字转换器的研究基于单片机的光纤Bragg光栅解调系统的研究单片机控制的便携式多功能乳腺治疗仪的研制基于C8051F020单片机的多生理信号检测仪基于单片机的电机运动控制系统设计Pico专用单片机核的可测性设计研究基于MCS-51单片机的热量计基于双单片机的智能遥测微型气象站MCS-51单片机构建机器人的实践研究基于单片机的轮轨力检测基于单片机的GPS定位仪的研究与实现基于单片机的电液伺服控制系统用于单片机系统的MMC卡文件系统研制基于单片机的时控和计数系统性能优化的研究基于单片机和CPLD的粗光栅位移测量系统研究单片机控制的后备式方波UPS提升高职学生单片机应用能力的探究基于单片机控制的自动低频减载装置研究基于单片机控制的水下焊接电源的研究基于单片机的多通道数据采集系统基于uPSD3234单片机的氚表面污染测量仪的研制基于单片机的红外测油仪的研究96系列单片机仿真器研究与设计基于单片机的单晶金刚石刀具刃磨设备的数控改造基于单片机的温度智能控制系统的设计与实现基于MSP430单片机的电梯门机控制器的研制基于单片机的气体测漏仪的研究基于三菱M16C/6N系列单片机的CAN/USB协议转换器基于单片机和DSP的变压器油色谱在线监测技术研究基于单片机的膛壁温度报警系统设计基于AVR单片机的低压无功补偿控制器的设计基于单片机船舶电力推进电机监测系统基于单片机网络的振动信号的采集系统基于单片机的大容量数据存储技术的应用研究基于单片机的叠图机研究与教学方法实践基于单片机嵌入式Web服务器技术的研究及实现基于AT89S52单片机的通用数据采集系统基于单片机的多道脉冲幅度分析仪研究机器人旋转电弧传感角焊缝跟踪单片机控制系统基于单片机的控制系统在PLC虚拟教学实验中的应用研究基于单片机系统的网络通信研究与应用基于PIC16F877单片机的莫尔斯码自动译码系统设计与研究基于单片机的模糊控制器在工业电阻炉上的应用研究基于双单片机冲床数控系统的研究与开发基于Cygnal单片机的μC/OS-Ⅱ的研究基于单片机的一体化智能差示扫描量热仪系统研究基于TCP/IP协议的单片机与Internet互联的研究与实现变频调速液压电梯单片机控制器的研究基于单片机γ-免疫计数器自动换样功能的研究与实现基于单片机的倒立摆控制系统设计与实现单片机嵌入式以太网防盗报警系统基于51单片机的嵌入式Internet系统的设计与实现单片机监测系统在挤压机上的应用MSP430单片机在智能水表系统上的研究与应用基于单片机的嵌入式系统中TCP/IP协议栈的实现与应用单片机在高楼恒压供水系统中的应用基于ATmega16单片机的流量控制器的开发基于MSP430单片机的远程抄表系统及智能网络水表的设计基于MSP430单片机具有数据存储与回放功能的嵌入式电子血压计的设计基于单片机的氨分解率检测系统的研究与开发HYPERLINK"/detail.htm?3

温馨提示

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

评论

0/150

提交评论