88LED点阵屏显示数字韩余详解.docx

上传人:b****5 文档编号:7308468 上传时间:2023-01-22 格式:DOCX 页数:14 大小:323.32KB
下载 相关 举报
88LED点阵屏显示数字韩余详解.docx_第1页
第1页 / 共14页
88LED点阵屏显示数字韩余详解.docx_第2页
第2页 / 共14页
88LED点阵屏显示数字韩余详解.docx_第3页
第3页 / 共14页
88LED点阵屏显示数字韩余详解.docx_第4页
第4页 / 共14页
88LED点阵屏显示数字韩余详解.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

88LED点阵屏显示数字韩余详解.docx

《88LED点阵屏显示数字韩余详解.docx》由会员分享,可在线阅读,更多相关《88LED点阵屏显示数字韩余详解.docx(14页珍藏版)》请在冰豆网上搜索。

88LED点阵屏显示数字韩余详解.docx

88LED点阵屏显示数字韩余详解

 

1设计目的

1.1设计目的

1、通过单片机课程设计,熟练掌握C语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力。

2、通过8×8LED点阵屏显示数字系统的设计,掌握数码管的使用方法,和简单程序的编写,最终提高我们的逻辑抽象能力。

1.2设计内容和要求

内容:

设计一个8×8LED点阵屏显示数字。

要求:

利用单片机的中断系统,令8×8LED点阵屏循环显示数字0—9。

1.3设计思路

1.先熟悉实验原理,了解8×8LED点阵屏显示数字的工作过程,以及所需要的组件。

2.通过单片机的各个引脚的输出控制8×8LED点阵屏显示数字。

3.绘制电路原理图,编写程序,并进行仿真,基本实现8×8LED点阵屏显示数字。

 

2设计原理分析

2.1定时器控制8×8LED点阵屏显示数字系统设计

通过编写程序,实现用中断系统对8×8LED点阵屏的控制,使其每延时一段时间,LED点阵的显示数字就会进行状态转换。

采用单片机内部的I/O口上的P0和P3口可来控制LED点阵。

2.2定时器控制8×8LED点阵屏显示数字系统的功能要求

本设计能模拟基本的LED点阵显示系统,是用中断的方式定时控制LED点阵显示的内容变换。

2.2.1计时显示

定时/计数器工作方式寄存器,定时器采用T0定时器工作于模式0位数:

13位计数范围:

0-8192。

2.2.2中断设置

每累计250次定时器中断才执行一次换数。

2.38×8LED点阵屏显示数字系统的基本构成及原理

8×8LED点阵屏显示数字系统,可用单片机直接控制信号灯的状态变化可以广泛的应用到商业和工业的流程控制测电路当中。

原理框图:

 

图2.1系统的总体框图

据此,本设计系统以单片机为控制核心,连接成最小系统。

系统的总体框图如上所示。

3系统硬件电路的设计

3.1系统硬件总电路构成及原理

实现本设计要求的具体功能,可以选用AT89C51单片机及外围器件构成最小控制系统,8×8点阵指示模块等。

主要器件的选择:

表3-1元器件表

器件

个数

74LS245

1

AT89C51

1

CAP

2

CAP-ELEC

1

CRYSTAL

1

MATRIX-8X8-GREEN

1

RES

1

RESPACK-8

1

3.2主控制部分――AT89C51单片机简介

89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。

AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。

单片机的可擦除只读存储器可以反复擦除1000次。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。

AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

AT89C51单片机为40引脚双列直插芯片,有4个I/O口,P0,P1,P2,P3,单片机的最小系统如图所示,18引脚和19引脚接时钟脉冲电路,XTAL1接外部晶振和微调电容的一端,在片内它是震荡器倒相放大器的输入,XTAL2接外部晶振和微调电容的另一端,在片内她是振荡器倒相放大器的输出端,第9引脚为复位输入端,接上电容,电阻及开关后构成上电复位电路,20引脚为接地端,40引脚为电源端。

如图所示:

图3.1晶振与单片机的连接

3.2.1AT89C51的内部结构功能

·中央处理器:

中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。

·数据存储器(内部RAM):

数据存储器用于存放变化的数据。

AT89S51中数据存储器的地址空间为256个RAM单元,但其中能作为数据存储器供用户使用的仅有前面128个,后128个被专用寄存器占用。

·程序存储器(内部ROM):

程序存储器用于存放程序和固定不变的常数等。

通常采用只读存储器,且其又多种类型,在89系列单片机中全部采用闪存。

AT89C51内部配置了4KB闪存。

·定时/计数器(T0):

定时/计数器用于实现定时和计数功能。

AT89C51共有2个16位定时/计数器。

·并行输入输出(I/O)口:

8051共有4组8位I/O口(P0、P1、P2或P3),用于对外部数据的传输。

每个口都由1个锁存器和一个驱动器组成。

它们主要用于实现与外部设备中数据的并行输入与输出,有些I/O口还有其他功能。

·全双工串行口:

A89C51内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。

·时钟电路:

时钟电路的作用是产生单片机工作所需要的时钟脉冲序列。

·中断系统:

中断系统的作用主要是对外部或内部的终端请求进行管AT89C51共有5个中断源,其中有2个外部中断源和3个内部中断源。

3.2.251单片机的串行接口工作方式

51单片机的串行接口有四种工作方式。

方式0是将SBUF作为8位同步移位寄存器使用(固定波特率);方式1是10位异步通信方式(可变波特率);方式2是11位异步通信方式(固定波特率);方式3是11位异步通信方式(可变波特率)。

图3.2 串行接口与单片机的连接

3.3其它器件

•发光二极管

根据本设计的特点,LED点阵的显示不可少,LED的点阵显示采用普通的发光二极管。

在硬件上连接图上也是对称分布的,如下图3.3所示。

图3.3LED点阵的连接

在本设计中,点阵屏共有64个LED灯,每次中断控制每一列使其为低电平,对应的行为不同的高电平,其中均是低电平有效,所以在运行前LED灯的状态是灭。

3.4定时器控制8×8LED点阵屏显示数字系统原理图

本系统以单片机为核心,系统硬件电路由单片机,电阻,LED点阵显示等组成。

其具体的硬件电路总图如图3.6所示。

图3.4系统原理

3.5设计的连线图:

3.5.1单片机实物图:

图3.5实物图

3.6硬件资源及其分配

主要用到的硬件:

P0口、P3口、8×8LED点阵屏、定时器T0。

●硬件分配:

(1)P1口:

做为输出口,与8×8LED点阵屏相连接。

(2)定时/计数器T0用来产生1秒的定时。

3.7运行步骤

1、接硬件图接线,为了确保LED灯能够对应显示,实验时,对P0口的接线做了调整。

即,P0.0接L1,P0.1接L2,P0.2接L3,P0.3接L4。

2、开始连续运行,观察4个LED灯是与程序设计思路对应,如果有偏差,则单步运行或断点运行,进行调试,直至满足设计要求。

3、整体运行,观察LED显示是否都符合要求,如果不符合,则再调试。

直至满足要求。

3.8检测与调试

3.8.1硬件调试:

硬件调试是利用开发系统、基本测试仪器(万用表、示波器等),检查用户系统硬件中存在的故障。

硬件调试可分为静态调试与动态调试两步进行。

◆静态调试

静态调试是在用户系统未工作时的一种硬件检测。

第一步:

目测。

检查外部的各种元件或者是电路是否有断点。

第二步:

用万用表测试。

先用万用表复核目测中有疑问的连接点,再检测各种电源线与地线之间是否有短路现象。

第三步:

加电检测。

给板加电,检测所有的插座或是器件的电源端是否符合要求的值

第四步:

是联机检查。

因为只有用单片机开发系统才能完成对用户系统的调试。

◆动态调试

动态调试是在用户系统工作的情况下发现和排除用户系统硬件中存在的器件内部故障、器件连接逻辑错误等的一种硬件检查。

动态调试的一般方法是由近及远、由分到合。

由分到合是指首先按逻辑功能将用户系统硬件电路分为若干块,当调试电路时,与该元件无关的器件全部从用户系统中去掉,这样可以将故障范围限定在某个局部的电路上。

当各块电路无故障后,将各电路逐块加入系统中,在对各块电路功能及各电路间可能存在的相互联系进行调试。

由分到合的调试既告完成。

由近及远是将信号流经的各器件按照距离单片机的逻辑距离进行由近及远的分层,然后分层调试。

调试时,仍采用去掉无关元件的方法,逐层调试下去,就会定位故障元件了。

3.8.2软件调试:

软件调试是通过对拥护程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。

程序后,编辑,查看程序是否有逻辑的错误。

 

4系统软件程序的简单设计

4.1程序框图

图4.1程序框图

4.2程序流程图及程序

4.2.1程序流程图:

图4.2程序流程图

4.2.2程序清单:

#include

#include

#defineucharunsignedchar

#defineuintunsignedint

ucharcodeTable_OF_Digits[]=

{

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

};

uchari=0,t=0,Num_Index=0;

voidmain()

{

P3=0x80;

Num_Index=0;

TMOD=0x00;

TH0=(8192-2000)/32;

TL0=(8192-2000)%32;

TR0=1;

IE=0x82;

while

(1);

}

voidLED_Screen_Display()interrupt1

{

TH0=(8192-2000)/32;

TL0=(8192-2000)%32;

P3=_crol_(P3,1);

P0=~Table_OF_Digits[Num_Index*8+i];

if(++i==8)i=0;

if(++t==250)

{

t=0x00;

if(++Num_Index==10)Num_Index=0;

}

}

4.2.3仿真结果图:

图4.2实验仿真结果图

结论

8×8LED点阵屏显示数字系统对于单片机初学者有着非常重要的作用。

本文完成了基于单片机的定时器控制8×8LED点阵屏显示数字系统的设计与模拟。

包括显示方案的设计,系统的硬件开发、软件编程与仿真调试等。

在论文完成过程中,主要做的工作有:

(1)确定8×8LED点阵屏显示数字系统具体的通行方案以及要求其他多功能的实现。

(2)以ATMEL公司的AT89C51单片机为核心进行系统硬件设计,输入量包括:

输出LED点阵亮灭状态及时间显示。

通过单片机课程设计,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。

创新,是要我们学会将理论很好地联系实际,并不断地去开动自己的大脑,从为人类造福的意愿出发,做自己力所能及的,别人却没想到的事。

使之不断地战胜别人,超越前人。

同时,更重要的是,我在这一设计过程中,学会了坚持不懈,不轻易言弃。

设计过程,也好比是我们人类成长的历程,常有一些不如意,也许这就是在对我们提出了挑战,勇敢过,也战胜了,胜利的钟声也就一定会为我们而敲响。

 

参考文献

【1】谢维成.单片微型计算机原理及应用.清华大学出版社,2009.

【2】余锡存曹国华.单片机原理及接口技术.西安电子科技大学出版社,2011.

【3】雷丽文等.微机原理与接口技术.电子工业出版社,1997.

【4】吴黎明,王桂棠,洪添胜,等.单片机原理及应用技术.科学出版社,2005.

【5】韩克,柳秀山,等.电子技能与EDA技术.暨南大学出版社,2004.

【6】张毅坤.单片微型计算机原理及应用.西安电子科技大学出版社,1998

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

当前位置:首页 > 幼儿教育 > 唐诗宋词

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

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