中国矿业大学硬件课程设计(拔河游戏机).docx

上传人:wj 文档编号:631571 上传时间:2023-04-29 格式:DOCX 页数:47 大小:2.23MB
下载 相关 举报
中国矿业大学硬件课程设计(拔河游戏机).docx_第1页
第1页 / 共47页
中国矿业大学硬件课程设计(拔河游戏机).docx_第2页
第2页 / 共47页
中国矿业大学硬件课程设计(拔河游戏机).docx_第3页
第3页 / 共47页
中国矿业大学硬件课程设计(拔河游戏机).docx_第4页
第4页 / 共47页
中国矿业大学硬件课程设计(拔河游戏机).docx_第5页
第5页 / 共47页
中国矿业大学硬件课程设计(拔河游戏机).docx_第6页
第6页 / 共47页
中国矿业大学硬件课程设计(拔河游戏机).docx_第7页
第7页 / 共47页
中国矿业大学硬件课程设计(拔河游戏机).docx_第8页
第8页 / 共47页
中国矿业大学硬件课程设计(拔河游戏机).docx_第9页
第9页 / 共47页
中国矿业大学硬件课程设计(拔河游戏机).docx_第10页
第10页 / 共47页
中国矿业大学硬件课程设计(拔河游戏机).docx_第11页
第11页 / 共47页
中国矿业大学硬件课程设计(拔河游戏机).docx_第12页
第12页 / 共47页
中国矿业大学硬件课程设计(拔河游戏机).docx_第13页
第13页 / 共47页
中国矿业大学硬件课程设计(拔河游戏机).docx_第14页
第14页 / 共47页
中国矿业大学硬件课程设计(拔河游戏机).docx_第15页
第15页 / 共47页
中国矿业大学硬件课程设计(拔河游戏机).docx_第16页
第16页 / 共47页
中国矿业大学硬件课程设计(拔河游戏机).docx_第17页
第17页 / 共47页
中国矿业大学硬件课程设计(拔河游戏机).docx_第18页
第18页 / 共47页
中国矿业大学硬件课程设计(拔河游戏机).docx_第19页
第19页 / 共47页
中国矿业大学硬件课程设计(拔河游戏机).docx_第20页
第20页 / 共47页
亲,该文档总共47页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

中国矿业大学硬件课程设计(拔河游戏机).docx

《中国矿业大学硬件课程设计(拔河游戏机).docx》由会员分享,可在线阅读,更多相关《中国矿业大学硬件课程设计(拔河游戏机).docx(47页珍藏版)》请在冰点文库上搜索。

中国矿业大学硬件课程设计(拔河游戏机).docx

硬件课程设计报告

献给各位矿大学弟

姓 名:

学 号:

专 业:

计算机科学与技术

班 级:

计算机科学与技术

设计题目:

拔河游戏机

指导教师:

2015年1月16 徐州

课程设计指导教师评阅书

指导教师评语:

成绩:

指导教师签字:

2015 年 1 月 16

摘要

随着科学技术的不断发展,促使人们学科学、学技术、学知识的手段多种

多样。

拔河游戏机作为一种工具,已经广泛应用于各种智力抢答竞赛场合。

但拔河机的使用频率较低,有的制作复杂,有的可靠性低,减少实用性。

硬件课程设计是硬件技术学习中非常重要的一个环节,是将理论知识和实践能力相统一的一个环节,是真正锻炼学生能力的一个环节。

拔河机能保证比赛中的公正性,在很多场合得到了广泛的应用。

要将拔河机系统产品化,应该根据客户不同的需求进行不同的设计,应该在程序中增加一些可以人为改变的参数,以便客户根据不同的需要随时调节。

因此,研究拔河机及扩大其应用,有着非常现实的意义。

本课程设计是基于微机原理与接口技术的简单应用。

通过硬件与软件的结合,用汇编语言编写程序模拟分析了拔河游戏机系统的运用,结合比赛的实际情况阐述了抢答系统的工作原理,给出了一种简单实用的拔河游戏机系统的硬件、软件电路设计方案。

该拔河机由主持人控制开始开关,开始后比赛双方通过按CD两个按键来使自己行的方块数增多,10s倒计时结束时,哪行的方块数多,谁就获胜,并将获胜者显示在第三行

本课题设计了一种采用8255芯片和汇编语言制作的多功能拔河游戏机,实验箱中的开关区和LCD显示区共同完成。

主要功能:

1.用8253可编程计时器计时 2.用液晶显示屏显示比赛结果。

它除了具有基本的拔河功能之外,还有显示结果的功能,当比赛开始后,第一行开始位置显示C,第二行开始位置显示D,如果有人胜出,系统自动锁存直到按下E键重新开始。

通过利用8254计数器,8255输入输出接口,4*4键盘、液晶显示屏等器件实现拔河游戏机系统的设计工作。

关键词:

8255可编程并行接口;LCD显示屏;8254可编程定时器/计数器;4×4键盘

目录

1概述 5

2需求分析 6

2.1总体任务 6

2.2各模块要求 6

2.3硬件需求分析 6

2.3.18254芯片 错误!

未定义书签。

2.3.28255芯片 6

2.3.34×4键盘 10

2.3.4128×64字符图形液晶显示屏 11

3硬件方案 14

3.1系统功能模块 14

3.2电路连线图 14

4软件方案 16

4.1端口和数据部分 17

4.28254初始化部分 17

4.38255初始化部分 17

4.4LCD初始化部分 18

4.5主体代码部分 错误!

未定义书签。

5问题与调试部分 19

5.1问题一 19

5.2问题二 19

5.3实物连线图 19

6运行结果 21

6.1结果截图 21

7实验结论 22

8实验体会 23

9参考文献 23

计算机科学与技术学院2011级硬件课程设计报告

第2页

1 概述

用8253可编程计时器计时,用液晶显示屏显示比赛结果。

它除了具有基本的拔河功能之外,还有显示结果的功能,当比赛开始后,第一行中央位置出现一个方块,比赛者双方开始按键拔河,按下C键方块左移一格,按下

D键方块右移一格,比赛者双方各执一键开始“拔河”,当10秒倒计时结束后以方块相对开始位置作比较,分出胜负。

如果有人胜出,系统自动锁存直到按下E键重新开始。

通过利用8253计数器,8255输入输出接口,4*4键盘、液晶显示屏等器件实现拔河游戏机系统的设计工作。

2.1总体任务

2 需求分析

用微机原理与接口实验箱,利用8255、8253、4×4键盘、128×64字符图形液晶显示等实现拔河游戏机。

2.2各模块要求

利用以上器件实现拔河游戏机。

2.2.18253要求

实现10s倒计时。

2.2.28255要求

实现数据的输入输出。

2.2.3LCD显示屏要求实现显示字母和图形

2.2.34×4键盘要求

实现C、D、E、F按键的输入。

2.3硬件需求分析

2.3.18253芯片

8253在本实验中工作于方式3,控制字为:

00110111B。

含义为:

选择通道0,先读写计数器的低字节,再读/写计数器的高字节,采用的是BCD 计数的方法。

8253具有3个独立的计数通道,采用减1计数方式。

在门控信号有效时,每输入1个计数脉冲,通道作1次计数操作。

当计数脉冲是已知周期的时钟信号时,计数就成为定时。

8253芯片有24条引脚,封装在双列直插式陶瓷管壳内,内部结构如下:

(1).数据总线缓冲器

数据总线缓冲器与系统总线连接,8位双向,与CPU交换信息的通道。

这是8253与CPU之间的数据接口,它由8位双向三态缓冲存储器构成,是CPU与8253之间交换信息的必经之路。

(2).读/写控制

读/写控制分别连接系统的IOR#和IOW#,由CPU控制着访问8253的内部通道。

接收CPU送入的读/写控制信号,并完成对芯片内部各功能部件的控制功能,因此,它实际上是8253芯片内部的控制器。

A1A0:

端口选择信号,由CPU输入。

8253内部有3个独立的通道和一个控制字寄存器,它们构成8253芯片的4个端口,CPU可对

3个通道进行读/写操作3对控制字寄存器进行写操作。

这4个端口地址由最低2

位地址码A1A0来选择。

(3).通道选择

CS——片选信号,由CPU输入,低电平有效,通常由端口地址的高位地址译码形成。

RD、WR——读/写控制命令,由CPU输入,低电平有效。

RD有效时,CPU读取由A1A0所选定的通道内计数器的内容。

WR有效时,CPU将计数值写入各个通道的计数器中,或者是将方式控制字写入控制字寄存器中。

(4).计数通道0~2

每个计数通道内含1个16位的初值寄存器、减1计数器和1个16位的(输出)锁存器。

8253内部包含3个功能完全相同的通道,每个通道内部设有一个16位计数器,可进行二进制或十进制(BCD码)计数。

采用二进制计数时,最大计数值是FFFFH,采用BCD码计数时。

最大计数值是9999。

与此计数器相对应,每个通道内设有一个16位计数值锁存器。

必要时可用来锁存计数值。

当某通道用作计数器时,应将要求计数的次数预置到该通道的计数器中、被计数的事件应以脉冲方式从CLK端输入,每输入一个计数脉冲,计数器内容减“1”,待计数值计到“0”。

OUT端将有输出。

表示计数次数到。

当某个通道用作定时器时。

由CLK输入一定频率的时钟脉冲。

根据要求定时的时间长短确定所需的计数值。

并预置到计数器中,每输入一个时钟脉冲,计数器内容减“1”,待计数值计到“0”。

OUT将有输出,表示定时时间到。

允许从CLK输入的时钟频在1~2MHz范围内。

因此,任一通道作计数器用或作定时器用,其内部操作完全相同,区别仅在于前者是由计数脉冲进行减“1”计数。

而后者是内时钟脉冲进行减“1”计数。

作计数器时,要求计数的次数可直接作为计数器的初值预置到减“1”计数器中。

作定时器时,计数器的初值即定时系数应根据要求定时的时间进行如下运算才能得到:

定时系数=需要定时的时间/时钟脉冲周期

①设置通道:

向方式控制字寄存器端口写入方式选择控制字,用于确定要设置的通道及工作方式;

②计数/定时:

向通道写入计数值,启动计数操作

③读取当前的计数值:

向指定通道读取当前计数器值时,8253将计数器值存入锁存器,从锁存器向外提供当前的计数器值,计数器则继续作计数操作。

④计数到:

当计数器减1为0时,通过引脚OUTi向外输出“到”的脉冲信号。

计数初值输入存放在初值寄存器中,计数开始或重装入时被复制到计数器中。

锁存器在非锁存状态,其值随计数器的变化而变化;一旦锁存了计数器的当前值,直到锁存器值被读取后才能解除锁存状态。

8253中各通道可有6种可供选择的工作方式,以完成定时、计数或脉冲发生器等多种功能。

简要介绍方式3如下:

工作方式3被称作方波发生器,任一通道工作在方式3,只在计数值n为偶数,则可输出重复周期为n、占空比为1:

1的方波。

进入工作方式3,OUT输出低电平, 装入计数值后,OUT立即跳变为高电平。

如果当GATE为高电平, 则立即开始减“1”计数,OUT保持为高电平,若n为偶数,则当计数值减到n/2时,OUT跳变为低电平,一直保持到计数值为“0”,系统才自动重新置入计数值n,实现循环计数。

这时OUT端输出的周期为n×CLK周期,占空比为1:

1的方波序列; 若n为奇数, 则OUT端输出周期为n×CLK周期,占空比为((n+1)/2)/((n-1)/2)的近似方波序列。

如果在操作过程中,GATE变为无效,则暂停减“1”计数过程,直到GATE再次有效,重新从初值n开始减“l”计数。

如果要求改变输出方波的速率,则CPU可在任何时候重新装入新的计数初值n,并从下一个计数操作周期开始改变输出方波的速率。

2.3.28255芯片

8255 是Intel公司生产的可编程输入输出接口芯片,它是具有3个8位的并行I/O端口,具有三种工作方式,被广泛地使用于单片机的并行I/O端口。

工作方式0:

基本输入输出方式工作方式1:

选通输入输出方式工作方式2:

双向传送方式

PA3PA2PA1PA0RDCSGNDA0A1PA7PA6PA5PA4PA0PA1PA2PA3PB0PB1PB2

PA5PA6PA7PA0WRRESETD0

40

39

38

37

36

35

34

33

32

31

30

29

28

27

26

25

24

23

22

21

8255

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

D1D2D3D4D5D6D7

VccPA7PA6PB5PB4PB3

8255引脚图

8255工作方式控制字

D7 D6 D5 D4 D3 D2 D1 D0

方式2

X

1

方式1

1

0

方式0

0

0

方式选择

输入

1

输出

0

A口

输入

1

输出

0

C口

(低4位)

A组控制

方式1

1

方式0

0

方式选择

输入

1

输出

0

B口

输入

1

输出

0

C口

(低4位)

B组控制

1

8255内部结构

8255引脚功能说明

RESET:

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

PA0~PA7:

端口A输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入锁存器。

PB0~PB7:

端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。

PC0~PC7:

端口C输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入缓冲器。

端口C可以通过工作方式设定而分成2个4位的端口,每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。

CS:

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

RD:

读信号线,当这个输入引脚为低电平时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。

WR:

写入信号,当这个输入引脚为低电平时,允许CPU将数据或控制字写8255。

D0~D7:

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

8255的读写控制

8255的读/写控制逻辑电路接受CPU发来的控制口号RD、WR、RESET和地址信号

A1~A0。

然后根据命令端口,控制信号的要求,将端口的数据读出选信CPU或者将CPU送来的数据写入端口,各端口的工作状态。

如表所示。

通过用输出指令对8255A的控制字寄存器编程,写入设定工作方式的控制字,可以让3个数据口以不同的方式工作,端口A可工作于3种方式的任一种,端口B只能工作于方式0和方式1,端口C除了用于输入输出端口外,还能配合A口和B口工作,为这两个端口的输入输出操作提供联系信号

2.3.34×4键盘

在微型机系统中,键盘是一种最常用的外设,它由多个开关组合而成。

可以用来制造键盘的按键开关由好多种,最常用的由机械式、薄膜式、电容式和霍尔效应式四种。

机械式开关比较便宜,但压键时会产生触点抖动,即在触点可靠地接通前会通断多次,而且长期使用后可靠性会降低。

高质量机械式开关的说明约为100万次。

薄膜式开关可做成很薄的密封单元,不易受外界潮气或环境污染,常用于微波炉、医疗仪器或电子秤等设备的按键,不同薄膜开关的说明差别很大。

电容式开关没有抖动问题,但需要特制电路来测电容的变化,平均寿命约为2000万次。

霍尔效用案件是另一种无机械触点的开关,具有很好的密封性,平均寿命高达1亿甚至更高,但开关机制复杂,价格很贵。

计算机上用的一般都是机械式开关。

当在键盘上压一个键时,等于在压下一个开关。

对于大多数的键盘,按键被拍成行和

列的矩阵。

本实验用的是8255B口接键盘。

8255B口接键盘(实际8255的PB0~PB3接键盘的列0~列3,PB4~PB7接键盘的行

0~行3),8255CS接地址译码输出的288h~28fh。

识别键盘上的闭合键,通过采用行扫描法或行翻转法:

行扫描法是使键盘上某一行线为低电平,而其余行接高电平,然后读取列值;如果列值中有某位为低电平,则表明行列交点处的键被按下;否则扫描下一行,直到扫完全部的行线为止。

行反转法识别闭合键时,要将行线接一个并行口,先让它工作在输出方式,将列线也接到一个并行口,先让它工作在输入方式;程序通过输出端口向全部行线上送低电平,然后读取列线的值;如果此时有某一键被按下,则必定会使某一列线值为零,程序再对两个并行端口进行方式设置,使行线工作在输入方式,列线工作在输出方式,并且将刚才读到的列线值从列线所接的并行端口输出,再读取行线上的值;那么,在闭合键所在的行线上的值必定为零。

这样,当一个键被按下时,必定可以读到一对唯一的行值和列值。

图2-44×4键盘原理图

2.3.4128×64字符图形液晶显示屏

液晶显示模块概述:

ST7920是台湾矽创电子公司生产的中文图形控制芯片,它是一种内置128×64汉字图形点阵的液晶显示控制模块,用于显示汉字及图形。12864A-1汉字图形点阵液晶显示模块集成ST7920驱动器,可显示汉字及图形,内置8192个中文汉字(16×16点阵)、128个字符(8×16点阵)及64×256点阵显示RAM(GDRAM)。

主要技术参数和显示特性:

电源:

VDD3.3V~+5V(内置升压电路,无需负压);显示内容:

128列×64行;

显示颜色:

黄绿;

显示角度:

6:

00钟直视;

LCD类型:

STN;

与MCU接口:

8位或4位并行/3位串行;

2MHZ时钟频率;显示坐标关系

1、图形显示坐标

水平方向X—以字节单位,X=0~7,每个X对应2个字节;垂直方向Y—以位为单位

图2-6128×64液晶显示屏坐标显示图

2、汉字显示坐标

X坐标

Line1

80H

81H

82H

83H

84H

85H

86H

87H

Line2

90H

91H

92H

93H

94H

95H

96H

97H

Line3

88H

89H

8AH

8BH

8CH

8DH

8EH

8FH

Line4

98H

99H

9AH

9BH

9CH

9DH

9EH

9FH

表2.2128×64液晶显示屏汉字显示坐标表

3、字符表

表2.3ASCII码表(16*8半宽字符表)

显示RAM

1、文本显示RAM(DDRAM)

文本显示RAM提供8个×4行的汉字空间,当写入文本显示RAM时,可以分别显示

CGROM、HCGROM与CGRAM的字型;ST7920A可以显示三种字型 ,分别是半宽的HCGROM字型(即,16×8半角英数字型)、CGRAM字型及中文CGROM字型。

三种字型的选择,由在

DDRAM中写入的编码选择,在0000H—0006H的编码中(其代码分别是

0000、0002、0004、0006共4个)将选择CGRAM的自定义字型,02H~7FH的编码中将选择半角英数字的字型,至于A1以上的编码将自动的结合下一个位元组,组成两个位元组的编码形成中文字型的编码BIG5(A140—D75F),GB(A1A0-F7FFH)。

字型产生RAM(CGRAM)字型产生RAM提供图像定义(造字)功能,可以提供四组16×16点的自定义图像空间,使用者可以将内部字型没有提供的图像字型自行定义到CGRAM中,便可和CGROM中的定义一样地通过DDRAM显示在屏幕中。

应注意以下三点:

①欲在某一个位置显示中文字符时,应先设定显示字符位置,即先设定显示地址,再写入中文字符编码。

②显示ASCII字符过程与显示中文字符过程相同。

不过在显示连续字符时,只须设定一次显示地址,由模块自动对地址加1指向下一个字符位置,否则,显示的字符中将会有一个空ASCII字符位置。

③当字符编码为2字节时,应先写入高位字节,再写入低位字节。

2、绘图RAM(GDRAM)

绘图显示RAM提供128×8个字节的记忆空间,在更改绘图RAM时,先连续写入水平与垂直的坐标值,再写入两个字节的数据到绘图RAM,而地址计数器(AC)会自动加一;在写入绘图RAM的期间,绘图显示必须关闭,整个写入绘图RAM的步骤如下:

(1)关闭绘图显示功能;

(2)先将水平的位元组坐标(X)写入绘图RAM地址;

(3)再将垂直的坐标(Y)写入绘图RAM地址;

(4)将D15~D8写入到RAM中;

(5)将D7~D0写入到RAM中;

(6)打开绘图显示功能。

3、地址计数器(AddressCounter,AC)

地址计数器AC是用来贮存DDRAM/CGRAM之一的地址,它可由设定指令暂存器来改变,之后只要读取或是写入DDRAM/CGRAM的值时,地址计数器的值就会自动加一,当RS为

“0”时而R/W为“1”时,地址计数器的值会被读取到DB6——DB0中。

4、游标/闪烁控制

ST7920A提供硬件游标及闪烁控制电路,由地址计数器(Address Counter)的值来指定DDRAM中的游标或闪烁位置。

3硬件方案

3.1系统功能模块

LCD显示屏显示字符和图形

键盘键值输入

8254定时

8255输入输出

拔河游戏机

拔河游戏机共分为四个模块:

8255输入输出模块、8254定时模块、键盘键值输入模块、LCD显示屏显示比赛过程和结果模块。

图3-1系统模块图

3.2电路连线图

0行接地

2M

+5v

GND

4×4键盘

行3-列0

行0

D7-D0 D/IRW E

LCD显示屏

Y0 Y1

PC0

PC1PC2

8255

PA7-0

PB0

CS

PB7-0

OUT2

GTA0-2

OUT0CLK1OUT1

CLK2

8254

CS

CLK0

图3-2系统电路连线图

硬件接线

8253芯片

CS连接280H CLK0连接2M脉冲 GATE0连接5V OUT0连接CLK1

GATE1连接5V OUT1连接CLK2 GATE2连接5V OUT2连接8255PB0

8255芯片

CS连接288H 键盘列0-行3连接PB0-PB7 LCD液晶屏连接PA0-PA7

LCD液晶屏D/I连接PC0 LCD液晶屏RW连接PC1 LCD液晶屏E连接PC2

键盘

键盘行0连接GND

系统总流程图

4软件方案

e按下

检测键盘c、

d、e和f

f按下

c按下

d按下

判断10s秒是否

结束

显示结果

将1行显示地址减一

将2行显示地址减一

查显示表hz_tab,将第三行的下一位输出

判断结束

1行显示地址加一,存到hz-adr中

将1行开头显示c,

2行显示d

查显示表hz_tab,将第四行的下一位输出

2行显示地址加一,存到hz-adr中

初始化8254,8253

判断重新开始

开始

退出程序

图4-1系统总流程图

4.28253初始化部分

MOV AL,10001010B ;C口高4位输入MOV DX,io8255CON ;控制端口

OUT DX,AL ;写入控制字

movdx,io8253c ;向8254写控制字

moval,00110111B ;使0通道为工作方式3outdx,al

movaL,00H ;写入循环计数初值5000

movdx,io8253a

outdx,al ;先写入低字节moval,50H

outdx,al ;后写入高字节

movdx,io8253c ;向8254写控制字

moval,01110111B ;使1通道为工作方式3outdx,al

movaL,00H ;写入循环计数初值400

movdx,io8253b

outdx,al ;先写入低字节moval,04H

outdx,al ;后写入高字节;---------------------以上的周期为1s

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

当前位置:首页 > 初中教育 > 政史地

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

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