最新16×16点阵LED电子显示屏的设计
16×16点阵LED电子显示屏的设计

单片机课程设计16×16点阵LED电子显示屏的设计题目:16×16点阵LED电子显示屏的设计姓名:学号:专业班级:指导老师:摘要:LED显示屏作为一种新型的显示器件,是由多个发光二极管按矩阵形式排列封装而成,通常用来显示时间、图文等信息。
本设计是基于MCS-51单片机的16x16显示屏,其中包含了硬件、软件、调试等方案的设计。
此外、该设计只需简单的级联就能实现显示屏的拓展,但级联时要注意不要超过驱动负载范围。
关键词:MCS-51;LED;单片机一、概述当今社会在飞速发展无疑能源、健康、空间的利用,成了人们着重关注的对象。
而在这个信息传递极速的社会,LED的出现给人们带来了希望之光。
LED的特色之处一是节能(直接功耗,间接耗能),二是基本无电离辐射,三提高空间利用率。
而这些特色又恰好解决了上述的三种问题。
然而LED点阵显示屏的特点不仅仅于此LED点阵显示屏用的是数码管,而数码管具有实用,便宜等优点。
做出来的LED点阵显示很耐用。
LED点阵显示屏之所以受到广泛重视而得到迅速发展,是与LED显示屏本身所具有的优点分不开的。
LED点阵显示屏的发展前景极为广阔,目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性,可靠性、全色化方向发展。
二、简介组合型led点阵显示器以发光二极体为图素,它用高亮度LED晶粒进行阵列组合后,再透过环氧树脂和塑模封装而成。
具有高亮度、功耗低、引脚少、视角大、寿命长、耐湿、耐冷热、耐腐蚀等特点。
点阵显示器有单色和双色两类,可显示红,黄,绿,橙等。
LED点阵有4×4、4×8、5×7、5×8、8×8、16×16、24×24、40×40等多种;根据图素的数目分为等,双原色、三原色等,根据图素顏色的不同所显示的文字、图像等内容的顏色也不同,单原色点阵只能显示固定色彩如红、绿、黄等单色,双原色和三原色点阵显示内容的顏色由图素内不同顏色发光二极体点亮组合方式决定,如红绿都亮时可显示黄色,如果按照脉冲方式控制二极体的点亮时间,则可实现256或更高级灰度显示,即可实现真彩色显示。
16×16点阵LED电子显示屏设计

电子设计竞赛
16×16点阵LED电子 显示屏的设计
硬件设计: 软件设计: 报告设计:
背景介绍
LED电子显示屏是利用发光二极管点阵模块 组成的平面式显示屏幕。他具有发光效率高、使用 寿命长、组态灵活、色彩丰富以及对室内外环境适 应能力强等优点,并广泛用于公交汽车、码头、商 店、学校和银行等公共场合,用于信息的发布和广 告宣传。 自20世纪八十年代开始,LED电子显示屏的应 用领域已经遍布了交通、电信、教育、广告宣传等 各方面。LED电子显示屏发展较快,其无论在成本 和产生的社会效益等方面都有其独特的优势。
仍然感谢这次机会,因为被拒绝是面试后的两种结 果之一。 被拒绝是招聘单位对我们综合考虑的结果,因为我 们最关心的是自己什么地方与用人要求不一致,而 不仅仅是面试中的表现。 不要欺骗自己,说“我本来就不想去”等等。 认真考虑是否有必要再做努力。
必须学会欣然面对的一种结果----被接纳
功能介绍
本作品的功能: 可以显示静态的汉字 可以实现动态显示,显 示的内容有左移、右移、 上移、下移等 可以通过上位机(PC机) 更新显示的内容
作品设Байду номын сангаас介绍
1、点阵发光二极管:LED点阵显示屏通常是由若 干块LED点阵显示模块组成。8×8点阵是最基本 的单元模块,它由64个发光二极管组成,每个发 光二极管是放置在行线和列线的交叉点上。所以 由四块的8×8点阵就可构成一块16×16点阵模块。
5、硬件电路原理图
6、系统PCB图
设计心得
通过这次的电子设计竞赛,让我们 的实践动手能力得到了很大的提高,明 白了理论学习联系到实践应用当中的重 要性,培养了我们团结合作、吃苦耐劳 的精神,而且更让我们认识到一个团队 只有具备良好的团结协作精神才能做出 出色的作品!
16X16点阵LED电子显示屏设计

单片机应用系统实验设计 16X16点阵LED电子显示屏设计班级:物电学院电信2班组员:吕勇军学号:201011020219 黄波 201011020220指导老师:彭建英日期:2012年12月1号第一章绪论1.1 单片机的应用单片机是生活必不可缺的,顾名思义单片机的应用是很广泛的,导弹的导航装置、飞机上各种仪表的控制、计算机的网络通讯和数据传输、工业自动化过程和实时控制数据处理、广泛使用的智能IC卡、民用豪华轿车的安全保障系统、录像机和摄像机、全自动洗衣机的控制、以及程控玩具、电子宠物等等。
单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。
1.2电子显示屏随着现代光电技术、微电子技术及计算机技术的飞速发展和普及,LED显示屏已遍及社会的各个领域。
简单的讲,显示屏就是由若干个可组合拼接的显示单元构成屏体,再加上一套适当的控制器。
所以多种规格的显示板配合不同技术的控制器就可以组成许多种LED显示屏,以满足不同环境,不同显示要求的需要。
LED显示屏是由几万到几十万个半导体发光二极管像素点均匀排列组成。
利用不同的材料可以制造不同色彩的LED像素点。
目前应用最广的是红色、绿色、黄色。
而蓝色和纯绿色LED的开发已经达到了实用阶段。
LED显示屏可以显示变化的数字、文字、图形图像;不仅可以用于室内环境还可以用于室外环境,具有投影仪、电视墙、液晶显示屏无法比拟的优点。
LED显示屏的分类:按颜色可以分为单基色显示屏、双基色显示屏、全基色显示屏;按显示器分类LED数码显示屏、LED点阵图文显示屏;按实用场合分类有室内显示屏和室外显示屏。
仔细分解一个LED显示屏,它有以下一些要素构成:金属结构框架、显示单元、扫描控制板、开关电源、双绞线传输电缆、主控制仪、专用显示卡及多媒体卡、电脑及其外设、其它信息源。
第二章系统整体方案2.1 需要实现的功能用移动显示屏来显示汉字,通过单片机AT89C52的行扫描和74LS138芯片的列扫描使点阵显示屏移动显示“湖南文理学院物电”的字幕。
16×16 LED点阵设计-毕业设计.

16×16 LED点阵设计学生:指导教师:内容摘要:LED点阵电子显示屏的发展越来越好广泛,它成为一个宣传信息的重要平台,已经得到了社会的普遍认同。
LED点阵显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。
它具有发光效率高、使用寿命长、组态灵活、色彩丰富以及对室内外环境适应能力强等优点。
该设计是一个16×16LED点阵电子显示屏显示数字的设计。
整块电子显示屏的控制核心是40引脚的单片机AT89S51,说明了LED点阵电子显示屏用AT89S51为控制系统的动态的设计和开发的具体过程。
通过该芯片控制两个列驱动器74HC595来驱动显示屏显示,本设计就是使用4块8×8点阵显示模块来组成16×16点阵显示屏,采用动态扫描显示,程序编写的实现是使用简单流通性强的C语言,该设计的结果证明,系统显示清晰,结构合理,误差小,扩展能力强,性能稳定。
关键词:AT89S51 LED点阵数字显示Design of 16*16 LED dot matrixAbstract:LED electronic display found the screen better and better.It has become an important platform of a promotional information,it has been widely accepted by the society,LED dot matrix display is the use of plane composition LED lattice module or pixel unit display screen ,It has the advantages of high light efficiency ,long.The designed is a digital design of a 16*16 LED dot matrix display ,control the core piece of electronic display is the 40 pin of the microcontroller AT89S51.Describes the specific process of the design and development of LED dot matrix display with AT89S51 as the control system dynamic.Through the control two columns drive chip 74HC595 are needed to drive the display shows that this design is to use 4 pieces of 8 x 8 dot matrix display module to form a 16 * 16 dot matrix display screen, a dynamic scans showed that the realization of the programming is simple to use strong liquidity of C language, and the design results show that the system shows clear, reasonable structure, little error and extension ability strong, stable performance.Keywords: AT89C51 dot matrix LED the digital display screen目录前言 (1)1 设计方案的论证与选择 (1)2 硬件电路设计 (3)2.1 系统的结构框图 (3)2.1.1 单片机控制模块 (3)2.1.2 时钟电路 (4)2.1.3 复位电路 (4)2.1.4 显示模块 (5)2.1.5 驱动模块 (7)2.2 单片机的最小系统图 (9)3 单片机系统 (10)3.1 8051引脚为40个的单片机芯片 (11)3.1.1 引脚为Vcc和Vss 的主电源 (11)3.1.2 外接晶体引脚XTAL1和XTAL2 (11)3.2 I/O口线的引脚排列及管脚的说明 (11)3.3 RST键 (13)3.4 PEROM阵列和锁定位 (13)4 系统软件设计 (13)4.1 主程序的设计及流程图 (13)4.2 显示程序的设计 (14)5 硬件的制作与调试 (15)5.1 系统的组装 (15)5.2 程序的调试 (16)6 结束语 (17)附录 (18)附录1:程序清单 (18)附录2:仿真结果图 (22)附录3:Protel原理图 (23)附录4:4个8*8LED组成的显示屏 (24)附录5:PCB图 (25)参考文献 (26)16×16 LED点阵电子显示屏的设计前言LED点阵电子显示屏的制作简单,并且便于安装,被广泛的应用于各个公共场合,但是LED 电子显示屏也只能用于单一的图像数字汉字的显示,如果要改变显示的内容,必须要在上位机上进行实现。
单片机课程设计--+16x16点阵LED电子显示屏的设计

单片机课程设计-- 16x16点阵LED电子显示屏的设计第一章系统总体方案设计LED驱动显示采用动态扫描方法, 动态扫描方式是逐行轮流点亮, 这样扫描驱动电路就可以实现多行的同名列共用一套列驱动器。
以16×16点阵为例, 把所有同一行的发光管的阳极连在一起, 把所有同一列的发光管的阴极连在一起(共阳的接法), 先送出对应第1行发光管亮灭的数据并锁存, 然后选通第1行使其燃亮一定的时间, 然后熄灭;再送出第2行的数据并锁存, 然后选通第2行使其燃亮相同的时间, 然后熄灭;…第16行之后, 又重新燃亮第1行, 反复轮回。
当这样轮回的速度足够快(每秒24次以上), 由于人眼的视觉暂留现象, 就能看到显示屏上稳定的图形。
该方法能驱动较多的LED, 控制方式较灵活, 而且节省单片机的资源。
显示数据传输采用串行传输的方法, 控制电路可以只用一根信号线, 将列数据一位一位传往列驱动器, 在硬件方面无疑是十分经济的。
但串行传输过程较长, 数据按顺序一位一位地输出给列驱动器, 只有当一行的各列数据都已传输到位之后, 这一行的各列才能并行地进行显示。
对于串行传输方式来说, 列数据准备时间可能相当长, 在行扫描周期确定的情况下, 留给行显示的时间就太少了, 以致影响到LED的亮度。
采用串行传输中列数据准备和列数据显示的时间矛盾, 可以采用重叠处理的方法。
即在显示本行各列数据的同时, 传送下一行的列数据。
为了达到重叠处理的目的, 列数据的显示就需要有锁存功能。
对于列数据准备来说, 它应能实现串入并出的移位功能。
这样, 本行已准备好的数据打入并行锁存器进行显示时, 串行移位寄存器就可以准备下一行的列数据, 而不会影响本行的显示。
系统框图如图一图一点阵显示器硬件系统框图第二章系统硬件电路的设计硬件电路大致上可以分为单片机系统及外围电路、列驱动电路和行驱动电路三部分。
一. 单片机系统及外围电路单片机采用89C51或更高频率的晶振, 以获得较高的刷新频率, 使得显示更稳定。
(完整版)16×16点阵LED电子显示屏的设计_毕业论文

16×16点阵LED电子显示屏的设计摘要LED点阵显示屏作为一种新兴的显示器件,是由多个独立的LED发光二极管封装而成. LED点阵显示屏可以显示数字或符号, 通常用来显示时间、速度、系统状态等。
本设计是1616××16点阵LED电子显示屏的设计。
整机以美国ATMEL公司生产的40脚单片机AT89C51为核心,介绍了以它为控制系统的LED点阵电子显示屏的动态设计和开发过程。
通过该芯片控制一个行驱动器74LS154和两个列驱动器74L373来驱动显示屏显示。
该电子显示屏可以显示各种文字或单色图像,采用4块8 x 8点阵LED显示模块来组成一个16x16点阵显示模式。
显示采用动态显示,使得图形或文字能够实现静止、移入移出等多种显示方式。
文中详细介绍了LED点阵显示的硬件设计思路、硬件电路各个部分的功能及原理、相应软件的程序设计,以及使用说明等。
关键词:AT89C51单片机 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 design is 1 16 ×16 lattice LED electron display monitor design.The whole equipment is with the 40-pin AT89C51 MCU (Micro Controller Unit) produced by the American ATMEL company at thecore, introduced take it as the control system LED lattice electron display monitor dynamic design and the development process. Controls good driver 74LS154 an two row driver 74L373 through thischip actuates the display monitor demonstration. The electronic screen can show all kinds of written or monochrome images, one full screen display Chinese characters, four pieces of 8 x 8 dot-matrix LEDdisplay modules to form the 16x16 dot matrix display mode. Show dynamic show that makes static graphic or text can be achieved, shifted out of various formats. This paper describes the of the LEDdot matrix display, and the principle function of the various parts ofthe circuit, the corresponding software program design and the use of some such. Key words: AT89C51 Micro Controller U nitUnit; LED; LatticeDisplay;Dynamic Display目录第1章绪论1.1 选题背景LED显示屏是八十年代后期在全球迅速发展起来的新型信息显示媒体,显示屏由几万……几十万个半导体发光二极管像素点均匀排列组成。
16x16点阵led电子显示屏设计[1]
![16x16点阵led电子显示屏设计[1]](https://img.taocdn.com/s3/m/7506e10d581b6bd97f19eaf5.png)
#include<reg51.h>#define uint unsigned int#define uchar unsigned char //宏定义sbit shcp=P0^0; // 74HC595芯片的引脚sbit ds1=P0^1;sbit ds2=P0^2;sbit stcp=P0^3;sbit oe=P0^4;sbit zdxh=P1^0; // 控制循环按钮(控制左右上下自动循环)sbit zdzy=P1^1; // 控制自动循环坐移sbit zdyy=P1^2; // 控制自动循环右移sbit zdsy=P1^3; // 控制自动循环上移sbit zdxy=P1^4; // 控制自动循环下移unsigned char t;//用于同步扫的数据uchar code sz[1][32]={{0xff,0xfe,0xff,0xfd,0xff,0xfb,0xff,0xf7,0xff,0xef,0xff,0xdf,0xff,0xbf,0xff,0x7f,0xfe,0xff,0xfd,0xff,0xfb,0xff,0xf7,0xff,0xef,0xff,0xdf,0xff,0xbf,0xff,0x7f,0xff}};//要显示的汉字字码(高位在下,低位在上)uchar code hz[10][32]={{0x00,0x40,0x00,0x40,0x00,0x42,0x7F,0xCC,0x20,0x00,0x10,0x20,0x00,0x10,0xFF,0xFC,0x22,0x4B,0x22,0x48,0x22,0x4A,0x3F,0xFC,0x22,0x48,0x32,0x4C,0x20,0x08,0x00,0x00}, // 谁{0x00,0x04,0x00,0x04,0x00,0x04,0xFC,0xA4,0x44,0xA4,0x44,0xA4,0x44,0xA5,0x44,0xA6,0x44,0xA4,0x44,0xA4,0x44,0xB4,0xFE,0xA4,0x04,0x04,0x00,0x06,0x00,0x04,0x00,0x00}, // 言{0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x90,0x03,0x10,0x00,0x10,0x40,0x10,0x80,0x10,0x7F,0xFF,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x18,0x00,0x10,0x00,0x00}, // 寸{0x08,0x00,0x08,0x04,0x08,0x04,0x0B,0xE4,0x0A,0xAF,0x0A,0xA4,0x0A,0xA4,0xFE,0xA4,0x0A,0xA4,0x0A,0xA4,0x0A,0xAF,0x0B,0xF4,0x08,0x26,0x0C,0x04,0x08,0x00,0x00,0x00}, // 草{0x04,0x00,0x02,0x00,0x01,0xC0,0x00,0x00,0x3F,0xF0,0x40,0x00,0x40,0x01,0x40,0x02,0x40,0x1C,0x40,0x08,0x40,0x00,0x70,0x00,0x00,0x40,0x00,0x80,0x07,0x00,0x00,0x00},// 心{0x02,0x10,0x42,0x10,0x81,0x10,0x7F,0xFF,0x00,0x90,0x00,0x50,0x00,0x00,0xFF,0xFE,0x22,0x82,0x14,0x82,0x08,0x92,0x16,0xA2,0x21,0x9F,0x60,0x02,0x20,0x00,0x00,0x00}, // 报{0x04,0x40,0x02,0x20,0x01,0x10,0xFF,0x8C,0x04,0x63,0x04,0x80,0x0C,0xBE,0x34,0xAA,0x04,0xAA,0x44,0xAA,0x84,0xAA,0x7F,0xAA,0x04,0xBF,0x06,0x82,0x04,0x00,0x00,0x00}, // 得{0x20,0x00,0x20,0x04,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0xC4,0x20,0x86,0x30,0x04,0x20,0x00,0x00,0x00}, // 三{0x04,0x20,0x04,0x22,0x02,0x2A,0x01,0x2A,0xFF,0xAA,0x49,0x6A,0x49,0x3A,0x49,0x2F,0x49,0x2A,0x49,0x6A,0xFF,0xAA,0x01,0x2A,0x02,0x2A,0x06,0x22,0x02,0x20,0x00,0x00}, // 春{0x00,0x00,0x3F,0xFC,0x10,0x84,0x10,0x84,0x3F,0xFC,0x00,0x00,0x09,0x2E,0x09,0xA2,0x09,0x62,0x09,0x3A,0xFF,0xA2,0x09,0x22,0x09,0xA2,0x0D,0x2A,0x08,0x06,0x00,0x00} // 晖};uchar code m[10][32]={{0x00,0x00,0x3F,0xFC,0x10,0x84,0x10,0x84,0x3F,0xFC,0x00,0x00,0x09,0x2E,0x09,0xA2,0x09,0x62,0x09,0x3A,0xFF,0xA2,0x09,0x22,0x09,0xA2,0x0D,0x2A,0x08,0x06,0x00,0x00}, // 晖{0x04,0x20,0x04,0x22,0x02,0x2A,0x01,0x2A,0xFF,0xAA,0x49,0x6A,0x49,0x3A,0x49,0x2F,0x49,0x2A,0x49,0x6A,0xFF,0xAA,0x01,0x2A,0x02,0x2A,0x06,0x22,0x02,0x20,0x00,0x00}, // 春{0x20,0x00,0x20,0x04,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0xC4,0x20,0x86,0x30,0x04,0x20,0x00,0x00,0x00}, // 三{0x04,0x40,0x02,0x20,0x01,0x10,0xFF,0x8C,0x04,0x63,0x04,0x80,0x0C,0xBE,0x34,0xAA,0x04,0xAA,0x44,0xAA,0x84,0xAA,0x7F,0xAA,0x04,0xBF,0x06,0x82,0x04,0x00,0x00,0x00}, // 得{0x02,0x10,0x42,0x10,0x81,0x10,0x7F,0xFF,0x00,0x90,0x00,0x50,0x00,0x00,0xFF,0xFE,0x22,0x82,0x14,0x82,0x08,0x92,0x16,0xA2,0x21,0x9F,0x60,0x02,0x20,0x00,0x00,0x00}, // 报{0x04,0x00,0x02,0x00,0x01,0xC0,0x00,0x00,0x3F,0xF0,0x40,0x00,0x40,0x01,0x40,0x02,0x40,0x1C,0x40,0x08,0x40,0x00,0x70,0x00,0x00,0x40,0x00,0x80,0x07,0x00,0x00,0x00},// 心{0x08,0x00,0x08,0x04,0x08,0x04,0x0B,0xE4,0x0A,0xAF,0x0A,0xA4,0x0A,0xA4,0xFE,0xA4,0x0A,0xA4,0x0A,0xA4,0x0A,0xAF,0x0B,0xF4,0x08,0x26,0x0C,0x04,0x08,0x00,0x00,0x00}, // 草{0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x90,0x03,0x10,0x00,0x10,0x40,0x10,0x80,0x10,0x7F,0xFF,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x18,0x00,0x10,0x00,0x00}, // 寸{0x00,0x04,0x00,0x04,0x00,0x04,0xFC,0xA4,0x44,0xA4,0x44,0xA4,0x44,0xA5,0x44,0xA6,0x44,0xA4,0x44,0xA4,0x44,0xB4,0xFE,0xA4,0x04,0x04,0x00,0x06,0x00,0x04,0x00,0x00}, // 言{0x00,0x40,0x00,0x40,0x00,0x42,0x7F,0xCC,0x20,0x00,0x10,0x20,0x00,0x10,0xFF,0xFC,0x22,0x4B,0x22,0x48,0x22,0x4A,0x3F,0xFC,0x22,0x48,0x32,0x4C,0x20,0x08,0x00,0x00}, // 谁} ;//用于点阵的上移显示;void senddata1(uint k,uchar *str1) //k用于接收传入16位数据,str1接收用于列同步扫描的数据地址(即用于选通哪列,为0即选通){uint h;uchar i, j=0;for(i=0;i<16;i++) //将16位数据通过ds1(用于行选)串行输出(为1则选通该行){ h=k; //用于保存kif(((h=h<<i)&0x8000)==0) ds1=0; //取最高位else ds1=1;if(i<8) //每个数据有八位,通过串行口ds2逐位输入{if(((str1[j]=str1[j]<<i)&0x80)==0) ds2=0;else ds2=1;}if(i==8)j++; // 取下一数据if(i>=8) // 通过串行口输入{if(((str1[j]=str1[j]<<(i-8))&0x80)==0) ds2=0; //str1[][]的数据为8位(所以要i-8)else ds2=1;}shcp=0; //74hc595移位寄存器上升沿移入准备好的数据到寄存器shcp=1;}stcp=0; //存储寄存器上升沿,将移位后的数据放到输出到Q0—Q7并口stcp=1;}//行发送数据程序3:用于上移程序中void sendbanzi(uint g,uint k) //g用于调节上移速度,k为汉字数据在数组的行数;{uchar j,h,x,l;uint m,n;for(l=0;l<10;l++) //一个字扫10次,改变其数值可改变字的显示时间(即可以调节速度){for(j=0;j<32;j++,j++){h=hz[k][j]; //将前一个字的每两个数据组合,m=(uint)h;m=m<<8;x=hz[k][j+1];m=m|(uint)x;h=hz[k+1][j]; //将后一个字对应前一个字列的两个数据组合n=(uint)h;n=n<<8;x=hz[k+1][j+1];n=n|(uint)x;m=m>>g; //将前后两个字移位后的数据组合为新数据n=n<<(16-g);m=m|n;senddata1(m,&sz[0][j]);}}}//上移程序void sy(uchar m){uchar k,i; //k为汉字数据在数组的行数,即第k个数for(k=0;k<m;k++){//if(k+1==m) {sendbanzi(0,i); break;}for(i=0;i<16;i=i+4) //每次上移的行数为i;{sendbanzi(i, k);if(k+1==m) break;}if(k+1==m) break;}}//行发送数据程序4:用于下移程序中void xsendbanzi(uint g,uint k) //g用于调节上移速度,k为汉字数据在数组的行数; {uchar j,h,x,l;uint m,n;for(l=0;l<10;l++) //一个字扫10次,改变其数值可改变字的显示时间{for(j=0;j<32;j++,j++){h=hz[k][j]; //将前一个字的每两位数据组合m=(uint)h;m=m<<8;x=hz[k][j+1];m=m|(uint)x;h=hz[k+1][j]; //将后一个字对应前一个字列的两位数据组合n=(uint)h;n=n<<8;x=hz[k+1][j+1];n=n|(uint)x;m=m<<g; //将前后两个字移位后的数据组合为新数据n=n>>(16-g);m=m|n;senddata1(m,&sz[0][j]);}}}//下移程序void xy(uchar m){uchar k,i; //k为汉字数据在数组的行数for(k=0;k<m;k++){for(i=0;i<16;i=i+4) //上移的行数为i;{xsendbanzi(i, k);if(k+1==m) break;}if(k+1==m) break;}}//行发送数据程序2:str接收汉字数据存放地址,str1用于列同步扫描(用于左右移动)void senddata2(uchar*str,uchar *str1){uchar i, k,j=0,l,g;for(l=0;l<10;l++) //一个字扫10次,改变其数值可改变字的显示时间{for(g=0;g<16;g++) //扫描的列数{for(k=0;k<2;k++) //二维数组一行为32个数据,每两个数据转换为16二进制放在行线上,高位在下,低位在上{for(i=0;i<8;i++){if(((str[j]=str[j]<<i)&0x80)==0) //ROM数据不会改变,ds1=0;else ds1=1;if(((str1[j]=str1[j]<<i)&0x80)==0) ds2=0;else ds2=1;shcp=0;shcp=1;}j++;if(j==32) j=0;//防越界}stcp=0;stcp=1;}}}//左移程序void zy(uchar k) //k设置显示的字数{uchar i,j,e=0,z=0;for(i=0;i<k;i++){for(j=0;j<32;j=j+8) //每2位数据构成行线数据,j每次应加2的倍数,设置j自加的步数可调节每次移动的列数{senddata2(&hz[i][j],sz[0]);if(i==(k-1)) break;}}}//右移void yy(uchar n){ uchar i,j;for(i=0;i<n;i++){for(j=0;j<32;j=j+4){if(i==(n-1)){if(j==0)senddata2(&m[n-i-1][0],sz[0]);break;}else{if(j==0) senddata2(&m[n-1-i][0],sz[0]);else senddata2(&m[n-2-i][32-j],sz[0]);}}}}//void clear() //清屏//{// en//}//主程序void main(){oe=0;/*if (zdxh==0&&zdzy==1&&zdyy==1&&zdsy==1&&zdxy==1) t=1;if (zdxh==1&&zdzy==0&&zdyy==1&&zdsy==1&&zdxy==1) t=2;if (zdxh==1&&zdzy==1&&zdyy==0&&zdsy==1&&zdxy==1) t=3;if (zdxh==1&&zdzy==1&&zdyy==1&&zdsy==0&&zdxy==1) t=4;if (zdxh==1&&zdzy==1&&zdyy==1&&zdsy==1&&zdxy==0) t=5;switch(t){case 1: { zy(10); yy(10); sy(10);xy(10);} break;case 2: { zy(10);} break;case 3: { yy(10);} break;case 4: { sy(10);} break;case 5: { xy(10);} break;} */while(1){ if(zdxh==0)//while(1){zy(10);yy(10);sy(10);xy(10);}if(zdzy==0)//while(1)zy(10);if(zdyy==0)//while(1)yy(10);if(zdsy==0)//while(1)sy(10);if(zdxy==0) // while(1)xy(10);}}电路图:。
单片机的16X16LED点阵式汉字电子显示屏的

单片机的16X16LED点阵式汉字电子显示屏的武汉理工大学《单片机课程设计》实验报告学号:0121018700318课程设计题目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显示屏,其中包含了硬件、软件、调试等方案的设计。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
背景介绍
LED电子显示屏是利用发光二极管点阵模块
组成的平面式显示屏幕。他具有发光效率高、使用
寿命长、组态灵活、色彩丰富以及对室内外环境适
应能力强等优点,并广泛用于公交汽车、码头、商
店、学校和银行等公共场合,用于信息的发布和广
告宣传。
自20世纪八十年代开始,LED电子显示屏的应
2、图文显示原理: 控制相关位置的发光二极管的点亮
或熄灭,即可产生文字或图案的效果。通常把要显示的 图形或文字转换成点阵,再按照显示控制的要求以一定 的格式形成显示数据。
3、硬件电路设计
本次设计硬件电路大致上可以分为单片机系统及外
围电路、行驱动电路和列驱动电路三部分。由于显示量
比较大,很难用静态方法显示,只能采用动态扫描方法,
用领域已经遍布了交通、电信、教育、广告宣传等
各方面。LED电子显示屏发展较快,其无论在成本
ห้องสมุดไป่ตู้
和产生的社会效益等方面都有其独特的优势。
功能介绍
本作品的功能:
可以显示静态的汉字
可以实现动态显示,显 示的内容有左移、右移、 上移、下移等
可以通过上位机(PC机) 更新显示的内容
作品设计介绍
1、点阵发光二极管:LED点阵显示屏通常是由若 干块LED点阵显示模块组成。8×8点阵是最基本 的单元模块,它由64个发光二极管组成,每个发 光二极管是放置在行线和列线的交叉点上。所以 由四块的8×8点阵就可构成一块16×16点阵模块。
白了理论学习联系到实践应用当中的重
要性,培养了我们团结合作、吃苦耐劳
的精神,而且更让我们认识到一个团队
只有具备良好的团结协作精神才能做出
出色的作品!
谢 谢 大 家!
The end
祝电子设计大赛圆 满成功!!
此课件下载可自行编辑修改,仅供参考! 感谢您的支持,我们努力做得更好!谢谢
所以只有采用单片机及相关接口电路才能灵活实现动态
显示。本次设计单片机选用STC89C51、行驱动采用4线16线译码器74LS154、列驱动采用串行输入转并行输出 的移位寄存器74HC595.
4、系统整体方案框图
5、硬件电路原理图
6、系统PCB图
设计心得
通过这次的电子设计竞赛,让我们
的实践动手能力得到了很大的提高,明