微机原理-竞赛抢答器
- 格式:doc
- 大小:224.00 KB
- 文档页数:10
竞赛抢答器设计课程设计说明书2006年 7月竞赛抢答器设计课程设计说明书2006年 7月竞赛抢答器设计课程设计说明书2006年 7月竞赛抢答器设计课程设计说明书2006年 7月竞赛抢答器设计课程设计说明书2006年 7月竞赛抢答器设计课程设计说明书2006年 7月竞赛抢答器设计课程设计说明书2006年 7月竞赛抢答器设计课程设计说明书2006年 7月竞赛抢答器设计课程设计说明书2006年 7月竞赛抢答器设计课程设计说明书2006年 7月竞赛抢答器设计一. 设计内容:设计一个8路的智力竞赛抢答器。
在主持人侧,设置抢答指示电路和启动,复位按钮。
选手侧各设置1个抢答按钮。
主持人按动启动按钮,可以进行一次抢答,绿色发光二极管亮作允许抢答指示。
竞赛者抢答主持人所提的问题时,按动各自的抢答按钮。
用实验仪的逻辑电平开关K1-K8来代表8个抢答按钮。
当开关向上拨为“1”时表示按下按钮,收到第1个抢答信号后,主持人侧红色发光二极管亮作抢答提示,在单个LED数码管显示抢先一组的组别,主持人按下复位按钮,指示灯和数码管熄灭。
主持人念完题目后可以按动起动按钮,开始下一次抢答。
启动,复位按钮由一个AN按钮来代替。
按动AN按钮时分别进行启动,复位操作,即这一次按动AN按钮进行复位后,下一次则进行启动操作。
选用芯片:8255。
设计要求:a)画出电路原理图b)说明工作原理c)编写程序二.设计原理系统选择8086CPU,8255A片选地址为04A*H,如下图所示。
8255A的A口只作输出使用,驱动数码管。
8255的B口只作输入使用,作为8个抢答信号的输入。
8255的C口作位操作,驱动发光管。
A口地址为04A0H。
B口地址为04A2H,C口地址为04A4H,控制字地址04A6H。
A口工作方式选方式0,B口工作方式选方式1。
8255A工作方式控制字为86H(1000,0110)B。
C口的最高两位PC6,PC7作位操作,驱动发光管二极管。
前言随着现代社会的迅速发展,在我们日常生产生活以及学习中,对一些娱乐竞赛的活动需求日趋增加,而在绝大部分的娱乐比赛当中,如果在抢答中,靠视觉是很难判断出哪组先答题。
因此比赛中如何判断出第一个举手或抢答的人成为许多学者研究的课题。
为了保证比赛的准确性、公正性、直观性,通常比赛会设置竞赛抢答器。
本此微机原理课程设计课题是利用微机原理及接口技术,设计出一个竞赛抢答器系统,该抢答系统具有6个人的抢答控制按钮(本课题中使用开关作为按钮),选手通过按钮来进行抢答。
本设计主要是以8086为核心,通过加上必要的支持芯片,比如时钟电路、地址锁存器、收发器、8255,8253等,构成一台完整微机系统。
通过8255A与外部键盘相连,工作方式为定时扫描,利用定时器产生中断、CPU响应中断后对键盘进行扫描,或软件定时扫描,并在有键按下时转入键功能处理程序。
中断优先级管理器8259A在本系统中用来管理选手按键中断信息。
可编程定时器/计数器8253用来设定扬声器的发声频率和发声时间。
LED显示器用来连接到8255A的B口,用来显示选手号。
抢答器对采样获得的各路抢答信号进行分柝,能够识别超前违规信号、有效抢答信号,并对它们进行处理。
使每一次抢答过程都有效。
并且能够清楚的判断抢答后的回答时间是否超时,操作方便,功能齐全。
整个课程设计不仅让学生在课堂上学到的纯理论知识学以致用,而且还充分锻炼了学生的分析问题解决问题的能力,开拓创新的精神,严谨了学生的思维,提高了学生的综合素质,为以后的更加独立自主的学习打下了一个良好的基础。
目录第一章课程设计任务书 (3)第二章总体设计 (5)2.1 总体设计框图2.2 硬件总体设计2.3 软件总体设计第三章硬件设计 (10)3.1 芯片介绍3.2 芯片的连接第四章软件设计 (16)4.1 子程序流程图4.2 子程序清单第五章课设总结 (19)第六章参考文献 (20)第七章课程设计图纸 (21)第八章程序清单 (23)附:课程设计总图纸第一章课程设计任务书1、课程设计的目的意义通过课程设计培养同学们的系统设计能力,使同学们达到以下能力训练:(1)调查研究、分析问题的能力;(2)使用设计手册、技术规范的能力;(3)查阅中外文献的能力;(4)制定设计方案的能力;(5)计算机应用的能力;(6)设计计算和绘图的能力;(7)技术经济指标的分析能力;(8)语言文字表达的能力。
沈阳工程学院课程设计课程设计题目:竞赛抢答器设计系别电气工程系班级继电本095 学生姓名刘洪硕学号 2009205515 指导教师曲乐声,踪念品职称讲师,工程师起止日期:2012年06月11日起—至2012年06月15日止沈阳工程学院课程设计任务书课程设计题目:竞赛抢答器设计系别电气工程系班级继电本095 学生姓名刘洪硕学号 2009205515 指导教师曲乐声,踪念品职称讲师,工程师课程设计进行地点:微机原理实验室(F106)任务下达时间:2012 年06 月4日起止日期:2012年06月11日起—至2012年06月15日止教研室主任王健 2012年5月28日批准一、设计目的通过课程设计使学生更进一步掌握微机原理及应用课程的有关知识,提高应用微机解决问题的能力,加深对微机应用的理解。
通过查阅资料,结合所学知识进行软、硬件的设计,使学生初步掌握应用微机解决问题的步骤及方法。
为以后学生结合专业从事微机应用设计奠定基础。
二、设计的原始资料及依据查阅微机原理的教材、试验指导书等参考资料,进一步熟悉微机的基本原理、常用芯片的基本特性,并着重研究可编程并行芯片8255、8254的原理及应用。
运用8255的输入输出功能实现抢答的基本目的及8段数码管的数字显示功能;运用8254的分频功能,实现抢答后不同的提示音乐。
三、设计的主要内容及要求内容: 利用微机原理试验箱的8255单元和LED数码管,模拟竞赛抢答器。
要求: 通过按钮等方式,完成抢答器的基本要求,即可以区分哪组选手先完成抢答。
1. 接口设计:根据所选题目和所用的接口电路芯片设计出完整的接口电路,并在实验系统上完成电路的连接和调试通过。
2. 程序设计:要求画出程序框图,设计出全部程序并给出程序设计说明和程序注释。
可选: 运用8段显示器显示抢答选手编号、运用8254及扬声器发出抢答提示音。
发挥: 运用8254使每组抢答到之后发出不同音阶的提示音,从而从声音上区分最先完成抢答的选手。
微机原理课程设计抢答器一、引言抢答器是一种常见的教学辅助设备,用于提高课堂互动和学生参与度。
本文旨在设计一款基于微机原理的抢答器,实现以下功能:抢答按钮、显示抢答结果、计时器、声音提示等。
本文将详细介绍设计方案、硬件连接、软件编程以及测试结果等内容。
二、设计方案1. 硬件设计方案本设计采用基于单片机的硬件方案,主要包括以下模块:(1) 单片机模块:使用ATmega328P单片机作为主控芯片,具有丰富的IO口和定时器/计数器功能。
(2) 抢答按钮模块:使用按键开关作为抢答按钮,通过IO口与单片机连接。
(3) 显示模块:使用数码管或液晶显示屏显示抢答结果和计时器,通过IO口与单片机连接。
(4) 声音模块:使用蜂鸣器或喇叭发出声音提示,通过IO口与单片机连接。
2. 硬件连接根据硬件设计方案,进行如下连接:(1) 将抢答按钮的一个端口连接到单片机的一个IO口,另一个端口接地。
(2) 将显示模块的引脚连接到单片机的IO口,根据具体使用的数码管或液晶显示屏进行连接。
(3) 将声音模块的引脚连接到单片机的IO口。
3. 软件设计方案本设计采用C语言编程,使用Arduino开发环境进行编程。
主要实现以下功能:(1) 初始化:设置IO口方向和初始状态。
(2) 抢答逻辑:检测抢答按钮状态,记录首次按下的学生编号。
(3) 显示结果:根据抢答逻辑判断,将结果显示在数码管或液晶显示屏上。
(4) 计时器:使用定时器/计数器功能实现计时器,显示剩余时间。
(5) 声音提示:根据抢答结果使用蜂鸣器或喇叭发出声音提示。
三、测试与结果1. 硬件测试按照硬件连接方案进行连接后,使用万用表检测各个模块的电压和电流是否正常。
通过按下抢答按钮,观察数码管或液晶显示屏的显示结果,以及声音模块是否正常发出声音。
2. 软件测试使用Arduino开发环境将编写好的程序烧录到单片机中,通过按下抢答按钮,观察数码管或液晶显示屏的显示结果是否与预期一致。
同时,检查计时器和声音提示功能是否正常工作。
微机原理课程设计抢答器微机原理课程设计:抢答器引言微机原理是计算机科学与技术专业的一门重要课程,它涉及到计算机的基本原理、结构和工作方式。
为了加强学生对该课程的理解和应用能力,我们设计了一款抢答器,旨在提高学生的学习积极性和参与度。
一、设计背景在传统的微机原理课堂中,教师通常通过提问的方式来检测学生的理解程度。
然而,由于学生人数众多,教师无法逐一询问每个学生的答案。
而且,有些学生可能因为害羞或者缺乏自信而不愿意回答问题。
因此,我们决定设计一个抢答器,使得每个学生都有机会参与到课堂互动中。
二、抢答器的设计与实现1. 硬件设计抢答器的硬件设计主要包括主控板、显示屏、按键、蜂鸣器等组件。
主控板负责控制整个系统的运行,显示屏用于显示问题和学生的答案,按键用于学生抢答,蜂鸣器用于提示抢答结果。
2. 软件设计抢答器的软件设计主要包括两个部分:教师端和学生端。
教师端负责设置问题、控制抢答过程和显示学生答案,学生端负责接收问题、进行抢答和发送答案。
3. 工作流程教师在教室中设置好抢答器后,学生通过学生端的设备连接到抢答器系统。
教师通过教师端设置问题,问题会显示在学生端设备的屏幕上。
学生在规定的时间内按下抢答键,抢答器会记录下每个学生的答案并在显示屏上显示出来。
教师可以根据学生答案的情况进行点评和讲解。
三、抢答器的优势与应用1. 提高学生参与度通过抢答器的设计,每个学生都有机会参与到课堂互动中,激发学生的学习兴趣和积极性。
学生可以通过抢答器来展示自己的知识和能力,增强自信心。
2. 促进师生互动抢答器可以帮助教师了解学生对知识的理解程度,及时发现和解决学生的问题。
同时,教师可以根据学生的答案情况进行点评和讲解,提高教学效果。
3. 提高课堂效率传统的提问方式需要教师逐一询问学生的答案,耗费大量时间。
而抢答器可以快速记录学生答案并进行展示,提高课堂效率,使得教学更加高效。
结论微机原理课程设计的抢答器是一种创新的教学工具,它可以提高学生的学习积极性和参与度,促进师生互动,提高课堂效率。
西安郵電大学硬件课程设计报告题目:抢答器院系名称:计算机学院专业名称:班级:学生姓名:学号(8位):指导教师:设计起止时间一.设计目的用逻辑开关模拟竞赛抢答器按钮(共8个开关:K0 ~ K7)当某个逻辑开关置“1”时,相当某组抢答按钮按下。
在七段数码管上将其组号(0~7)显示出来,若为0表示无人抢答。
从键盘上按空格键开始下一轮抢答,按 <ESC>键退出程序。
二. 设计内容1.选用元器件:(1)、并行接口8255:通过编程来指定它要完成的功能,是并行数字设备与微机间的接口。
8255用于输入抢答信息,并输出正确的序号给数码管,以及控制LED灯的亮灭。
本设计中8255A的地址范围设置为1400H—1403H,其中控制口地址为1403H。
而且使用了8255A的A口,B口和C口。
它们均工作在方式0下,其中A口和C口为输出,B口为输入。
(2)、数码管:指示先抢答的组号。
(3)、二极管:指示抢答。
(4)、开关:作为抢答者的按钮。
2.基础实验一:8255基本输入输出能够在自行设计的接口开发板上,实现拨动开关控制LED的亮灭。
(软件代码命名为:8255.ASM,代码要求用小写字母,且必须经过优化,源代码小于<95行,每条指令算1行,伪指令也算1行)3.基础实验二:流水灯设计实现能够在自行设计的接口开发板上,实现拨动不同开关控制LED灯的变化。
例如,K1从左往右,K2从右往左,K3从中间向两边,K4从两边向中间依次亮灭变化,按主机键盘任意键退出。
(软件代码命名为:TEST2.ASM,代码要求用小写字母,且必须经过优化,源代码小于<85行,每条指令算1行,伪指令也算1行)4.基础实验三:数码管应用能够在自行设计的接口开发板上,上电数码管显示0到7,实现拨动不同开关,数码管显示该开关位置值(1-8);若同时拨动两个以上开关,则数码管显示“E”。
(软件代码命名为:8SEGMENT.ASM,代码要求用小写字母,且必须经过优化,源代码小于<100行,每条指令算1行,伪指令也算1行)5.抢答器:用逻辑开关模拟竞赛抢答器按钮(共8个开关:K0 ~ K7)当某个逻辑开关置“1”时,相当某组抢答按钮按下。
《微机原理与接口技术》课程设计报告姓名:小白学号:08080808姓名:小黑学号:09090909指导教师:白加黑日期: 2018.12竞赛抢答器设计一、设计内容开关K0-K7代表竞赛抢答按钮0-7号,当某个逻辑电平开关置“1”时,相当于某组抢答按钮按下,在七段数码管上将其组号<0-7)显示出来,并使喇叭响一下。
发一个脉冲开始下一轮抢答,按其他键程序退出。
同时考虑抢答允许时间,10秒内有效,10秒之后无人抢答,本次抢答作废。
二、设计思路:抢答器设计可分为以下几部分:开始抢答信号的接收;计时器的倒计时;检查抢答按钮并显示在数码管上;任意键退出程序。
对此,我们选用可编程并行接口芯片8255A,采用方式0,PA接口做输入,接收抢答信号,并用PB接口做输出通过编程将抢答组号输出到数码管显示。
PC接口用PC0接扬声器通过芯片控制其发声,PC7接口接收开始的脉冲信号,当接收到高电平时开始一轮抢答。
定时器我们选用可编程定时/计数器8254.,采用方式0在计数结束时产生正跃变信号。
我们使用计数器0,其中GA TE0接8255的PC1端口,高电平时开始计数,OUT0接8255的PC6,CLK0接实验箱上的频率为1HZ的脉冲发生器,当做1秒计时信号。
编程对8255A初始化后,开始时由脉冲发生器产生一个正脉冲被8255A的PC7接收,8255A则通过PC1输出高电平使定时器8254工作;这之前通过编程使8254实现10秒倒计时。
当8254开始计时时,8255循环检查PA端口和PC6端口,若有人抢答,则PA 端口有高电平输入,此时若PC6仍然低电平,则抢答有效,通过编好的程序判断是第几组抢答,并通过PB端口输出一段01代码使数码管显示组号,同时PC0端口产生高电平使扬声器发声;若循环时PA端口一直低电平而PC6产生高电平,说明时间已到,PC0端口产生高电平使扬声器发声。
扬声器发声后,编程使8254定时2秒,并在时间到时OUT0发出高电平通知8255A使之将PC0输出变为低电平,扬声器停止发声。
微机原理课程设计报告--数字式竞赛抢答器信息工程学院课程设计报告设计题目: 数字式竞赛抢答器名称: 微机原理与接口课程设计班级: 通信1101班姓名: 胡政权潘爽学号: 2011013825 2011013836设计时间: 12月9日至12月22日指导教师: 王本有评语:评阅成绩: 评阅教师:一、课程设计的性质和目的课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力的重要教学环节。
它具有动手、动脑和理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一个重要教学环节。
通过课程设计,要求学生熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,使学生得到微机开发应用方面的初步训练。
让学生独立或集体讨论设计题目的总体设计方案、编程、软件硬件调试、编写设计报告等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。
通过本次课程设计使学生熟练掌握微机系统与接口扩展电路的设计方法,熟练应用8086汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法。
通过课程设计实践,不仅要培养学生事实求是和严肃认真的工作态度,培养学生的实际动手能力,检验学生对本门课学习的情况,更要培养学生在实际的工程设计中查阅资料,撰写设计报告表达设计思想和结果的能力。
二、课程设计的要求1、遵循硬件设计模块化。
2、要求程序设计结构化。
3、程序简明易懂,多运用输入输出提示,有出错信息及必要的注释。
4、要求程序结构合理,语句使用得当。
5、适当追求编程技巧和程序运行效率。
三、主要仪器设备及软件PC机、MASM汇编软件、PROTEUS仿真软件等。
四、课程设计题目及要求(一)设计题目数字式竞赛抢答器(二)硬件设计1、设计一个可容纳4组(或更多)参赛的数字式抢答器,每组设一个按钮,供抢答使用。
汇编及接口技术课程设计题目:竞赛抢答器班 级: 110602学 号: ******XXX姓 名: XX XX时 间: 2013-12-30成绩:目录一、设计目的 (2)二、设计内容 (2)三、设计方案思路 (2)四、硬件连线图 (4)五、程序流程图 (4)六、源程序 (5)七、调试过程 (8)八、总结 (8)一、设计目的1. 了解微机控制的竞赛抢答器的基本原理。
2. 进一步熟练8255、(8254)的使用。
二、设计内容设计一个7路的智力竞赛抢答器。
要求:1、在主持人侧,设置抢答指示电路和启动/复位开关。
选手侧各设置1个抢答按钮。
2、使用开关K8代表启动/复位开关,K8向上拨时,表示启动一次抢答,绿色发光二极管亮作允许抢答指示。
此时选手侧可以按动各自的抢答按钮。
3、使用实验仪的逻辑电平开关K1-K7来代表7个抢答按钮。
当开关向上拨时表示按下按钮。
4、收到第1个抢答信号后,主持人侧红色发光二极管亮(绿色发光二极管灭)作抢答指示,并且在单个LED数码管显示抢先一组的组别。
5、主持人向下拨K8,代表复位操作,指示灯和数码管熄灭。
6、主持人可以再次向上拨动K8,启动下一次抢答。
7、通过8255、8254完成设计。
三、设计方案思路1、设计思路首先初始化8255,然后判断是启动还是复位操作,若是复位操作,则控制8255输出的数据使绿色和红色指示灯、LED数码管全灭;否则启动下一次抢答,使绿色发光二极管亮,当8255的输入口A有不为0的数据时,则使红色发光二极管点亮、并判断先拨动开关的组号,在LED上显示出其组号。
2、使用设备并行接口8255:通过编程来指定它要完成的功能,是并行数字设备与微机间的接口。
数码管:指示先抢答的组号。
二极管:指示抢答。
开关:作为抢答者的按钮。
3、可编程并行接口接口芯片8255A(1)8255A内部结构8255A芯片是一个采用NMOS工艺制造的40引脚双列直插式(DIP)封装组件。
8255A有3个8位数据端口,即A口、B口及C口,它们都可以分别作为输入口或输出口使用;A组控制与B组控制;读/写控制逻辑;数据总路线缓冲器。
《微机原理及接口技术》课程设计报告题目:竞赛抢答器的设计1、设计目的1)了解竞赛抢答器的设计原理和方法。
2)掌握定时/计数器、并行接口芯片和中断控制的工作原理与使用方法。
2、所用元器件1)80X86系列微机一台。
2)定时、计数器、并行接口芯片。
3)基本TTL电路芯片,七段数码管。
3、设计内容及步骤1)设计要求(1)可供4组同时抢答,由按钮控制。
(2)能显示出最先抢答的组号,而对其他组的抢答不予理睬。
(3)对主持人未曾按启动扭之前就按抢答按钮的犯规组,亮红灯警告。
(4)对抢答后的回答时间进行计时控制,如回答超时,则以音响报警。
2)撰写设计报告(1)各个硬件模块设计和原理图(2)各个软件模块设计和流程图4、硬件设计1)总体设计由于本次实验要用到数码显示、中断控制、倒计时等功能,故初步分析,需要8255、8253等芯片。
经过小组成员讨论,认为本实验的关键是准确判断出最先抢答者的信号并锁存,而同时不理睬其他抢答者的信号。
为此,可将4个抢答按钮信号通过一个4位并行输入口接至微机中。
当主持人启动抢答过程后,微机通过该并行输入口循环对4路抢答信号进行采样。
当采样到那一组的抢答信号已经发出,则立即停止采样,并记录下该组的组号,每路抢答按钮电路可以参考下图进行设计。
图1 路抢答按钮电路由图可知,当4组均未按下抢答按钮时,送入到并行接口的4位抢答状态都是0,而当微机采样到这4位数据不为0时,则表示有一组获得了抢答机会,然后通过逐位口查询个位口状态,即可判断出哪一组抢答成功,最后利用并行输出接口将抢答成功的组号现实出来.在实验中,可以仅用一位7段数码管来显示抢答选手的组号.为了对抢答后的回答时间进行计时控制,可以利用一个可编程定时计时器,先置计数初值,再计时,当计时时间到后,由并行接口输出一个响铃信号提示抢答选手的回答时间已到。
由于本系统要求对犯规的组亮红灯警告,所以要设置一个启动按键,在主持人按下启动按键之前,如果有抢答钮被按下,则该抢答选手犯规,可以通过并行接口输出一个信号使该组的红色发光二级管点亮以示该组选手犯规。
汇编及接口技术课程设计题目:竞赛抢答器班 级: 110602学 号: ******XXX姓 名: XX XX时 间: 2013-12-30成绩:目录一、设计目的 (2)二、设计内容 (2)三、设计方案思路 (2)四、硬件连线图 (4)五、程序流程图 (4)六、源程序 (5)七、调试过程 (8)八、总结 (8)一、设计目的1. 了解微机控制的竞赛抢答器的基本原理。
2. 进一步熟练8255、(8254)的使用。
二、设计内容设计一个7路的智力竞赛抢答器。
要求:1、在主持人侧,设置抢答指示电路和启动/复位开关。
选手侧各设置1个抢答按钮。
2、使用开关K8代表启动/复位开关,K8向上拨时,表示启动一次抢答,绿色发光二极管亮作允许抢答指示。
此时选手侧可以按动各自的抢答按钮。
3、使用实验仪的逻辑电平开关K1-K7来代表7个抢答按钮。
当开关向上拨时表示按下按钮。
4、收到第1个抢答信号后,主持人侧红色发光二极管亮(绿色发光二极管灭)作抢答指示,并且在单个LED数码管显示抢先一组的组别。
5、主持人向下拨K8,代表复位操作,指示灯和数码管熄灭。
6、主持人可以再次向上拨动K8,启动下一次抢答。
7、通过8255、8254完成设计。
三、设计方案思路1、设计思路首先初始化8255,然后判断是启动还是复位操作,若是复位操作,则控制8255输出的数据使绿色和红色指示灯、LED数码管全灭;否则启动下一次抢答,使绿色发光二极管亮,当8255的输入口A有不为0的数据时,则使红色发光二极管点亮、并判断先拨动开关的组号,在LED上显示出其组号。
2、使用设备并行接口8255:通过编程来指定它要完成的功能,是并行数字设备与微机间的接口。
数码管:指示先抢答的组号。
二极管:指示抢答。
开关:作为抢答者的按钮。
3、可编程并行接口接口芯片8255A(1)8255A内部结构8255A芯片是一个采用NMOS工艺制造的40引脚双列直插式(DIP)封装组件。
8255A有3个8位数据端口,即A口、B口及C口,它们都可以分别作为输入口或输出口使用;A组控制与B组控制;读/写控制逻辑;数据总路线缓冲器。
(2)8255A主要的外部引脚PA7~PA0:A口的8条I/O线。
8条线只能同时作为输入或输出,不能分开使用,可设置成双向口,也只有A口允许这样做。
PB7~PB0:B口的8条I/O线。
不可以设置成双向口,其它和A口一样。
PC7~PC0:C口的8条I/O线。
不可以设置成双向口,但它可以分拆为两组即高4位和低4位,这两组可以任意设置为输入或输出。
除了作为独立的I/O线外,C口还经常为A口、B口服务,配合A口、B口作联络线使用。
A1、A0:端口地址选择信号。
用于选择8255A的3个数据端口和一个控制口。
当A1A0=00时,选择端口A;为01时,选择端口B;为10,选择端口C;为11时,选择控制口。
(3)8255A工作方式方式0:基本的输入/输出方式。
A口、B口、C口都可以工作在些方式下。
方式1:选通输入/输出方式(应答方式)。
A口、B口工作在此方式下。
方式2:双向传输方式。
只有A口可以工作在此方式下。
D7 D6、D5 D4 D3 D2 D1 D01 A口A口C口高4位B口B口C口低4位00 方式001 方式11x 方式2 0 输出1 输入0 输出1 输入0方式01方式10 输出1 输入0 输出1 输入1~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四、硬件连线图五、程序流程图六、源程序MY_DATA SEGMENTP8255_A DW 0c800HP8255_B DW 0c801HP8255_C DW 0c802HP8255_M DW 0c803HKL DB ? ;数码管位选信号SGTB DB 0C0H,0F9H,0A4H,0B0H,099H,92H,82H,0F8H DB 080H,90H,88H,83H,0C6H,0A1H,86H,8EHMY_DATA ENDsMY_CODE SEGMENT;MY_PROC PROC FAR ;ASSUME CS:MY_CODE, DS:MY_DATA START: MOV AX,MY_DATAMOV DS,AXMOV DX,P8255_MM OV AL,82H ;写8255控制字A、B输出O UT DX,AL ;PA输出、PB输入、PC输出NEW: MOV DX,P8255_BIN AL, DXTEST AL,80H ;K8=1?JNZ NEXTREST: NOPMOV DX,P8255_CM OV AL,0C0H ;O UT DX,ALJMP NEW;-------------------------------------------NEXT: MOV DX,P8255_BIN AL, DXTEST AL,01111111BJNZ WT1MOV DX,P8255_MMOV AL,0EHOUT DX,AL ;PC7=0MOV AL,0DH ;PC6=1OUT DX,ALJMP NEW;-------------------------------------------WT1: NOPWT2: MOV DX,P8255_MMOV AL,0FHOUT DX,AL ;PC7=1MOV AL,0CH ;PC6=0OUT DX,AL;JMP NEW;---------------------------------------------------k1: NOPMOV DX,P8255_BIN AL,DXTEST AL,01HJZ K2MOV AL,0F9HJMP DONEK2: TEST AL,02HJZ K3MOV AL,0A4HJMP DONEK3: TEST AL,04HJZ K4MOV AL,0B0HJMP DONEK4: TEST AL,08HJZ K5MOV AL,099HJMP DONEK5: TEST AL,10HJZ K6MOV AL,92HJMP DONEK6: TEST AL,20HJZ K7MOV AL,82HJMP DONEK7: TEST AL,40HJZ K9MOV AL,0F8HJMP DONEK9: JMP NEW;---------------------------------------- DONE: NOPMOV DX,P8255_AOUT DX,ALMOV DX,P8255_CMOV AL,0F4HOUT DX,ALJMP NEWMY_CODE endsend start七、调试过程(1)实验步骤1)硬件连线8255模块的WR、RD分别连到ISA总线接口的IOWR、IORD。
k8255模块的数据(AD0~7)、地址线(A0~7)分别连到ISA总线接口数据(LAD0~7)、地址线(LA0~7)。
l8255模块选通线CE连到ISA总线接口模块的IOY0。
m8255的PA0~7连到键盘显示模块的KD0~7;8255的PB0~3连到键盘显示模块的KL1~4。
2)将程序键入电脑上,并保存到D盘(文件名为8255.ASM)。
3)对程序进行调试:首先,进行编译,如有错误,进行改正,直至完全正确,再进行连接,最后运行。
4)拨动开关,观察数码管和二极管的变化。
(2)出现的问题a、程序运行时,L1一直亮,L2不亮。
解决方法:检测L1,L2,出现故障。
则将L1替换为L8,L2替换为L6,即8255 的端口B(如PB2、PB1)分别和发光二极管L6(绿)、L8(红)连接。
b、数码管不亮。
解决方法:由于复位后数码管PB高四位置0,启动后没有进行置1,故在启动时,与L1同时置1.c、四个数码管都亮。
解决方法:将程序K6:MOV DX,PB ;让B口的L1亮L2灭(11111101B),表示有人抢答MOV AL,0FDHOUT DX,AL改为:K6:MOV DX,PB ;让B口的L1亮L2灭(01000100B),表示有人抢答MOV AL,044H ;送位选信号,即第三个亮OUT DX,ALd、一次抢答完后,无法进行下一次抢答。
解决方法:加一个程序JMP K1八、总结通过对抢答器这一课题的设计和实现,使我更好的将理论与实践相结合,我更加深入地理解了,微机原理课程上讲到的并行芯片8255的功能,以及引脚的作用,同时加深了对于该芯片的应用的认识,同时在试验室的环境里熟悉了汇编程序的编写过程和运行过程。
更重要的是通过这个实验,进一步掌握了程序设计的合理结构。
但要达到这样的程度其首要条件还是要学好课本上的基础知识,理解每一条指令的意义。