单片机控制8X8LED点阵显示程序

单片机控制8X8LED点阵显示程序
单片机控制8X8LED点阵显示程序

单片机控制8X8LED点阵滚动显示数字0-9 LED是light-emitting diode的缩写,在某些半导体材料的PN结中,注入的少数载流子与多数载流子复合时会把多余的能量以光的形式释放出来,从而把电能直接转换为光能。PN 结加反向电压,少数载流子难以注入,故不发光。这种利用注入式电致发光原理制作的二极管叫发光二极管,通称LED。

LED电子显示屏作为一种现代电子媒体,以其灵活的显示面积(可分割、任意拼装)、高亮度、长寿命、大容量、数字化、实时性的特点,是其他任何一种媒体所不可替代的。?

LED电子显示屏充分运用现代信息技术,将声、光、电、机等学科整合并完美组合、集视频、动画、字幕、图片于一体的高科技信息发布的终端产品。LED显示屏还可延伸到网络、通讯、综合布线、监控、广播等弱电系统。

LED点阵一般采用扫描式显示,实际运用分为三种方式:

(1)点扫描;

(2)行扫描;

(3)列扫描。

若使用第一种方式,其扫描频率必须大于16×64=1024Hz,周期小于1ms即可。

若使用第二和第三种方式,则频率必须大于16×8=128Hz,周期小于7.8ms即可符合视觉暂留要求。此外一次驱动一列或一行(8颗LED)时需外加驱动电路提高电流,否则LED 亮度会不足。

今天做一个简单的点阵显示实验,使点阵模块循环向左滚动反显数字0-9,即数字是对应的LED是不亮的,其余的是亮的!

我们使用的是8*8点阵的型号是PAL48SB。PAL48SB点阵参数如下:发光尺寸:

Φ4.8mm,列行:8×8,发光颜色:高亮红绿双色,极性:共阳,散射剂:透明,表面黑色。表面大小:48×48×9.2mm,双列12脚,位距:2.54×11=27.94mm。点阵外形图和其内部的连线图如下图所示!上下分别为0DF3A1GH和25E7CB64。

单独的8*8点阵是没法工作的。下面我们做一个点阵模块,它可以直接通过排线接到单片机的I/O口上!

让我们来做一个点阵模块。点阵模块为高亮度双颜色(红、绿),由8个三极管、24个电阻,三个排针组成。使用方便,三个插针都是低电平有效,所以,连接到各P口都不用接上拉电阻,只要用排线接到实验板上的三个口上即可。点阵尺寸48mm×48mm。

汇编程序如下:

;8X8LED点阵循环向左滚动反显数字0-9

;列扫描

ORG 0000H

LJMP MAIN

ORG 0030H

MAIN: MOV DPTR,#TAB ;字码表初址赋值

MOV R1,#0FEH ;列控制码

MOV R3,#8 ;列数

MOV R4,#88 ;移动“ ”及“0~9”11个字符,共88列

CM: MOV R5,#10 ;每屏反复显示10次

MOV R3,#8 ;列数

C1: MOV R2,#0 ;取字指针

C8: MOV P1,#0FFH ;关显示

MOV A,R2 ;

MOVC A,@A+DPTR ;取当前列的显示字码的一个字节

MOV P2,A ;送1~8行控制口

INC R2

MOV A,R1

MOV P1,A ;送列控制码

ACALL D5MS ;显示5MS

RL A ;列控制码左移,显示下一列

MOV R1,A

DJNZ R3,C8 ;未显示8列,继续

MOV R3,#8

DJNZ R5,C1 ;未显示10次,继续

INC DPL ;一屏反复显示10次完,字码表初值加1

DJNZ R4,CM ;88列未移动完,继续

LJMP MAIN ;88列显示完,返回,重新从“ ”开始显示D5MS: MOV R6,#10

MOV R7,#248

DJNZ R7,$

DJNZ R6,$-4

RET

TAB: DB 00H,00H,00H,00H,00H,00H,00H,00H ;

DB 00H,00H,00H,7EH,81H,81H,81H,7EH ;0

DB 00H,00H,00H,00H,00H,82H,0FFH,80H ;1

DB 00h,00h,00h,0C6H,0A1H,91H,89H,0C6H ;2

DB 00H,00H,00H,42H,81H,81H,99H,66H ;3

DB 00H,00H,00H,1FH,10H,0FFH,10H,10H ;4

DB 00H,00H,00H,4FH,89H,89H,89H,79H ;5

DB 00H,00H,00H,7EH,89H,89H,89H,72H ;6 DB 00H,00H,00H,01H,01H,0F9H,05H,03H ;7 DB 00H,00H,00H,76H,89H,89H,89H,76H ;8 DB 00H,00H,00H,4EH,91H,91H,91H,7EH ;9 END

基于51单片机的led点阵显示

项目名称:基于51单片机的LED点阵显示器 目录 一、项目介绍 (2) 1.1 项目背景 1.2 功能介绍 二、电路结构 (3) 三、实现模块 (5) 四、运行程序 (7) 一、项目介绍 1.1项目背景 当今世界,电子技术迅猛发展,点阵式显示器件作为现代信息显示的重要媒体,在金融证券、体育、机场、交通、商业、广告宣传、邮电电信、指挥调度、国防军事等许多领域中得到了广泛应用。因此点阵式显示器件的研制、生产也的到了迅速的发展,并逐步形成产业,成为光电子行业的新兴产业领域。目前,点阵式显示器件具体包括LED显示模块和LCD显示模块等。现在发展的LCD比较先进,LCD的优点较为明显,他体积小,容易控制,功能强,价格适宜,能够适应显示器的发展方向,因而在通信、家电、大屏幕投影等领域得到了越来越广泛的应用;随着社会经济的迅猛发展,工业生产逐渐实现了自动化,其中,设备的工

作状态和生产过程状态的显示与监控起到了非常重要的作用,对于那些需要显示的信息量不是很大,分辨率不是很高,又需要制造成本相对比较低的场合,使用大、小屏幕LED点阵显示器是比较经济适用的,他可以显示字符、数字、汉字和简单图形,可以根据需要使用不同字号、字型,显示亮度较高,并且对环境条件要求比较低。LED显示又可以分为单色显示和双色显示,可以按照需要的大小、形状和颜色进行组合,并用单片机控制实现各种文字或图形的变化,达到宣传和提示的目的。 1.2功能介绍 2本次设计的用单片机控制的显示电路使用比较简单,操作方便。它主要是通过一个8×8点阵来显示图案,通过不同的按键来选择控制图案的种类及显示方式。在通电以后,显示屏全亮,随后进入逐字显示状态。按下复位键K1,系统自动复位,显示diligent,随后进入待命状态。按键1、2、3、4分别控制不同的图案。另外,我们可以通k5键来控制字符移动速度的快慢。 二、电路结构 单片机最小系统设计 2.2.1 各部分具体电路 1 单片机的时钟电路 AT89C52单片机内部的振荡电路是一个高增益反向放大器,引线XTAL1和XTAL2分别是放大器的输入端和输出端。单片机内部虽然有振荡电路,但要形成时钟,外部还需附加电路。AT89C52的时钟产生方式有两种:内部时钟电方式和外部时钟方式。由于外部时钟方式用于多片单片机组成的系统中,所以此处选用内部时钟方式。 内部时钟方式:利用其内部的振荡电路在XTAL1和XTAL2引线上外接定时元件,内部振荡电路产生自激振荡。最常用的是在 XTAL1和XTAL2之间接晶体振荡器与电路构成稳定的自激振荡器,如图2-1电路所示为单片机最常用的时钟振荡电路的接法,其中晶振可选用振荡频率为6MHz的石英晶体,电容器一般选择30PF左右。

基于51单片机的汉字点阵显示设计

湖南科技大学测控技术与仪器专业
单 片 机 课 程 设 计
题 姓 学 名 号

指导教师 成 绩 ____________________
湖南科技大学机电工程学院 二〇一五年十二月制

湖南科技大学课程设计
摘要
LED 显示屏在我们的周围随处可见,它的应用已经普及到社会中的方方面面。作为 一种新型的显示器件,在许多场合都可以见到它的身影,不仅是它的应用使呈现出来的 东西更加美观,更重要的是它的应用方便,成本很低,除了能给人视觉上的冲击外,更 能给人一种美的享受。LED 显示屏是由多个发光二极管按矩阵形式排列封装而成,通常 用来显示时间、图文等各种信息。本设计是基于 ATS52 单片机的 16*16 点阵式显示屏, 该 LED 显示屏能实现 16*16 个汉字,简单的显示图像, 然后一直循环着显示下去。该设 计包含了硬件、软件、调试等方案,只需简单的级联就能实现显示屏的拓展,但要注意 不要超过负载能力。本次设计的作品体积小、功能多、方便实用、花费小,电路具有结 构简单、操作方便、精度高、应用广泛的特点。 关键词: LED,ATS51 单片机,显示屏
-2-

湖南科技大学课程设计
目录
摘要…………………………………………………………………………i 第一章 系统功能要求 ……………………………………………………1 1.1 系统设计要求 ……………………………………………………1 第二章 方案论证 …………………………………………………………1 2.1 方案论证 …………………………………………………………1 第三章 系统硬件电路设计 ………………………………………………1 3.1 AT89S51 芯片的介绍 ………………………………………………1 3.1.1 系统单片机选型…………………………………………………1 3.1.2 AT89S51 引脚功能介绍 …………………………………………2 3.2 LED 点阵介绍………………………………………………………2 3.2.1LED 点阵……………………………………………………………2 3.3 系统各硬件电路介绍 ………………………………………………3
3.3.1 系统电源电路设计介绍……………………………………………3 3.3.2 复位电路……………………………………………………………4 3.3.3 晶振电路……………………………………………………………4 3.4 系统的总的原理图……………………………………………………5 第四章 系统程序设计 ………………………………………………………5 4.1 基于 PROTEUS 的电路仿真……………………………………………5 4.2 用 PROTEUS 绘制原理 ………………………………………………6
4.3PROTEUS 对单片机内核的仿真 ………………………………………6
-3-

51单片机驱动16×16LED点阵显示动画汉字汇编程序

51单片机驱动16×16LED点阵显示动画汉字汇编程序 这里提供一个完整的AT89S51单片机驱动驱动led点阵显示具有动画效果的汉字的汇编程序列子. ORG 0000H ST: MOV A,#0FFH ;初始化 MOV P1,A MOV P2,A MOV P3,A MOV P0,A CLR A MOV R0,#50H ;显示缓存清0 MOV R1,#20H ;控制清0的次数 ST0: MOV R0,A INC R0 DJNZ R1,ST0 ;正文显示 CHINESE: MOV DPTR,#TAB1 ;查表指针指向TAB1 LCALL HZ ;结束动画 SCREE: MOV DPTR,#TAB2;查表指针指向TAB2 ACALL DD MOV DPTR,#TAB3;查表指针指向TAB3 ACALL DD MOV DPTR,#TAB4;查表指针指向TAB4 ACALL DD LJMP CHINESE ;显示8幅画面子程序,SCREE专用,用字模软件字要倒置(表必须深256字节) DD: MOV B,#00H

MOV R0,#08H ;显示8幅画面 AJMP CC CC0: MOV A,B ADD A,#20H ;指向下一幅画面 MOV B,A CC: MOV R7,#08H ;画面停留时间 MOV R3,B MOV 37H,R0 LCALL ENTER DIS00: LCALL DISPLAY DJNZ R7,DIS00 MOV R0,37H DJNZ R0,CC0 RET ;汉字上移子程序,可显示8个汉字,(表必须深256字节) HZ: MOV R3,#00H ;查表偏移量 MOV R5,#81H ;查表128次 MOVBACK: MOV R4,#10H ;使显示完一个汉字 MOVBACK0: MOV R7,#02H ;一桢画面显示时间 MOV R0,#6DH ;低8位R0指向显示缓存倒数第3个字节,以备与最后1个字节交换MOV R1,#6CH ;高8位R1指向显示缓存倒数第4个字节,以备与倒数第2个字节交换MOV R2,#10H ;存后移的次数 DJNZ R5,MOVBACK1 RET ;显示完该表,返回 MOVBACK1: MOV A,R0 ;低8位被后移的存单元数据暂存入A INC R0 ;后移两字节 INC R0 MOV R0,A ;放入要移的低8位数据 MOV A,R0 ;R0指向下一个要后移的存单元 SUBB A,#04H

单片机LED点阵显示方法与程序代码

单片机LED点阵显示方法与程序代码 点阵的接法有共阴和共阳两种(共阳指的是对每一行LED来讲是共阳)。 由于51单片机驱动能力有限,亮度不够,所以一般需要三极管驱动,下图为一个8X8点阵原理图,仅仅是仿真,如果需要接实物的话,加上三极管才足够亮。 显示的方法有两种: 1、逐列扫描方式。如下图所示,P1口输出列码决定哪一列能亮(相当于位码),P2口输出行码(列数据)决定列上哪些LED亮(相当于段码),能亮的列从左向右扫描完8列(相当于位码循环移位8次)即显示出一帧完整的图像。 2、逐行扫描方式,与逐列扫描调换,即P2口输出位码,P1口输出段码,扫描完8行显示出一帧图像。 以逐行扫描为例,从上图可以很明了的知道点阵的显示原理了(红色表示高电平,绿色表示低电平),当把扫描速度加快,人的视觉停留,看见的就是一幅图或一个字了,如下图所示。

一、行扫描静态显示, 用51单片机实现上图静态显示的程序如下: #include #define uchar unsigned char #define uint unsigned int uchar code TAB[]={0x81,0xFD,0xFD,0xC1,0xBF,0xBF,0xBD,0xC3}; uchar i,t; delay(uchar t) { while (t--) {;} } void main(void) { while(1) { P2=0x01; for(i=0;i<8;i++) { P1=TAB; delay(100); P2=P2<<1|P2>>7; } } } 二、行扫描翻页显示 字码取模方式为逐行 第一次从字码数组中取出第1~8个数据置于列上,行扫描顺序为1~8行,显示一帧,第二次取第9~16个数据,行扫描顺序仍为1~8行,显示第二帧,第三次取第17~24个数据,…… 实现图显示效果的程序如下:

51单片机点阵设计

51单片机点阵设计 在做点阵之前先来了解下点阵的原理和点阵显示的 过程。 点阵实际上就是64个单独的led灯排列为8行8列 ROW1-8、COL1-8分别控制行和列的1-8led。ROWx高电平、COLy低电平,对应的第x行、第y列led灯亮。 电路图

简化了实际应用电路硬件根据要求自己加 P3口驱动ROW P2口驱动COL 如何让点阵显示字符?点阵显示字符都是动态的,和多位的数码管一样,并不是一次就显示行或列,而是一次只显示1行,在很短的时间内将8行分别显示出来。由于时间很短,我们的眼睛是看不出来是分开显示的。以字符'1'为例。 分别显示8行 ROW-0x01 COL-0xef ROW-0x02 COL-0xe7 ROW-0x04 COL-0xef ROW-0x08 COL-0xef ROW-0x10 COL-0xef ROW-0x20 COL-0xef

ROW-0x40 COL-0xef ROW-0x80 COL-0xc7 源程序: #include ; unsigned char code NUM[8]={0xef,0xe7,0xef,0xef,0xef,0xef,0xef,0xc7}; #define ROW P3 #define COL P2 void main(void) { unsigned char i,j,k; while(1) { k=0x01; for(i=0;i 电路图

源程序 #include ; #include ; unsigned char code NUM[8]={0x00,0x00,0xe00,0x82,0xff,0x80,0x00,0x00}; #define ROW P3 sbit SI=P2^0; sbit RCK=P2^2; sbit SCK=P2^1; void HC595SendData(unsigned char SendVal) { unsigned char i; for(i=0;i<8;i++) { if((SendVal<

基于51单片机的LED点阵设计

毕业设计(论文)题目: 院 (系): 专业: 姓名: 学号: 指导教师:

毕业设计(论文)任务书

近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,作为微型机的一个主要分支,单片机在结构上的最大特点是把CPU、RAM和ROM 存储器、定时器和多种I/O接口电路集成在一块超大规模集成电路芯片上。从它的组成和功能来看,一块单片机芯片其实就是一台计算机。 本次设计是采用MSC-51单片机来设计的四位数计算器, 采用C语言进行程序编写实现计算器功能。外接4X4的键盘,通过键盘扫描来完成输入数的控制,利用驱动电路使数值与结果在七段共阴极数码管上正常显示,并设有清零键可随时完成计算与显示的清零。计算器将完成的0至9999整数的一次加/减/乘/除运算。 执行过程如下: 开机即显示0,等待键入数值,当输入数字,将通过数码管显示出来,在输入+、-、*、/运算符之后,计算器在内部执行数值转换和存储,并等待再次输入数值,当在键入数值后将显示键入的数值,按等号就会在数码管上显示运算结果。 关键字:单片机计算器键盘扫描程序

n recent years, as computer penetration in the social field and large-scale development of integrated circuits, microcontroller applications are continually deepening, because of its powerful function, small size, low power consumption, cheap, reliable, easy to use, etc. therefore particularly suitable for systems with control of more and more widely used in automatic control, intelligent instruments, meters, data acquisition, military products and home appliances fields, As one of the main branch of microcomputer, microcontroller in the structure of the biggest feature is the CPU, RAM and ROM memory, timer and multiple I / O interface circuit integrated on a VLSI chip. The composition and function from its point of view, a single chip is actually a computer. This design is the use of MSC-51 microcontroller to design the four-digit calculator, using C programming language to achieve calculator functions. 4X4 external keyboard, the keyboard scan to finish by the number of control values and make the drive circuit to the cathode results in a total of seven-segment digital tube display properly, and has cleared at any time to complete key calculation and display clear. Calculator to complete an integer from 0 to 9999 plus / minus / multiply / divide. Implementation of the process is as follows: Power is displayed 0, waiting type value, when the input numbers, will come out through the digital display, the input +,-,*,/ operator, the calculator in the internal implementation of the numerical conversion and storage, and wait for the re-enter the value, when Type the value in the type of value will be displayed by an equal sign will be displayed in the digital control operation results. Key words: SCM calculator keyboard scan C language

51单片机 8x8点阵显示程序参考

本程序用的是51单片机控制8*8点阵显示I(心形)U #include #define uint unsigned int #define uchar unsigned char //使用的IO口要根据自己接在单片机里的情况来更改 sbit RCK = P3^6; //声明串行输出存储锁存线RCK sbit SCK = P3^5; //声明串行数据输入时钟线SCK sbit SER = P3^4; //声明串行数据输入线SER sbit HC = P0^0; //声明C信号接口 sbit HB = P0^1; //声明B信号接口 sbit HA = P0^2; //声明A信号接口 #define ROW1 HC = 0; HB = 0; HA = 0; //定义使能第1行#define ROW2 HC = 0; HB = 0; HA = 1; //定义使能第2行#define ROW3 HC = 0; HB = 1; HA = 0; //定义使能第3行#define ROW4 HC = 0; HB = 1; HA = 1; //定义使能第4行#define ROW5 HC = 1; HB = 0; HA = 0; //定义使能第5行#define ROW6 HC = 1; HB = 0; HA = 1; //定义使能第6行#define ROW7 HC = 1; HB = 1; HA = 0; //定义使能第7行#define ROW8 HC = 1; HB = 1; HA = 1; //定义使能第8行

uchar h; //显示数据,可以用取模软件来获取 uchar iloveu[] = { 0x00,0x3C,0x18,0x18,0x18,0x18,0x3C,0x00, 0x00,0x36,0x7F,0x7F,0x3E,0x1C,0x08,0x00, 0x00,0x22,0x22,0x22,0x22,0x22,0x1C,0x00, 0x10,0x30,0x10,0x10,0x10,0x10,0x38,0x00, 0x7C,0x08,0x10,0x08,0x04,0x44,0x38,0x00, 0x10,0x30,0x10,0x10,0x10,0x10,0x38,0x00, 0x08,0x18,0x28,0x48,0x7C,0x08,0x08,0x00}; void delay(uint z) //延时函数,单位ms { uint i, j; for(i = z; i > 0; i--) for(j = 110; j > 0; j--); } void ROW() //行驱动函数

基于单片机的Led点阵广告牌设计

盛年不重来,一日难再晨。及时宜自勉,岁月不待人。 基于单片机的LED广告牌设计 班级电子2班姓名秦地学号0902214075 成绩 一、设计背景 LED显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。它具有发光效率高、使用寿命长、组态灵活、色彩丰富以及对室内外环境适应能力强等优点。并广泛的应用于公交汽车,码头,商店,学校和银行等公共场合的信息发布和广告宣传。LED 显示屏经历了从单色,双色图文显示屏到现在的全彩色视频显示屏的发展过程,自20世纪八十年代开始,LED显示屏的应用领域已经遍布交通、电信、教育、证券、广告宣传等各方面。 二、任务要求 设计一个简易的LED广告牌,用于显示自己的名字或其它个性信息。显示的字符用LED 发光二极管排列成固定形状,在控制电路驱动下各字符轮流循环点亮。或者用LED点阵显示,显示内容可更新。汉字一般是以点阵式方式存储的,如16×16,24×24点阵。汉字的字模其实是汉字字形的图形化。所谓16点阵字模,就是把汉字写在一个16×16的网格内,汉字的笔划通过某网格时该网格就对应1,否则该网格对应0,这样,每一网格均对应1或0,把对应1的网格连起来看,就是这个汉字。汉字就是这样通过字节表示其点阵存储在字形中的。为了方便查找所需要汉字的点阵,每个汉字都与一个双字节的内码相对应。通过汉字的内码可以计算出它的点阵起始字节。 三、整体设计方案 如图所示,本设计通过单片机来控制行列驱动器使LED显示屏显示出汉字,单片机选用AT89C52芯片,行驱动器采用74HC154的P0口,列驱动器选用74HC595芯片。该系统主要由AT89C52芯片、电源、行驱动器、列驱动器、16×64LED点阵5部分组成。

基于51单片机的88点阵

基于51单片机的8*8点阵 ——Mezer chen编辑整理 一、Protues仿真效果图 二、8*8点阵C程序 #include #define uchar unsigned char #define uint unsigned int uchar code wela[]={0x01,0x02,0x04,0x08}; uchar code dula[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; voiddelayms(uint c) { uinti,j; for(i=c;i>0;i--) for(j=11;j>0;j--); } uintt,u; uchar code table[]= { 0xFF,0xFD,0xEF,0x7D,0xEF,0xBD,0xEF,0xCD,0x00,0xF0,0xEF,0xFD,0xEF,0xFD,0xEF,0

xFD, 0xEF,0xFD,0xEF,0xFD,0x00,0x00,0xEF,0xFD,0xEF,0xFD,0xEF,0xFD,0xFF,0xFD,0xFF,0 xFF,/*"井",0*/ 0xFF,0xFF,0x01,0x00,0xFD,0xFF,0xFD,0xFF,0xDD,0xF7,0xBD,0xFB,0x7D,0xFD,0xFD,0 xFE, 0x7D,0xFD,0xBD,0xFB,0xDD,0xF7,0xFD,0xBF,0xFD,0x7F,0x01,0x80,0xFF,0xFF,0xFF,0 xFF,/*"冈",1*/ 0xFF,0xFF,0xFF,0xFF,0x0F,0xC0,0xFF,0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0xDF,0x00,0 xC0, 0xFF,0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0xDF,0x0F,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0 xFF,/*"山",2*/ 0xDF,0x7F,0xDF,0x7F,0xDF,0xBF,0xDF,0xDF,0xDF,0xEF,0xDF,0xF3,0xDF,0xFC,0x00,0 xFF, 0xDF,0xFC,0xDF,0xF3,0xDF,0xEF,0xDF,0xDF,0xDF,0xBF,0xDF,0x7F,0xDF,0x7F,0xFF,0 xFF,/*"大",3*/ 0xBF,0xFB,0xCF,0xFB,0xEE,0xFB,0x69,0xFB,0x6F,0xFB,0x6F,0xBB,0x6E,0x7B,0x69,0 x81, 0x6F,0xF9,0x6F,0xFA,0x67,0xFB,0xEB,0xFB,0xEC,0xFB,0xAF,0xFB,0xCF,0xFB,0xFF,0 xFF,/*"学",4*/ 0xFF,0xFF,0xFF,0xFF,0xFF,0xA7,0xFF,0xC7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0 xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0 xFF,/*",",5*/ 0xFF,0x7F,0x01,0x80,0xDD,0xFD,0xDD,0x7D,0x01,0x00,0xD7,0xFE,0x56,0xDF,0x91,0 xD2, 0xD7,0xD6,0xC0,0xD6,0xD7,0xD6,0x93,0xB0,0x54,0x77,0xD7,0x86,0xDF,0xFE,0xFF,0 xFF,/*"腾",6*/ 0xFD,0xFF,0xFD,0xFF,0xFD,0xFF,0xFD,0xFF,0xFD,0xFF,0xFD,0xFF,0xFD,0xFF,0xFD,0 xFF, 0xFD,0xFF,0x01,0xFC,0xBF,0xF3,0x5F,0xEF,0xEF,0xDE,0xF7,0xBD,0xFF,0x0F,0xFF,0 xFF,/*"飞",7*/ 0xFF,0xFF,0xFF,0xFF,0x07,0xE0,0x77,0xF7,0x77,0xF7,0x77,0xF7,0x77,0xF7,0x00,0 x80, 0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x07,0x60,0xFF,0x7F,0xFF,0x0F,0xFF,0

基于AT89C51单片机的LED16X16点阵显示屏系统的设计与实现毕业设计论文

中北大学毕业论文I 毕业设计(论文) 题目名称:基于51单片机的LED点阵显示屏系统 的设计与实现

中北大学毕业论文II 基于51单片机的LED点阵显示屏系统的设计与实现 摘要:本文介绍了一款以单片机AT89S51为控制器的LED点阵显示屏系统的设计。该系统可实现中英文字符的显示和动态特效显示。并且可以通过级连的方式来扩大显示屏幕的尺寸以达到增加显示内容的目的。系统采用PC机作为上位机,上位机向单片机发送控制命令和上位机所存储的显示代码,AT89S51单片机接收并处理PC 机的控制命令以及显示代码,由显示驱动模块驱动一个16×16分辨率的LED点阵显示屏的扫描显示。PC机与单片机之间的通信采用RS—232C通信标准来实现。所选用的AT89S51单片机具有价格低廉程序写入方便的特点使得整个系统方便维护和检修。除此之外,该系统只占用了单片机少量的I /O口和内存,为系统留下了功能扩展的空间。 关键字:AT89S51;LED点阵显示;串行通信

中北大学毕业论文III Desigen and Realization of the Lattice Screen of LED Based on MCS-51 Abstract: This paper introduces a design of the LED lattice display system base on MCU AT89S51. The system can display in both Chinese and English characters of the show and from top to bottom and move around the magic show. And can be cascaded to expand the screen size to achieve increased content purposes. The PC sends control commands and displays code to microcontroller, AT89S51 receives control commands from PC and shows the code, Driver module drives a 16×16-resolution LED lattice LED?s panel display scan showed. Commu nication between PC and the microcontroller using RS-232C communications standards. the characteristics that AT89S51 microcontroller is cheap and could be coded conveniently makes the whole system Convenient to Maintenance and Repair. In addition, the system will take up only a small amount of the MCU I/O and memory,so that the system has functional space for expansion. Key words: AT89S51,lattice LED?s panel display,serial communication

单片机点阵LED显示原理及程序

51单片机8*8点阵LED显示原理及程序 时间:2007-12-20 来源: 作者: 点击:5475 字体大小:【大中小】 在8X8点阵LED上显示柱形,让其先从左到右平滑移动三次,其次从右到左平滑移动三次,再次从上到下平滑移动三次,最后从下到上平滑移动三次,如此循环下去。 1.程序设计内容 8X8点阵LED工作原理说明:8X8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮;因此要实现一根柱形的亮法,如图49所示,对应的一列为一根竖柱,或者对应的一行为一根横柱,因此实现柱的亮的方法如下所述: ?一根竖柱:对应的列置1,而行则采用扫描的方法来实现。 ?一根横柱:对应的行置0,而列则采用扫描的方法来实现。 2.硬件电路 3.汇编源程序 ORG 00H

START: NOP MOV R3,#3 LOP2: MOV R4,#8 MOV R2,#0 LOP1: MOV P1,#0FFH MOV DPTR,#TABA MOV A,R2 MOVC A,@A+DPTR MOV P3,A INC R2 LCALL DELAY DJNZ R4,LOP1 DJNZ R3,LOP2 MOV R3,#3 LOP4: MOV R4,#8 MOV R2,#7 LOP3: MOV P1,#0FFH MOV DPTR,#TABA MOV A,R2 MOVC A,@A+DPTR MOV P3,A DEC R2 LCALL DELAY DJNZ R4,LOP3 DJNZ R3,LOP4 MOV R3,#3 LOP6: MOV R4,#8 MOV R2,#0 LOP5: MOV P3,#00H MOV DPTR,#TABB MOV A,R2 MOVC A,@A+DPTR MOV P1,A INC R2 LCALL DELAY

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)

LED点阵显示屏设计__单片机_课程设计

摘要 本文研究了基于P89C51单片机LED8×8点阵显示屏的设计并运用Proteus 软件进行原理图绘制,运用Keil软件进行仿真和调试。主要介绍了LED8×8点显示屏的硬件电路设计、汇编程序设计与调试、Proteus软件绘制原理图和实物制作等方面的内容,本显示屏的设计具有体积小、硬件少、电路结构简单及容易实现等优点。能帮助广大电子爱好者了解汉字的点阵显示原理,认识单片机的基本结构、工作原理及应用方法,并提高单片机知识技术的运用能力。利用单片机来设计的系统,既能实现系统所需的功能,也可以满足计数的准确性、迅速性,并且电路简单、操作简单、通用性强。

目录 1 绪论 (1) 1.1 前言 (1) 1.2 选题背景 (1) 1.3设计要求 (2) 1.4 国内外的研究概况 (2) 1.5此次设计研究的主要内容应解决的问题 (2) 2 总体设计方案 (3) 2.1 硬件电路组成 (3) 2.2 系统各单元电路设计 (4) 2.2.1 P89C51单片机最小系统 (4) 2.2.2 按键控制电路 (4) 2.2.3 三极管驱动电路 (4) 2.2.4 8×8 LED点阵介绍 (5) 2.3 字符的点阵显示原理及字库代码获取方法 (6) 3 程序设计 (7) 3.1程序流程图 (7) 3.2程序设计 (7) 4 调试及性能分析 (8) 4.1系统调试 (8) 4.1.1软件调试 (8) 4.1.2硬件调试 (8) 4.2设计分析 (8) 总结 (9) 致谢 (10) 参考文献 (11) 附录 (12) 附录1 原件清单 (12) 附录2硬件原理图 (13) 附录3程序清单 (14)

基于51单片机的16×32点阵显示设计

单片机原理及接口技术课程设计报告题目:基于51单片机的16*32点阵显示设计 学院: 专业班级: 学生姓名: 学号: 指导教师: 日期:

一、设计题目与要求 点阵屏以其醒目、快速换字等特点,已经进入了我们的生活,大街小巷每个地方都能看到点阵式广告屏,本课题设计一个基于51单片机的16*32点阵屏,能够实现2个字的静态显示、滚屏显示等。 二、总体设计方案 本设计以AT89C51单片机为核心芯片的电路来实现,主要由AT89C51芯片、时钟电路、复位电路、列扫描驱动电路(74HCl54、74HC04)、行驱动电路(74HC245)、键盘、16×16LED点阵7部分组成。将LED点阵的16条行线经行驱动电路与P2口和P3口连接,而LED点阵的32条列线则与5—32线译码器相连,列扫描信号由P1输出到译码器,P0号与键盘相连。这样,单片机89C51按照设定的程序在P2和P3口输出与内部汉字对应的代码电平送至LED点阵的行选线(高电平驱动),同时在P1.1,P1.2,P1.3,P1.4,P1.5接口输出列选扫描信号(低电平驱动),从而选中相应的像素LED发光,并利用人眼的视觉暂留特性合成整个汉字的显示。 三、各模块电路设计 1、16×32LED点阵 16×32LED点阵可以用2个16×16LED点阵拼成,把2个16×16LED点阵相同的行连在一起就是1个16×32LED点阵。LED点阵结构图如下:

2、单片机最小系统 单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路。 3、列扫描驱动电路 列扫描驱动电路是由反相器、译码器组成的5线—32线译码器。译码器采用74HC154 4线—16线译码器,74HC154译码器可接受4位高电平有效二进制地址输入,并提供16个互斥的低有效输出。反相器采用74HC04。电路图如下:

51单片机88点阵LED显示的原理及程序

51单片机8*8点阵LED显示原理及程序 更多 在8X8点阵LED上显示柱形,让其先从左到右平滑移动三次,其次从右到左平滑移动三次,再次从上到下平滑移动三次,最后从下到上平滑移动三次,如此循环下去。 1.程序设计内容 8X8点阵LED工作原理说明:8X8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮;因此要实现一根柱形的亮法,如图49所示,对应的一列为一根竖柱,或者对应的一行为一根横柱,因此实现柱的亮的方法如下所述: 一根竖柱:对应的列置1,而行则采用扫描的方法来实现。 一根横柱:对应的行置0,而列则采用扫描的方法来实现。 2.硬件电路 3.汇编源程序 ORG 00H START: NOP MOV R3,#3 LOP2: MOV R4,#8 MOV R2,#0 LOP1: MOV P1,#0FFH MOV DPTR,#TABA

MOV A,R2 MOVC A,@A+DPTR MOV P3,A INC R2 LCALL DELAY DJNZ R4,LOP1 DJNZ R3,LOP2 MOV R3,#3 LOP4: MOV R4,#8 MOV R2,#7 LOP3: MOV P1,#0FFH MOV DPTR,#TABA MOV A,R2 MOVC A,@A+DPTR MOV P3,A DEC R2 LCALL DELAY DJNZ R4,LOP3 DJNZ R3,LOP4

MOV R3,#3 LOP6: MOV R4,#8 MOV R2,#0 LOP5: MOV P3,#00H MOV DPTR,#TABB MOV A,R2 MOVC A,@A+DPTR MOV P1,A INC R2 LCALL DELAY DJNZ R4,LOP5 DJNZ R3,LOP6 MOV R3,#3 LOP8: MOV R4,#8 MOV R2,#7 LOP7: MOV P3,#00H MOV DPTR,#TABB MOV A,R2 MOVC A,@A+DPTR MOV P1,A

基于51单片机的LED点阵显示屏系统的设计与实现毕业设计(论文)

毕业设计(论文) 题目名称:基于51单片机的LED点阵显示屏系统 的设计与实现

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:日期:

学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名:日期:年月日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名:日期:年月日 导师签名:日期:年月日

基于51单片机的LED点阵滚动显示上下左右c语言程序

/****************************************************************************** *********** * * * LED点阵实验(左右上下流动显示) ******************************************************************************* ***********/ #include unsigned char code taba[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; unsigned char code tabb[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; void delay1(void) { unsigned char i,j,k; for(k=10;k>0;k--) for(i=20;i>0;i--) for(j=248;j>0;j--); } void main(void) { unsigned char i,j; while(1) { for(j=0;j<3;j++)////from left to right 3 time { for(i=0;i<8;i++) { P2=taba[i]; P0=0xff; delay1(); } } for(j=0;j<3;j++)////from right to left 3 time { for(i=0;i<8;i++) {

P2=taba[7-i]; P0=0xff; delay1(); } } for(j=0;j<3;j++)////from top to bottom 3 time { for(i=0;i<8;i++) { P2=0x00; P0=tabb[7-i]; delay1(); } } for(j=0;j<3;j++)////from bottom to top 3 time { for(i=0;i<8;i++) { P2=0x00; P0=tabb[i]; delay1(); } } } }

相关文档
最新文档