16x16LED点阵电子显示屏的设计.docx

上传人:b****2 文档编号:2312911 上传时间:2022-10-28 格式:DOCX 页数:19 大小:200.42KB
下载 相关 举报
16x16LED点阵电子显示屏的设计.docx_第1页
第1页 / 共19页
16x16LED点阵电子显示屏的设计.docx_第2页
第2页 / 共19页
16x16LED点阵电子显示屏的设计.docx_第3页
第3页 / 共19页
16x16LED点阵电子显示屏的设计.docx_第4页
第4页 / 共19页
16x16LED点阵电子显示屏的设计.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

16x16LED点阵电子显示屏的设计.docx

《16x16LED点阵电子显示屏的设计.docx》由会员分享,可在线阅读,更多相关《16x16LED点阵电子显示屏的设计.docx(19页珍藏版)》请在冰豆网上搜索。

16x16LED点阵电子显示屏的设计.docx

16x16LED点阵电子显示屏的设计

 

单片机课程设计报告书

 

题目:

16x16LED点阵电子显示屏的设计

 

姓名:

班级:

电气普招1班

学号:

指导老师:

孙建延

时间:

2014-12-26

 

目录

概述1

一、设计要求与总体分析1

1.1设计要求1

1.2基本工作原理及框图1

二、硬件电路设计及说明2

2.1AT89C51芯片2

2.2AT89C51单片机P口特点3

2.374HC595介绍............................................................4

2.416×16点阵5

三、软件设计分析...................................................7

3.1设计基本思路6

3.2软件设计流程图6

3.3程序6

四、系统仿真与结果分析10

4.1Proteus软件基本概述10

4.2Proteus软件仿真电路图及结果10

4.3软件仿真分析11

五、课程设计总结12

概述

随着电子技术,特别是随大规模集成电路的产生而出现的微型计算机技术的飞速发展,人类生活发生了根本性的改变。

如果说微型计算机的出现使现代科学研究得到了质的飞跃,那么可以毫不夸张地说,单片机技术的出现则是给现代工业测控领域带来了一次新的技术革命。

目前,单片机以其体积小、重量轻、抗干扰能力强、对环境要求不高、高可靠性、高性能价格比、开发较为容易,在工业控制系统、数据采集系统、智能化仪器仪表、办公自动化等诸多领域得到极为广泛的应用,并已走人家庭,从洗衣机、微波炉到音响、汽车,到处都可见到单片机的踪影。

因此,单片机技术开发和应用水平已逐步成为一个国家工业发展水平的标志之一。

本课题研究的内容就是以单片机为主要控制元件,驱动LED点阵显示所想要现实的汉字。

一、设计要求与总体分析

1.1设计要求

(1)采用51系列单片机设计一个室内用LED图文显示屏,能稳定、清晰地显示图形或文字。

(2)图形或文字显示通过编程能实现静止、左移和右移等多种显示方式。

(3)采用动态扫描方式,保证在目测条件LED显示屏可亮度均匀地显示图形和文字,并且稳定、清晰、无串扰。

1.2基本工作原理及框图

LED点阵总体框图如图1.1所示,点阵电路大体上可以分成微机本身的硬件、显示驱动电路、控制信号电路三部分。

控制电路部分包括一个51CUP和一些外围电路。

在整个电路当中单片机负责控制整个电路以及相应的程序的运行、与PC机的串行通讯、以及给屏体电路部分发送命令。

点阵显示屏体、以及它的行和列的各个驱动电路。

此显示电路采用扫描方式进行显示时,每行有一个行驱动器,各行的同名列共用一个列驱动器。

由行译码器给出的行选通信号,从第一行开始,按顺序依次对各行进行扫描(把该行与电源的一端接通)。

另一方而,根据各列锁存的数据,确定相应的列驱动器是否将该列与电源的另一端接通。

接通的列,就在该行该列点燃相应的LED;未接通的列所对应的LED熄灭。

可通过扫描输出口的控制实现颜色的转换。

图1.1基本工作原理框图

二、硬件电路设计及说明

2.1AT89C51芯片

AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4kbytes的反复擦写的Flash只读程序存储器和128bytes的随机存取数据存储器(RAM),器件采用ATMEL公司高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。

AT89C51引脚如图2.1所示。

图2.1AT89C51引脚图

单片机是在一块硅片上集成了各种部件的微型机,这些部件包括中央处理器CPU、数据存储器RAM、程序存储器ROM、定时器/计数器和多种I/O接口电路。

8051单片机的基本结构见图2.2。

图2.28051单片机的基本结构

2.2AT89C51单片机P口的特点:

P0口:

P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:

P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为第八位地址接收。

  P2口:

P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

  P3口:

P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

2.274HC595译码器

74HC595内含8位串入、串/并出移位寄存器和8位三态输出锁存器。

寄存器和锁存器分别有各自的时钟输入(SCLK和SLCK),都是上升沿有效。

当SCLK从低到高电平跳变时,串行输入数据(SDA)移入寄存器;当SLCK从低到高电平跳变时,寄存器的数据置入锁存器。

清除端(CLR)的低电平只对寄存器复位(QS为低电平),而对锁存器无影响。

当输出允许控制(EN)为高电平时,并行输出(Q0~Q7)为高阻态,而串行输出(QS)不受影响。

74HC595最多需要5根控制线,即SDA、SCLK、SLCK、CLR和EN。

其中CLR可以直接接到高电平,用软件来实现寄存器清零;如果不需要软件改变亮度,EN可以直接接到低电平,而用硬件来改变亮度。

把其余三根线和单片机的I/O口相接,即可实现对LED的控制。

数据从SDA口送入74HC595,在每个SCLK的上升沿,SDA口上的数据移入寄存器,在SCLK的第9个上升沿,数据开始从QS移出。

如果把第一个74HC595的QS和第二个74HC595的SDA相接,数据即移入第二个74HC595中,照此一个一个接下去,可接任意多个。

数据全部送完后,给SLCK一个上升沿,寄存器中的数据即置入锁存器。

此时如果EN为低电平,数据即从并口Q0~Q7输出,把Q0~Q7与LED的8段相接,LED就可以实现显示了。

要想软件改变LED的亮度,只需改变EN的占空比就行了。

图2.374HC595封装图

2.416×16点阵

16×16LED点阵其实就是4块8×8点阵LED级联而成的,因此特给出8×8点阵LED的工作原理。

图2.4为8×8点阵LED外观及引脚图,其等效电路如图2.5所示,只要其对应的X、Y轴顺向偏压,即可使LED发亮。

例如如果想使左上角LED点亮,则Y0=1,X0=0即可。

应用时限流电阻可以放在X轴或Y轴。

而16×16就是在8×8原理的基础上将四块8×8级联而成,如图2.6。

图2.48×8点阵LED外观及引脚图

 

图2.58×8点阵LED等效电路

 

 

 

图2.6四块8x8点阵LED级联成16x16点

LED驱动显示采用动态扫描方法,动态扫描方式是逐行轮流点亮,这样扫描驱动电路就可以实现多行的同名列共用一套列驱动器。

以16×16点阵为例,把所有同一行的发光管的阴极连在一起,把所有同一列的发光管的阳极连在一起(共阴的接法),先送出对应第1列发光管亮灭的数据并锁存,然后选通第1列使其燃亮一定的时间,然后熄灭;再送出第2列的数据并锁存,然后选通第2列使其燃亮相同的时间,然后熄灭;….第16列之后,又重新燃亮第1列,反复轮回。

当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,就能看到显示屏上稳定的图形。

显示数据可通过单片机的P0,,P2口接驱动电路传输到点阵行引脚。

点阵的移动列扫描方式左移动:

列向组字显示字符水平方向的移动。

将原来字符点阵数组的16个数据重复一遍延长,点阵数组的数据个数为32个。

每扫描一帧取8个数据显示,下一帧取数要在数组中后移一个数取数。

循环一遍扫16帧。

可以假想有两块16×16的点阵模块(共32帧)水平平行排列,用一个恰好能罩住16列点阵的中空方框去罩这个点阵,第1(第1帧)罩住最左边数起第一列开始的16列,就扫描显示这16列;第2次(第2帧)使方框右移一列,罩住做左边数起第2列开始的16列,就扫描显示这16列;······;这样每扫描完一帧使方框右移一列,最后第16次(第16帧)时,罩住左边数起的第16列开始的16列,就扫描显示这16列。

如此完成16帧画面的扫描显示,也就完成了整个一次移动循环扫描、之后反复循环,即可呈现显示字符沿水平向左移动的图像

因为是列向组字(列扫描方式,点阵数据为行码,上边为低位下面为高位),希望显示移动的一个字符,第1次扫描从行码的点阵数组中取第1~16个数据,送行码输出口,对应于这8个数据,同时用列码输出口输出列码,分别控制第1~16列。

扫描完前16个数据之后,第2次扫描从点阵数组中取第3~18个数据(第18个数据与第1个数据同),送行码输出口,对应于这16个数据,同时用列码输出口输出列码,仍分别控制扫第1~16列。

第3次扫描从点阵数组中取第5~20个数据(第20个数据码与第2个数据码相同)扫描······;如此实现字符向左移动。

以上完成一个图形移动的方法,也可以看成是移动16个不同的字形,首先扫描第一个字型,同样是16行,16次扫描,16次显示;完成一个字型的扫描以后,再扫描第二个字型;完成第二个字型的扫描之后,再扫描第三个字型······依此类推,即可产生该文字的左移的感觉。

三、软件设计分析

3.1设计基本思路

在硬件方面基于AT89C51单片机的基础上,采用动态扫描的方式对LED点阵进行扫描显示,运用74HC138对点阵进行列驱动,通过加上拉电阻对点阵进行行驱动;在软件方面,通过定时中断让显示的文字更加稳定,更加清晰,由字模生成软件得到所要的文字、图片在LED点阵中显示的代码,不断扫描各行各列,通过人的视觉误差达到文字、图片的稳定显示。

3.2软件设计流程图

3.3程序#include

sbitSET=P3^5;

sbitADD=P3^6;

sbitSUB=P3^7;

sbitLOCK=P3^2;

sbitDAT=P3^0;

sbitCLK=P3^1;

unsignedcharcnt,cnt2,line,*p,*old,shift,t[4];

charspeed,i;

bitsec,key_mark;

unsignedcharcodeMatrix001[32]=

{

/*---转换字符十---*/

0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0xFF,0xF

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

当前位置:首页 > 人文社科 > 法律资料

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

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