微机课程设计乒乓球比赛系统设计Word文档格式.docx

上传人:b****3 文档编号:7489107 上传时间:2023-05-08 格式:DOCX 页数:29 大小:1.04MB
下载 相关 举报
微机课程设计乒乓球比赛系统设计Word文档格式.docx_第1页
第1页 / 共29页
微机课程设计乒乓球比赛系统设计Word文档格式.docx_第2页
第2页 / 共29页
微机课程设计乒乓球比赛系统设计Word文档格式.docx_第3页
第3页 / 共29页
微机课程设计乒乓球比赛系统设计Word文档格式.docx_第4页
第4页 / 共29页
微机课程设计乒乓球比赛系统设计Word文档格式.docx_第5页
第5页 / 共29页
微机课程设计乒乓球比赛系统设计Word文档格式.docx_第6页
第6页 / 共29页
微机课程设计乒乓球比赛系统设计Word文档格式.docx_第7页
第7页 / 共29页
微机课程设计乒乓球比赛系统设计Word文档格式.docx_第8页
第8页 / 共29页
微机课程设计乒乓球比赛系统设计Word文档格式.docx_第9页
第9页 / 共29页
微机课程设计乒乓球比赛系统设计Word文档格式.docx_第10页
第10页 / 共29页
微机课程设计乒乓球比赛系统设计Word文档格式.docx_第11页
第11页 / 共29页
微机课程设计乒乓球比赛系统设计Word文档格式.docx_第12页
第12页 / 共29页
微机课程设计乒乓球比赛系统设计Word文档格式.docx_第13页
第13页 / 共29页
微机课程设计乒乓球比赛系统设计Word文档格式.docx_第14页
第14页 / 共29页
微机课程设计乒乓球比赛系统设计Word文档格式.docx_第15页
第15页 / 共29页
微机课程设计乒乓球比赛系统设计Word文档格式.docx_第16页
第16页 / 共29页
微机课程设计乒乓球比赛系统设计Word文档格式.docx_第17页
第17页 / 共29页
微机课程设计乒乓球比赛系统设计Word文档格式.docx_第18页
第18页 / 共29页
微机课程设计乒乓球比赛系统设计Word文档格式.docx_第19页
第19页 / 共29页
微机课程设计乒乓球比赛系统设计Word文档格式.docx_第20页
第20页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

微机课程设计乒乓球比赛系统设计Word文档格式.docx

《微机课程设计乒乓球比赛系统设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《微机课程设计乒乓球比赛系统设计Word文档格式.docx(29页珍藏版)》请在冰点文库上搜索。

微机课程设计乒乓球比赛系统设计Word文档格式.docx

(2)回球需在球到达后的0.5秒内进行(按下按钮),否则按失球计;

(3)球未到达提前按下按钮不起回球作用;

(4)用4个八段码为双方记分(每方2个八段码,10进制计数,初始值0:

0)。

1.3.设计提示

球到达接球方后,立即读接球方的按钮状态,若未按则有效(若已按下则无效),然后不断读此按钮状态,直到按下代表“击球”动作。

二.硬件设计及原理图

2.1.芯片74LS244基本性能及结构

2.1.1.74LS244芯片介绍

74LS244为三态输出的八组缓冲器和总线驱动器。

本课题中74LS244作为总线驱动器,将逻辑电平开关的状态传送至cpu中处理。

2.1.2.芯片引脚及逻辑图

2.2.芯片8255基本性能及结构

2.2.1.8255芯片介绍

8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。

具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。

其各口功能可由软件选择,使用灵活,通用性强。

8255可作为单片机与多种外设连接时的中间接口电路。

8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。

同时必须具有与外设连接的接口A、B、C口。

由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:

与CPU连接部分、与外设连接部分、控制部分。

2.2.2.8255芯片引脚及逻辑图

数据总线DB:

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

地址总线AB:

编号为A0~A1,用于选择A、B、C口与控制寄存器。

控制总线CB:

片选信号、复位信号RST、写信号、读信号。

当CPU要对8255进行读、写操作时,必须先向8255发片选信号选中8255芯片,然后发读信号或写信号对8255进行读或写数据的操作。

A口:

编号为PA0~PA7,用于8255向外设输入输出8位并行数据。

B口:

编号为PB0~PB7,用于8255向外设输入输出8位并行数据。

C口:

编号为PC0~PC7,用于8255向外设输入输出8位并行数据,当8255工作于应答I/O方式时,C口用于应答信号的通信。

RESET:

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

CS:

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

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

RD:

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

WR:

写入信号,当这个输入引脚为低跳变沿时,即/WR产生一个低脉冲且/CS=0时,允许CPU将数据或控制字写入8255。

2.2.38255芯片编程结构及工作原理

并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。

CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位或32位等。

8255A可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能以下三种方式下工作:

方式0:

基输入/输出方式

方式1:

选通输入/输出方式

方式2:

双向选通工作方式

图8255工作方式控制字和C口按位置位/复位控制字

2.3.芯片8279基本性能及结构

2.3.1.8279芯片介绍

8279是Intel公司生产的通用可编程键盘和显示器I/O接口部件。

利用8279,可实现对键盘/显示器的自动扫描,并识别键盘上闭合键的键号,不仅可以大大节省CPU对键盘/显示器的操作时间,从而减轻CPU的负担,而且显示稳定,程序简单,不会出现误动作,由于这些优点,8279芯片日益被设计者所采用。

2.3.2.8279芯片引脚及逻辑图

8279主要由下列部件组成,各部件的作用以及引脚的作用如下:

(1)I/O控制和数据缓冲器

双向的三态数据缓冲器将内部总线和外部总线DBo—DB7,用于传送CPU和8279之间的命令,数据和状态。

为片选信号。

为低电平时,CPU才选中8279读写。

A。

用以区分信息的特性。

当A。

为1时,CPU写入8279的信息为命令,CPU从8279读出的信息为8279的状态。

为0时,I/O信息都为数据。

图18279的引脚图

(2)控制逻辑

控制与定时寄存器用以寄存键盘及显示器的工作方式,锁存操作命令,通过译码产生相应的控制信号,使8279的各个部件完成一定的控制功能。

定时控制含有一些计数器,其中有一个可编程的5位计数器,对外部输入时钟信号进行分频,产生100kHz的内部定时信号。

外部时钟输入信号的周期不小于500ns。

(3)扫描计数器

扫描计数器有两种输出方式。

一种为外部译码方式(也称编码方式),计数器以二进制方式计数,4位计数状态从扫描线SL。

~SL3输出,经外部译码器译码出16位扫描线,另一种为内部译码方式(也称译码方式),即扫描计数器的低二位经片内译码器译码后从SL。

一SL3输出。

(4)键输入控制

这个部件完成对键盘的自动扫描,锁存RL。

~RL7的键输入信息,搜索闭合键,去除键的抖动,并将键输入数据写入内部先进先出(FIFO)的存储器RAM。

(5)FIFORAM和显示缓冲器RAM

8279具有8个先进先出(FIFO)的键输入缓冲器,并提供16个字节的显示缓冲器RAM。

8279将段码写入显示缓冲器RAM,8279自动对显示器扫描,将其内部显示缓冲器RAM中的数据在显示器上显示出来。

IRQ为中断请求输出线,高电平有效。

当FIFORAM缓冲器中存有键盘上闭合键的编码时,IRQ线升高,向CPU请求中断,当CPU将缓冲器中的输入键的数据全部读取时,中断请求线下降为低电平;

SHIFT、CNTL/STB为控制键输入线,由内部拉高电阻拉成高电平,也可由外部控制按键拉成低电平。

RL。

~RL7为反馈输入线,作为键输入线,由内部拉高电阻(或称为上拉电阻)拉成高电平,也可由键盘上按键拉成低电平。

SL。

~SL3为扫描输出线,用于对键盘显示器扫描。

OUTB。

-3、OUTA。

-3为显示段数据输出线,可分别作为两个半字节输出,也可作为8位段数据输出口,此时OUTB。

为最低位,OUTA3为最高位。

BD为消隐输出线,低电平有效,当显示器切换时或使用显示消隐命令时,将显示消隐。

RESET为复位输入线,高电平有效。

当RESET输入端出现高电平时,8279被初始复位。

2.3.38279芯片编程结构及工作原理

CPU通过对8279编程(将命令字写入8279)来选择其工作方式。

8279的操作命令字简述如下:

(1)键盘/显示器方式设置命令字

D7D6D5D4D3D2D1D0

D

K

高三位D7D6D5位为特征位000,D4D3两位用来设定显示方式,其定义如下:

D4D3

显示方式

00

8个字符显示—左边输入

01

16个字符显示—左边输入

10

8个字符显示—右边输入

11

16个字符显示—右边输入

8279最多可用来控制LED显示器显示16位,当显示位数超过8位时,均须设定为16位字符显示。

显示器的每一位对应一个8位的显示缓冲器RAM单元。

CPU将显示数据写入缓冲器时有左边输入和右边输入两种方式。

左边输入是较简单的方式,地址为0~15的显示缓冲器RAM单元分别对应于显示器的0(左)位~15(右)位。

CPU依次从0地址或某一个地址开始将段数据写入显示缓冲器。

当16个显示缓冲器都已写满时(从0地址开始写,写了16次),第17次写,再从0地址开始写入。

右边输入方式是移位输入方式,输入数据总是写入右边的显示缓冲器,数据写入显示缓冲器后,原来缓冲器的内容左移一个字节,原最左边显示器缓冲器的内容被移出。

在右边输入方式中,显示器的各位和显示缓冲器RAM的地址并不是对应的。

若选用内部译码的键扫描方式,字符显示器只接4位。

D2D1D。

为键盘工作方式选择位,如下表,

D2D1D。

操作方式

000

外部译码键扫描方式,双键互锁

001

内部译码键扫描方式,双键互锁

010

外部译码键扫描方式,N键依次读出

011

内部译码键扫描方式,N键依次读出

100

外部译码扫描传感器矩阵方式

101

内部译码扫描传感器矩阵方式

110

选通输入方式,外部译码键扫描方式

111

选通输入方式,内部译码键扫描方式

当设定为外部译码工作方式时,内部计数器作二进制计数,四位二进制计数器的状态从扫描线SL。

-SL3输出,然后在外部进行译码,最多可为键盘/显示器提供16根扫描线(16选1)。

当设定为内部译码工作方式时,内部扫描计数器的低2位被译码后,再由SLo~SL3输出,即此时SLo~SL3已经是4选1的译码信号了。

显然当设定为译码方式时,扫描位数最多为4位。

双键互锁就是当键盘中同时有两个以上的按键被按下对,任何一个键的编码信息均不能进入FIFORAM中,直至仅剩下一键保持闭合时,该键的编码信息方能进入FIFO,这种工作方式可以避免部分误操作信号进入计算机。

N键依次读出的工作方式时,各个键的处理都与其它键无关,按下一个键时,片内去抖动电路等待两个键盘扫描周期,然后检查该键是否仍按着。

如果仍按着,则该键编码就送入FIFORAM中。

一次可以按下任意个键,其它的键也可被识别出来并送入FIFORAM中。

如果同时按下多个键,则按键盘扫描过程发现它们的顺序进行识别,并送入FIFORAM中。

选通输入的工作方式时,RLo-7作为选通输入口,CNTL/STB作为选通信号输入端。

这是只选用显示器没有键盘的工作方式。

扫描传感器矩阵的工作方式,是指片内的去抖动逻辑被禁止掉,传感器的开关状态直接输入FIFORAM中,虽然这种方式不能提供去抖动的功能,但有下述优点:

CPU知道传感器闭合多久,何时释放,在传感器扫描的工作方式下,每当检测到传感器信号(开或闭)改变时,中断线上的IRQ就变为高电平,在外部译码扫描时,可对8×

8矩阵开关状态进行扫描,在内部译码扫描时,可对4×

8矩阵开关的状态进行扫描。

(2)时钟编程命令字

8279的内部定时信号由外部的输入时钟经过分频后产生,分频系数由时钟编程命令字确定,时钟编程命令字格式如下:

1

P

D7D6D5=001为时钟编程命令字的特征位。

D4D3D2D1D0为分频系数,可在2~31次分频中进行选择,将进入8279的时钟频率进行N次分频后,可获得8279内部所需的100kHz的时钟。

内部时钟频率的高低控制着扫描时间和键盘去抖动时间的长短,在8279内部时钟为100kHz时,则扫描时间为5.1ms,去抖动时间为10.3ms。

如果进入8279的时钟频率为2MHz,要获得100kHz的内部时钟信号,则需要20分频,即PPPPP=10100B=20

(3)读FIFORAM命令字

AI

X

A

高3位010为特征位,该命令只在传感器方式时使用。

在CPU读传感器RAM之前,必须用这条命令来设定传感器RAM中的8个地址(每个地址一个字节)。

D2D1D0(AAA)为8个字节地址的起始地址,D4(AI)为多次读时的地址自动增量标志,在键扫描方式中;

AI,AAA均被忽略,CPU读键输入数据时,总是按先进先出的规律读出,直至输入键全部读出为止。

在传感器矩阵扫描中,若AI=1CPU则从起始地址开始依次读出,每次读出后地址自动加1,而不必重新设置读FIFO/传感器RAM命令;

AI=0时,CPU仅读出一个单元的内容。

在键盘工作方式中,由于读出操作严格按照先入先出顺序,因此,不需使用这条命令。

(4)写显示缓冲器RAM命令字

高3位100为该命令字的特征位,该命令给出了显示缓冲器RAM的地址信息,当CPU执行写显示缓冲器RAM时,首先用该命令字给出要写入的显示缓冲器RAM地址,四位二进制代码AAAA可用来寻址显示缓冲器RAM的16个存储单元。

若AI=1,则CPU在第一次写入时须给出地址外,以后每次写入,地址自动加1,直至所有显示缓冲器RAM全部写毕。

若AI=0,则每次写入时需要指出一个地址。

实际上每一个显示缓冲器RAM单元对应着一个字符显示位。

(5)读显示缓冲器RAM命令字

在CPU读显示数据(检查)之前必须先输出读显示缓冲器RAM的命令。

D7D6D5=011是该命令字的特征位。

四位二进制代码AAAA用来寻址显示缓冲器RAM的一个缓冲单元。

AI为自动增量标志,若AI=1,则CPU每次读出后,地址自动加1。

(6)显示屏蔽消隐命令字

IWA

IWB

BLA

BLB

高3位101为该命令字的特征位。

IWA和IWB分别用以屏蔽A组和B组显示缓冲器RAM。

在双4位显示器使用时,即OUTA0-3和OUTBo-3独立地作为两个半字节输出时,可改写显示缓冲器RAM中的低半字节而不影响高半字节的状态(D3=1),反之D2=1时可改写高半字节而不影响低半字节。

BL位是消隐特征位,要消隐两组显示输出,必须使D。

、Dl同时为1,BL=0时则恢复显示。

(7)清除命令字

CD

CF

CA

该命令字用来消除FIFORAM和显示缓冲器RAM。

其中D4D3D2(CD)三位用来设定消除显示缓冲器RAM的方式,其定义如下:

CF(D1)位用来置空FIFORAM,当D1=1时,执行清除命令后,FIFORAM被置空,使中断输出线IRQ复位;

同时传感器RAM的读出地址也被置0。

D4D3D2

消除显示缓冲器RAM的方式

10X

将显示RAM全部清0

将显示RAM全部消20H

将显示RAM全部置1

0XX

不清除

CA(Do)是总清除的特征位,它兼有CD和CF的联合效用。

当CA=1时,对显示RAM的清除方式由D3和D2的编码确定。

清除显示缓冲揣RAM大约需100μs时间,在此时间,CPU不能向显示缓冲器ARM写入数据。

(8)结束中断/错误方式设置命令

3.状态字节

8279的状态字节用于键输入和选通输入方式中,指出FIFORAM中的字符个数和是否出错,状态字的格式如下:

DU

S/E

O

U

F

N

D2D1D0表示FIFORAM中数据的个数。

D3在F=1时,表示FIFORAM已满(存有8个键入数据)。

D4在FIFORAM中没有输入字符时,CPU对FIFORAM读则置“1”。

D5当FIFO已满,又输入一个字符时发生溢出置“1”。

D6的S/E用于传感器矩阵输入方式,几个传感器同时闭合时置“1”。

D7在清除命令执行期间该位为“1”,D7为1时对显示RAM写操作无效。

4.输入数据格式

在键扫描方式中,键输入数据格式如下:

CNHL

SHIFT

SCAN

RETURN

D2~D0指出输入键所在的列号(RL0-7状态确定)。

D5~D3指出输入键所在的行号(扫描计数值)。

D6控制键SHIFT的状态。

(内部上拉,按下为0)

D7控制键CNTL的状态,(内部上拉,按下为0)

控制键CNTL,SHIFT为单独的开关键。

CNTL与其它键连用作特殊命令键,SHIFT可作为上下档控制键。

当SHIFT接按键(对地),可与键盘(8x8)配合,使键盘各键具有上、下键功能,这样键盘可扩充到128个键。

CNTL线可接一键用作控制键,这样,最多可扩充到256键。

在传感器扫描方式或选通输入方式中,输入数据即为RL0~RL7的输入状态。

RL7

RL6

RL5

RL4

RL3

RL2

RL1

RL。

2.4.各芯片电路原理图

三.程序流程图

3.1.设计流程图

3.2.游戏机原理图

四.源程序清单及注释

CODESEGMENT

ASSUMECS:

CODE

START:

callCLEAR_LED

MOVDX,2B3H;

8279的控制端口

MOVAL,00000000B

OUTDX,AL;

写入8279控制端口工作模式

MOVDX,2B0H;

8279数据端口

MOVCL,00H

MOVAL,3Fh

OUTDX,AL;

对数码管显示进行设置3F显示为零

OUTDX,AL

MOVAL,3fh

OUTDX,AL

MOVAL,00h

movCH,0h

youyi:

;

球向右移动

MOVal,10010000B;

方式0,基本的输入输出方式,,输入

movdx,28bh

outdx,al;

访问8255控制端口

Ql:

movdx,288h;

8255,选中A端口

INAL,DX;

TESTAL,01H

JZQl;

8255定时,输出到8255的pc4口,读取该口判断

MOVDX,289H;

8255,选中B端口

moval,80h

notal;

取反之后01111111

outdx,al

MOVBL,AL

Q2:

movdx,288h

INAL,DX

TESTAL,01H;

判断球是否到达最右端

JZQ2

movdx,289h

inal,dx

TESTal,01h

JZyjq;

movAL,00H

CALLD

callD

CALLD;

调用延时程序

MOVAL,BL

ROrAL,1;

循环右移指令

movdx,289h

OUTDX,AL

MOVBL,AL

JMPQ2

D:

INCAL;

一直自增,到11111111延时

CMPAL,0FFH;

11111111

NOP

JNZD

pushcx

movcx,30000

de1:

movdx,0ffh

de0:

decdx

jnzde0

loopde1

popcx

D1:

INCDX

CMPDL,0FFFFH

JNZD1

MOVDX,00H

D2:

JNZD2

MOVDX,00H

D3:

CMPDL,0ffffH

JNZD3

D4:

JNZD4

D5:

CMPDL,0FFFFH

JNZD5

D6:

JNZD6

RET

yjq:

;

右边击球,和左边选手击球程序一样

movdx,290h

testal,01h

jnzzjfen

jmpzuoyi

zjfen:

左计分

incCH

CALLREINPUT

JMPyouyi

zuoyi:

moval,10010000B

movdx,28bh

outdx,al

Q4:

MOVDX,288H

TESTAL,01H

JZQ4

MOVDX,289H

moval,01h

notal

MOVBL,AL

Q5:

INAL,DX

JZQ5

te

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

当前位置:首页 > IT计算机 > 电脑基础知识

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

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