微机原理与接口技术课程设计竞赛抢答器Word文档下载推荐.docx
- 文档编号:20205899
- 上传时间:2023-01-18
- 格式:DOCX
- 页数:18
- 大小:157.75KB
微机原理与接口技术课程设计竞赛抢答器Word文档下载推荐.docx
《微机原理与接口技术课程设计竞赛抢答器Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术课程设计竞赛抢答器Word文档下载推荐.docx(18页珍藏版)》请在冰豆网上搜索。
2、内存单元编址
(1)、中断优先级管理器8259A的端口地址为20H、21H
(2)、可编程并行接口接口芯片8255A的端口地址为80H、81H、82H、83H(3)、可编程定时器计数器8253的端口地址为40H、41H、42H、43H3、键盘、扬声器及显示功能的定义10个按键中,一个开始键一个复位键,另外8个用做8位选手的抢答按键。
扬声器用与黄、红、绿三个发光二极管配合使用,黄灯亮扬声器鸣叫表示抢答成功,红灯亮扬声报警表示抢答违规报警,绿灯亮扬声器不鸣则表示主持人已按下开始键。
LED显示器显示的内容与选手号对应,抢答成功或违规都要显示。
2.3、软件总体设计1、存储单元的分配、标志位的含义
(1)、定义一个TAB变量用来存储19的字形码信息,如下表LED的管脚对应的字形对应存放在内存单元的字形码dp、g、f、e、d、c、b、a00000110010110110100111112306H5BH4FH01100110011011010111110000000111011111110110111145678966H6DH7CH07H7FH6FH
(2)、定义一个BZ变量作为标志位,用来选手抢答是否违规,BZ=0FFH时表示主持人已经按下开始键选手可以抢答,BZ=00H表示主持人未按下开始按键,选手不可以抢答。
2、主程序流程图及清单(带有注释)
(1)、主程序流程图如下:
三、硬件设计3.1、系统所选用各芯片的介绍中断优先级管理器8259A1、8259A内部结构8259A采用NMOS工艺制成,有28根引脚,所有输入、输出端与TTL电平兼容,单一电源(Vcc=+5V)供电。
8259的内部主要组成部分,包括处理部件(中断请求寄存器IRR、优先级鉴别器PR及现行服务寄存器ISR)、控制部件(控制逻辑及中断屏蔽寄存器IMR)、数据总路线缓冲器、读写逻辑以及级联缓冲器比较器等5个部分。
2、8259A主要的外部引脚D0D7:
双向数据线,CPU与8259间利用这个数据总路线传送数据及命令。
:
写控制输入信号,同控制总路线上的信号相连。
读控制输入信号,同控制总路线上的信号相连。
A0:
地址选择信号,用来对8259A内部的两个可编程寄存器进行选择。
片选输入信号,低电平有效。
有郊时可通过数据总路线设置命令并对内部寄存器进行读出。
当进入中断响应时序时,该引脚状态与进行的处理无关。
INT:
由8259A向CPU发出的中断请求信号。
输入信号,接收CPU送来的中断响应信号INTA。
IR0IR7:
8个中断请求输入信号,高电平或上升沿有效。
用于接收外设接口来的中断请求。
3、8259A工作方式
(1)、优先级设置方式:
全嵌套方式(固定优先级方式)、特殊全嵌套方式(可响应同级中断方式)、轮转优先级方式、特殊轮转优先级方式。
(2)、中断源屏蔽方式:
普通屏蔽方式、特殊屏蔽方式。
(3)、中断结束方式:
中断自动结束方式、中断非自动结束方式(包括一般中断结束方式、特殊中断结束方式)。
(4)、系统总路线连接方式:
缓冲方式、非缓冲方式。
(5)、中断请求信号触发方式:
边沿触发方式、电平触发方式。
4、8259A初始化控制字格式ICW1(芯片控制字)D7D6D5D4D3D2D1D0000特征位1触发方式0边沿触发1电平触发0单片选择信号0多片8259级联1单片8259是不要ICW40不要(8080/8085)1要(80X86)ICW2(中断类型码控制字,D7D3设置中断类型码)D7D6D5D4D3D2D1D0000ICW3(主片,级联时才用设置,各位为1则表示接有从片)D7D6D5D4D3D2D1D0IR7IR6IR5IR4IR3IR2IR1IR0ICW3(从片,级联时才用设置)D7D6D5D4D3D2D1D000000ID2ID1ID0从片INT接于主片的引脚000IR0001IR1111IR7ICW4(方式控制字)D7D6D5D4D3D2D1D0000嵌套方式0全嵌套方式1特殊全嵌套方式缓冲方式0非缓冲方式1缓冲方式缓冲方式下0本片为从片1本片为主片中断结束方式0中断非自动结束1中断自动结束系统类型08080/8085180X865、8259A操作命令字格式OCW0(中断屏蔽字,各位为1则被屏蔽)D7D6D5D4D3D2D1D0IR7IR6IR5IR4IR3IR2IR1IR0OCW1(轮转优先级和中断结束字)D7D6D5D4D3D2D1D0轮转位0非轮转1轮转选择标志位1L2L0无效1L2L0有效中断结束位0非中断结束1中断结束特征位00标志位000IR0优先级最低001IR1优先级最低OCW2(特殊屏蔽、查询和状态读取字)D7D6D5D4D3D2D1D00特殊屏蔽方式允许位0禁止特殊屏蔽方式1允许特殊屏蔽方式特殊屏蔽方式位0非特殊屏蔽方式1特殊屏蔽方式特征位01中断查询位0非中断查询1中断查询读寄存器0禁止读1允许读0读IRR1读ISR可编程并行接口接口芯片8255A1、8255A内部结构8255A芯片是一个采用NMOS工艺制造的40引脚双列直插式(DIP)封装组件。
8255A有3个8位数据端口,即A口、B口及C口,它们都可以分别作为输入口或输出口使用;
A组控制与B组控制;
读写控制逻辑;
数据总路线缓冲器。
2、8255A主要的外部引脚PA7PA0:
A口的8条IO线。
8条线只能同时作为输入或输出,不能分开使用,可设置成双向口,也只有A口允许这样做。
PB7PB0:
B口的8条IO线。
不可以设置成双向口,其它和A口一样。
PC7PC0:
C口的8条IO线。
不可以设置成双向口,但它可以分拆为两组即高4位和低4位,这两组可以任意设置为输入或输出。
除了作为独立的IO线外,C口还经常为A口、B口服务,配合A口、B口作联络线使用。
A1、A0:
端口地址选择信号。
用于选择8255A的3个数据端口和一个控制口。
当A1A0=00时,选择端口A;
为01时,选择端口B;
为10,选择端口C;
为11时,选择控制口。
3、8255A工作方式
(1)、方式0:
基本的输入输出方式。
A口、B口、C口都可以工作在些方式下。
(2)、方式1:
选通输入输出方式(应答方式)。
A口、B口工作在此方式下。
(3)、方式2:
双向传输方式。
只有A口可以工作在此方式下。
4、8255A方式控制字格式D7D6、D5D4D3D2D1D01A口A口C口高4位B口B口C口低4位00方式001方式11x方式20输出1输入0输出1输入0方式01方式10输出1输入0输出1输入可编程定时器计数器82531、8253的内部结构8253采用NMOS工艺制成,有24个引脚,所有输入、输出端均TTL电平兼容,单一电源(Vcc=+5V)供电,最高计数速率为2.6MHz。
它包括3个计数器(即计数器0、1、2)、数据总路线缓冲器、读写逻辑以及控制寄存器等4个部分。
2、8253的外部引脚A1、A0:
地址输入线,用来址8253内部的4个端口,即3个计数器和1个控制字寄存器与CPU系统地址线相连。
CLK0、CLK1、CLK2:
时钟脉冲输入端,用于输入定时脉冲或计数脉冲信号。
CLK可以是系统的时钟脉冲,也可以由系统时钟分频或者其他脉冲源提供。
当用于定时时,这个脉冲必须是均匀的、连续的、周期精确的,而用于计数时,这个脉冲可以是不均匀的、断续的、周期不定的。
GATE0、GATE1、GATE3:
门控输入端,用于外部控制计数器的启动计数和停止计数的操作。
两个或两个以上计数器连用时,可用此信号同步,也可用于与外部某信号的同步。
OUT0、OUT1、OUT2:
计数输出,当计数器从初值开始完成计数操作进,OUT引脚输出相应的信号。
3、8253的工作方式
(1)、方式0:
减1计数到0,产生中断请求信号。
减1计数到0,产生可重复触发的单稳态负脉冲信号。
减1计数到1,分频器(速率信号发生器)。
(4)、方式3:
减1计数到初值的12,方波发生器。
(5)、方式4:
减1计数到0,软件触发产生选通负脉冲信号。
(6)、方式5:
减1计数到0,硬件触发产生选通负脉冲信号。
4、8253方式控制字格式D7D6D5D4D3D2D1D000选计数器001选计数器110选计数器200计数器锁存01只读写低8位10先读写高8位11先读写低8位再读写高8位000方式0001方式1X10方式2X11方式3100方式4101方式50二进制计数1BCD计数3.2、系统所选用各芯片的工作方式1、中断优先级管理器8259A的工作方式
(1)、芯片控制ICW1:
采用边沿触发,单片8259,要写入ICW4控制字
(2)、中断类型码ICW2:
设置IR0IR7的中断类型码依次为08H、09H、0FH(3)、方式控制ICW4:
优先级设置方式为全嵌套方式即固定优先级方式,系统总线连接方式为主片工作在缓冲方式下,中断结束方式采用中断非自动结束方式,8259工作在80X86系统上。
2、可编程并行接口接口芯片8255A的工作方式
(1)、A口工作在方式0,做为输入端口用于连接选手按键(PA7PA0依次对应按键18);
(2)、B口工作在方式0,做为输出端口,经驱动器1连接LED显示器(PB7PB0依次对应连接LED显示器的dp、g、f、e、d、c、b、a七段数码管管脚);
(3)、C口也必须工作在方式0,高4位做输入端口(本次设计中只用PC4、PC5,分别用于连接复位键和开始键),低4位做输出端口(PC3PC0,经驱动器2后PC1、PC2、PC3分别用于连接黄、红、绿三个发光二极管,PC0连接到8253的GATE1端,以控制通道1的计数)。
3、可编程定时器计数器8253的工作方式
(1)、通道0:
操作类型为先读写低字节再读写高字节,工作在方式3即方波发生器,计数格式为BCD码,计数初值为0。
(2)、通道1:
操作类型为先读写低字节再读写高字节,工作在方式1即可重触发的单稳态触发器,计数格式为BCD码,计数初值为0。
(3)、通道2:
3.3、系统所选用各芯片的连接1、各芯片与CPU的连接8259A、8255A、8253的数据总线D7D0端、端、端、端、端、INT端分别与CPU的D7D0数据总线、片选端、端、端、端、INTR端。
8255A、8253的A1、A0端分别接入CPU地址线的A1、A0端,8259的A0端接到CPU地址线的A0端;
2、各芯片之间的连接和与外设的连接8259A的IR2端接选手按键信息输出端;
8255A的A口的PA7PA0依次接“按键1”“按键8”,B口的PB7PB0通过驱动器1接到LED显示器,C口的PC4、PC5分别接复位键和开始键,PC3、PC2、PC1经驱动器2分别接绿灯发光二极管、红灯发光二极管、黄灯发光二极管,PC0接到8253的GATE1端;
8253的GATE0端接+5V电压,OUT0的输出接入CLK1端,OUT1的输出经反相器后接入GATE2端,CLK0和CLK1接入1MHz的频率发生器,CLK2经驱动器3接扬声器。
四、软件设计五、系统操作说明启动计算机,计算机自动为系统各芯片进行初始化,抢答器开始工作。
比赛开始,在主持人按下开始键,绿灯亮后,选手才可开始抢答,否则违规。
若选手抢答成功,LED显示器显示选手号码,扬声器鸣叫。
若选手抢答违规(主持人未按开妈键),LED显示器显示违规选手号码,红灯亮,扬声器报警,并根据比赛规则进行对该选手进行扣分。
若系统提示某号选手抢答违规,主持人仍未按开始键,此时该号选手又按下抢答键,LED显示器显示该选手的号码。
本系统开机后,若主持人既未按复位键又未按开始键,此时有选手按下抢答键,系统提示红灯亮,并报警。
注:
1、抢答成功,置8253通道2计数值为1000,扬声器的鸣叫声音频率为1MHz/1000=1KHz。
2、抢答失败,置8253通道2计数值为2000,扬声器的鸣叫声音频率为1MHz/2000=0.5KHz。
3、扬声器鸣叫或报警的时间为12s。
六、结束语通过本次实验掌握了微机系统的开发步骤,掌握了中断优先级管理器8259A、可编程并行接口接口芯片8255A、可编程定时器计数器8253和数码管的用法,掌握了汇编程序的设计。
本次设计需要熟练掌握汇编语言,熟悉中断优先级管理器8259A、可编程并行接口接口芯片8255A、可编程定时器计数器8253的内部结构、外部引脚和功能,熟悉LED显示器的结构及译码方式。
中断优先级管理器8259A在本系统中用来管理选手按键中断信息。
可编程并行接口接口芯片8255A在本系统中用来连接选手的按键,主持人的开始键和复位键,用来连接黄灯、红灯、绿灯三个发光二极管,用来提示抢答信息,用来连接LED显示器控制显示器的输出,还连接到8253的GATE1端,控制计数器的启动计数和停止计数的操作。
可编程定时器计数器8253用来设定扬声器的发声频率和发声时间。
LED显示器用来连接到8255A的B口,用来显示选手号。
本次设计既没有硬件环境,也没模拟的软件环境,设计起来比较的困难,只能通过查找一些资料和大脑抽象来设计该课程设计。
希望学校以后能够提供一些硬件或软件上的支持,让我们能够更好的掌握接口芯片的设计。
本人在本本次课程设计中获得了许多收益,通过本次课程设计让我更好的掌握了中断优先级管理器8259A、可编程并行接口接口芯片8255A、可编程定时器计数器8253的工作原理、方式及其应用。
通过本次课程设计也学会了如何设计一个简单的微机系统,以及设计一个简单微机系统所需要的步骤和设计中需要注意的地方。
本人在设计中遇到很多困难,大都是对和芯片的应用还不是很熟练,还需更加努力更加深入的了解微机系统和芯片功能。
七、系统原理图八、参考文献1、刘红玲、邵晓根微机原理与接口技术M北京:
中国电力出版社2、江正战、沈志鸿三级偏硬考试教程M江苏:
东南大学出版社3、阎石数字电子技术基础M北京:
高等教育出版社4、张雪兰、谭毓安汇编语言程序设计M北京:
清华大学出版社九、附录
(1)、主程序清单(带详细注释)DATASEGMENTTABDB06H,5BH,4FH,66H,6DH,7CH,07H,7FH,67H;
BZDB00HDATAENDSSTACKSEGMENTPARASTACKSTACKDB100HDUP(?
)STACKENDSCODESEGMENTASSUMEDS:
DATA,CS:
CODESTART:
MOVAX,DATAMOVDS,AX;
8259A初始化MOVAL,13H;
初始化8259A的ICW1OUT20H,ALMOVAL,08H;
送中断类型码基值,8259A的ICW2OUT21H,ALMOVAL,0DH;
一般中断结束方式,8259A的ICW4OUT21H,AL;
8255A初始化MOVAL,98H;
置8255A工作方式OUT83H,ALXORAL,AL;
B口、C口初始化OUT81H,ALOUT82H,AL;
8253初始化MOVAL,37H;
置8253通道0控制字OUT43H,ALMOVAL,00H;
置8253通道0计数初值为4000OUT40H,ALMOVAL,40HOUT40H,ALMOVAL,73H;
置8253通道1控制字OUT43H,ALMOVAL,00H;
置8253通道1计数初值为3000OUT41H,ALMOVAL,30HOUT41H,ALMOVAL,B7H;
置8253通道2控制字OUT43H,ALMOVAL,00H;
置8253通道2控制字OUT42H,ALMOVAL,00H;
置8253通道2计数初值为0OUT42H,ALMOVAL,00HOUT42H,AL;
中断设置MOVAH,25H;
设置抢答按键中断向量MOVAL,0AH;
中断类型号为入口参数MOVBX,SEGKEYINT;
DS:
DX指向4字节地址MOVDS,BXMOVDX,OFFSETKEYINTINT21HSTI;
使IF置1,开放可屏蔽中断LOPM:
INAL,82H;
检测开始键TESTAL,20HJZLOP2LOP1:
INAL,82HTESTAL,20HJNZLOP1;
开始键没有弹起再重新检测MOVAL,00H;
关LED显示器OUT81H,AL;
送到B口MOVAL,08H;
绿灯亮OUT82H,AL;
送到C口MOVBZ,0FFH;
置标志STILOP2:
检测复位键TESTAL,10H;
检测C口的PC4端JZLOPMLOP3:
检测复位键是否弹起,即PC4=0TESTAL,10HJNZLOP3;
位键没有弹起,则重新检测MOVAL,00H;
关LED显示器、指标灯OUT81H,ALOUT82H,ALMOVBZ,00H;
清标志STIJMPLOPM;
中断服务子程序CODEENDSENDSTART
(2)、子程序的框图和程序清单(带注释);
中断服务子程序KEYINTPROCFARPUSHAX;
保护现场PUSHBXPUSHDXPUSHDSCLI;
并使本次中断压入堆栈中的IF=0;
(关中断)INAL,80H;
从8255的A口获取选手按键信息NOTAL;
将按键字节信息取反MOVCX,8;
计数8次LOP4:
SHRAL,1;
获取选手号码LOOPNZLOP4MOVAX,CX;
把选手号传给AXMOVBX,OFFSETTAB;
查段码(字形码)XLAT;
将选手号转换成TAB中对应的LED;
字形码OUT81H,ALTESTBZ,OFFH;
判断标志位是否为FFHJZLOP5MOVAL,00H;
置8253通道2计数值OUT42H,ALMOVAL,10HOUT42H,ALMOVAL,03H;
黄灯亮,抢答成功OUT82H,ALJMPKKKLOP5:
MOVAL,00H;
置8253通道2计数值OUT42H,ALMOVAL,20HOUT42H,ALMOVAL,05H;
红灯亮,抢答违规OUT82H,ALKKK:
MOVAL,20H;
给8259发中断结束命令,写OCW2OUT20H,ALPOPAX;
恢复现场POPBX
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 接口 技术 课程设计 竞赛 抢答
![提示](https://static.bdocx.com/images/bang_tan.gif)