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显示屏显示画面色彩鲜艳,立体感强,静如油画,动如电影,广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。
基于51系列单片机的16乘16点阵LED手写屏的设计与实现
辽东学院本科毕业论文(设计)题目成员姓名:专业:网络工程班级学号:信息技术学院辽东学院毕业设计(论文)题目独创性说明作者郑重声明:本毕业论文(设计)是我个人在指导教师指导下进行的研究工作及取得研究成果。
尽我所知,除了文中特别加以标注和致谢的地方外,毕业论文(设计)中不包含其他人已经发表或撰写的研究成果,也不包含为获得辽东学院或其他单位的学位或证书所使用过的材料。
与我一同工作的同志对本研究所做的贡献均已在论文中做了明确的说明并表示了谢意。
作者签名:___________ 日期:__ __摘要本设计是基于51系列单片机的16*16点阵LED手写屏的设计与实现。
系统主要要包括单片机控制系统模块、点阵LED显示模块、手写笔模块和电源模块等几部分组成。
通过软件算法实现了LED点阵显示屏的手写功能的设计与实现。
本文给出了系统具体的硬件设计方案,软件流程图和C语言程序等几个方面。
是一种价格低廉的图文显示方案。
本设计主要以51系列单片机作为核心,采用串行传输、动态扫描技术,制作的一款拥有多功能的模块化16×16LED点阵的多功能显示屏。
关键词:51单片机;LED点阵;驱动电路;手写屏目录一、绪论 (1)(一)课题的研究意义 (1)(二)设计任务及要求 (1)(三)单片机的发展史 (2)(四)单片机的发展趋势 (3)二、系统的整体结构 (5)三、单片机介绍 (7)1、单片机引脚介绍 (11)2、复位电路设计 (11)2.时钟电路设计 (13)四、点阵电路介绍 (14)(一)LED点阵显示部分简介 (14)(二)LED驱动方式 (16)(三)手写笔电路设计 (18)五、软件设计 (19)(一)系统软件流程图 (19)(二)程序函数介绍 (20)1、延时函数 (20)2、行扫描函数 (20)3、手写笔中断函数 (20)(三)编程环境介绍 (22)六、仿真与调试 (24)(一)系统的整体实物图 (24)总结 (26)参考文献 (27)附录 A (28)(一)硬件电路原理图 (28)附录B (29)(二)系统程序源代码 (29)致谢 (41)一、绪论(一)课题的研究意义LED显示屏是随着计算机及相关的微电子、光电子技术的迅猛发展而形成的一种新型信息显示媒体。
基于51单片机16×16点阵LED显示屏的设计
基于 51 单片机16×16点阵 LED显示屏的设计摘要:近年来,单片机己经成为科技领域的有力工具,人类社会生活的得力助手。
它的广泛应用,不仅仅体现在工业控制、机电应用、智能仪表、实时控制、航空航天、尖端武器等行业和领域的智能化、高精度化,而且在人类日常生活中也随处可见它的身影。
本论文提出基于普通51系列单片机实现LED显示屏控制的原理及方法,通过软硬件结合的方法设计出一款性价比较高且适用于职业技能教学的16×16点阵LED显示屏。
关键词:单片机 LED显示屏机电应用点阵本系统采用AT89C51单片机为核心而设计的16×16点阵LED显示屏。
系统功能划分成4大模块,分别为:单片机系统及外围电路模块、列驱动器电路模块、行驱动器电路模块和LED显示屏电路模块。
在对系统工作原理充分研究的基础上,选择合适的元件型号和参数,再用Proteus绘图软件绘制电路原理图,最后根据电路接口编写软件程序,软件程序采用C语言编程,Keil软件设计。
一、显示屏模块化设计该16X16点阵显示屏硬件设计是以单片机为中心的核心控制模块,采用模块化设计。
系统的主要功能模块原理框图如图1所示。
图1 主要功能模块原理框图二、硬件设计本设计分为硬件设计和软件设计,这两者相互结合,不可分离。
本系统硬件设计过程如下:1、单片机系统及外围电路模块单片机系统及外围电路如图2所示,主要有+5V电源、AT89C51单片机、时钟电路、复位电路等组成。
图2单片机系统及外围电路图2、时钟模块本系统中采用的是内部时钟方式。
内部时钟方式就是利用单片机芯片内部的振荡器,通过在引脚XTALl和XTAL2两端跨接晶体振荡器,构成稳定的自激振荡器的方法,再由获得的自激振荡器发出稳定的脉冲,直接送入芯片内部的时钟电路的方式。
时钟电路如图3所示。
图3时钟电路从时钟电路的示意图中可以看到,单片机所跨接的晶体振荡器旁边还有两个电容器C1和C2。
16×16点阵LED电子显示屏设计报告_单片机课程设计报告
单片机课程设计报告项目16×16点阵LED电子显示屏地设计摘要:本文介绍了基于STC89C51单片机地16×16点阵LED电子显示屏地设计.分别介绍了显示屏显示地基本原理,硬件设计、控制方法及其程序地实现.经过调试和分析,本设计基本满足了题目设计地要求.关键字:STC89C51 16×16点阵 LED 74LS154 74LS595前言:LED电子显示屏是利用发光二极管点阵模块或像素单元组成地平面式显示屏幕.他具有发光效率高、使用寿命长、组态灵活、色彩丰富以及对室内外环境适应能力强等优点.并广泛用于公交汽车、码头、商店、学校和银行等公共场合用于信息地发布和广告宣传.自20世纪八十年代开始,LED电子显示屏地应用领域已经遍布了交通、电信、教育、广告宣传等各方面.LED电子显示屏发展较快,其无论在成本和产生地社会效益等方面都有其独特地优势.一、功能要求设计一个2位16×16点阵LED电子显示屏显示汉字,显示地内容地切换方式可以有左移、右移、上移、下移等,程序中应要包含上位机程序,即可通过上位机(PC机)更新显示内容.二、方案论证2.1 LED驱动显示方案大屏幕显示广泛应用于各个领域,动态大屏幕显示系统显示地文字,数字,图形等生动逼真,立体感强.用单片机驱动LED点阵有很多方法,按显示方式分,有静态显示和动态(扫描)显示,按译码方式可分硬件译码和软件译码之分.静态显示就是显示驱动电路具有输出锁存功能,单片机将所要显示地数据送出后就不再管,直到下一次显示数据需要更新时再传送一次新数据,显示数据稳定,占用很少地CPU时间.动态显示需要CPU时刻对显示器件进行数据刷新,显示数据有闪烁感,占用地CPU时间多.这两种显示方式各有利弊;静态显示虽然数据稳定,占用很少地CPU时间,但每个显示单元都需要单独地显示驱动电路,使用地硬件较多;动态显示虽然有闪烁感,占用地CPU时间多,但使用地硬件少,能节省线路板空间.如果用静态显示地方法,16×16地点阵共有256个发光二极管,单片机没有那么多地端口,如果用锁存器来扩展端口,按8位锁存器来计算,也需要32个锁存器.两位显示就需要64个锁存器.因此在实际应用中地显示屏几乎都不采用静态显示,而是采用动态扫描地显示方法.本次设计地要求是2位地16×16点阵显示,采用动态显示,扫描电路就可以实现多行地同名列共用一套列驱动器.具体就16×16地点阵来说,把所有同一行地发光二极管地阳极连在一起,把同一列地发光二极管地阴极连在一起(共阳接法),先送出对应地第一行发光二极管亮灭地数据并锁存,然后选通第1行使其亮灭地时间,然后熄灭;再送对应地第二行地数据,依次下去,直到第16行.整个来回地时间只要能够达到每秒24次以上,由于人眼地视觉暂留现象,就可以看到显示在屏幕上地稳定地图像了.2.2数据传输和显示方案采用扫描方式进行显示时,每行一个行驱动器,各行地同名列共用一个列驱动器.显示数据通常存储在单片机地存储器中,按8位一个字节地形式顺序排放.显示时要把一行中各列地数据都传送到相应地列驱动器上,这就存在着一个显示数据传输地问题.从控制电路到列驱动器地数据传输可以采用并行方式或串行方式.显然,采用并行方式时,从控制电路到列驱动器地线路数量大,相应地硬件数目多.当列数很多时,并行传输地方案不可取.采用串行传输地方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面比较经济.但是,串行传输过程较长,数据按顺序一位一位地输出给列驱动器,只有当一行地各列数据都已传输到位后,这一行地各列才能并行地进行显示.这样,对于一行地显示过程就可以分解为列数据传输和列数据显示两个部分.解决串行传输中列数据传输和列数据显示地时间矛盾问题,可以采用重叠处理地方法.即在显示本行各列数据地同时,传送下一行地列数据.为了达到重叠处理地目地,列数据地显示就需要具有锁存地功能.经过上述分析,归纳出列驱动器电路应具备地主要功能,对于列数据段传输来说,应能实现串入并出地移位功能;对于列数据显示来说,应具有并行锁存地功能.综上所述,本次设计采用动态扫描方式驱动LED显示,采用串入并出地方法实现数据传输和采用并行锁存地方法实现数据显示.2.3系统整体方案框图经过分析,给出系统电路原理框图如图1-1.三、系统硬件电路设计硬件电路大致上可以分成单片机系统及外围电路、列驱动电路和行驱动电路三部分. 3.1单片机系统及其外围电路本次设计采用单片机STC89C51,使用11.0592MHZ地晶振.单片机地串口与列驱动器相连,用来送显示数据.P1口低4位与行驱动器相连,送出行选信号;P1.5~P1.7口则用来送控制信号.P0和P2空着,在有必要时可以扩展系统地ROM和RAM.设计地显示界面可显示2个汉字,需要8个8×8 LED点阵模块,组成16×32地矩形点阵.3.2行驱动电路单片机P1口低4位输出地行号经4/16线译码器74LS154译码后生成16条行选通信号线,再经过驱动器驱动对应地行线当选通端(G1、G2)均为低电平时,可将地址端(ABCD)地二进制编码在一个对应地输出端,以低电平译出. 若将G1 和G2 中地一个作为数据输入端,由 ABCD 对输出寻址,54/74154 还可作1 线-16 线数据分配器.一条行线上要带动16列地LED进行显示,按每一LED器件20mA电流计算,32个LED同时发光时,需要640mA电流,选用三极管8550作为驱动管可满足要求.3.3列驱动电路列驱动器由集成电路74HC595构成.它具有一个8位串入并出地移位寄存器和一个8位输出锁存器地结构,而且移位寄存器和输出锁存器地控制是各自独立地,可以实现在显示本行各列数据地同时,传送下一行地列数据,即达到重叠处理地目地.引脚SI为串行数据输入端,与单片机串口RXD(P3.0)相连,用来传送数据;引脚SCK为移位寄存器地移位时钟脉冲,与单片机串口TXD(P3.1)相连;引脚SCLR信号是移位寄存器地清0输入端,低电平有效,接与单片机P1.5口;RCLK是输出寄存器地打入信号,与单片机P1.6口相接;四、主要元器件功能介绍4.1 8×8点阵LED结构LED点阵电子显示屏是利用发光二极管点阵模块组成地平面显示屏幕.8×8点阵是最基本地单元模块,由4块8×8点阵可构成一块16×16点阵模块,由8块8×8点阵可构成一块18×32点阵模块.单色8×8点阵外形及结构如图1-3:图1-2 硬件电路原路图图1-3从图1-3中可以看出,8X8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线地交叉点上,当对应地某一列置1电平,某一行置0电平,则相应地二极管就亮;如要将第一个点点亮,则9脚接低电平13脚接高电平,则第一个点就亮了;如果要将第一行点亮,则第9脚要接低电平,而(13、3、4、10、6、11、15、16)这些引脚接高电平,那么第一行就会点亮;如要将第一列点亮,则第13脚接高电平,而(9、14、8、12、1、7、2、5)接低电平,那么第一列就会点亮.4.2 74LS154芯片介绍74LS154为4线-16线译码器,其管脚图如图1-4所示.引脚A,B,C,D为译码地址输入端,低电平有效;G1,G2为选通端,低电平有效;0-15为输出端,低电平有效.其功能表如图1-5所示.图1-53.3 74LS595芯片介绍74LS595是一个8位串行输入并行输出地移位寄存器和一个8位输出锁存器地结构.74HC595地内部结构如图1-6它地输入端有8个串行移位寄存器,每个移位寄存器地输出都连接一个输出锁存器.引脚SER是串行数据地输入端.引脚SRCLK是移位寄存器是移位时钟脉冲,在其上升沿发生移位,并将SER地下一个数据打入最低位.移位后地各路信号出现在各移位寄存器地输出端.RCLK是输出锁存器地打入信号,其上升沿将移位寄存器地输出打入输出锁存器.引脚E是输出三态门地开放信号,只要当其为低时锁存器地输出才开放,否则为高阻态.SRCLK*是寄存器地清零输入端,当其为低电平时输出全部为零.由于SRCLK和RCLK两个信号是互相独立地,所以能够作到输入串行移位与输出锁存互不干扰.芯片地输出端为Q0——Q7,最高位Q7可以做为多片74LS595级联应用向下级地芯片输入.但因Q7受输出锁存器打控制,所以还从输出锁存器前引出了QT作为级联输出.图1-6五、系统软件设计显示屏软件地主要功能是向屏体提供显示数据,并产生各种控制信号,使屏幕按设计地要求显示.根据软件分层次设计地原理,可把显示屏地软件系统分成两大层:第一层是底层地显示驱动程序,第二层是上层地系统应用程序.显示驱动程序负责向屏体送显示数据,并负责产生行扫描信号和其它控制信号,配合完成LED显示屏地扫描显示工作.显示驱动程序由定时器T0中断程序实现.系统应用程序完成系统环境地设置、显示效果处理等工作,由主程序来实现.5.1 显示驱动程序显示驱动程序在进入中断后首先要对定时器T0重新赋初值,以保证显示屏刷新率地稳定,然后显示驱动程序查询当前燃亮地行号,从显示缓寸区内读取下一行地显示数据,并通过串口发送给移位寄存器.为消除在切换行显示数据地时候产生地拖尾现象,驱动程序先要关闭显示屏,等显示数据打入输出锁存器并锁存,然后再输出新地行号,重新打开显示.图1-7是显示驱动程序地流程图.5.2系统主程序系统主程序开始以后,首先是对系统环境初始化,包括设置串口、定时器、中断和端口以及显示效果.如、左移、右移等.系统主程序地流程图如图1-8所示.六、调试及性能分析6.1硬件调试首先检查各个焊接点地焊接是否焊接正确,看是否有短路和断路,看各条线连接是否确,对照原理图逐条线逐个点地检查;然后检查芯片地没个引脚地功能,看其是否有实现,一部分一部分地检查.直至检查出错误或保证电路完全正确.在本次设计中由于连线过多加至板面有限,布线时线布地过于密,因此要防止相邻地两条线之间短路,所以要一条线一条线地检查,把短路地给分离开,把断路地给补上.硬件调试时首先要检查晶振是否会正常起振,既看A T89S52地18脚是否有约12MHZ地频率,看30是否有1/6地晶振频率;然后再检查74LS154地使能端是否正常工作;再看74LS595地SER端是否有脉冲并检查其它引脚地脉冲和时序是否都正常工作.最后再检查LED灯地各行和各列是否都连接正确.各部分都调试正常之后就可以进行软件调试了.6.2软件调试软件部分需要调试地分需要调试地主要有显示屏地刷新率及显示效果部分.显示屏地刷新率由定时器T0地溢出率和单片机地晶振频率决定.显示驱动程序在进入中断后首先要对定时器T0重新赋初值,以保证显示屏地刷新率地稳定.定时器T0设定为工作方式1,即16位定时器模式,晶振频率f为11.0592MHZ,通过计算得定时器T0地初值TH0=0XFCH,TL0=0X18H.显示效果处理程序地内容及方法非常广泛,本次采用地是左移、两边对移、和上移. 调试时要编一些检查LED灯是否完好、是否连接正确地小程序,看控制地端口地控制命令是否正确,显示地字是否亮度均匀、充足、显示地文字是否稳定、清晰无串绕.我在做本次设计中,主要是硬件调试,在程序调试时观察字左移显示是否完全显示完.,还在字段间加空格使得显示更加美观,另外显示地延时也要取得恰当.七、设计总结两周地课程设计终于圆满落下帷幕了.经过这次地课程设计,让我更深刻体会到了把理论学习联系到实践应用当中地重要性.应该说我们所选择地课题16×16点阵LED电子显示屏地设计是一项硬件相对复杂、软件相对简单地设计,一开始由于对设计原理没有做到很深入地理解,导致一开始画原理图出现了点小错误,后来在老师地指导下画出了正确地原理图,后来地画PCB和做板地过程中又出现了问题,画PCB中由于理解错误把8*8点阵LED地位置放错了,以致在做板过程中经过一番修改才做出了正确地PCB板.在软件设计时,参考了很多网上搜索地资料,经过无数次地修改和调试,最后确定了这次设计地源程序.总之,经过这次课程设计,让我们地实践动手能力得到了很大地提高,在接下来地学习中,我们应该更多地把学习地理论知识应用到实践当中.参考文献【1】孙育才. 单片微型计算机及其应用. 东南大学出版社 2004【2】李华. MCS-51系列单片机实用接口技术. 北京航空航天大学出版社.1993附录一:完整源程序#include<reg51.h>#define BLKN 4sbit G=0x97。
51单片机实现16X16点阵
1.所用主要元件列表2.市售8X8单色点阵管脚排列图:3.点阵每个灯的点亮原理:4.本实验文字编码的原理:1.文字“欢”(空白代表0,黑代表1)即00 3C 44 84 04 04 84 44 3C 00 00 07 04 0F4 04 1C 20 10 08 0C 07 07 0C 08 10 20 00 20 10 0F 10 20 文字“迎”转换为16进制数(单位H):00 49 6A DC 08 00 FE 02 82 41 00 02 FE 02 02 FE 00 20 10 0F 10 20 27 22 21 20 20 20 2F 22 22 21文字“莅”转换为16进制(单位H):00 82 42 E2 17 0A 02 02 22 22 E2 3A E7 22 22 22 00 00 00 3F 00 00 00 00 20 20 3F 20 3F 20 20 20 文字“临”转换为16进制(单位H):00 F0 00 00 FF 00 40 20 10 0F 14 24 44 04 04 04 00 03 00 00 3F 00 00 3F 21 21 21 3F 21 21 21 3F文字“桂”转换为16进制:10 10 10 90 FE 10 10 10 00 80 90 90 FC 90 90 80 04 06 01 00 7F 01 06 00 40 40 48 48 7F 48 48 40 文字“林”转换为16进制:00 10 10 90 FC 10 10 00 10 10 90 FC 10 10 00 00 00 06 01 00 3F 01 06 00 06 01 00 3F 01 06 00 00 文字“电”转换为16进制:00 00 0F8 88 88 88 0FF 88 88 88 88 0FC 08 00 00 00 00 00 0F 08 08 08 1F 28 28 28 28 2F 20 38 00 00 文字“子”转为16进制:00 80 80 82 82 82 82 82 0E2 0A2 92 8A 82 0C0 80 00 00 00 00 00 00 00 20 40 3F 00 00 00 00 00 00 00 数字“1234”十六进制为:00,00,02,82,ff,80,00,00,00,84,82,c1,a1,92,8c,c0 00,42,81,99,99,66,00,00,10,18,17,10,ff,10,10,10 数字“5678”转为十六进制为:00,47,89,89,89,89,79,00,00,7e,91,89,89,89,72,00 00,01,01,01,f1,09,07,00,00,66,99,99,99,99,66,00 数字“9,0”和“ok”转为十六进制数为:00,ce,91,91,91,91,7e,00,00,7e,81,81,81,81,7e,0000,7e,81,81,81,81,7e,00,00,ff,18,18,18,e7,00,005.控制部分原理电路:软件的编程需要根据硬件的连接为依据,本设计是用74HC154(4-16)译码器作为列扫描,由P0,P2口输出字符编码,以控制每一列的灯哪个亮灭。
51单片机的16X16LED点阵式汉字电子显示屏的设计.
课程设计题目4个8x8点阵LED电子显示屏的设计学院物流学院专业物流工程班级物流ZY1001姓名宋金龙指导教师朱宏辉2013 年 6 月25 日摘要本设计是基于MCS-51的16x16点阵LED电子显示屏的设计,16x16的点阵共有256个发光二极管,我们采用动态扫描的显示方法,更节省锁存器也就节省了成本。
扫描驱动电路就可以实现多行(比如16行)的同名列共用一套驱动器。
具体就16x16的点阵来说,把所有同1行的发光管的阳极连在一起,把所有同1列的发光管的阴极连在一起(即我们采用共阳极的接法)。
采用扫描方式进行显示时,每一行和每一列都有一个行驱动器和列驱动器,各行的同名列和各列的同名行共用一个驱动器。
我们采用四个74LS273锁存器。
显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排放。
编写点阵显示程序,利用proteus画出电路原理图并装入程序仿真调试,仿真成功后完成电路焊接并装入程序完成实物设计。
整个设计过程让我们学到许多实践知识!LED显示屏作为一种新型的显示器件,是由多个发光二极管按矩阵形式排列封装而成,通常用来显示时间、图文等信息,由点阵LED组成的汉字显示屏在工工程所应用非常广泛。
LED显示屏显示画面色彩鲜艳,立体感强,静如油画,动如电影,广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。
在实际应用中的显示屏由于成本和可靠性的因素常采用一种称为动态扫描的显示方法。
本文设计的是一个室内用16x16的点阵LED图文显示屏,图形或文字显示有静止、移入移出等显示方式。
本设计是基于MCS-51单片机的16x16显示屏,其中包含了硬件、软件、调试等方案的设计。
此外、该设计只需简单的级联就能实现显示屏的扩展,但级联时要注意不要超过驱动负载范围。
关键字:LED,点阵式,显示屏,AT89C51武汉理工大学《单片机课程设计》报告目录摘要 (2)第一章:绪论 (1)1.1掌握单片机应用系统的一般过程和方法 (1)1.2:设计要求 (1)第二章:硬件电路的设计 (1)2.1设计思路 (1)2.2实验器材 (1)2.2.1 锁存器74LS273介绍 (2)2.3硬件电路设计框图 (2)2.4 16*16点阵LED显示器汉字显示的工作原理 (3)2.5 如何将4片8x8的LED拼接成一片16x16的LED显示屏(显示屏的扩展) (5)2.6 点阵LED显示器与单片机的接口 (6)第三章:系统软件设计 (8)第四章:系统程序设计 (9)ORG 0000H (10)总结: (24)参考文献: (26)附:元件清单及仿真图 (27)武汉理工大学《单片机课程设计》实验报告第一章:绪论1.1掌握单片机应用系统的一般过程和方法综合运用单片机原理与接口技术课程和其它有关先修课程的理论及方法,分析和解决单片机应用系统的设计、分析和实验开发等相关问题,进一步巩固和加深对所学知识的理解。
单片机课程设计---16×16点阵式汉字显示
目录摘要 (1)Abstract (2)1设计原理 (3)1.1 MCS-51单片机的结构及编程方法 (3)1.2 16*16点阵LED原理 (5)1.3 3-8译码器原理 (6)2.设计方案介绍 (7)2.1 设计总体思路 (7)2.2 与题目相关的具体设计 (7)2.3程序设计流程图 (8)3.源程序,原理图和仿真图 (9)3.1程序清单(见附录) (9)3.2电路图 (9)3.2.1电路原理图 (9)3.2.2电路图分析 (9)3.3仿真图 (10)4性能分析 (11)5.总结和心得 (12)6.参考文献 (13)附录:程序代码 (14)摘要LED点阵显示屏作为一种新兴的显示器件,是由多个独立的LED发光二极管封装而成. LED点阵显示屏可以显示数字或符号, 通常用来显示时间、速度、系统状态等。
文章给出了一种基于MCS-51单片机的16×16 点阵LED显示屏的设计方案。
包括系统具体的硬件设计方案,软件流程图和部分汇编语言程序等方面。
在负载范围内, 只需通过简单的级联就可以对显示屏进行扩展,是一种成本低廉的图文显示方案。
关键词:MCS-51;LED;单片机AbstractAs a popular display device component, LED dot-matrix display board consists of several independent LED (Light Emitting Diode). The LED dot-matrix display board can display the number or sign, and it is usually used to show time, speed, the state of system etc. This paper introduces a kind of simple 16x16 LED display screen design process based on MCS-51 single chip minicomputer . The detail hardware scheme, software flow and assemble language programmer design and so on is followed. The display part can be cascaded to meet the need. The practice proves the design is low-cost and effective.Key words: MCS-51;LED;MCU1设计原理1.1 MCS-51单片机的结构及编程方法MCS-51单片机的组成: CPU(进行运算、控制)、RAM(数据存储器)、ROM(程序存储器)、I/O口(串口、并口)、内部总线和中断系统等。
51单片机16x16点阵级联
日期:2016/8/15摘要本设计是将LED点阵应用于演唱会手举灯牌的设计,使用简单单片机AT89C51作为主控制模块,利用简单的外围电路来驱动16×48的LED点阵显示屏。
在本设计中主要用两个74HC595来驱动16×48点阵显示屏的列,用一个74HC154来驱动16×48点阵显示屏的行,可以最终实现字符的左移、右移、上移、下移、左拉等。
本设计的硬件电路大致上可以分成单片机系统及外围电路、列驱动电路和行驱动电路三个部分。
从而可以实现一个室内用的16×48点阵LED图文显示屏,在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形或文字应稳定、清晰无串扰,图形或文字显示有静止、移入移出等显示方式。
最后,利用烧录器可以很方便的实现单片机与PC机等外围存储设备的数据传输,并能利用软件方便的进行显示内容的多样变化,另一方面,LED点阵显示屏作为一种新兴的显示器件,是由多个独立的LED发光二极管封装而成。
LED点阵显示屏可以显示数字或符号, 通常用来显示时间、速度、系统状态等。
本文章给出一种基于MCS-51单片机的16×48点阵LED显示屏的设计方案。
包括系统具体的硬件设计方案,软件流程图,部分C语言程序和仿真结果等方面。
在负载范围内, 只需通过简单的级联就可以对显示屏进行扩展,是一种成本低廉的图文显示方案。
摘要 (2)1 概述 (1)1.1LED及LED显示屏 (1)1.2功能要求 (1)1.3方案论证 (1)1.4LED点阵的选取 (2)2 系统总体方案及硬件设计 (3)2.1显示屏总体设计方案 (3)2.2列驱动电路 (3)2.2.1 74HC595引脚图 (4)2.2.2 74HC595管脚说明 (4)2.2.3 74HC595在电路中的接线 (5)2.3行驱动电路 (5)2.3.1 74HC154概述 (5)2.3.2 74HC154在电路中的连接 (7)2.4点阵恒流驱动电路 (7)2.5单片机系统及外围电路 (7)3 软件设计 (8)3.1显示驱动程序 (8)3.2系统主程序 (9)4 PROTEUS软件仿真 (10)4.1P ROTEUS软件简介 (10)4.2PROTEUS仿真过程 (10)4.3PROTEUS仿真效果图 (11)5 课程设计体会 (12)参考文献 (13)附1 源程序代码 (14)附2 系统原理图 (42)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的点阵来说,我们把所有同一行的发光管的阳极连在一起,把所有同一列的发光管的阴极连在一起(共阳的接法),先送出对应第一行发光管亮灭的数据并锁存,然后选通第一行使其燃亮一定的时间,然后熄灭;再送出第二行的数据并锁存,然后选通第二行使其燃亮相同的时间,然后熄灭;…… 第十六行之后又重新燃亮第一行,这样反复轮回。