程序功能与使用说明

上传人:精****档 文档编号:43597010 上传时间:2018-06-07 格式:DOC 页数:10 大小:69KB
返回 下载 相关 举报
程序功能与使用说明_第1页
第1页 / 共10页
程序功能与使用说明_第2页
第2页 / 共10页
程序功能与使用说明_第3页
第3页 / 共10页
程序功能与使用说明_第4页
第4页 / 共10页
程序功能与使用说明_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《程序功能与使用说明》由会员分享,可在线阅读,更多相关《程序功能与使用说明(10页珍藏版)》请在金锄头文库上搜索。

1、一 程序功能与使用说明1 功能在主持人的控制下完成抢答的功能。首先判断是否有人在未开始时就提前抢答了,这是就说明有人犯规了,于是,数码管显示违规选手号码,红灯亮,扬声器报警。在主持人允许开始后就按下开始键,绿灯亮,可以抢答,否则违规。在这里是用中断来控制抢答的,给一中断脉冲就显示绿灯,说明已经开始了。在开始的前提下,选手可以抢答了,抢答成功者数码管显示该选手号码,黄灯亮,扬声器鸣叫。2 使用说明(1)在主持人侧,设置抢答指示电路和启动/复位开关。有中断来控制开始,用绿灯来指示开始。(2)选手侧各设置 1 个抢答按钮,用逻辑开关 K 代表竞赛抢答按钮,使用实验仪的逻辑电平开关 K0-K3 来代表

2、 4 个抢答按钮,当开关向上拨时表示按下按钮。(3)用数码管显示选手号码,用哪个可编程并行接口芯片 8255A 控制数码管的显示和扬声器的发声控制。给脉冲就说明允许开始,同时绿灯亮。以后就可以抢答了,抢答成功者数码管显示该选手号码,黄灯亮,扬声器鸣叫。如果未开始就抢答说明违规,于是数码管显示违规选手号码,红灯亮,扬声器报警。(4) 主持人用按键来控制是开始下一轮比赛,还是结束。如果按键式空格就说明开始下一轮,否则就说明比赛结束。二 设计原理和思路1设计的原理用逻辑开关 K 代表竞赛抢答器按钮,用数码管显示选手号码。用可编程并行接口芯片 8255A 控制数码管的显示和扬声器的发声控制。用 825

3、9A 处理比赛开始。 (1)8259A 是一种可编程中断控制器,它的主要任务是辅助处理器对可屏 蔽中断进行优先权管理。中断控制部分可以接收外界的 8 个中断请求,对应引 脚 IR0-IR7.当 IR 引脚中断请求有效时,8259A 的优先权电路经过判断当前最高 优先权的的中断请求,通过本身的中断请求信号 INT 使处理器的可屏蔽中断请 求引脚 INTR 有效,向处理器提出可屏蔽中断请求。处理器在条件满足时进入中 断响应周期,使中断响应信号 INTA 有效,读取 8259A 提供的中断向量号。 (2)8255A 内部分成与外设连接部分和与处理器接口部分。在外设数据端口, 8255A 具有 24

4、条可编程输入输出引脚,分成 3 个端口:端口 A、端口 B 和端口 C。每个端口都是 8 位,都可以编程设置为输入或输出端口,共有三种工作方式。 8255A 的 3 个数据端口分成两组进行控制:A 组控制端口 A 和端口 C 的上半部分; B 组控制端口 B 和端口 C 的下半部分。与处理器的接口,数据总线缓冲器是 8255A 与系统数据总线的接口,CPU 输入输出的数据、CPU 输出的控制字及外设 的状态信息都通过它传送。读写控制逻辑与 CPU 的地址线及有关的控制信号相 连,由他们控制把 CPU 的控制命令或输出数据送至相应的端口,也由它控制把 外设的状态信息或输入数据通过相应的端口送至

5、CPU。 首先初始化 8255,用 8255 的 PA 口作为输出,与 LED 数码管相连,来控制显示选手的号码。PC 上半部分作为输出,用来和灯相连,来控制是抢答、开始还是违规,分别对应黄灯、绿灯、红灯。下半部分作为输入,与逻辑电平开关K0-K3 相连来代表 4 个抢答按钮 ,来控制是抢答成功或犯规的选手编号。用 8259A 来处理开始,其控制端口(IRQ)和单脉冲相连,当允许开始时给个脉冲,编写一段中断程序来控制绿灯亮。PC0 PA0 PC1 PA1 PC2 PA2 PC3 PA3 PC4 PA4 PC5 PA5 PC6 PA6 PC7 PA7 CSh g f e d c b a LED

6、GNDK1K2K3K3L4红灯黄灯绿灯L78259IRQ288h-28ah8255ALED 数码管图 2.1 电路图2 思路因为设计的竞赛抢答器要显示选手的号码,所以要用到 LED 数码管来显示,而数码管的显示需要控制,想到用 8255A 来控制,因为 8255A 有 8 个引脚正好来控制 LED 显示器,且 8255A 能实现输入和输出功能。对于开始部分,开始想用 8255A 另外的端口来控制,但实现不了,故就使用了中断,用 8259A 来实现,同时设置一个中断程序,来控制绿灯亮,来判断是否开始。本来要用中断来实现选手的抢答的,可就一个引脚,无法实现多个输入。因此就只能用到 8255A 了。

7、对于亮灯来说,也用到 8255A 的另一个端口来控制,想到还要来实现选手的抢答,用逻辑电平开关 K 来实现,但如果是八个选手就没法控制灯了,故用 K1-K4 来作为选手的输入。另外的四个引脚用来和等相连,即红灯、黄灯、绿灯,分别表示违规、抢答成功、开始。在这里因为要实现一个端口的引脚能分别实现输入和输出,故就只能使用C 口来实现了。以后就是要解决下一轮开始和结束的控制了,用到了接受按键来控制的,对于是空格的按键就表示是开始下一轮,对于其他按键就表明结束。在编写程序部分就通过设计 8255A 的端口,即对 8255A 进行初始化。是 A口输出,C 口高部分输出,低部分输入。设置一中断程序来实现绿

8、灯亮。设置程序来控制 LED 数码管显示的选手号码,通过利用段地址和偏移量来实现,其中首先设置一个数据段,分别为选手相应号码并且对于相应的偏移量。在后就是用绿灯的亮灭觉得红灯亮,还是黄灯亮。如果绿灯亮了,则说明可以抢答了,有抢答的,就黄灯亮,否则就是违规,红灯亮,用程序判断来实现。最后就是下一轮开始和结束,编一段程序来实现,如果结束字符为空格就说明开始下一轮,否则就是结束。三 程序说明1 该流程图为下图否是是否是否开始BX 指向段码表首地址设置 8255A 口输出,C 口上半部分为输出,C 口下半部分为输入判断是否 输入判断绿灯 是否亮违规,显示选手的 号码,报警,同时 红灯亮抢答成功,显示选

9、 手的号码,鸣响, 同时黄灯亮选手回答问题等待按键判断是否为“ENTER”结束图 3.1 程序流程图2 程序说明部分在该程序中首先对 8255 进行初始化,设置 A 口为输出,C 口高部分为输出,C 口低部分为输入。其中 A 口与 LED 数码管相连,用于显示选手的号码,C 口高部分和等相连来控制灯的亮灭,C 口低部分与逻辑电平开关 K0-K3 相连来控制选手的编号。之后设置中断程序 int7 的类型号为 0fh,其中 int7 中断用于控制开始,使绿灯亮灭,开放 irq7 中断。然后判断 C 口低部分是否有为一的,没有就一直循环判断直到有为止,然后记下通过循环移位判断是哪个选手进行了抢答。在

10、 LED 上显示,然后绿灯是否亮了,如果亮了说明已经开始是正常的抢答,亮黄灯;如果没亮说明不是正常抢答,是有人违规了,亮红灯。最后的部分就是等待键盘的输入来控制是否开始下次抢答或结束。如果输入的是空格,则说明要开始下次抢答,否则是结束的标志。参考文献1 钱晓捷,陈涛16/32 位微机原理、汇编语言及接口技术第 2 版北京:机械工业出版社,20052 沈美明,温冬蝉IBM-PC 汇编语言程序设计第 2 版北京:清华大学出版社,2005附录程序部分:data segmentled db 06h,5bh,4fh,66h;数码表data endsstack segment stackdb 1024 d

11、up(0)stack endscode segmentassume cs:code,ds:datastart:sss:mov ax,csmov ds,axmov dx,offset int7 ;设中断程序 int7 的类型号为 0fhmov ax,250fh ;读中断屏蔽寄存器int 21h ;开放 irq7 中断in al,21hand al,7fhout 21h,alstimov ax,datamov ds,axmov dx,28bh ;设置 a 口输出,c 高端输出,低端输入mov ax,81h out dx,almov bx,offset ledmov cl,0ffhmm: mov d

12、x,28ah ;判断是否有抢答有则继续进行没就等待in al,dxtest al,0fhjz mmclirr: shr al,1 ;获得偏移量inc cljnc rrmov al,clxlatmov dx,288h ;输出out dx,almov dl,7 ;响铃mov ah,2int 21hmov dx,28ahin al,dxtest al,80hjz warningor al,40h ;pc6 连接黄灯out dx,aljmp waiwarning:or al,20h ;pc5 连接红灯out dx,alwai:mov ah,1 ;键盘输入,若是空格则重新开始若不是则结束int 21hcmp al,20hjne eeemov al,0mov dx,288hout dx,aljmp sssint7:push ush axmov dx,28ah ;置连接绿灯的 pc7 为 1,亮绿灯。in al,dxor al,80hout dx,almov al,20hout 20h,alin al,21hor al,80hout 21h,alpop axpop dxireteee:mov ah,4chint 21hcode endsend start

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号