收藏 分销(赏)

东北大学接口核心技术优秀课程设计(2).docx

上传人:人****来 文档编号:2657764 上传时间:2024-06-03 格式:DOCX 页数:27 大小:260.91KB
下载 相关 举报
东北大学接口核心技术优秀课程设计(2).docx_第1页
第1页 / 共27页
东北大学接口核心技术优秀课程设计(2).docx_第2页
第2页 / 共27页
东北大学接口核心技术优秀课程设计(2).docx_第3页
第3页 / 共27页
东北大学接口核心技术优秀课程设计(2).docx_第4页
第4页 / 共27页
东北大学接口核心技术优秀课程设计(2).docx_第5页
第5页 / 共27页
点击查看更多>>
资源描述

1、接口技术课程设计 -8路抢答器 一 试验功效1.试验要求设计一个含有8路抢答抢答器,利用并行接口和开关键。逻辑开关K1-K8代表抢答按钮,当某个逻辑开关闭合时,相当于抢答按钮按下,此时在七段数码管上将其号码显示出来,并使喇叭响一声(或以发光二极管替换)。2、实现过程开启计算机,计算机自动为系统各芯片进行初始化,抢答器开始工作。比赛开始,在主持人按下开始键,绿灯亮后,选手才可开始抢答,不然违规。若选手抢答成功,LED显示器显示选手号码,扬声器鸣叫。若选手抢答违规(主持人未按开妈键),LED显示器显示违规选手号码,红灯亮,扬声器报警,并依据比赛规则进行对该选手进行扣分。若系统提醒某号选手抢答违规,

2、主持人仍未按开始键,此时该号选手又按下抢答键,LED显示器显示该选手号码。本系统开机后,若主持人既未按复位键又未按开始键,此时有选手按下抢答键,系统提醒红灯亮,并报警。注: 1、抢答成功,置8253通道2计数值为1000,扬声器鸣叫声音频率为1MHz/1000=1KHz。2、抢答失败,置8253通道2计数值为,扬声器鸣叫声音频率为1MHz/=0.5KHz。3、扬声器鸣叫或报警时间为12s。二试验原理1.芯片控制字要求(1)中止优先级管理器8259A控制字要求芯片控制字:采取边缘触发,单片8259,要写入ICW4控制字中止类型码控制字:设置IR0IR7中止类型码依次为08H、09H、0FH方法控

3、制字:优先级设置方法为全嵌套方法即固定优先级方法,主片工作在缓冲方法下,中止结束方法采取中止非自动结束方法,8259工作在80X86系统上。(2)可编程并行接口芯片8255A控制字要求A口工作在方法0,做为输入端口用于连接选手按键(PA7PA0依次对应按键18);B口工作在方法0,做为输出端口,经驱动器1连接LED显示器(PB7PB0依次对应连接LED显示器dp、g、f、e、d、c、b、a七段数码管管脚);C口也必需工作在方法0,高4 位做输入端口(此次设计中只用PC4、PC5,分别用于连接复位键和开始键),低4位做输出端口(PC3PC0,经驱动器2后PC1、PC2、PC3分别用于连接黄、红、

4、绿三个发光二极管,PC0连接到8253GATE1端,以控制通道1计数)。(3)可编程定时器计数器8253控制字要求通道0:操作类型为先读写低字节再读写高字节,工作在方法3即方波发生器,计数格式为BCD码,计数初值为4000。通道1:操作类型为先读写低字节再读写高字节,工作在方法1即可重触发单稳态触发器,计数格式为BCD码,计数初值为3000。通道2:操作类型为先读写低字节再读写高字节,工作在方法3即方波发生器,计数格式为BCD码,计数初值为0。2总体设计框图因为此次试验要用到数码显示、中止控制、倒计时等功效,故初步分析,需要8255、8259、8253等芯片。经过分析,试验关键是正确判定出最先

5、抢答者信号并锁存,而同时不理会其它抢答者信号。为此,可将8个抢答按钮信号经过一个8位并行输入口接至微机中。当主持人开启抢答过程后,微机经过该并行输入口循环对8路抢答信号进行采样。当采样到那一组抢答信号已经发出,则立即停止采样,并统计下该组组号,每路抢答按钮电路能够参考图2.1进行设计。 +5V1 图2.1抢答按钮电路由图可知,当8组均未按下抢答按钮时,送入到并行接口8位抢答状态全部是0,而当微机采样到这8位数据不为0时,则表示有一组取得了抢答机会,然后经过逐位查询个位状态,即可判定出哪一组抢答成功,最终利用并行输出接口将抢答成功组号现实出来.在试验中,能够仅用一位7段数码管来显示抢答选手组号.

6、为了对抢答后回复时间进行计时控制,能够利用一个可编程定时计时器,先置计数初值,再计时,当计时时间到后,由并行接口输出一个响铃信号提醒抢答选手回复时间已到。因为本系统要求对犯规组亮红灯警告,所以要设置一个开启按键,在主持人按下开启按键之前,假如有抢答钮被按下,则该抢答选手犯规,能够经过并行接口输出一个信号使该组红色发光二级管点亮以示该组选手犯规。总而言之,本试验硬件电路设计图2.2。微机扩展总线插孔AB译码电路并行接口定时器驱动器七段数码显示器犯规指示LED抢答按钮电路时钟电路开启按钮及电路8因为本系统要求对犯规组亮红灯警告,所以要设置一个开启按键,在主持人按下开启按键之前,假如有抢答钮被按下,

7、则该抢答选手犯规,能够经过并行接口输出一个信号使该组红色发光二级管点亮以示该组选手犯规。在设计中能够采取中止方法输入开启按键状态,为此能够将开启按键信号直接接到微机某根中止请求线上。总而言之,本试验硬件电路可参考下图1示硬件结构示意图进行设计。图2.2 硬件结构示意图其中8255和8086连接图以下图2.3图2.3 8086和8255连接图3 硬件总体设计(1)系统方案该抢答器所要器件:中止优先级管理器8259A、可编程并行接口芯片8255、可编程定时器计数器8253,三个一样驱动器,黄、红、绿三个发光二极管,十三个电阻,一个8输入和非门,一个非门,一个扬声器,一个LED显示器,10个按键。(

8、2)内存单元编址中止优先级管理器8259A端口地址为20H、21H可编程并行接口接口芯片8255A端口地址为80H、81H、82H、83H 可编程定时器计数器8253端口地址为40H、41H、42H、43H(3)键盘、扬声器及显示功效定义10个按键中,一个开始键一个复位键,另外8个用做8位选手抢答按键。扬声器用和黄、红、绿三个发光二极管配合使用,黄灯亮扬声器鸣叫表示抢答成功,红灯亮扬声报警表示抢答违规报警,绿灯亮扬声器不鸣则表示主持人已按下开始键。LED显示器显示内容和选手号对应,抢答成功或违规全部要显示。4 软件总体设计(1)存放单元分配、标志位含义 定义一个TAB变量用来存放19字形码信息

9、,以下表LED管脚对应字形对应存放在内存单元字形码dp、g、f、e 、d、c、b、a0 0 0 0 0 1 1 00 1 0 1 1 0 1 10 1 0 0 1 1 1 10 1 1 0 0 1 1 00 1 1 0 1 1 0 10 1 1 1 1 1 0 00 0 0 0 0 1 1 10 1 1 1 1 1 1 1 0 1 1 0 1 1 1 112345678906H5BH4FH66H6DH7CH07H7FH6FH 定义一个BZ变量作为标志位,用来选手抢答是否违规,BZ=0FFH时表示主持人已经按下开始键选手能够抢答,BZ=00H表示主持人未按下开始按键,选手不能够抢答。5 硬件设计

10、【1】 芯片介绍(1)中止优先级管理器8259A8259A内部结构8259A采取NMOS工艺制成,有28根引脚,全部输入、输出端和TTL电平兼容,单一电源(Vcc=+5V)供电。8259内部关键组成部分,包含处理部件(中止请求寄存器IRR、优先级判别器PR及现行服务寄存器ISR)、控制部件(控制逻辑及中止屏蔽寄存器IMR)、数据总路线缓冲器、读写逻辑和级联缓冲器比较器等5个部分。8259A关键外部引脚图3.18259A引脚图D0D7:双向数据线,CPU和8259间利用这个数据总路线传送数据及命令。:写控制输入信号,同控制总路线上 信号相连。:读控制输入信号,同控制总路线上信号相连。A0:地址选

11、择信号,用来对8259A内部两个可编程寄存器进行选择。:片选输入信号,低电平有效。有郊时可经过数据总路线设置命令并对内部寄存器进行读出。当进入中止响应时序时,该引脚状态和进行处理无关。INT:由8259A向CPU发出中止请求信号。:输入信号,接收CPU送来中止响应信号INTA。IR0IR7:8个中止请求输入信号,高电平或上升沿有效。用于接收外设接口来中止请求。8259A工作方法a. 优先级设置方法:全嵌套方法(固定优先级方法)、特殊全嵌套方法(可响应同级中止方法)、轮转优先级方法、特殊轮转优先级方法。b. 中止源屏蔽方法:一般屏蔽方法、特殊屏蔽方法。c. 中止结束方法:中止自动结束方法、中止非

12、自动结束方法(包含通常中止结束方法、特殊中止结束方法)。d. 系统总路线连接方法:缓冲方法、非缓冲方法。e. 中止请求信号触发方法:边缘触发方法、电平触发方法。8259A初始化控制字格式ICW1(芯片控制字)D7 D6 D5D4D3D2D1D00 0 0特征位1触发方法0 边缘触发1 电平触发0单片选择信号0 多片8259级联1 单片8259是不要ICW40 不要(8080/8085)1 要(80X86)ICW2(中止类型码控制字,D7D3设置中止类型码)D7D6D5D4D3D2D1D0000ICW3(主片,级联时才用设置,各位为1则表示接有从片)D7D6D5D4D3D2D1D0IR7IR6I

13、R5IR4IR3IR2IR1IR0ICW3(从片,级联时才用设置)D7D6D5D4D3D2 D1 D000000ID2 ID1 ID0 从片INT接于主片引脚0 0 0 IR00 0 1 IR1 1 1 1 IR7ICW4(方法控制字)D7 D6 D5D4D3D2D1D00 0 0嵌套方法0 全嵌套方法1特殊全嵌套方法缓冲方法0非缓冲方法1缓冲方法缓冲方法下0本片为从片1本片为主片中止结束方法0中止非自动结束1中止自动结束系统类型0 8080/80851 80X868259A操作命令字格式OCW0(中止屏蔽字,各位为1则被屏蔽)D7D6D5D4D3D2D1D0IR7IR6IR5IR4IR3IR

14、2IR1IR0OCW1(轮转优先级和中止结束字)D7D6D5D4 D3D2 D1 D0轮转位0 非轮转1 轮转选择标志位0 L2L0无效1 L2L0有效中止结束位0 非中止结束 1 中止结束特征位00标志位000 IR0 优先级最低001 IR1 优先级最低OCW2(特殊屏蔽、查询和状态读取字)D7D6D5D4 D3D2D1D00特殊屏蔽方法许可位0 严禁特殊屏蔽方法1 许可特殊屏蔽方法特殊屏蔽方法位0 非特殊屏蔽方法1 特殊屏蔽方法特征位01中止查询位0非中止查询1中止查询读寄存器0 严禁读1 许可读0读IRR1读ISR(2)可编程并行接口接口芯片8255A8255A内部结构8255A芯片是

15、一个采取NMOS工艺制造40引脚双列直插式(DIP)封装组件。8255A有3个8位数据端口,即A口、B口及C口,它们全部能够分别作为输入口或输出口使用;A组控制和B组控制;读写控制逻辑;数据总路线缓冲器。8255A关键外部引脚图3.28255A引脚图PA7PA0:A口8条IO线。8条线只能同时作为输入或输出,不能分开使用,可设置成双向口,也只有A口许可这么做。PB7PB0:B口8条IO线。不能够设置成双向口,其它和A口一样。PC7PC0:C口8条IO线。不能够设置成双向口,但它能够分拆为两组即高4位和低4位,这两组能够任意设置为输入或输出。除了作为独立IO线外,C口还常常为A口、B口服务,配合

16、A口、B口作联络线使用。A1、A0:端口地址选择信号。用于选择8255A3个数据端口和一个控制口。当A1A0=00时,选择端口A;为01时,选择端口B;为10,选择端口C;为11时,选择控制口。8255A工作方法方法0:基础输入输出方法。A口、B口、C口全部能够工作在些方法下。方法1:选通输入输出方法(应答方法)。A口、B口工作在此方法下。方法2:双向传输方法。只有A口能够工作在此方法下。8255A方法控制字格式D7D6、D5D4D3D2D1D01A口A口C口高4位B口B口C口低4位00 方法001 方法11x 方法20 输出1 输入0 输出1 输入0方法01方法10 输出1 输入0 输出1

17、输入(3)可编程定时器计数器82538253内部结构8253采取NMOS工艺制成,有24个引脚,全部输入、输出端均TTL电平兼容,单一电源(Vcc=+5V)供电,最高计数速率为2.6MHz。它包含3个计数器(即计数器0、1、2)、数据总路线缓冲器、读写逻辑和控制寄存器等4个部分。8253外部引脚图3.3 8253引脚图A1、A0:地址输入线,用来址8253内部4个端口,即3个计数器和1个控制字寄存器和CPU系统地址线相连。CLK0、CLK1、CLK2:时钟脉冲输入端,用于输入定时脉冲或计数脉冲信号。CLK能够是系统时钟脉冲,也能够由系统时钟分频或其它脉冲源提供。当用于定时时,这个脉冲必需是均匀

18、、连续、周期正确,而用于计数时,这个脉冲能够是不均匀、断续、周期不定。GATE0、GATE1、GATE3:门控输入端,用于外部控制计数器开启计数和停止计数操作。两个或两个以上计数器连用时,可用此信号同时,也可用于和外部某信号同时。OUT0、OUT1、OUT2:计数输出,当计数器从初值开始完成计数操作进,OUT引脚输出对应信号。8253工作方法方法0:减1计数到0,产生中止请求信号。方法1:减1计数到0,产生可反复触发单稳态负脉冲信号。方法2:减1计数到1,分频器(速率信号发生器)。方法3:减1计数到初值12,方波发生器。方法4:减1计数到0,软件触发产生选通负脉冲信号。方法5:减1计数到0,硬

19、件触发产生选通负脉冲信号。8253方法控制字格式D7 D6D5 D4D3 D2 D1D000 选计数器001 选计数器110 选计数器200 计数器锁存01 只读写低8位10 先读写高8位11 先读写低8位 再读写高8位000 方法0001 方法1X10 方法2X11 方法3100 方法4101 方法50 二进制计数2 BCD计数【2】 芯片连接(1)各芯片和CPU连接8259A、8255A、8253数据总线D7D0端、端、端、端、端、INT端分别和CPUD7D0数据总线、片选端、端、端、端、INTR端。8255A、8253A1、A0端分别接入CPU地址线A1、A0端,8259A0端接到CPU

20、地址线A0端;(2)各芯片之间连接和和外设连接8259AIR2端接选手按键信息输出端;8255AA口PA7PA0依次接“按键1”“按键8”,B口PB7PB0经过驱动器1接到LED显示器,C口PC4、PC5分别接复位键和开始键,PC3、PC2、PC1经驱动器2分别接绿灯发光二极管、红灯发光二极管、黄灯发光二极管,PC0接到8253GATE1端;8253GATE0端接+5V电压,OUT0输出接入CLK1端,OUT1输出经反相器后接入GATE2端,CLK0和CLK1接入1MHz频率发生器,CLK2经驱动器3接扬声器。三电路原理图IORIOWPC4PC5D7D08255 PB7PC0CSA0A1 PC

21、3PC0GATE0D7d0 OUT0 CLK1 GATE1 OUT1 8253CSA0 GATE2A1 CLK0 CLK1 CLK2驱动器1驱动器2D7D08259CSA0驱动器3和非门按键1按键2按键8按键3按键7按键6按键5按键4+5VD7D0D7D0D7D0(80H83H)(80H83H)A0A1A0A11MHz(20H21H)A0PC0PB0PB7PC1PC2PC3红灯绿灯黄灯8段LED显示器INTIR0IR1IR3IR4IR5IR6IR7IR2+5V+5V开始键复位键扬声器PA7PA0 四程序步骤图(1) 主程序步骤图:开始设置LED字形码初值、标志位初值对8259A、8255A、8

22、253进行初始化设置抢答按键中止向量并使IF置1开放中止关闭LED显示器检测开始键是否按下检测开始键是否弹起点亮绿灯置标志位值为FFH使IF=1开放中止检测复位键是否按下检测复位键是否弹起关闭LED显示器、指标灯将标志位清零,使IF=1开入中止结束YYYYNNNN先从82H 口中读一个字先从82H 口中读一个字先从82H 口中读一个字先从82H 口中读一个字(2)子程序步骤图:开始保护现场,将各寄存器值压入堆栈将此次中止压入堆栈中,并置IF=0关闭中止设置循环次数为8次将AL中值逻辑右移1位从8255A端口获取选手按键信息,并将其值取反判定CX是否为0或ZF是否为1获取选手号码,并将值传给AX

23、经过XLAT指令将选手号转换成LED显示对应字形码将转换好字形码值传给8255B端口判定标志位是否为FFH置8253 通道2计数值将黄灯点亮,抢答成功,扬声器鸣叫置8253 通道2计数值将红灯点亮,抢答违规,扬声器报警给8259发中止结束命令中止返回YYN 五试验程序(1)主程序:DATASEGMENTTAB DB06H,5BH,4FH,66H,6DH,7CH,07H,7FH,67H ;19段码;(字形码)BZ DB 00HDATAENDSSTACKSEGMENTPARASTACKSTACKDB100HDUP(?)STACKENDSCODE SEGMENTASSUMEDS:DATA,CS:CO

24、DESTART:MOVAX,DATAMOVDS,AX;8259A初始化MOV AL,13H;初始化8259AICW1OUT 20H,ALMOVAL,08H;送中止类型码基值,8259AICW2OUT21H,ALMOVAL,0DH;通常中止结束方法,8259AICW4 OUT21H,AL;8255A初始化MOV AL,98H;置8255A工作方法 OUT 83H,ALXORAL,AL;B口、C口初始化OUT 81H,ALOUT82H,AL;8253初始化MOV AL,37H;置8253通道0控制字OUT 43H,ALMOV AL,00H;置8253通道0计数初值为4000OUT40H,ALMOV

25、AL,40HOUT40H,ALMOV AL,73H;置8253 通道1控制字OUT43H,ALMOVAL,00H;置8253通道1计数初值为3000OUT41H,ALMOVAL,30HOUT41H,ALMOV AL,B7H;置8253通道2控制字OUT43H,ALMOVAL,00H;置8253通道2控制字OUT42H,ALMOVAL,00H;置8253通道2计数初值0OUT42H,ALMOVAL,00HOUT42H,AL;中止设置MOVAH,25H;设置抢答按键中止向量MOV AL,0AH;中止类型号为入口参数MOV BX,SEG KEYINT;DS:DX指向4字节地址MOV DS,BXMOV

26、 DX,OFFSET KEYINTINT 21HSTI;使IF置1,开放可屏蔽中止;主循环LOPM:INAL,82H;检测开始键TESTAL,20H;检测C口PC5端JZ LOP2;开始键未按下即PC5=0,则跳转检测;复位键LOP1:INAL,82H;检测开始键是否已经弹起,即PC5=0TESTAL,20HJNZ LOP1;开始键没有弹起再重新检测MOVAL,00H;关LED显示器OUT 81H,AL;送到B口MOVAL,08H;绿灯亮OUT82H,AL;送到C口MOVBZ,0FFH;置标志STILOP2:INAL,82H;检测复位键TESTAL,10H;检测C口PC4端JZLOPM ;复位

27、键未按下即PC4=0,则跳转再检;测开始键LOP3:INAL,82H;检测复位键是否弹起,即PC4=0TEST AL,10HJNZ LOP3;位键没有弹起,则重新检测MOVAL,00H;关LED显示器、指标灯OUT 81H,ALOUT 82H,ALMOVBZ,00H;清标志STIJMPLOPM;中止服务子程序CODEENDSENDSTART(2)子程序:;中止服务子程序KEYINTPROCFARPUSHAX;保护现场PUSHBXPUSH DXPUSHDSCLI;并使此次中止压入堆栈中IF=0;(关中止)INAL,80H;从8255A口获取选手按键信息NOTAL;将按键字节信息取反MOVCX,8

28、;计数8次LOP4:SHRAL , 1;获取选手号码LOOPNZ LOP4MOVAX,CX;把选手号传给AXMOVBX,OFFSETTAB;查段码(字形码)XLAT;将选手号转换成TAB中对应LED;字形码OUT81H,ALTESTBZ,OFFH;判定标志位是否为FFHJZLOP5MOVAL,00H;置8253通道2计数值OUT42H,ALMOVAL,10HOUT42H,ALMOVAL,03H;黄灯亮,抢答成功OUT 82H,ALJMPKKKLOP5:MOV AL,00H;置8253通道2计数值OUT42H,ALMOV AL,20HOUT 42H,ALMOVAL,05H;红灯亮,抢答违规OUT82H,ALKKK:MOVAL,20H;给8259发中止结束命令,写OCW2OUT20H,ALPOPAX;恢复现场POPBXPOPDXPOPDSIRETKEYINTENDP

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服