竞赛抢答器微机原理课程设计.docx

上传人:b****3 文档编号:4472066 上传时间:2022-12-01 格式:DOCX 页数:15 大小:732.80KB
下载 相关 举报
竞赛抢答器微机原理课程设计.docx_第1页
第1页 / 共15页
竞赛抢答器微机原理课程设计.docx_第2页
第2页 / 共15页
竞赛抢答器微机原理课程设计.docx_第3页
第3页 / 共15页
竞赛抢答器微机原理课程设计.docx_第4页
第4页 / 共15页
竞赛抢答器微机原理课程设计.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

竞赛抢答器微机原理课程设计.docx

《竞赛抢答器微机原理课程设计.docx》由会员分享,可在线阅读,更多相关《竞赛抢答器微机原理课程设计.docx(15页珍藏版)》请在冰豆网上搜索。

竞赛抢答器微机原理课程设计.docx

竞赛抢答器微机原理课程设计

课程设计

 

课程设计名称:

微机原理应用课程设计

专业班级:

学生姓名:

学号:

指导教师:

课程设计时间:

2014.12.22---2015.1.2

 

计算机科学与技术专业课程设计任务书

学生姓名

专业班级

学号

题目

竞赛抢答器

课题性质

A

课题来源

自拟课题

指导教师

同组姓名

主要内容

逻辑开关K0~K7代表竞赛抢答按钮0~7号或者是A,b,C,d,E,F,-,P,当某个逻辑电平开关置“1”时,相当某组抢答按钮按下。

在七段数码管上将其组号(0~7)或者(A,b,C,d,E,F,-,P,)显示出来,并使微机扬声器响一下。

任务要求

设置8255为C口输入、A口输出,读取C口数据,若为0表示无人抢答,若不为0则有人抢答。

根据读取数据可判断其组号。

从键盘上按空格键开始下一轮抢答,按其它键程序退出。

参考文献

[1]李顺增,《微机原理及接口技术》,机械工业出版社,2006年第一版

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

[3]王远,《模拟电子技术》,机械工业出版社

[4]周国祥,《微机原理与接口技术》,中国科学技术大学出版社

[5]康华光,《电子技术基础数字部分》,高等教育出版社

[6]潘峰,《微机原理与汇编语言》,电子工业出版社

 

审查意见

指导教师签字:

教研室主任签字:

年月日

信息科学与工程学院课程设计成绩评价表

课程名称:

微机原理课程设计

设计题目:

竞赛抢答器

专业:

计算机科学与工程学院班级:

姓名:

学号:

2

序号

评审项目

分数

满分标准说明

1

内容

思路清晰;语言表达准确,概念清楚,论点正确;实验方法科学,分析归纳合理;结论严谨,设计有应用价值。

任务饱满,做了大量的工作。

(20分)

2

创新

内容新颖,题目能反映新技术,对前人工作有改进或突破,或有独特见解。

(10分)

3

完整性、实用性

整体构思合理,理论依据充分,设计完整,实用性强(10分)

4

数据准确、可靠

数据准确,公式推导正确(10分)

5

规范性

设计格式、绘图、图纸、实验数据、标准的运用等符合有关标准和规定(10分)

6

纪律性

能很好的遵守各项纪律,设计过程认真(20分)

7

答辩

准备工作充分,回答问题有理论依据,基本概念清楚。

主要问题回答简明准确。

在规定的时间内作完报告。

(20分)

总分

 

指导教师年月日

竞赛抢答器

摘要

随着我国经济和文化事业的发展,当今的社会竞争日益激烈,在很多竞争场合要求有快速公正的竞争裁决,例如证券,股票交易,选拔人才,评选优胜及各种智力竞赛等。

抢答器在我们的生活中应用的非常广泛,特别是在一些智力抢答比赛中,抢答器的应用显得尤为重要。

本次的课程设计我们将深入探讨抢答器的工作原理及软件和硬件的实现方法。

关键字:

抢答器数码管硬件图软件编程

1设计目的

1)了解微机化竞赛抢答器的基本原理。

2)进一步学习使用并行接口

2设计要求

逻辑开关K0~K7代表竞赛抢答按钮0~7号,当某个

逻辑电平开关置“1”时,相当某组抢答按钮按下。

在七段数码管上将其组号显示出来,并使微机扬声器响一下。

设置8255为C口输入、A口输出,读取C口数据,若为0表示无人抢答,若不为0则有人抢答。

根据读取数据可判断其组号。

从键盘上按空格键开始下一轮抢答,按其它键程序退出。

3主要器件

1)8255A接口芯片:

用来实现数据的输入及输出显示

2)74LS244锁存器:

用来锁存数据

3)七段数码管:

用来显示抢答小组的的组号

4)逻辑开关:

用于各个小组进行抢答

48255的基本介绍和控制方式的选择

Intel8086/8088系列的可编程外设接口电路(ProgrammablePeripheralInterface)简称PPI,型号8255(改进型为8255A及8255A-5),具有24条输入/输出引脚,可编程的通用并行输入/输出接口电路。

它是一片使用单个——+5V

电源的40脚双列直插式大规模集成电路。

8255A的通用性强,使用灵活,通过它CPU可直接与外设相连接。

8255A在使用前要写入一个方式控制字,选择A,B,C三个端口各自的工作方式,共三种:

方式0:

基本的输入输出方式,及无需联络就可以直接进行的I/0方式。

其中A,

B,C口的高四位或低四位可分别设置成输入或输出。

方式1:

选通I/O,此时接口与外围设备需联络信号进行协调,只有A口和B口

可以工作在方式1,此时C口的某些线被规定为A口或B口与外围设备

的联络信号,雨下的线只有基本的I/O功能,即只工作在方式0.

方式2:

双向I/O方式,只有A口可以工作在这种方式,该I/O线既可输入又可输出,此时C口有五条线被规定为A口和外围设备的双向联络线,C口剩下的三条线可作为B口方式1的联络线,也可以和B口一起作为方式0的I/O线。

8255A是一个并行输入,输出器件,具有24个可编程设置的I/O口,包括3组8位的I/O为PA口,PB口,PC口,又可分为2组12位的I/O口:

A组包括A口和C口高四位,B组包括B口及C组的低四位。

D7

D6D5

D4

D3

D2

D1

D0

1

A口

A口

C口高四位

B口

B口

C口低四位

00方式0

01方式1

0x方式2

0输出

1输入

0输出

1输入

0方式0

1方式1

0输出

1输入

0输出

1输入

D7:

标志位

D6-D5:

端口A方式选择(0-2)

D4:

端口A输入输出方式

D3:

端口C高四位输入输出选择

D2:

端口B方式选择(0-1)

D1:

端口B输入输出选择

D0:

端口C低四位输入输出选择

使用8255A前必须根据CPU类型进行数据线连接如果使用8088CPU则需将8位数据线与8255A数据线连接,如果是8086CPU则需将8255A数据线与CPU数据线的低八位连接,进行操作时必须使用偶地址。

因为本课题不需要中断,只是单独PC口的输入和PS口的输出,故选择PA口的方式0并定义为输出,PC口定义为输入模式。

PB端口未使用设为默认输出端口。

所以控制字为10001001B=89H

574LS244

74LS244为3态8位缓冲器,一般用作总线驱动器。

74LS244没有锁存的功能。

地址锁存器就是一个暂存器,它根据控制信号的状态,将总线上地址代码暂存起来。

8086/8088数据和地址总线采用分时复用操作方法,即用同一总线既传输数据又传输地址。

它主要用于三态输出,作为地址驱动器、时钟驱动器、总线驱动器和定向发送器等。

74Ls244真值表示:

L表示低电平,H表示高电平,X表示不定状态,Z表示高阻态

6数码管显示

LED的管脚

h,g,f,e,d,c,b,a

对应的字形

对应存放在内存单元的字形码

11111001

10100100

10110000

10011001

10010010

11100010

11111000

10000000

1

2

3

4

5

6

7

8

0f9H

0a4H

0b0H

99H

92H

82H

0f8H

80H

LED的管脚

h,g,f,e,d,c,b,a

对应的字形

对应存放在内存单元的字形码

01110111

00111100

00111001

01011110

01111001

01110001

01000000

01110011

A

B

C

D

E

F

-

P

77H

3cH

39H

5eH

79H

71H

40H

73H

数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。

共阳极数码管是指将所有发光二极管的阳极接到一起,形成公共阳极(COM)的数码管。

共阳极数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。

当某一字段的阴极为高点平时,相应字段就不亮。

共阴数码管是指将所有发光二极管的阴极接到一起,形成公共阴极(COM)的数码管。

共阴数码管在应用时应将公共极COM接到底线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。

当某一字段的阳极为低电平时,相应字段就不亮。

7硬件连接电路图

8流程图

9程序

datasegment

io8255aequ288h;写端口A

io8255cequ28ah;写端口C

io8255ctequ28bh;写方式控制字

leddb3fh,06h,5bh,4fh,66h,6dh,7dh,07h;数码表1对应0~7

;leddb77h,7ch,39h,5eh,79h,71h,40h,73h

;数码表2对应A,b,C,d,E,F,-,P

dataends

codesegment

assumecs:

code,ds:

data

start:

movax,data

movds,ax

;初始化8255芯片

movdx,io8255ct;设8255为A口输出,C口输入

movax,89h;方式控制字为10001001B,方式0

outdx,al;将al输出到io8255b,即地址28bh

;从8255的端口C读取信息

movbx,offsetled;使BX指向段码管首址

sss:

movdx,io8255c;地址28ah

inal,dx;从8255的C口io8255c输入数据

oral,al;判断al是否为0

jesss;若al为0,则表明无键按下,转sss

;若有键按下,即有人抢答

movdl,06h;输出ACK字符,作为计数

movah,02

int21h

;判断是哪位按键按下

movcl,0ffh;cl作计数器,初值为-1,-1补码为11111111B

rr:

shral,1;al逻辑右移一位,最高位补0,最低位进入CF

inccl;cl+1

jncrr;若无进位,即CF=0,此次移位前最低位为0,此最低位对应的键未按下

;若检测到按下的位

moval,cl;alcl对应的ASCII码

xlat;alds:

[bx+al],将bx缓冲区中,al偏移地址下对应的一个段码管代码,换给al

movdx,io8255a;A口地址288h

outdx,al;将al输出到A口,数码管显示数字0~7

;输出响铃字符,提示停止本轮抢答

movdl,7;响铃对应的ASCII码为07h

movah,2

int21h

;从键盘输入一个字符,控制是否允许抢答

wai:

movah,1;从键盘输入一个字符

int21h;显示输入的字符

cmpal,20h;判断输入字符是否为空格,ASCII码为20h

jneeee;不是空格,转eee,停止抢答(即不允许开始下一轮抢答)

;若从键盘输入的字符是空格

moval,0;是空格,灭灯,空操作ASCII码为00h

movdx,io8255a;地址288h

outdx,al;将灭灯信号输出到A口,数码管不显示内容

jmpsss;开始下一轮抢答

eee:

movah,4ch;执行结束,返回DOS

int21h

codeends

endstart;汇编结束

10运行结果

 

Enter6次

Esc8次

 

该开始时,未按执行程序前

K7置1

K3置1

 

K2置1

K0置1

 

所有逻辑开关复位后并按空格键

 

K5置1

 

K7置1

 

11总结

转眼间两周的微机原理应用课程设计就要结束了,通过这次课程设计,我学会了很多课本上学不到的东西,同时也加强了我的动手,思考和解决问题的能力,受益匪浅。

在课程设计过程中,我和另外一位同学分工也非常的明确。

我觉得对课本知识的巩固和加强,由于课本上的知识太多,同时平时课间又没有很好的理解芯片的功能,并且考试的内容有限,所以在课程设计的过程中,我们了解了很多元件的功能,对其在电路中的使用有更多的认识。

通过课程设计后我了解到有些知识只要深入的了解,探究,你会发现很多有意思的东西,会让你非常有成就感,即使在解决问题的时候同时伴随着许多你所不能解决的问题。

在不断发现问题和解决问题中前进。

从前的学习过程过于肤浅,只是流于表面的理解,而现在要做课程设计,就不得不要求我们对所用到的知识有更深层次的的理解。

因为课程设计的内容比及书本中的理论知识而言,更接近于现实生活,而理论到实践的转化往往是一个艰难的过程。

12遗留问题

在答辩的时候老师留给了我们组一个问题就是对每一组的抢答次数做一下统计。

我和同组的另一位同学对这个问题想了好久.首先我们想到要想统计每位的抢答次数只有在逻辑右移时利用CL的数值来确定,但是统计的次数又怎样来存储呢,还有就是不是简简单单只统计一位的抢答次数,是八位中的每一位的抢答次数都要统计,变量怎样设又该怎样存储以及又该通过怎样的方式同时显示他们的抢答次数。

由于目前我的编程能力有限对这些问题不能很好的解决,只对比赛进行的次数进行了统计,每比赛一次就输出一个小树苗,本次实验分别是比赛六次按出车键结束和比赛八次按ESC键结束,并抓了相应的结果显示图

13参考文献

[1]李顺增,《微机原理及接口技术》,机械工业出版社,2006年第一版

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

[3]王远,《模拟电子技术》,机械工业出版社

[4]周国祥,《微机原理与接口技术》,中国科学技术大学出版社

[5]康华光,《电子技术基础数字部分》,高等教育出版社

[6]潘峰,《微机原理与汇编语言》,电子工业出版社

 

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

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1