精品八路竞赛抢答器毕业论文Word格式文档下载.docx

上传人:b****1 文档编号:816575 上传时间:2023-04-29 格式:DOCX 页数:21 大小:101.60KB
下载 相关 举报
精品八路竞赛抢答器毕业论文Word格式文档下载.docx_第1页
第1页 / 共21页
精品八路竞赛抢答器毕业论文Word格式文档下载.docx_第2页
第2页 / 共21页
精品八路竞赛抢答器毕业论文Word格式文档下载.docx_第3页
第3页 / 共21页
精品八路竞赛抢答器毕业论文Word格式文档下载.docx_第4页
第4页 / 共21页
精品八路竞赛抢答器毕业论文Word格式文档下载.docx_第5页
第5页 / 共21页
精品八路竞赛抢答器毕业论文Word格式文档下载.docx_第6页
第6页 / 共21页
精品八路竞赛抢答器毕业论文Word格式文档下载.docx_第7页
第7页 / 共21页
精品八路竞赛抢答器毕业论文Word格式文档下载.docx_第8页
第8页 / 共21页
精品八路竞赛抢答器毕业论文Word格式文档下载.docx_第9页
第9页 / 共21页
精品八路竞赛抢答器毕业论文Word格式文档下载.docx_第10页
第10页 / 共21页
精品八路竞赛抢答器毕业论文Word格式文档下载.docx_第11页
第11页 / 共21页
精品八路竞赛抢答器毕业论文Word格式文档下载.docx_第12页
第12页 / 共21页
精品八路竞赛抢答器毕业论文Word格式文档下载.docx_第13页
第13页 / 共21页
精品八路竞赛抢答器毕业论文Word格式文档下载.docx_第14页
第14页 / 共21页
精品八路竞赛抢答器毕业论文Word格式文档下载.docx_第15页
第15页 / 共21页
精品八路竞赛抢答器毕业论文Word格式文档下载.docx_第16页
第16页 / 共21页
精品八路竞赛抢答器毕业论文Word格式文档下载.docx_第17页
第17页 / 共21页
精品八路竞赛抢答器毕业论文Word格式文档下载.docx_第18页
第18页 / 共21页
精品八路竞赛抢答器毕业论文Word格式文档下载.docx_第19页
第19页 / 共21页
精品八路竞赛抢答器毕业论文Word格式文档下载.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

精品八路竞赛抢答器毕业论文Word格式文档下载.docx

《精品八路竞赛抢答器毕业论文Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《精品八路竞赛抢答器毕业论文Word格式文档下载.docx(21页珍藏版)》请在冰点文库上搜索。

精品八路竞赛抢答器毕业论文Word格式文档下载.docx

若无人抢答,当主持人按下复位按钮时,屏幕显示清零,等待下一轮抢答。

本课题设计了一种采用8255芯片和汇编语言制作的多功能抢答器,实验箱中的开关区和数码显示区共同完成。

主要功能:

1.倒计时2.用LED数码管显示1-8号选手先按下键者的号码。

它除了具有基本的抢答功能之外,和数显的功能,当抢答开始后,系统会自动倒计时,并且时间是可以预设的,期间有人抢答的话系统会停止计时,如果期间没人抢答,系统自动锁存直到主持人按下复位键。

关键字:

中断优先级可编程定时器/计数器数码管

八路竞赛抢答器的设计

1八路竞赛抢答器的设计要求与设计方案

1.1八路竞赛抢答器的方案选择与比较

本设计以微机原理及接口技术为基础,以实验箱为工具,完成P智能抢答器设计。

该智能抢答器包括8086最小应用系统整体设计模块、键盘处理模块(DOS调用)、答题计时模块、LED数码管显示模块。

选用8086作为微处理器、扩展可编程并行I/O接口8255A芯片、可编程定时计数芯片8253(或不用)、可编程中断控制器8259A(或不用)、LED数码管及键盘和发光二极管等元件,制定方案如下:

方案一选用8255A,8253,8259,实验箱键盘显示区

1.8253作为定时器使用。

2.8259利用IR0端作为定时到的中断引入端,IR2端作为开始键按下的中断引入端,IR3端作为清零键按下的中断引入端,IR4端作为暂停键按下的中断引入端。

3.8255作为并行输入输出,A口键盘接显示区,C口接清零键和开始键,B口8个抢答开关

4.盘显示区由四个LED数码管和10个按键组成。

方案二选用8255,实验箱键盘显示区

1.8255作为并行I/O接口,A口接8个抢答开关,B口显示区,C口清零键和开始键。

2.用软件编程进行定时功能

方案选择:

方案二采用扫描,没有用到8259,8253程序编制简单,但是cpu耗费了更多的时间在扫描,效率相对来说较低。

方案一采用中断,程序结构化更为清晰,且cpu少了循环扫描的时间,效率较高。

但是多用了一个8259中断控制芯片,一个8253定时/计时芯片,程序编制上涉及到中断服务子程序的编写,稍显复杂,且硬件相应增多,费用也相应较多。

经比较采用方案二。

1.2八路竞赛抢答器的元件选择

1)处理器的选择

微型机具有体积小、重量轻、耗电少、价格低廉、可靠性高、结构灵活等特点,所以选择8086系统

2)显示电路

显示可通过彩灯和数码管来实现。

如果用彩灯作为显示功能,则不是很直观。

而数码管具有显示亮度高,使用寿命长,且能直观方便的看到倒计时数字,和选手编号,因此选用数码管显示。

3)芯片选择

8255作为并行I/0接口,能满足10个输入按键的输入功能,声音系统的输出,和LED数码管的输出。

并且8255的每个接口还有锁存和数据缓冲作用。

所以选择8255芯片。

2八路竞赛抢答器的硬件设计

2.1八路竞赛抢答器的硬件框图

 

图2.1八路竞赛抢答器硬件框图

2.2显示电路设计

8255芯片的PB0至PB7分别与数码管的八个引脚相连。

将8255芯片中需要显示的信息通过B口送入数码显示区,由数码管的亮灭显示出来。

如图2.2所示。

图2.2显示电路

2.3电路设计

8255芯片的PA0至PA7分别与8个拨码开关相连,将八位选手的抢答信号(由拨码开关控制)通过A口送入8255芯片。

如图2.3所示。

图2.3抢答电路

2.4开始和复位电路

8255芯片的PC0口对应开始按键,PC3口对应复位按键。

将抢答开始和结束的信号(由开始按键和复位按键控制)通过C口送入8255芯片。

图2.4开始和复位电路

2.5总电路

设计总电路如图2.5所示。

图2-5总电路

2.6可编程并行接口8255及其引脚说明

图2-68255A引脚图

引脚功能

RESET:

复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。

CS:

芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允许8255与CPU进行通讯;

/CS=1时,8255无法与CPU做数据传输。

RD:

读信号线,当这个输入引脚为低电平时,即/RD=0且/CS=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。

WR:

写入信号,当这个输入引脚为低电平时,即/WR=0且/CS=0时,允许CPU将数据或控制字写入8255。

D0~D7:

三态双向数据总线,8255与CPU数据传送的通道,当CPU执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。

 PA0~PA7:

端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。

PB0~PB7:

端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。

 PC0~PC7:

端口C输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入缓冲器。

端口C可以通过工作方式设定而分成2个4位的端口,每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。

'

A1,A0:

地址选择线,用来选择8255的PA口,PB口,PC口和控制寄存器.

当A1=0,A0=0时,PA口被选择;

当A1=0,A0=1时,PB口被选择;

当A1=1,A0=0时,PC口被选择;

当A1=1.A0=1时,控制寄存器被选择。

8255端口地址如表2-1所示。

表2-18255端口地址

端口

地址

PA口

60H

PB口

61H

PC口

62H

控制口

63H

2.78086及引脚说明

图2-68086引脚图

2.7.1名称和功能相同的32个引脚

1、VCC、GND:

电源、接地引脚(3个),8086CPU采用单一的+5V电源,但有两个接地引脚。

2、AD15—AD0(AddressDataBus):

地址/数据复用信号输入/输出引脚(16个),分时输出低16位地址信号及进行数据信号的输入/输出。

3、A19/s6—A15/s3(AddressStatusBus):

地址/状态复用信号输出引脚(4个),分时输出地址的高4位及状态信息,其中s6为0用以指示8086CPU当前与总线连通;

s5为1表明8086/8088CPU可以响应可屏蔽中断;

s4、s3共有四个组态,用以指明当前使用的段寄存器,如表9-5所示,00—ES,01—SS,10—CS,11—DS。

4、NMI(Non-MaskableInterrupt)、INTR(InterruptRequest):

中断请求信号输入引脚

(2),引入中断源向CPU提出的中断请求信号,高电平有效,前者为非屏蔽中断请求,后者为可屏蔽中断请求信号。

5、(Read):

读控制输出信号引脚

(1),低电平有效,用以指明要执行一个对内存单元或I/O端口的读操作,具体是读内存单元,还是读I/O端口,取决于控制信号。

6、CLK/(Clock):

时钟信号输入引脚

(1),时钟信号的方波信号,占空比约为33%,即1/3周期为高电平,2/3周期为底电平,8086/8088的时钟频率(又称为主频)为4.77MHz,即从该引脚输入的时钟信号的频率为4.77MHz。

7、Reset(Reset):

复位信号输入引脚

(1),高电平有效。

8088/8086CPU要求复位信号至少维持4个时钟周期才能起到复位的效果,复位信号输入之后,CPU结束当前操作,并对处理器的标志寄存器、IP、DS、SS、ES寄存器及指令队列进行清零操作,而将CS设置为0FFFFH。

8、READY(Ready):

“准备好”状态信号输入引脚

(1),高电平有效,“Ready”输入引脚接收来自于内存单元或I/O端口向CPU发来的“准备好”状态信号,表明内存单元或I/O端口已经准备好进行读写操作。

该信号是协调CPU与内存单元或I/O端口之间进行信息传送的联络信号。

9、(Test):

测试信号输入引脚

(1),低电平有效,TEST信号与WAIT指令结合起来使用,CPU执行WAIT指令后,处于等待状态,当TEST引脚输入低电平时,系统脱离等待状态,继续执行被暂停执行的指令。

10、MN/MX(Minimum/MaximumModelControl)最小/最大模式设置信号输入引脚

(1),该输入引脚电平的高、低决定了CPU工作在最小模式还是最大模式,当该引脚接+5V时,CPU工作于最小模式下,当该引脚接地时,CPU工作于最大模式下。

11、/S7(BusHighEnable/Status):

高8位数据允许/状态复用信号输出引脚

(1),输出。

分时输出有效信号,表示高8为数据线D15—D8上的数据有效和S7状态信号,但S7未定义任何实际意义。

利用信号和AD0信号,可知系统当前的操作类型,具体规定见表2-2所示。

表2-2和A0的代码组合和对应的操作

A0

操作

所用数据引脚

从偶地址单元开始读/写一个字

AD15~AD0

1

从奇地址单元或端口读/写一个字节

AD15~AD8

从偶地址单元或端口读/写一个字节

AD7~AD0

无效

--

从奇地址开始读/写一个字(在第一个总线周期将低8位数据送到AD15~AD8,下一个周期将高8位数据送到AD7~AD0)

在8088系统中,该引脚为,用来与、一起决定8088芯片当前总线周期的读写操作,如表2-3所示。

表2-3总线周期读写操作组合

性能

中断响应

读I/O端口

写I/O端口

暂停(Halt)

取指令操作码

读存储器

写存储器

无源

2.7.2最小模式下的24--31引脚

当8086CPU的引脚固定接+5V时,CPU处于最小模式下,这时候剩余的24—31共8个引脚的名称及功能如下:

1、(InterruptAcknowledge)中断响应信号输出引脚

(1),低电平有效,该引脚是CPU响应中断请求后,向中断源发出的认可信号,用以通知中断源,以便提供中断类型码,该信号为两个连续的负脉冲。

2、ALE(AddressLockEnable):

地址锁存允许输出信号引脚

(1),高电平有效,CPU通过该引脚向地址锁存器8282/8283发出地址锁存允许信号,把当前地址/数据复用总线上输出的是地址信息,锁存到地址锁存器8282/8283中去。

注意:

ALE信号不能被浮空。

3、(DataEnable):

数据允许输出信号引脚,低电平有效,为总线收发器8286提供一个控制信号,表示CPU当前准备发送或接收一项数据。

4、(DataTransmit/Receive):

数据收发控制信号输出引脚

(1),CPU通过该引脚发出控制数据传送方向的控制信号,在使用8286/8287作为数据总线收发器时,信号用以控制数据传送的方向,当该信号为高电平时,表示数据由CPU经总线收发器8286/8287输出,否则,数据传送方向相反。

5、(Memory/Input&

Output):

存储器/I/O端口选择信号输出引脚

(1),这是CPU区分进行存储器访问还是I/O访问的输出控制信号。

当该引脚输出高电平时,表明CPU要进行I/O端口的读写操作,低位地址总线上出现的是I/O端口的地址;

当该引脚输出低电平时,表明CPU要进行存储器的读写操作,地址总线上出现的是访问存储器的地址。

6、(Write):

写控制信号输出引脚

(1),低电平有效,与配合实现对存储单元、I/O端口所进行的写操作控制。

7、HOLD(HoldRequest):

总线保持请求信号输入引脚

(1),高电平有效。

这是系统中的其它总线部件向CPU发来的总线请求信号输入引脚。

8、HLDA(HoldAcknowledge):

总线保持响应信号输出引脚,高电平有效,表示CPU认可其他总线部件提出的总线占用请求,准备让出总线控制权。

2.7.3最大模式下的24--31引脚

当8086CPU的引脚固定接地时,CPU处于最大模式下,这时

候剩余的24—31共8个引脚的名称及功能如下:

1、QS1、QS0(InstructionQueueStatus):

指令队列状态信号输出引脚

(2),

这两个信号的组合给出了前一个T状态中指令队列的状态,以便于外部88086CPU内部指令队列的动作跟踪,如表2-4所示.

表2-4QS1、QS0组合表

性  能

无操作

从指令队列的第一个字节取走代码

队列为空

除第一个字节外,还取走了后续字节中的代码

2、、、:

总线周期状态信号输出引脚(3),低电平的信号输出端,

这些信号组合起来,可以指出当前总线周期中,所进行数据传输过程的类型,总线控制器8288利用这些信号来产生对存储单元、I/O端口的控制信号。

、、与具体物理过程之间的对应关系,如表2-5所示。

表2-5~的状态编码

暂停

取指

无作用

这里对无源状态(在的最小模式中也存在,见P19)作一说明:

从表中可以看出,每一种的组合都对应一个具体的总线操作,除111外,其余都称为有源状态。

也就是说,在有源状态(对应前一个总线周期的和本总线周期的和状态)中,至少有一个信号为0,当时(对应总线周期的和且READY=1),也就是一个总线操作即将结束,另一个总线周期还未开始时,称为无源状态,很显然,这时中任一信号的改变,都意味着一个新的总线周期的开始。

3、(Lock):

总线封锁输出信号引脚

(1),低电平有效,当该引脚输出低电平时,系统中其它总线部件就不能占用系统总线。

信号是由指令前缀LOCK产生的,在LOCK前缀后面的一条指令执行完毕之后,便撤消信号。

此外,在8086的2个中断响应脉冲之间,信号也自动变为有效的低电平,以防止其它总线部件在中断响应过程中,占有总线而使一个完整的中断响应过程被中断。

4、、(Request/Grant):

总线请求信号输入/总线允许信号输出引脚

(2)。

这两个信号端可供CPU以外的两个处理器,用来发出使用总线的请求信号和接收CPU对总线请求信号的应答。

这两个引脚都是双向的,请求与应答信号在同一引脚上分时传输,方向相反。

其中比的优先级高。

3八路抢答器的软件设计

软件的设计的重点在延时,显示倒计时和选手编号和按键抢搭、开始和清零的实现。

延时采用嵌套循环的方式实现。

3.1主程序流程图

N

Y

YN

Y

NY

图3.1--主程序流程图

3.2显示模块程序设计

基本显示模块设计的重点是由显示代码取得相应的段码,通过锁存器控制输出给相应的数码管显示。

图3.2--显示模块程序流程图

3.3延时模块程序设计

延时模块的关键是计算计算机一秒能执行多少指令,再通过循环控制。

图3.3—延时模块程序流程图

3.4开始模块程序设计

图3.4--开始模块程序设计流程图

3.5复位模块程序设计

图3.5--清零模块程序设计流程图

3.6程序清单

DATASEGMENT

DATAENDS

CODESEGMENT

ASSUMEDS:

DATA,CS:

CODE

OUT63H,AL

MAIN:

INAL,62H

TESTAL,01H

JZMAIN

MOVAL,00H

OUT61H,AL

B1:

MOVAL,77H

OUT61H,AL

CALLA1

MOVAL,6FH

OUT61H,AL

MOVAL,7FH

CALLA1

MOVAL,07H

MOVAL,7DH

MOVAL,6DH

MOVAL,66H

MOVAL,4FH

MOVAL,5BH

MOVAL,06H

MOVAL,3FH

CALLAA

AAPROC

INAL,62H

TESTAL,08H

JZC1

JMPAA

C1:

MOVAL,00H

JMPMAIN

RET

AAENDP

A1PROC

MOVCX,0100H

BB1:

MOVBX,00B0H

BB2:

INAL,60H

JZAA1

JZAA2

JZAA3

JZAA4

JZAA5

JZAA6

JZAA7

JZAA8

DECBX

JNZBB2

LOOPBB1

A1ENDP

AA1:

MOVDX,61H

MOVAL,06H

OUTDX,AL

AA2:

MOVDX,61H

MOVAL,5BH

OUTDX,AL

JMPAA

AA3:

MOVAL,4FH

AA4:

MOVAL,66H

AA5:

AA6:

MOVAL,7DH

AA7:

MOVAL,07H

AA8:

MOVAL,7FH

CODEENDS

ENDSTART

设计体会与小结

在这次课程设计中,运用到了很多以前的专业知识,虽然过去从未独立应用过它们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的一大收获。

另外,要做好一个课程设计,就必须做到:

在设计程序之前,对所用的8086有一个系统的了解,知道8086内有哪些资源;

要有一个清晰的思路和一个完整的的软件流程图;

在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;

要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;

在设计课程过程中遇到问题是很正常的,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题的课程设计结束了,但是从中学到的知识会让我受益终身。

发现、提出、分析、解决问题和实践能力的提高都会受益于我在以后的学习、工作和生活中。

通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜样。

参考文献

[1]彭虎、周佩玲、傅忠谦,《微机原理里与接口技术》(第2版),电子工业出版社

[2]冯博琴,《微型计算机原理及接口技术》,清华大学出版社

[3]艾德才,《微型计算机原理与接口技术》,高等教育出版社

[4]沈美明,《IBM-PC汇编语言程序设计》,清华大学出版社

[6]尹建华,微型计算机原理与接口技术,高等教育出版社

[7]刘乐善,微型计算机接口技术及应用,华中科技大学出版社

[8]李继灿,新编16/32位微型计算机原理及应用,清华大学出版社

[9]BarryB.Brey.TheIntelMicroprocessors

[10]M.A.Mazidi,J.G..Mazidi,80x86IBM

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2