《微机原理课程设计+八路抢答器12321页》由会员分享,可在线阅读,更多相关《微机原理课程设计+八路抢答器12321页(21页珍藏版)》请在金锄头文库上搜索。
1、安徽工程科技学院课程设计用纸 安徽工程科技学院本科课程设计任务书 2008 届 计算机科学与工程 系 计算机科学与技术 专业 课程设计题目:抢答器 原始资料1、微型计算机及接口实验指导书2、微型计算机接口技术及应用教材3、LPT接口通信的工作原理(图书馆借、网上搜索、下载) 课程设计任务内容1. 课程设计的目的意义:通过课程设计培养同学们的系统设计能力,使同学们达到以下能力训练:、调查研究、分析问题的能力;、使用设计手册、技术规范的能力;、查阅中外文献的能力;、制定设计方案的能力;、计算机应用的能力;、设计计算和绘图的能力;、技术经济指标的分析能力;、语言文字表达的能力。2. 本课题研究的主要
2、内容:应用PC机的LPT口设计一个8路抢答器。基本要求:、设计LPT接口外的电路。、选择一种计算机程序设计语言(VB、VC、Delphi都可以)。、分析、了解、掌握在所选择的计算机语言下如何实现对端口的操作。、设计抢答器的显示界面。、程序设计实现抢答器的功能。、编写课程设计说明书。3. 提交的成果:一份符合毕业设计论文规范的课程设计说明书课程设计统一使用学校印制的课程设计封面及课程设计袋。课程设计袋按要求认真填写,字体要工整,卷面要整洁,手写一律用碳素墨水书写。课程设计除课程设计袋的其它资料鼓励用计算机打印。课程设计按统一顺序装订:(1) 封面(2) 前言(3) 目录(4) 课程设计任务书(须
3、有指导教师签名及日期)(5) 正文(分章、层次等,每一章从新的一页开始)(6) 小结(7) 参考文献(8) 课程设计图纸装订好后放入填写好的资料袋内由各教学单位存档。相关要求可酌情参照“安徽工程科技学院本科毕业设计(论文)管理办法”执行。 指导教师(签字)完成日期2008年12月26 日接受任务书学生(签字)第一章抢答器简介1、设计要求设计一个具有8路抢答的抢答器,利用并行接口和开关键。逻辑开关K0-K7代表抢答按钮,当某个逻辑开关闭合时,相当于抢答按钮按下,此时在七段数码管上将其号码显示出来,并使喇叭响一声(或者以发光二极管代替)。1) 中断优先级管理器8259A控制字要求芯片控制字:采用边
4、沿触发,单片8259,要写入ICW4控制字中断类型码控制字:设置IR0IR7的中断类型码依次为08H、09H、0FH方式控制字:优先级设置方式为全嵌套方式即固定优先级方式,主片工作在缓冲方式下,中断结束方式采用中断非自动结束方式,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、
5、PC5,分别用于连接复位键和开始键),低4位做输出端口(PC3PC0,经驱动器2后PC1、PC2、PC3分别用于连接黄、红、绿三个发光二极管,PC0连接到8253的GATE1端,以控制通道1的计数)。3) 可编程定时器计数器8253控制字要求通道0:操作类型为先读写低字节再读写高字节,工作在方式3即方波发生器,计数格式为BCD码,计数初值为4000。通道1:操作类型为先读写低字节再读写高字节,工作在方式1即可重触发的单稳态触发器,计数格式为BCD码,计数初值为3000。通道2:操作类型为先读写低字节再读写高字节,工作在方式3即方波发生器,计数格式为BCD码,计数初值为0。2、实现功能启动计算机
6、,计算机自动为系统各芯片进行初始化,抢答器开始工作。比赛开始,在主持人按下开始键,绿灯亮后,选手才可开始抢答,否则违规。若选手抢答成功,LED显示器显示选手号码,扬声器鸣叫。若选手抢答违规(主持人未按开妈键),LED显示器显示违规选手号码,红灯亮,扬声器报警,并根据比赛规则进行对该选手进行扣分。若系统提示某号选手抢答违规,主持人仍未按开始键,此时该号选手又按下抢答键,LED显示器显示该选手的号码。本系统开机后,若主持人既未按复位键又未按开始键,此时有选手按下抢答键,系统提示红灯亮,并报警。注: 1、抢答成功,置8253通道2计数值为1000,扬声器的鸣叫声音频率为1MHz/1000=1KHz。
7、2、抢答失败,置8253通道2计数值为2000,扬声器的鸣叫声音频率为1MHz/2000=0.5KHz。3、扬声器鸣叫或报警的时间为12s。第二章总体设计1、总体设计框图由于本次实验要用到数码显示、中断控制、倒计时等功能,故初步分析,需要8255、8259、8253等芯片。经过分析,实验的关键是准确判断出最先抢答者的信号并锁存,而同时不理睬其他抢答者的信号。为此,可将8个抢答按钮信号通过一个8位并行输入口接至微机中。当主持人启动抢答过程后,微机通过该并行输入口循环对8路抢答信号进行采样。当采样到那一组的抢答信号已经发出,则立即停止采样,并记录下该组的组号,每路抢答按钮电路可以参考图2.1进行设
8、计。 +5V1 图2.1抢答按钮电路由图可知,当8组均未按下抢答按钮时,送入到并行接口的8位抢答状态都是0,而当微机采样到这8位数据不为0时,则表示有一组获得了抢答机会,然后通过逐位查询个位状态,即可判断出哪一组抢答成功,最后利用并行输出接口将抢答成功的组号现实出来.在实验中,可以仅用一位7段数码管来显示抢答选手的组号.为了对抢答后的回答时间进行计时控制,可以利用一个可编程定时计时器,先置计数初值,再计时,当计时时间到后,由并行接口输出一个响铃信号提示抢答选手的回答时间已到。由于本系统要求对犯规的组亮红灯警告,所以要设置一个启动按键,在主持人按下启动按键之前,如果有抢答钮被按下,则该抢答选手犯
9、规,可以通过并行接口输出一个信号使该组的红色发光二级管点亮以示该组选手犯规。综上所述,本实验的硬件电路设计如图2.2。微机扩展总线插孔AB译码电路并行接口定时器驱动器七段数码显示器犯规指示LED抢答按钮电路时钟电路启动按钮及电路8由于本系统要求对犯规的组亮红灯警告,所以要设置一个启动按键,在主持人按下启动按键之前,如果有抢答钮被按下,则该抢答选手犯规,可以通过并行接口输出一个信号使该组的红色发光二级管点亮以示该组选手犯规。在设计中可以采用中断的方式输入启动按键的状态,为此可以将启动按键信号直接接到微机的某根中断请求线上。综上所述,本实验的硬件电路可参考下图1示的硬件结构示意图进行设计。图2.2
10、 硬件结构示意图其中8255与8086连接图如下图2.3图2.3 8086与8255连接图2、硬件总体设计1) 系统方案该抢答器所要器件:中断优先级管理器8259A、可编程并行接口芯片8255、可编程定时器计数器8253,三个一样的驱动器,黄、红、绿三个发光二极管,十三个电阻,一个8输入与非门,一个非门,一个扬声器,一个LED显示器,10个按键。2) 内存单元编址中断优先级管理器8259A的端口地址为20H、21H可编程并行接口接口芯片8255A的端口地址为80H、81H、82H、83H可编程定时器计数器8253的端口地址为40H、41H、42H、43H3) 键盘、扬声器及显示功能的定义10个
11、按键中,一个开始键一个复位键,另外8个用做8位选手的抢答按键。扬声器用与黄、红、绿三个发光二极管配合使用,黄灯亮扬声器鸣叫表示抢答成功,红灯亮扬声报警表示抢答违规报警,绿灯亮扬声器不鸣则表示主持人已按下开始键。LED显示器显示的内容与选手号对应,抢答成功或违规都要显示。3、软件总体设计1) 存储单元的分配、标志位的含义 定义一个TAB变量用来存储19的字形码信息,如下表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
12、 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表示主持人未按下开始按键,选手不可以抢答。2) 主程序流程图开始设置LED字形码初值、标志位初值对8259A、8255A、8253进行初始化设置抢答按键中断向量并使IF置1开放中断关闭LED显示器检测开始键是否按下检测开始键是否弹起点亮绿灯置标志位值为FFH使IF=1开放中断检测复位
13、键是否按下检测复位键是否弹起关闭LED显示器、指标灯将标志位清零,使IF=1开入中断结束YYYYNNNN先从82H 口中读一个字先从82H 口中读一个字先从82H 口中读一个字先从82H 口中读一个字图2.4主程序流程图第3章 硬件设计1、芯片的介绍1) 中断优先级管理器8259A8259A内部结构8259A采用NMOS工艺制成,有28根引脚,所有输入、输出端与TTL电平兼容,单一电源(Vcc=+5V)供电。8259的内部主要组成部分,包括处理部件(中断请求寄存器IRR、优先级鉴别器PR及现行服务寄存器ISR)、控制部件(控制逻辑及中断屏蔽寄存器IMR)、数据总路线缓冲器、读写逻辑以及级联缓冲
14、器比较器等5个部分。8259A主要的外部引脚图3.18259A引脚图D0D7:双向数据线,CPU与8259间利用这个数据总路线传送数据及命令。:写控制输入信号,同控制总路线上的 信号相连。:读控制输入信号,同控制总路线上的信号相连。A0:地址选择信号,用来对8259A内部的两个可编程寄存器进行选择。:片选输入信号,低电平有效。有郊时可通过数据总路线设置命令并对内部寄存器进行读出。当进入中断响应时序时,该引脚状态与进行的处理无关。INT:由8259A向CPU发出的中断请求信号。:输入信号,接收CPU送来的中断响应信号INTA。IR0IR7:8个中断请求输入信号,高电平或上升沿有效。用于接收外设接口来的中断请求。8259A工作方式a. 优先级设置方式:全嵌套方式(固定优先级方式)、特殊全嵌套方式(可响应同级中断方式)、轮转优先级方式、特殊轮转优先级方式。b. 中断源屏蔽方式:普通屏蔽方式、特殊屏蔽方式。c. 中断结束方式:中断自动结束方式、中断非自动结束方式(包括一般中断结束方式、特