51单片机16x16点阵设计
51单片机对16×16点阵显示屏的控制设计

51单片机对16×16点阵显示屏的控制设计1.功能16×16点阵显示屏学习板如下图所示,LED显示屏各点亮度均匀、充足,可显示图形和文字,通过文字图像取模软件获得数据码,可以显示各类图形或文字。
稳定、清晰、无串扰,图形或文字显示有静止、移入移出等显示方式。
2.基本原理16×16点阵是用4个8×8点阵屏拼合而成,8X8点阵LED工作原理说明:8×8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置O电平,则相应的二极管就亮;因此要实现一根柱形的亮法。
对应的一列为一根竖柱,或者对应的一行为一根横柱,因此实现柱的亮的方法如下所述:一根竖柱:对应的列置1,而行则采用扫描的方法来实现;一根横柱:对应的行置O,而列则采用扫描的方法来实现。
对于点阵移动显示的方法有很多,最简单的方法就是你先对你的点阵的每个点标上序号然后画出变化后的点阵图找到对应的点然后总结规律这样你可以写出任意的屏幕变换。
举个例子:16×16点阵左移,取字模自左到右自上到下,那么移动就是将后一列移到前一列。
行驱动采用7411C154(4—16线译码器)及PNP三极管。
列驱动采用74HCC595移位寄存器将控制位级连接入单片机,每个74H1C595数据输入端单独接单片机。
16×16点阵模块由4块小的8×8点阵模块通过级连而拼成,共16行,16列。
板上资源有STC89C51单片机芯片。
支持串口ISP在线下载,4个8×8点阵显示模块(组成一个16×16点阵)、全板总共可扩展成16个8×8点阵显示模块(组成四个16×16点阵,最多同时显示4个汉字),4位按键输入、一个手动复位按键、蜂鸣器。
89S51单片机的16×16点阵汉字显示的设计

• 134•针对LED 点阵显示汉字需要占用单片机多个并行口的问题,提出了基于89S51单片机的16×16点阵汉字显示设计,利用74HC138和74HC595对单片机并行口进行扩展,从硬件设计、软件设计方案等关键环节,分别进行了详细讨论。
随着单片机技术的发展,LED 点阵屏作为文字和图形显示的新型媒体,由于亮度高、耗能低、色彩鲜艳、寿命长等特点,迅速出现在学校、医院、车站等场所。
但LED 点阵显示需要占用单片机多个并行口,而通用移位寄存器74HC595T 和译码器74HC138,可以实现对单片机IO 的扩展,从而节约了大量的并口资源。
本设计详细介绍了74HC138和74HC595芯片在1616×16点阵LED 显示屏的应用。
1 电路总体设计16×16点阵汉字显示电路如图1所示,它由一片16×16点阵LED 显示屏、两片74HC138构成的行控制单元、两片74HC595构成的列控制单元及AT89S51单片机构成。
列控制单元用于输入数据,而行控制单元用于逐行扫描。
图1 系统总体结构1.1 16×16点阵工作原理本设计采用的是共阴16×16点阵显示模块。
它由256只发光二极管按一定规律安装成方阵,从内部结构如图2所示,可以看出,总共有16行和16列,每行的发光二极管阴极相连,每列的发光二极管阳极相连。
在行和列的交叉处有一个发光二极管,要使其中任一个二极管发光,则其对应行为低电位,而对应的列为高电位即可。
1.2 行控制单元行控制单元的控制原理是:先使第一行Y 0为低电平,其余行为高电平,显示第一行数据;然后第二行Y 1为低电平,其余行电平,显示第二行数据。
按照这个规律每行以较快的速度不断进行刷新,由于发光二极管的余辉效应和人的视觉暂留现象两个因素,给人的印象就是一组静态的数据,不会产生闪烁感。
动态显示能够节省I/O 端口,且功耗低。
本设计采用74HC138三位译码器。
基于51单片机的4个16×16点阵LED电子显示屏的设计

列驱动电路由集成电路74HC595构成。它具有一个8位 串入并出的移位寄存器和一个8位输出锁存器的结构,而 且移位寄存器和输出锁存器的控制是各自独立的,可以实 现在显示本行列数据的同时,传送下一行的列数据,既达 到重叠处理的目的。
系统程序的设计
显示屏软件的主要功能是向屏体提供显示数据,并产 生各种控制信号,使屏幕按设计的要求显示。根据软件分 层次设计的原理,可以把显示屏的软件系统分为两层;第 一层是底层的显示驱动程序,第二层是上层的系统应用程 序。显示驱动程序负责向屏体送显示数据,并负责产生行 扫描信号和其他控制信号,配合完成LED显示屏的扫描显 示工作。显示驱动器程序由定时器T0中断程序实现。系统 应用程序完成系统环境设置(初始化)、显示效果处理等 工作,由主程序来实现。
1.显示模块论证 点亮LED数码管的方式有静态和动态2种方法。本文以8段LED作为示例来 论证方案
如画出了室内直插式8×8点阵双基色 LED模块实物图。这种模块由64个发光LED 芯片以8×8的形式构成一个正方形模块, 然后用2列8针引脚将内部电路接口引出, 供驱动电路使用。 行对应的给LED的阳极,先给第一行以 高电平,如果送给16列的代码为EFFF,则 第一行的第4个LED被点亮,再给第二行以 高电平,如果送给16列的代码为EF07,则 第二行的第4、9、10、11、12、13个被点 亮,接着给第三行以高电平,同时给列以 驱动代码,这样不断地进行行行的扫描, 只要速度够快,由于人的视觉暂留作用, 就不会感觉到明显的闪烁感。点阵上会看 到一个清晰的“机”字
显示驱动程序流可靠,引脚焊接正确,一般无需调试 即可 正常工作。软件部分需要调试的主要有显示屏刷新频率及显示效果两 部分。显示屏刷新率由定时器T0的溢出率和单片机的晶振频率决定, 下表给出了实验调试时采用的频率及其对应的定时器T0初值。
基于51单片机16×16 LED点阵

设计流程
• (3)软件编写
单片机控制系统程序采用单片机汇编语言进行编辑,通过编 程控制各显示点对应LED阳极和阴极端的电平,就可以有效的控 制各显示点的亮灭。所显示字符的点阵数据可以自行编写(即直 接点阵画图),也可从标准字库中提取。程序按功能分为静态显 示、动态显示、通信等几个功能上相对独立的模块。然后按照所 划分的模块逐个编写和调试,最后将独立的模块整合起来。
设计流程
• (1)初步方案的论证和选择
搜集题目的有关资料,并参照目前通用的设计思想和设计 方法拟定几套设计方案进行分析比较。最终选定了以实验箱为硬 件基础,单片机为核心控制器件,外加译码电路和驱动电路的设 计方案。
设计流程
• (2)方案实现
以设计方案为指导思想选择合适的器件来实现这一思想, 选择器件时要从功能和电气特性两方面来选择和论证。该LED汉 字条屏硬件实现拟采用以AT89C51单片机为核心芯片的电路来实 现,主要由AT89C51芯片、时钟电路、复位电路、列扫描驱动电 路(74HC154)、16x16LED点阵5部分组成。
COL0 COL1 COL2 COL3 COL4 COL5 COL6 COL7 COL0 COL1 COL2 COL4 COL5 COL6 COL7
COL8 COL9 COL10 COL11 COL12 COL13 COL14 COL15 COL8 COL9 COL10 COL11 COL12 COL13 COL14 COL15
设计流程
led点阵显示
ROW0 ROW1 ROW2 ROW3 ROW4 ROW5 ROW6 ROW7 ROW8 ROW9 ROW10 ROW11 ROW12 ROW13 ROW14 ROW15
ROW0 ROW1 ROW2 ROW3 ROW4 ROW5 ROW6 ROW7 ROW8 ROW9 ROW10 ROW11 ROW12 ROW13 ROW14 ROW15
51单片机16x16点阵设计

16x16点阵设计摘要本设计是一16x16点阵LED电子显示屏的设计,整机以美国ATMEL公司生产的40脚单片机AT89C51为核心,介绍了以它为控制系统的LED点阵电子显示屏的动态设计和开发过程。
通过该芯片控制一个驱动器74HC154和两个列驱动器74HC595米驱动显示。
该电子显示屏可以显示各种文字或单色图像,全屏能显示1个汉字,采用4块8x8点阵LED显示模块米组成16x16点阵显示模式。
显示采用动态显示,是的图形或文字能够实现静止、移入移出等多种显示方式。
文中详细介绍了LED点阵显示的硬件设计思路、硬件电路个个部分的功能原理、相应软件的程序设计,以及使用说明等。
单片机控制系统程序采用单片机汇编语言进行编辑,通过编程控制各显示点对应LED阳极和阴极端的电平,就可以有效的控制各显示点的亮灭。
所显示字符的点阵数据可以自行编写,也可以标准字库中提取。
LED显示以其组构方式灵活、显示稳定、功耗低、寿命长、技术成熟、成本低廉等特点在车站、证券所、运动场馆、公交干道及各种室内外显示场合的信息发布,公益宣传,环境参数实时,重大活动倒计时等等得到广泛的应用。
设计结果证明,该系统显示误差小,性能稳定,结构合理,扩展能力强。
关键词:AT89C51单片机,LED,点阵显示,动态显示,C语言目录1 绪论 (1)1.1课题描述 (1)1.2基本工作原理及框图 (1)2 相关芯片及硬件电路设计 (2)2.1 51系列单片机简介: (2)2.2点阵显示原理 (5)2.3列驱动电路 (6)2.4行驱动电路 (8)2.5硬件总体电路 (9)3 系统软件设计 (10)3.1显示驱动程序 (10)3.2系统的主程序 (11)总结 (12)致谢 (13)参考文献 (14)附录 (15)1 绪论1.1 课题描述单片微型计算机(single chip microcomputer)简称单片机,它是为各类专用控制器而设计的通用或专用微型计算机系统,高密度集成了普通计算机微处理器,一定容量的RAM和ROM以及输入/输出接口,定时器等电路于一块芯片上构成的[1]。
基于51单片机的16×16点阵屏流动显示单片机课程设计

输入要输出的字
0x10,0x01,0x10,0x01,0x10,0x01,0x88,0x7F,0x88,0x40,0x4C,0x20,0x2C,0x04,0x0A,0x 04,
0x89,0x14,0x88,0x24,0x48,0x24,0x48,0x44,0x28,0x44,0x08,0x04,0x08,0x05,0x08,0x 02,
HzNum=0; //完全显示完后循环调用
}
}
Delay(2);//控制扫描频率
for( j=0;j<2;j++) //取每个汉字的前2个字节,
{
//汉字个数+1
buff[ j+j]=hztest[HzNum+j][count+count]; //每次移动完一个汉字后,选择下一个
汉字
精品课件
主程序
精品课件
点阵实物图组成
精品课件
3,点阵的原理图简介
1.74HC138芯片简介; 2.74HC595芯片简介; 3.点阵原理图讲解;
精品课件
1. 74HC138芯片
74HC138译码器可接受3位二进制加权地址输入(A0, A1和A2), 并当使能时,提供8个互斥的低有效输出(Y0至Y7)。74HC138特 有3个使能输入端:两个低有效(E1和E2)和一个高有效(E3)。 除非E1和E2置低且E3置高,否则74HC138将保持所有输出为高。 利用这种复合使能特性,仅需4片74HC138芯片和1个反相器,即可 轻松实现并行扩展,组合成为一个1-32(5线到32线)译码器。任 选一个低有效使能输入端作为数据输入,而把其余的使能输入端作 为选通端,则74HC138亦可充当一个8输出多路分配器,未使用的 使能输入端必须保持绑定在各自合适的高有效或低有效状态。
基于51单片机的16乘16点阵汉字显示设计

SendLeft(chinese[i+k]);
SendRight(chinese[num*16+i+k+15]);
ChooseColumn(i+1);
//
ChooseColumn(16-i);
DelayMs_12M(1); } } } }
//不需修改代码 只需前后加空格代码 //流动显示 需补充代码 //speed200 大概是 4 秒 一般取 4 //num<2000 void FlowDisplayBetter(uchar chinese[],uchar num,uchar speed) {
sbit upa=P2^1; sbit upb=P2^2; sbit upc=P2^3; sbit upg=P2^0;
sbit downa=P0^6; sbit downb=P0^7; sbit downc=P2^7; sbit downg=P1^0;
uchar code chinese1[]; uchar code chinese2[]; uchar code chinese3[]; uchar code title[]; uchar code collectiveShow1[]; uchar code testCode[];
main() {
Init(); while(1) {
//
SendLed(0x00);
DisplayChinese(chinese2,3,60);
FlowDisplay(title,14,3);
FlowDisplayBetter(testCode,3,3);
DelayMs_12M(10);
//
SendLed(0xff);
基于51单片机16LED点阵的设计

南华大学《单片机》设计报告16×16点阵显示屏的设计姓名:王佳杰学号:20114400218 专业班级:通信1102班指导老师:朱卫华所在学院:电气工程学院2014年6月15 日摘要本设计使用简单单片机AT98C52作为主控制模块,利用简单的外围电路来驱动16×16的点阵LED显示屏。
在本设计中主要用两个74HC595来驱动16×16点阵显示屏的列,用一个74HC154来驱动16×16点阵显示屏的行,可以最终实现字符的上下左右移动。
也就是说,硬件电路大致上可以分成单片机系统及外围电路、列驱动电路和行驱动电路三部分。
从而可以实现一个室内用的16×16点阵LED图文显示屏,在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形或文字应稳定、清晰无串扰,图形或文字显示有静止、移入移出等显示方式。
最后,利用烧录器可以很方便的实现单片机与PC机等外围存储设备的数据传输,并能利用软件方便的进行显示内容的多样变化,另一方面,LED 点阵显示屏作为一种新兴的显示器件,是由多个独立的LED发光二极管封装而成。
LED点阵显示屏可以显示数字或符号, 通常用来显示时间、速度、系统状态等。
文章给出了一种基于MCS-51单片机的16×16 点阵LED显示屏的设计方案。
包括系统具体的硬件设计方案,软件流程图和部分C语言程序等方面。
在负载范围内, 只需通过简单的级联就可以对显示屏进行扩展,是一种成本低廉的图文显示方案。
目录摘要 (2)1 概述 (4)1.1LED及LED显示屏 (4)1.2功能要求 (4)1.3方案论证 (4)1.4LED点阵的选取 (5)1.5LED点阵引脚说明 (6)1.6LED点阵拼接方式 (6)2 系统总体方案及硬件设计 (7)2.1显示屏总体设计方案 (7)2.2列驱动电路 (7)2.2.174HC595引脚图 (7)2.2.274HC595管脚说明 (7)2.2.374HC595在电路中的连接 (7)2.3行驱动电路 (9)2.3.174HC154概述 (9)2.3.274HC154引脚图 (10)2.3.374HC154管脚说明 (10)2.3.474HC154在电路中的连接 (10)2.4点阵恒流驱动电路 (11)2.5单片机系统及外围电路 (11)3 软件设计 (12)3.1显示驱动程序 (12)3.2系统主程序 (13)4 PROTEUS软件仿真 (14)4.1P ROTEUS软件简介 (14)4.1 PROTEUS仿真过程 (15)4.3 PROTEUS仿真效果图 (15)5 课程设计体会 (16)参考文献 (17)附1 源程序代码 (18)附2 系统原理图 (27)附3 实物图 (28)1 概述1.1 LED及LED显示屏LED显示屏显示画面色彩鲜艳,立体感强,静如油画,动如电影,广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
16x16点阵设计摘要本设计是一16x16点阵LED电子显示屏的设计,整机以美国ATMEL公司生产的40脚单片机AT89C51为核心,介绍了以它为控制系统的LED点阵电子显示屏的动态设计和开发过程。
通过该芯片控制一个驱动器74HC154和两个列驱动器74HC595米驱动显示。
该电子显示屏可以显示各种文字或单色图像,全屏能显示1个汉字,采用4块8x8点阵LED显示模块米组成16x16点阵显示模式。
显示采用动态显示,是的图形或文字能够实现静止、移入移出等多种显示方式。
文中详细介绍了LED点阵显示的硬件设计思路、硬件电路个个部分的功能原理、相应软件的程序设计,以及使用说明等。
单片机控制系统程序采用单片机汇编语言进行编辑,通过编程控制各显示点对应LED阳极和阴极端的电平,就可以有效的控制各显示点的亮灭。
所显示字符的点阵数据可以自行编写,也可以标准字库中提取。
LED显示以其组构方式灵活、显示稳定、功耗低、寿命长、技术成熟、成本低廉等特点在车站、证券所、运动场馆、公交干道及各种室内外显示场合的信息发布,公益宣传,环境参数实时,重大活动倒计时等等得到广泛的应用。
设计结果证明,该系统显示误差小,性能稳定,结构合理,扩展能力强。
关键词:AT89C51单片机,LED,点阵显示,动态显示,C语言目录1 绪论 (1)1.1课题描述 (1)1.2基本工作原理及框图 (1)2 相关芯片及硬件电路设计 (2)2.1 51系列单片机简介: (2)2.2点阵显示原理 (5)2.3列驱动电路 (6)2.4行驱动电路 (8)2.5硬件总体电路 (9)3 系统软件设计 (10)3.1显示驱动程序 (10)3.2系统的主程序 (11)总结 (12)致谢 (13)参考文献 (14)附录 (15)1 绪论1.1 课题描述单片微型计算机(single chip microcomputer)简称单片机,它是为各类专用控制器而设计的通用或专用微型计算机系统,高密度集成了普通计算机微处理器,一定容量的RAM和ROM以及输入/输出接口,定时器等电路于一块芯片上构成的[1]。
单片机自20世纪70年代问世以来,以极其高的性价比受到人们的重视和关注,所以应用很广,发展很快。
单片机的优点是体积小、重量轻、抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好,开发较为容易[2]。
在现代工业控制和一些智能化仪器仪表中,越来越多的场所需要用点阵图形显示器显示汉字,汉字显示屏也广泛应用到汽车报站器,广告屏等。
所以研究LED显示有实用的意义。
汉字显示方式是先根据所需要的汉字提取汉字点阵(如16×16 点阵),将点阵文件存入ROM,形成新的汉字编码;而在使用时则需要先根据新的汉字编码组成语句,再由MCU根据新编码提取相应的点阵进行汉字显示。
不论显示图形还是文字,都是控制与组成这些图形或文字的各个点所在位置相对应的LED器件发光。
通常事先把需要显示的图形文字转换成点阵图形,在按照显示控制的要求以一定的格式形成显示数据。
对于只控制通断的图文显示屏来说,每个LED发光器件占据数据中的1位(1bit),在需要该LE D器件发光的数据中相应的位填1,否则填0。
当然,根据控制电路的安排,相反的定义同样时可行的。
这样依照所需显示的图形文字,按显示屏的各行各列逐点填写显示数据,就可以构成一个显示数据文件。
显示图形的数据文件,其格式相对自由,只要能够满足显示控制的要求即可。
文字的点阵格式比较规范,可以采用现行计算机通用的字库字模。
组成一个字的点阵,其大小也可以有16×16、24×24、32×32、48×48等不同规格[3]。
用点阵方式构成图形或文字,是非常灵活的,可以根据需要任意组合和变化,只要设计好合适的数据文件,就可以得到满意的显示效果。
因而采用点阵式图文显示屏显示经常需要变化的信息,是非常有效的。
1.2 基本工作原理及框图LED点阵总体框图如图1所示,点阵电路大体上可以分成微机本身的硬件、显示驱动电路、控制信号电路三部分。
控制电路部分包括一个51CUP和一些外围电路。
在整个电路当中此控制电路部分相当于一个上位机,它负责控制整个电路以及相应的程序的运行、与PC 机的串行通讯、以及给屏体电路部分发送命令。
点阵显示屏体、以及它的行和列的各个驱动电路。
由于两部分的电路在制板时可以放到一起,所以可以将其字库放到控制电路部分使用串行通讯方式来与屏体电路部分进行数据和命令的传送。
此显示电路采用扫描方式进行显示时,每行有一个行驱动器,各行的同名列共用一个列驱动器。
由行译码器给出的行选通信号,从第一行开始,按顺序依次对各行进行扫描(把该行与电源的一端接通)。
另一方而,根据各列锁存的数据,确定相应的列驱动器是否将该列与电源的另一端接通。
接通的列,就在该行该列点燃相应的LED ;未接通的列所对应的LED 熄灭。
图1点阵显示总体框图 2 相关芯片及硬件电路设计2.1 51系列单片机简介:单片机(Microcontroller ,又称微处理器)是在一块硅片上集成了各种部件的微型机,这些部件包括中央处理器CPU 、数据存储器RAM、程序存储器ROM 、定时器/计数器和多种I/O 接口电路。
AT89C51单片机的基本结构见图2图2 51单片机内部结构51是MCS-51系列单片机的一个产品。
MCS-51系列单片机是Intel公司推出的通用型单片机,51单片机系列指的是MCS-51系列和其他公司的51衍生产品。
这些衍生品是在基本型基础上增强了各种功能的产品。
这些产品给8位单片机注入了新的活力,给它的开发应用开拓了更广泛的前景。
51系列的内部结构可以划分为CPU、存储器、并行口、串行口、定时器/计数器、中断逻辑几部分。
(1)中央处理器51的中央处理器由运算器和控制逻辑构成,其中包括若干特殊功能寄存器(SFR)。
算术逻辑单元ALU能对数据进行加、减、乘、除等算术运算;“与”、“或”、“异或”等逻辑运算以及位操作运算。
PSW的格式如下所示,其各位的含义是:表1 PSW寄存器各位的含义CY:进位标志。
有进位/错位时CY=1,否则CY=0。
AC:半进位标志。
当D3位向D4位产生进位/错位时,AC=1,否则AC=0,常用于十进制调整运算中。
F0:用户可设定的标志位,可置位/复位,也可供测试。
RS1、RS0:四个通用寄存器组选择位,该两位的四种组合状态用来选择0~3寄存器组。
OV:溢出标志。
当带符号数运算结果超出-128~+127范围时OV=1,否则OV=0。
当无符号数乘法结果超过255时,或当无符号数除法的除数为0时OV=1,否则OV=0。
P:奇偶校验标志。
每条指令执行完,若A中1的个数为奇数时P=1,否则P=0,即偶校验方式。
控制逻辑主要包括定时和控制逻辑、指令寄存器、译码器以及地址指针DPTR和程序寄存器PC等。
(2)存储器组织51单片机在物理上有四个存储空间:片内程序存储器和片外程序存储器、片内数据存储器和片外数据存储器[4]。
图3 51存储器组织结构程序存储器的某些单元是保留给系统使用的:0000H~0002H单元是所有执行程序的入口地址,复位以后,CPU总是丛0000H单元开始执行程序。
0003H~002AH单元均匀地分为五段,用做五个中断服务程序的入口。
用户程序不应进入上述区域。
51的RAM虽然字节数不很多,但却起着十分重要的作用。
256个字节被分为两个区域:00H~7FH时真正的RAM区,可以读写各种数据。
而80H~FFH是专门用于特殊功能寄存器(SFR)的区域。
对于8051安排了21个特殊功能寄存器,每个寄存器为8位,所以实际上128个字节并没有全部利用。
内部RAM的各个单元,都可以通过直接地址来寻找,对于工作寄存器,则一般都直接用R0~R7,对特殊功能寄存器,也是直接使用其名字较为方便。
8051内部特殊功能寄存器都是可以位寻址的,并可用“寄存器名.位”来表示,如ACC.0,B.7等。
(3)AT89C51芯片AT89C51是美国ATMEL公司生产的低电压,高性能CMOS 8位单片机,片内含4k bytes的反复擦写的Flash只读程序存储器和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域[5]。
AT89C51引脚图如图4所示。
图4AT89C51引脚图AT89C51提供以下标准功能:4K字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个十六位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位[6]。
2.2 点阵显示原理一般的点阵都是8x8的,即横竖都有8个发光二极管,如图5所示。
观察二极管正负极,我们可以很容易发现,如果赋予P0=0xff;P2=0x00;那么所有的发光二极管将被点亮,从而点阵就可以实现全亮。
类似的,如果需要实现某一列或者某一行全亮,也可以进行类似的赋值。
比如,我们要实现第一列全亮,第一列全亮就要求P20=0;其他为1则代码为P0=0xff;P2=0xfe;但是如果需要让点阵显示一个字符的话,上述赋值则不能达到目的,需要通过动态扫描来实现。
扫描包括行扫描和列扫描,我们可以任意使用其中一种。
假设我们使用行扫描,就是首先令P07为1,即P00=0x80;然后观察在这一行上有哪些二极管被点亮,点亮的那一列所对应的端口就为0,不亮的就为1,记下此时P2数值,短暂延时过后,令P06=1,即P00=0x40;然后观察在这一行上有哪些二极管被点亮,点亮的那一列就为0,不亮的就为1,记下此时P2数值,同理如此重复下去,直到P00=0x01;那么所有的P0和P2的数值就构成了两个长度为8的数组,我们可以在程序中每个一段时间按顺序发送一组代码,只要时间段足够短,那么我们就可以在点阵上看到稳定的字符了。
图5 8x8点阵示意图2.3 列驱动电路动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如16行)的同名列共用一套列驱动器。
具体就16×16的点阵来说,我们把所有同一行的发光管的阳极连在一起,把所有同一列的发光管的阴极连在一起(共阳的接法),先送出对应第一行发光管亮灭的数据并锁存,然后选通第一行使其燃亮一定的时间,然后熄灭;再送出第二行的数据并锁存,然后选通第二行使其燃亮相同的时间,然后熄灭;…… 第十六行之后又重新燃亮第一行,这样反复轮回。