单片机课程设计模拟键盘输入及显示系统设计Word下载.docx

上传人:b****6 文档编号:17660882 上传时间:2022-12-07 格式:DOCX 页数:15 大小:235.82KB
下载 相关 举报
单片机课程设计模拟键盘输入及显示系统设计Word下载.docx_第1页
第1页 / 共15页
单片机课程设计模拟键盘输入及显示系统设计Word下载.docx_第2页
第2页 / 共15页
单片机课程设计模拟键盘输入及显示系统设计Word下载.docx_第3页
第3页 / 共15页
单片机课程设计模拟键盘输入及显示系统设计Word下载.docx_第4页
第4页 / 共15页
单片机课程设计模拟键盘输入及显示系统设计Word下载.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

单片机课程设计模拟键盘输入及显示系统设计Word下载.docx

《单片机课程设计模拟键盘输入及显示系统设计Word下载.docx》由会员分享,可在线阅读,更多相关《单片机课程设计模拟键盘输入及显示系统设计Word下载.docx(15页珍藏版)》请在冰豆网上搜索。

单片机课程设计模拟键盘输入及显示系统设计Word下载.docx

样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成端口线则只能多出一键(9键)。

由此可见,在需要的键数比较多时,采用矩阵法来做键盘

是合理的。

独立式键盘和4*4矩阵式键盘

矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,上图中,行线通过电

阻接正电源,并将列线所接的单片机的I/O口作为输出端,而行线所接的I/O口则作为输入。

这样,当按键没有按下时,所有的输出端都是高电平,代表无键按下。

行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。

(2)LED显示接口及原理

 

有两种连接方法:

样阴极端输入低电平的段发光二极管就导通点亮,而输入高电平的则不亮。

阳极端输入高电平的段发光二极管就导通点亮,而输入低电平的则不亮。

控制数码管驱动级的控制电路有静态式和动态式两类:

静态驱动:

它是指每个数码管都要用一个译码器译码驱动。

动态驱动:

它是所的数码管使用一个专门的译码驱动器,使各位数码管逐个轮流显示,

它的扫描速度极快,因此显示效果与静态驱动相同。

采用动态数码管显示,可以大幅度地降低硬件成本和电源的功耗,因为某一时刻只有一

个数码管工作,就是所谓的分时显示,显示所需要的硬件电路可分时复用。

如表1为共阳极与共阴极的代码表

表1十六进制数字形代码表

字型

共阳极代码

共阴极代码

C0H

3FH

9

90H

6FH

1

F9H

06H

A

88H

77H

2

A4H

5BH

B

83H

7CH

3

B0H

4FH

C

C6H

39H

4

99H

66H

D

A1H

5EH

5

92H

6DH

E

86H

79H

6

82H

7DH

F

8EH

71H

7

F8H

07H

FFH

00H

8

80H

7FH

(3)键盘输入与LED显示

设计中通过键盘输入到单片机中,由程序控制找到输入点,计算键码,调用显示模块,把输入的数值通过LED显示器显示出来。

(1)判断键盘中有无键按下:

将全部行线P1.0到P1.3置低电平,然后检测列线的状态。

只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线

相交叉的4个按键之中。

若所有列线均为高电平,则键盘中无键按下。

⑵判断闭合键所在的位置:

在确认有键按下后,即可进入确定具体闭合键的过程。

其方法是:

将行线置为低电平,即在置行线为低电平时,其它线为高电平。

在确定某根行线

位置为低电平后,再逐行检测各列线的电平状态。

若某列为低,则该列线与置为低电平的行

态,若P1.0-P1.3为全0”,贝忧键闭合,否则有键闭合。

⑶去除键抖动:

当检测到有键按下后,延时一段时间再做下一步的检测判断。

(4)识别:

当确定键按下时,通过软件计算键码找到相对位置的数据调用显示模块把数

字或字母显示出来或者实现其他功能。

1.3课题设计的任务

进行系统硬件电路设计和软

根据给定的任务要求选择合适的单片机和其他电子元器件,

件编程,根据系统制作并调试系统电路板,使之实现任务要求。

有关参数选择要求符合国家

标准。

具体设计内容如下:

设计系统工作原理图,利用PROTEU软件绘制系统工作原理图;

2)

将设计程序输入、汇编,排除语法错误,生成*.OBJ文件;

按所设计的原理图,在实验平台上连线,检查无误;

将目标文件传送到实验系统,执行并运行调试该程序,最终实现控制要求

4.写出设计说明书,说明书格式见附录,3000字左右

第二章、模拟键盘输入及显示模块的总体设计

1、明确任务

根据课题的要求确定所要设计的任务,分析后确定设计一个4x4矩阵键盘的识别和7

段数码管动态显示综合的系统,控制4个7段数码管动态扫描显示4x4矩阵键盘上按下的按键所对应的值,第一次按下后,每按下一次键数码管上的数字左移一位;

另外设一个功能键,当按下此功能键后数码管上将显示设计者的学号,先显示2009一段时间,然后显示6230一段时间,之后将显示屏清零,等待下一次的输入。

2、硬件和软件功能的划分

系统的硬件配置和软件设计是紧密地联系在一起的,且硬件和软件具有一定的互换性,硬件完成一些功能,可以提高工作速度,但降低了系统的柔性。

若用软件替代某些硬件功能,可增加系统的柔性,但降低系统的工作速度。

因此,总体设计时,应综合考虑,合理划分硬件和软件的功能。

经过分析后,确定4x4矩阵键盘用于单片机系统的输入,4个数码管用于显示按键所对应的值及显示设计者的学号,而单片机则用于逻辑控制和程序的执行,程序则是为实现所设计的功能而编写。

经过论证,该方案能够实现课程设计所要求的任务及预期的目标。

第三章、模拟键盘输入及显示模块的硬件设计

1、系统扩展

实验仿真系统的CPU是8031,因此,必须首先组成最小系统,即由8031、地址锁存器

和程序存储器组成。

2、功能接口

所谓接口是CPU与外界的连接部件,以实现CPU与外部设备的最佳耦合和匹配。

包括

键盘、显示、A/D转换、D/A转换和打印机等。

根据课题要求选用外设,并选用合适的外围接口芯片。

3、系统的组成及统一编址

在设计硬件时,应自行编址。

4、80C51单片机引脚图及引脚功能介绍

图如下:

LI1

畑LI

PJUADO

ra.1j&

D"

PCI引rO4AD*H3.5JAD5

PJ7JAD7

P2.1盟M诲IDF^O-AI"

ME

R24^12

=A

r卫5H.13

円.t

P2C7\1+

F冇商占

Pi0/RXC

ni1

P3.1jfTXC_

31.i

P3.2yNrc

3仁

pa讪rq

P3.4/rc

P3.?

/ri

e

P3.&

VVF

?

1.7

七-研

S0C5]

4.1.电源:

⑴VCC-芯片电源,接+5V;

⑵VSS-接地端;

4.2.时钟:

XTAL1、XTAL2-晶体振荡电路反相输入端和输出端。

4.3.控制线:

控制线共有4根,

⑴ALE/PROG地址锁存允许/片内EPR0编程脉冲

1ALE功能:

用来锁存P0口送出的低8位地址

2PROG功能:

片内有EPRO啲芯片,在EPR0编程期间,此引脚输入编程脉冲。

⑵PSEN:

外ROM卖选通信号。

①EA功能:

内外ROM选择端。

②Vpp功能:

片内有EPRO啲芯片,在EPRO漏程期间,施加编程电源Vpp。

4.4.I/O线

80C51共有4个8位并行I/O端口:

P0P1、P2、P3口,共32个引脚。

另外,P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)

5、键盘设计如下:

80C51单片机的并行口P2接4X4矩阵键盘,以P1.0—P1.3接键盘列线,以P1.4-P1.7作行线;

实际电路图连接如下图所示。

旧驯11=

PS3JtIIL

疋術E

PS.1)?

-rD

RjWhD

n*

[■T

J2

JI

M

Ji

if.

37

j|_

3S

陀Wl勺F:

曲IN

P75AA13卜仁

F?

如1

F2JAK1D

P7QIAH

凶yFC片応片旬排a

FD利4FDIAADIPf.rwin

<

-5kT-

6、4位7段码数码管的连接

P0口输出按键信息,即段码,与数码管的

a、b、c、d、e、

f、g、dp相连,

1、2、3、4口

并接上+5v电源和上拉电阻;

P1口低四位作为位控,与数码管的

相连,在数码管上显示每个按键的“0-E”键值。

7、最后设计的系统工作原理图如下:

hUr-jf9*11.PT*A13

P2^l3

rz'

Af»

RF=^

PZtallraafiT5VT

・3.r>

T4rufM

hRrffrurjn

■RT

sc«

u

SOAL】.

U1

lb

-g-

XI

3聖

L

迪■:

9口*

-C-L*#J=L・*

_I=L.--J=L»

一■?

二-j"

"

.

F+£

=1□eg贍蠢

s

百^9

=|~3*-.m*

I—43—4I~~0*1•

-l—

—□-a—

Ct

11

Ij

11/

m

―H~k

3I

第四章、软件设计

一个优秀的的系统的软件应具有下列特点:

①软件结构清晰、简捷、流程合理。

②各功能程序实现模块化、子程序化。

这样,既便于调试、

链接,又方便移植、修改。

③程序存储区、数据存储区分配合理。

④运行状态实现标志化管理。

各个功能程序运行状态、

运行结果以及运行要求都设置状态标

志(一般用位寻址区的位)以便查询,程序的转移、运行、

控制都可以通过状态标志条件来

控制。

⑤实现全面软件抗干扰设计。

(由于条件有限,课程设计中不考虑。

软件设计一般步骤如下:

1、系统定义

系统定义是在软件设计前,把软件承担的任务明确出来。

合理定义和分配存储空间、定

义标志位。

资源分配的主要工作是RAM资源的分配。

片外RAM的容量要比片内RAM大,通常用

来存放批量大的数据,如采样数据系列。

主要考虑片内

RAM的分配。

系统上电复位时,自

动定义0区为工作寄存器,1区为堆栈,并向

2区、3区延伸。

如果系统前台程序要用1区、

2区作为工作寄存器,就应将堆栈空间重新规划,

常将堆栈安放在片内

RAM的高端,如

60H~7FH。

挥其作用,尽量避免用来做其他事情。

20H〜2FH这16个字节具有位寻址功能,用来存放各种软件标志、逻辑变量、位输入

信息、位输出信息副本、状态变量、逻辑运算的中间结果等。

当这些项目全部安排好后,保留一两个字节备用,剩下的单元才可改作其他用途。

30H~7FH为一般通用寄存器,只能存入整字节信息。

通常用来存放各种参数、指针、中间结果,或用作数据缓冲区。

HOUR、

RAM资源规划好后,应列出一张RAM资源的详细分配清单,作为编程依据。

为了增加

可读性,便于修改,一般对分配的存储单元取名。

如保存当前时间的时、分、秒取

MINI、SEC编程时用变量名,编译时只需在前面加HOUREQU24H即可(20H为分配给

小时的存储单元的地址)。

2、软件结构设计

块。

然后再采用自下而上的方法,设计一个模块,调试一个模块,加入主程序调试;

再进行下一个模块设计和调试。

设计思路如下:

先运行主程序,首先是一些变量的定义及初始化,然后定义四字节的显示存储区并将其初始化,接着执行键盘子程序,键盘子程序的第一步是执行键盘查询程序,此程序为系统的待机状态,即为系统不断循环执行键盘检查程序,来检查是否有键按下,在每一次的键盘检查时,都要执行一次显示子程序,以保证数码管处于亮的状态,如果有键按下,则计算键码并将键码存到显示存储区中,之后返回到键盘子程序。

3、绘制程序流程框图

3.1主程序的流程框图如下

3.2键盘检查子程序流程框图

3.3、编写程序

在确保程序框图的正确性的前提下,才能编写程序。

在编程时必须注意以下几点:

①一定要严格根据框图编程。

②一定要写注释。

③通过编译后,只表明语法没错,并不表明逻辑正确,一定要用不同的数据对模块进

行测试。

完全符合预定结果,方可确认通过。

④将该模块加到主控模块进行测试,如果与预定结果不符,必须查找原因,进行修改、

调试。

⑤必须注意随时保存调试通过的副本。

以便当新程序出现故障时,随时可返回前面的

正确点重新开始。

4、编写设计说明书

设计说明书的格式见附录。

由于设计时间紧迫,要求学生尽量不要在完成全部设计后再编写设计说明书。

而应在设

计过程中逐步完成。

一开始不可能设计出满意的主程序框图。

因此,

总体设计部分在完成全

部设计任务后再写。

而硬件部分和软件部分可以在设计过程同步完成。

第五章、系统调试和仿真

编写程序后,将程序载入WAVE6000集成调试软件进行调试,软件绘制系统工作原理后,将程序载入,然后进行模拟仿真,

结果正常;

利用PROTEUS系统一起运行正常:

按下键后

系统能够正常显示,输入多位数值检测能够实现移位;

而且当按下

16号键时,系统显示学

号正常,这证明此次设计结果达到了预期结果。

第六章、结束语

课程设计是培养学生运用综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实际能力的重要环节,是对我们实际工作能力的具体训练和考察过程。

随着科学技术发展的日新月异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中无处在。

作为机电专业的学生来说,单片机的开发技术十分重要。

我做的题目是基于80C51单片机的4x4键盘输入显示,对于我们这些实践中的新手来说,这是一次考验。

怎样才能找到课堂所学与实践运用的最佳结合点。

这都是我们要考虑和努力的。

在此次课程设计中,通过老师的精心指导和在网上找的资料,主要掌握了数码管显示的编程,数据输出的编程方法。

调试也是此次的重点,这其中最重要的就是软件的调试了,这要求我们对每个模块在整个程序中的作用的了如指掌。

通过此次课程设计,我发现我对程序的掌握还不够,尤其是单片机汇编语言掌握的不牢固。

这次课程设计使我懂得实践的重要

性,只有理论知识远远不够,只有把所学的理论知识与实践相结合才能算是掌握了所学的知识。

随着就业形势的日趋严峻,大学生的动手能力、实际能力和综合素质越来越受到学校和

用人单位的重视,所以以后我们要更加注重实践,提高自己的动手能力。

此次设计单片机虽然比较简易,但是我收获颇多。

通过本次课程设计,使我学会了数码

管显示数字的原理,学会了如何使用键盘来获得输入的数据,也提高了我的编写汇编语言的

能力,同时也提高了我们自己动手解决问题的能力。

另外,这次单片机设计中使我对单片机

也有了更高层次的了解。

通过此次设计,自己的能力得到了提高,我会认真总结设计中的经验教训,为以后学习做好铺垫。

[1]李广第主编.单片机基础.第一版.北京航空航天大学出版社.北京

[2]王修才主编.单片机接口技术.第一版.复旦大学出版社.上海

[3]周志德主编.单片机原理及应用.第一版.高等教育出版社

[4]李运华主编.机电控制.第一版.北京航空航天大学出版社

[5]秦曾煌主编.电工学上册:

电工技术.第五版.高等教育出版社

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

当前位置:首页 > 法律文书 > 起诉状

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

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