8×8点阵数字滚动显示

8×8点阵数字滚动显示
8×8点阵数字滚动显示

项目一8×8点阵数字滚动显示

LED点阵的元件符号及内部结构图:

对应编码:

00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H ;NULL

00H, 00H, 3EH, 41H, 41H, 41H, 3EH, 00H ; 0

00H, 00H, 00H, 00H, 21H, 7FH, 01H, 00H ; 1

00H, 00H, 27H, 45H, 45H, 45H, 39H, 00H ; 2

00H, 00H, 22H, 49H, 49H, 49H, 36H, 00H ; 3

00H, 00H, 0CH, 14H, 24H, 7FH, 04H, 00H ; 4

00H, 00H, 72H, 51H, 51H, 51H, 4EH, 00H ; 5

00H, 00H, 3EH, 49H, 49H, 49H, 26H, 00H ; 6

00H, 00H, 40H, 40H, 40H, 4FH, 70H, 00H ; 7

00H, 00H, 36H, 49H, 49H, 49H, 36H, 00H ; 8

00H, 00H, 32H, 49H, 49H, 49H, 3EH, 00H ; 9

00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H ;NULL

硬件设计原理:

单片机利用外部晶振作为时钟信号输入,RST端口接入上电复位信号使它加电后自动进行复位操作。将要显示的字符码表编入单片机的程序中,由单片机控制时序输出相应的扫描数据和字符数据。行码数据由单片机P0口输出,经一个双向总线收发器控制传输方向后进入LED点阵,点亮相应的发光二极管。列码扫描信号由P3口输出后,直接输入LED点阵控制8列的扫描,每列选

通时间为5ms,看上去就像8列同时显示的效果一样。加上行中相应的LED灯被点亮,就能看到显示的字符了。

三、源程序代码:

R_CNT EQU 31H ;列码R_NCT=31H单元

NUMB EQU 32H ;行码NUMB=32H单元

TCOUNT EQU 33H;拉幕计数值TCOUNT=33H单元

ORG 00H ;程序起始地址

LJMP START

ORG 0BH;中断入口地址

LJMP INT_T0

ORG 30H;子程序入口地址

START: ;主程序开始

MOV R0, #00H ;每列的行码起始序号置0

MOV R_CNT, #00H;列:初值00送到31H单元

MOV NUMB, #00H;行:初值00送到32H单元

MOV TCOUNT, #00H;计数单元初值置0

MOV TMOD, #01H;计数定时器选用16位的计数器,工作在方式1

MOV TH0, #(65536-5000)/256;定时5ms。定时器高位初值为236

MOV TL0, #(65536-5000) MOD 256;定时器低位初值为120

SETB TR0 ;启动C/T的定时器T0

MOV IE, #82H;CPU开中断

SJMP $ ;中断等待

I NT_T0:

MOV TH0, #(65536-5000)/256 ;定时5ms,设置定时器T0高位初值为236

MOV TL0, #(65536-5000)/256 ; 定时器T0低位初值为120

MOV DPTR, #TAB;读列码表首地址,放入DPTR

MOV A, R_CNT;读列码偏移地址,放入A中

MOVC A, @A+DPTR ;基址变址寻址将寻到的列码数据放入A中

MOV P3,A ;将列码数据送P3口输出

MOV DPTR, #NUB;装入显示数据的地址

MOV A, NUMB;显示幕次的偏移地址

MOVC A, @A+DPTR;寻到数据的行码地址

MOV P0, A ;将该地址值输出

INC NUMB ;行码地址加1

NEXT1:

INC R_CNT ;扫描列码地址加1

MOV A, R_CNT ;把列地址放入A中

CJNE A, #8, NEXT2 ;A不等于8,转子程序NEXT2,否则往下执行

MOV R_CNT, #00H ;就把列码置0

MOV NUMB, R0 ;行码地址送存储单元格中

NEXT2:

INC TCOUNT ;拉幕计数序号加1

MOV A, TCOUNT ;将幕次序号送A中

CJNE A, #40, NEXT4;此序号不等于40转Next4,否则往下执行

MOV TCOUNT, #00H ;把拉幕时序归0

INC R0 ;行码起始地址加1

CJNE R0, #88, NEXT3 ;行码自加次数不满11字符×8行/字符=88行就转Next3

MOV R0, #00H ;不然就把行码置0

NEXT3:

MOV NUMB, R0 ;送新的一幕行码起始位给R0

NEXT4:

RETI;中断返回

TAB: ;列码码表

DB 0FEH, 0FDH, 0FBH, 0F7H, 0EFH, 0DFH, 0BFH, 7FH ;列扫描从右向左NUB:;行码码表,字符数据

DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H ;NULL

DB 00H, 00H, 3EH, 41H, 41H, 41H, 3EH, 00H ; 0

DB 00H, 00H, 00H, 00H, 21H, 7FH, 01H, 00H ; 1

DB 00H, 00H, 27H, 45H, 45H, 45H, 39H, 00H ; 2

DB 00H, 00H, 22H, 49H, 49H, 49H, 36H, 00H ; 3

DB 00H, 00H, 0CH, 14H, 24H, 7FH, 04H, 00H ; 4

DB 00H, 00H, 72H, 51H, 51H, 51H, 4EH, 00H ; 5

DB 00H, 00H, 3EH, 49H, 49H, 49H, 26H, 00H ; 6

DB 00H, 00H, 40H, 40H, 40H, 4FH, 70H, 00H ; 7

DB 00H, 00H, 36H, 49H, 49H, 49H, 36H, 00H ; 8

DB 00H, 00H, 32H, 49H, 49H, 49H, 3EH, 00H ; 9

DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H ;NULL

END ;结束汇编

程序流图:

开始

初始化端口

设定扫描时间

拉幕时序清0

取列扫描地址

取行数据地址

数据输出

Y es

幕次数计满?

No

幕次数加1

送新的行码地址

项目一8×8点阵数字滚动显示

一、设计要求

本次设计采用单片机A T89C51驱动8×8点阵LED显示屏,轮流显示0~9的数字。显示方式采用自左向左拉幕式显示。

二、硬件电路介绍

1.AT89C51单片机:

P0口:P0口为一个8位漏级开路双向I/O口。当P1口的管脚第一次写1时,被定义为高阻输入。P0口能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH

编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此

时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口。P1口管脚写

入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将

输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作

为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,当P2口被写“1”

时,其管脚被内部上拉电阻拉高,P2口当用于外部程序存储器或16位地址

外部数据存储器进行存取时,P2口输出地址的高八位。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口。当P3口写入“1”

后,它们被内部上拉为高电平,并用作输入。作为输出,由于外部下拉为

低电平,它将输出电流。

RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的

高电平时间。A T89C51单片机的外形及引脚排列说明如后页图示。

A T89C51单片机的外形及引脚排列如右图。

2. 74LS373芯片:

当三态允许控制端OE 为低电平时,O0~O7 为正常逻辑状态,可用来驱动负载或总线。当OE 为高电平时,O0~O7 呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。当锁存允许端LE 为高电平时,O 随数据 D 而变。当LE 为低电平时,O 被锁存在已建立的数据电平.

D0~D7 数据输入端OE 三态允许控制端(低电平有效)LE 锁存允许端O0~O7 输出端

3. respack-8器件:

排阻器件,起上拉电阻的作用。

4. 8×8LED点阵

8×8LED点阵可作为信息输出器件。它是由发光二极管阵列按8排8列的方式排列起来,由x和y引脚输入的电信号对其进行选通,使不同位置的二极管被点亮,相应地显示出文字或图案等信息来。

四、硬件设计仿真:

五、设计调试过程及问题

在PC机上运行Proteus软件,将电路原理图中的元件找出并相应地连接好线;在Keil汇编软件中输入设计的程序,编译通过后生成十六进制文件,并再把该文件下载到虚拟的AT89C51单片机内。因为单片机的RST引脚经电容接到了Vcc电源上,同时并联接地,所以系统可以上电后自动执行一次复位操作。

问题一第一次连接硬件电路,由于没有接74LS373双向总线收发器,所以在LED点阵和单片机I/O口之间就直接连接了,结果LED显示屏无法显示单片机输出的结果,所有的LED 灯都不亮。看来直接跳线时单片机I/O口输出的信号不足以驱动8乘8点阵工作。当8051单片机的P0口输出八位低地址时,必须接入74LS373作地址锁存器。

问题二仿真时会看到LED点阵中有字显示的地方(前景)灯是灭的,无字显示的地方(背景)灯是亮的,这出现“阴文”显示状态。产生这种显示的原因是因为8×8点阵LED引脚接反了,应该正端接P3,负端接P0。即可看到正确的“阳文”方式显示出的数字。

问题三仿真时出现数字是反着的,产生这种显示的原因是因为点阵的列码扫描信号线

A~H与单片机的P3.0~P3.7口相应的顺序接反了,把对应的接线顺序倒过来,才正确。

点阵显示汉字滚动图解

点阵的汉字滚动实现其实很简单,用一句话概括就是:一边在行(列)上进行扫描,一遍循环依次取出显示代码输入到列(行)上。 以我们板上载有的8×8点阵为例,当要实现2个汉字的滚动时,我们把整个滚动的过程拆开,会发现每一次完整的滚动,点阵要显示2×8=16个状态。我们可以把两个汉字的行(或列)扫描代码通过字模提取软件提出后保存在数组里,然后顺序循环的去取数组里的数据放到行(或列)上就可。 我们用图示来解析一下整个过程。我们假设要显示两个汉字”人”和”天”的左右滚动。 首先我们假设在行和列的输入数据中,1代表亮,0代表灭。数组code里保存好从字模软件中按行提取出来的扫描码,假设code[15]=A0,A1,A2,A3,A4,A5,A6,A7,B0,B1,B2,B3,B4,B5,B6,B7(A代表“人”字的列扫描码,B代表“天”字的列扫描码) 思路是这样的: 第1个时段T1:(完整的汉字“天”) 时刻t0,R=0000_0001,L=A0,R0那一列显示;、 时刻t1,R=0000_0010,L=A1,R1那一列显示; 时刻t2,R=0000_0100,;L=A2,R2那一列显示; ……. 时刻t7,R=1000_0000,;L=A7,R7那一列显示; 然后又回到时刻t0的扫描状态,循环扫描。只要在这个T1时间段内按这样扫描的话,就形成了A0—A7所代表的数据,即汉字“人”

第2个时段T2:(开始滚入“天”字) 时刻t0,R=0000_0001,L=A1,R0那一列显示;、 时刻t1,R=0000_0010,L=A2,R1那一列显示; 时刻t2,R=0000_0100,L=A3,R2那一列显示; ……. 时刻t7,R=1000_0000,L=B0,R7那一列显示;“天”字第1列 然后又回到时刻t0的扫描状态,循环扫描。只要在这个T2时间段内按这样扫描的话,就形成了A1—A7和B0所代表的数据,如下图: 第3个时段T3: 时刻t0,R=0000_0001,L=A2,R0那一列显示;、 时刻t1,R=0000_0010,L=A3,R1那一列显示; 时刻t2,R=0000_0100,;L=A4,R2那一列显示; ……. 时刻t6,R=1000_0000,L=B0,R6那一列显示;“天”字第1列 时刻t7,R=1000_0000,L=B1,R7那一列显示;“天”字第2列 然后又回到时刻t0的扫描状态,循环扫描。只要在这个T3时间段内按这样扫描的话,就形成了A1—A7和B0--B1所代表的数据,如下图: 第4个时段T4: 时刻t0,R=0000_0001,L=A2,R0那一列显示;、 时刻t1,R=0000_0010,L=A3,R1那一列显示; 时刻t2,R=0000_0100,;L=A4,R2那一列显示; ……. 时刻t5,R=1000_0000,L=B0,R5那一列显示;“天”字第1列 时刻t6,R=1000_0000,L=B1,R6那一列显示;“天”字第2列 时刻t7,R=1000_0000,L=B2,R7那一列显示;“天”字第3列 然后又回到时刻t0的扫描状态,循环扫描。只要在这个T4时间段内按这样扫描的话,就形成了A1—A7和B0—B2所代表的数据,如下图:

8x8点阵LED显示键盘输入字母A~F.

课程设计报告 课程设计名称:微机原理与接口技术系别:三系 学生姓名:缪广东 班级:10计本(1) 学号:20100303130 成绩: 指导教师:巫宗宾 开课时间:2012—2013 学年 1 学期

一.设计题目 LED显示系统设计 二.主要内容 课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力的重要教学环节。它具有动手、动脑和理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一个重要教学环节。 通过课程设计,要求学生熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,使学生得到微机开发应用方面的初步训练。让学生独立或集体讨论设计题目的总体设计方案、编程、软件硬件调试、编写设计报告等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。通过本次课程设计使学生熟练掌握微机系统与接口扩展电路的设计方法,熟练应用8086汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法。 通过课程设计实践,不仅要培养学生事实求是和严肃认真的工作态度,培养学生的实际动手能力,检验学生对本门课学习的情况,更要培养学生在实际的工程设计中查阅资料,撰写设计报告表达设计思想和结果的能力。 在课程设计时,1人一组,设计报告由学生独立完成,不得互相抄袭。教师的主导作用主要在于指明设计思路,启发学生独立设计的思路,解答疑难问题和按设计进度进行阶段审查。学生必须发挥自身学习的主动性和能动性,主动思考问题、分析问题和解决问题,而不应处处被动地依赖指导老师。 学生在设计中可以引用所需的参考资料,避免重复工作,加快设计进程,但必须和题目的要求相符合,保证设计的正确。学生学会掌握和使用各种已有的技术资料,不能盲目地、机械地抄袭资料,必须具体分析,使设计质量和设计能力都获得提高。学生要在老师的指导下制定好自己各环节的详细设计进程计划,按给定的时间计划保质保量的完成个阶段的设计任务。设计中可边设计,边修改,软件设计与硬件设计可交替进行,问题答疑与调试和方案修改相结合,提高设计的效率,保证按时完成设计工作并交出合格的设计报告。

12864点阵型液晶显示屏的基本原理与使用方法(很详细)

12864点阵型液晶显示屏的基本原理与使用方法(很详细) 点阵LCD的显示原理 在数字电路中,所有的数据都是以0和1保存的,对LCD控制器进行不同的数据操作,可以得到不同的结果。对于显示英文操作,由于英文字母种类很少,只需要8位(一字节)即可。而对于中文,常用却有6000以上,于是我们的DOS前辈想了一个办法,就是将ASCII表的高128个很少用到的数值以两个为一组来表示汉字,即汉字的内码。而剩下的低128位则留给英文字符使用,即英文的内码。 那么,得到了汉字的内码后,还仅是一组数字,那又如何在屏幕上去显示呢?这就涉及到文字的字模,字模虽然也是一组数字,但它的意义却与数字的意义有了根本的变化,它是用数字的各位信息来记载英文或汉字的形状,如英文的'A'在字模的记载方式如图1所示: 图1“A”字模图 而中文的“你”在字模中的记载却如图2所示:

图2“你”字模图 12864点阵型LCD简介 12864是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及128×64全点阵液晶显示器组成。可完成图形显示,也可以显示8×4个(16×16点阵)汉字。 管脚号管脚名称LEVER管脚功能描述 1VSS0电源地 2VDD+5.0V电源电压 3V0-液晶显示器驱动电压 4D/I(RS)H/L D/I=“H”,表示DB7∽DB0为显示数据 D/I=“L”,表示DB7∽DB0为显示指令数据5R/W H/L R/W=“H”,E=“H”数据被读到DB7∽DB0 R/W=“L”,E=“H→L”数据被写到IR或DR 6E H/L R/W=“L”,E信号下降沿锁存DB7∽DB0 R/W=“H”,E=“H”DDRAM数据读到DB7∽DB0 7DB0H/L数据线 8DB1H/L数据线 9DB2H/L数据线 10DB3H/L数据线 11DB4H/L数据线 12DB5H/L数据线 13DB6H/L数据线 14DB7H/L数据线 15CS1H/L H:选择芯片(右半屏)信号 16CS2H/L H:选择芯片(左半屏)信号 17RET H/L复位信号,低电平复位

8 8LED点阵显示实验

8 8LED点阵显示实验 一.实验要求 利用实验系统提供的实验模块点阵显示,编程实现中英文字符的显示。 二.实验目的 1.了解LED点阵显示的基本原理和实现方法。 2.掌握点阵汉字库的编码和从标准字库中提取汉字编码的方法。 三.实验电路及连线 点阵显示模块WTD3088的(红色)列输入线接至内部LED的阴极端,行输入线接至内部LED 的阳极端(若阳极端输入为高电平,阴极端输入低电平,则该LED点亮)。发光点的分布如图22-0所示。 Fig 22-0 WTD3088 LED分布 如图22-1示,本实验模块使用74LS374来控制列输入线的电平值。将74LS374的某输出置0,则对应的LED阴极端被置低。如图22-2示,本实验模块使用74LS273来控制行输入线,并通过9013提供电流驱动。将74LS273的某输出置1,则对应的LED阳极端被置高。每次系统重新开启或总清后,74LS273输出为全0,LED显示被关闭。 通过编程控制各显示点对应LED阳极和阴极端的电平,就可以有效的控制各显示点的亮灭。

Fig 22-1 LED模块及列扫描电路 Fig 22-2 行扫描电路 Fig 22-3地址译码电路 本实验模块使用4块WTD3088组成16×16点阵,以满足汉字显示的要求。为了方便的控制四个单元,使用了一片74LS139译码,产生四个地址片选信号:CLKR1= CSLED,CLKR2= CSLED+1,用于行控制的两片74LS273;CLKC1= CSLED+2,CLKC2= CSLED+3,用于列控制的两片74LS374。实验接线:按示例程序,模块的CSLED接51/96地址的8000H。 四.实验说明

12864点阵液晶显示模块的原理

12864点阵液晶显示模块的原理 12864 点阵液晶显示模块的原理12864 点阵液晶显示模块(LCM)就是由128*64 个液晶显示点组成的一个128 列*64 行的阵列。每个显示点对应一位二 进制数,1 表示亮,0 表示灭。存储这些点阵信息的RAM 称为显示数据存储器。要显示某个图形或汉字就是将相应的点阵信息写入到相应的存储单元中。图形 或汉字的点阵信息当然由自己设计,问题的关键就是显示点在液晶屏上的位置(行和列)与其在存储器中的地址之间的关系。由于多数液晶显示模块的驱动 电路是由一片行驱动器和两片列驱动器构成,所以12864 液晶屏实际上是由左 右两块独立的64*64 液晶屏拼接而成,每半屏有一个512*8 bits 显示数据RAM。左右半屏驱动电路及存储器分别由片选信号CS1 和CS2 选择。(少数厂 商为了简化用户设计,在模块中增加译码电路,使得128*64 液晶屏就是一个 整屏,只需一个片选信号。)显示点在64*64 液晶屏上的位置由行号 (line,0~63)与列号(column,0~63)确定。512*8 bits RAM 中某个存储单元的地址由页地址(Xpage,0~7)和列地址(Yaddress,0~63)确定。每个存储单元存储8 个液晶点的显示信息。为了使液晶点位置信息与存储地址的对应关系更直 观关,将64*64 液晶屏从上至下8 等分为8 个显示块,每块包括8 行*64 列个 点阵。每列中的8 行点阵信息构成一个8bits 二进制数,存储在一个存储单元 中。(需要注意:二进制的高低有效位顺序与行号对应关系因不同商家而不同) 存放一个显示块的RAM 区称为存储页。即64*64 液晶屏的点阵信息存储在8 个存储页中,每页64 个字节,每个字节存储一列(8 行)点阵信息。因此存储单 元地址包括页地址(Xpage,0~7)和列地址(Yaddress,0~63)。例如点亮128*64 的屏中(20,30)位置上的液晶点,因列地址30 小于64,该点在左半屏第29 列,所以CS1 有效;行地址20 除以8 取整得2,取余得4,该点在RAM 中页

《16×16点阵LED字符显示器设计毕业论文初稿》

引言 LED显示屏是一种通过控制半导体发光二极管的显示方式,用来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。图文显示屏可与计算机同步显示汉字、英文文本和图形;视频显示屏采用微型计算机进行控制,图文、图像并茂,以实时、同步、清晰的信息传播方式播放各种信息,还可显示二维、三维动画、录像、电视、VCD节目以及现场实况。 LED显示屏显示画面色彩鲜艳,立体感强,静如油画,动如电影,广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。在实际应用中的显示屏由于成本和可靠性的因素常采用一种称为动态扫描的显示方法。 本文设计的是一个室内用16x16的点阵LED图文显示屏,图形或文字显示有逐字显示、向上滚动、向左滚动等显示方式。 它的优点:亮度高、工作电压低、功耗小、微型化、易与集成电路匹配、驱动简单、寿命长、耐冲击、性能稳定。

第一章设计要求与方案论证 1.1 设计要求 设计一个16×16点阵LED字符显示器,要求如下: 显示器采用AT89S52单片机作控制器,12MHz晶振,16×16点阵共阳LED显示器。16×16点阵LED字符显示器能显示“电气自动化”五个文字。显示方式可由S1、S2和S3选择,S1为逐字显示,S2为向上滚动显示,和S3为向左滚动显示。 1.2 系统基本方案的选择和论证 1.2.1 核心电路的选择 方案一:采用89C51单片机 采用89C51作为硬件核心,内部具有4KB Flash ROM存储空间,能运用于3V 的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具有ISP在线编程技术,当在对电路进行调试时,由于程序的过错修正或对程序的新增功能需要烧入程序时,对芯片的多次插拔会对芯片造成必定的损坏。 方案二:采用8051单片机: 8051单片机最早由Intel公司推出,内部具有4KB ROM存储空间。其后多家公司购买了8051的内核,使得以8051为内核的MCU系列单片机在世界上产量最大,应用也最广泛。有人推测8051可能最终形成事实上的标准MCU芯片。LG公司生产的GMS90系列单片机,与Intel MCS-51系列、Atmel 89C51/52,89C2051等单片机兼容,CMOS技术,高达40MHZ的时钟频率。应用于:多功能电话,智能传感器,电度表,工业控制,防盗报警装置,各种计费器,各种IC卡装置、DVD、VCD、CD-ROM。 方案三:采用AT89S52单片机 AT89S52 是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash 存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。该芯片且具备在线编程可擦除技术,当在对电路停止调试时,因为顺序的过错修正或对步伐的新删功能

基于FPGA的LED16×16点阵汉字显示设计(VHDL版)

毕业设计(论文)开题报告 设计(论文)题目基于FPGA的LED 16×16点阵汉字显示设计 一、选题的背景和意义: LED点阵显示屏是集微电子技术、计算机技术、信息处理技术于一体的大型显示屏系统。它以其色彩鲜艳,动态范围广,亮度高,寿命长,工作稳定可靠等优点而成为众多显示媒体以及户外作业显示的理想选择。受到体育场馆用LED显示屏需求快速增长的带动,近年来,中国LED 显示屏应用逐步增多。目前,LED已经广泛应用在银行、火车站、广告、体育场馆之中。而随着奥运会、世博会的临近,LED显示屏将广泛的应用在体育场馆以及道路交通指示中,LED显示屏在体育广场中的应用将出现快速增长。 因此,本设计是很有必要的,之所以基于FPGA设计是因为现场可编程门阵列(FPGA)设计周期小,灵活度高,适合用于小批量系统,提高系统的可靠性和集成度。并且采用编写灵活的VHDL 语言编写主程序。本设计可以方便的应用到各类广告宣传中。 二、课题研究的主要内容: 1. 实现16×16点阵的汉字显示; 2. 实现有限汉字显示; 4. 实现汉字的滚动显示; 5. 完成方案论证。 三、主要研究(设计)方法论述: 通过去图书馆查阅书籍收集资料,同时在搜索引擎上检索资料,分析借鉴已有类似产品、设计方案与成功经验,选择几种可行方案比对,最后确定最切实可行的方案展开设计。 通过Multisim或Quartus软件对系统进行模拟仿真,对电路功能进行改进与完善。 在EDA试验箱上进行调试。 四、设计(论文)进度安排:

时间(迄止日期)工作内容 2010.5.17-5.23 理解并确认毕业设计任务书,撰写完成毕业设计开题报告(第1周) 2010.5.24-5.30 完成调研与资料收集、整理 (第2周) 2010.5.31-6.6 设计方案及原理框图确定 (第3周) 2010.6.7-7.4 电路资料收集,单元电路设计 (第4、5、6、7周) 2010.7.5-7.18 电路仿真与改进、完善 (第8、9周) 2010.19-8.1 资料整理 (第10、11周) 2010..8.2-8.8 书写毕业设计报告 (第12周) 2010.8.9-8.16 (第13周)修改毕业设计报告并整理装订 五、指导教师意见: 指导教师签名:年月日六、系部意见: 系主任签名:年月日 目录

8﹡8点阵LED字符显示器

单片机课程设计与制作任务书 专业:学号:姓名: 一、设计题目: 8﹡8点阵LED字符显示器的设计与制作 二、设计要求: 1、具有对文字及时间显示功能; 2、文字时间采用一个LED字符显示器分按键显示,使用按键切换; 3、能够用简单的按键对文字和时间进行设定或调整; 三、设计内容: 硬件设计、软件设计及样品制作 四、设计成果形式: 1、设计说明书一份(不少于4000字); 2、样品一套。 五.完成期限: 2007年 07月 01日 指导教师:年月日 教研室:年月日

目录 第一章引言 (5) 第二章方案选择及总体设计 (6) 第三章控制系统的硬件设计 (8) 第四章软件设计及程序清单 (11) 第五章样品的制作与调试 (16) 第六章使用说明 (18) 第七章结束语 (20) 参考文献 (21)

附录 (21) 第一章引言 当今世界,电子技术迅猛发展,点阵式显示器件作为现代信息显示的重要媒体,在金融证券、体育、机场、交通、商业、广告宣传、邮电电信、指挥调度、国防军事等许多领域中得到了广泛应用。因此点阵式显示器件的研制、生产也的到了迅速的发展,并逐步形成产业,成为光电子行业的新兴产业领域。目前,点阵式显示器件具体包括LED显示模块和LCD显示模块等。现在发展的LCD比较先进,LCD的优点较为明显,他体积小,容易控制,功能强,价格适宜,能够适应显示器的发展方向,因而在通信、家电、大屏幕投影等领域得到了越来越广泛的应用;随着社会经济的迅猛发展,工业生产逐渐实现了自动化,其中,设备的工作状态和生产过程状态的显示与监控起到了非常重要的作用,对于那些需要显示的信息量不是很大,分辨率不是很高,又需要制造成本相对比较低的场合,使用大、小屏幕LED点阵显示器是比较经济适用的,他可以显示字符、数字、汉字和简单图形,可以根据需要使用不同字号、字型,显示亮度较高,并且对环境条件要求比较低。LED显示又可以分为单色显示和双色显示,可以按照需要的大小、形状和颜色进行组合,并用单片机控制实现各种文字或图形的变化,达到宣传和提示的目的。据不完全统计,1991年,全国LED显示屏的产值还不到亿元人民币,而在1993年,仅蓝通公司一家企业的显示屏产值即达1亿多人民币。 由于LED电子显示屏具有所显内容信息量大,外形美观大方,操作使用方便灵活.适用于火车,汽车站,码头,金融证券市场,文化中心,信息中心体育设施等公共场所.该项目广泛涉及了计算机及电子技术中的电源技术,单片机技术,数据通讯技术,显示技术,存储技术,系统软件技术,接口及驱动等技术.我国经济发展迅猛,对信息传播有越来越高的要求.可以相信,LED电子显示屏以其色彩鲜亮夺目,大的显示信息量,寿命长,耗电量小,重量轻,空间尺寸小,稳定性高,易于操作,安装和维护等特点,将在社会经济发展中扮演越来越重要的角色。 第二章方案选择及总体设计

16×16点阵滚动显示汉字c51程序

16×16点阵滚动显示汉字c51程序 给大家共享一个51单片机驱动的16×16点阵滚动显示汉字的程序,是公车上用的。 下载源代码 #include #define int8 unsigned char #define int16 unsigned int #define int32 unsigned long int8 flag; int8 n; int8 code table[][32]={ 欢迎您乘坐广州三汽公司公共汽车大学城2线开往大学城请您坐好扶稳 具体的字码省略,请点此处下载本列16×16点阵汉字滚动显示源代码 }; void delay(void); int16 offset; void main(void) { int8 i; int8 *p; flag=0x10;

n=0; TMOD=0x01; TH0=0xb1; TL0=0xe0; ET0=1; EA=1; TR0=1; p=&table[0][0]; while (1) { for (i=0;i<8;i++) //显示左半边屏幕 { P0=*(p+offset+2*i); P2=i|0x08; //P2.4=0,P2.3=1 选中U2, 输出扫描码给U6 delay(); P0=*(p+offset+2*i+1); P2=i|0x10; //P2.4=1,P2.3=0 选中U3, 输出扫描码给U7 delay(); } for (i=8;i<16;i++) //显示右半边屏幕 {

P0=*(p+offset+2*i); P2=(i-8)|0x20; //P2.5=1 P2.4=0, P2.3=0 选中U4,输出扫描码U8 delay(); P0=*(p+offset+2*i+1); P2=(i-8)|0x40; //P2.6=1 P2.5=0, P2.4=0 选中U5,输出扫描码U9 delay(); } } } void delay(void) { int16 i; for (i=0;i<50;i++) ; } void timer0() interrupt 1 using 3 { TF0=0; TH0=0xb1; TL0=0xe0; if (n1100)

16-16点阵LED显示汉字汇编语言

LED16X16点阵显示课程设计报告 学院 专业 班级 学生 指导老师

一、设计目的 本次课程设计目的剖析试验箱,利用微机接口芯片8255,并行控制LED点阵显示;其次就是掌握8088微机系统与LED点阵显示模块之间接口电路设计及编程,了解LED点阵显示的基本原理和如何来实现汉字的的循环左移显示。 二、设计容 利用598H试验系统扩展接口CZ7座,在控制板MC1上以并行通信的方式控制LED点阵显示。要求自建字库,编制程序实现点阵循环左移显示汉字,并要求通过protues仿真软件画出电路图,运行程序。 三、硬件电路设计 整个电路由8088CPU,两片8255,1个74ls373,1个74LS138,1个16×16的LED,5个7407。该电路可静态显示1个16*16位的汉字,也可循环显示。 1、8255 Intel8255A是一种通用的可编程序并行I/O接口芯片,又称“可编程外设接口芯片”,是为Intel8080/8085系列微处理据设计的,也可用于其它系列的微机系统。可由程序来改变其功能,通用性强、使用灵活。通过8255A,CPU可直接同外设相连接,是应用最广的并行I/O接口芯片。其中含3个独立的8位并行输入/输出端口,各端口均具有数据的控制和锁存能力。可通过编程设置各端口的工作方式和数据传送方向(入/出/双向)。 2、138译码器 译码器是组合逻辑电路的一个重要的器件,74LS138的输出是低电平有效,故实现逻辑功能时,输出端不可接或门及或非门,74LS138与前面不同,其有使能端,故使能端必须加以处理,否则无法实现需要的逻辑功能。发光二极管点亮只须使其正向导通即可,根据LED的公共极是阳极还是阴极分为两类译码器,即针对共阳极的低电平有效的译码器;针对共阴极LED的高电平输出有效的译码器。 3、373锁存器 74LS373是低功耗肖特基TTL8D锁存器,有8个相同的D型(三态同相)锁存器,由两个控制端(11脚G或EN;1脚OUT、CONT、OE)控制。当OE接地时,若G为高电平,74LS373接收由PPU输出的地址信号;如果G为低电平,则将地址信号锁存。工作原理:74LS373的输出端O0—O7可直接与总线相连。当三态允许控制端OE为低电平时,O0—O7为正常逻辑状态,可用来驱动负载或总线。当OE为高电平时,O0—O7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器部的逻辑操作不受影响。当锁存允许端LE为高电平时,O随数据D而变。当LE为低电平时,O被锁存在已建立的数据电平。 4、LED 动态显示原理 LED点阵显示系统中各模块的显示方式:有静态和动态显示两种。静态显示原理简单、控制方便,但硬件接线复杂,在实际应用中一般采用动态显示方式,动态显示采用扫描的方式工作,由峰值较大的窄脉冲电压驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的列数据信号,反复循环以上操作,就可显示各种图形或文字信息。 点阵式LED绝大部分是采用动态扫描显示方式,这种显示方式巧妙地利用了人眼的视

单片机设计8X8LED点阵显示原理与编程技术

#i nclude 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 delay(void) { unsigned char i,j; for(i=10;i>0;i--) for(j=248;j>0;j--); } 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++) { P3=taba[i]; P1=0xff; delay1(); } } for(j=0;j<3;j++)//from right to left 3 time { for(i=0;i<8;i++) { P3=taba[7-i]; P1=0xff; delay1(); } } for(j=0;j<3;j++)//from top to bottom 3 time { for(i=0;i<8;i++) { P3=0x00; P1=tabb[7-i]; delay1(); } }

16 16点阵LED循环显示汉字汇编语言设计

LED16X16点阵显示 课程设计报告 学院信息工程学院 专业通信工程 班级0801 学生姓名 指导老师 二0一0年十二月 一、设计目的 本次课程设计目的剖析试验箱,利用微机接口芯片8255,并行控制LED点阵显示;其次就是掌握8088微机系统与LED点阵显示模块之间接口电路设计及编程,了解LED点阵显示的基本原理和如何来实现汉字的的循环左移显示。 二、设计内容 利用598H试验系统扩展接口CZ7座,在控制板MC1上以并行通信的方式控制LED点阵显示。要求自建字库,编制程序实现点阵循环左移显示汉字,并要求通过protues仿真软件画出电路图,运行程序。 三、硬件电路设计 整个电路由8088CPU,两片8255,1个74ls373,1个74LS138,1个16×16的LED,5个7407。该电路可静态显示1个16*16位的汉字,也可循环显示。 1、8255 Intel8255A是一种通用的可编程序并行I/O接口芯片,又称“可编程外设接口芯片”,是为Intel8080/8085系列微处理据设计的,也可用于其它系列的微机系统。可由程序来改变其功能,通用性强、使用灵活。通过8255A,CPU可直接同外设相连接,是应用最广的并行I/O接口芯片。其中含3个独立的8位并行输入/输出端口,各端口均具有数据的控制和锁存能力。可通过编程设置各端口的工作方式和数据传送方向(入/出/双向)。 2、138译码器 译码器是组合逻辑电路的一个重要的器件,74LS138的输出是低电平有效,故实现逻辑功能时,输出端不可接或门及或非门,74LS138与前面不同,其有使能端,故

使能端必须加以处理,否则无法实现需要的逻辑功能。发光二极管点亮只须使其正向导通即可,根据LED的公共极是阳极还是阴极分为两类译码器,即针对共阳极的低电平有效的译码器;针对共阴极LED的高电平输出有效的译码器。 3、373锁存器 74LS373是低功耗肖特基TTL8D锁存器,内有8个相同的D型(三态同相)锁存器,由两个控制端(11脚G或EN;1脚OUT、CONT、OE)控制。当OE接地时,若G为高电平,74LS373接收由PPU输出的地址信号;如果G为低电平,则将地址信号锁存。工作原理:74LS373的输出端O0—O7可直接与总线相连。当三态允许控制端OE为低电平时,O0—O7为正常逻辑状态,可用来驱动负载或总线。当OE为高电平时,O0—O7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。当锁存允许端LE为高电平时,O随数据D而变。当LE为低电平时,O被锁存在已建立的数据电平。 4、LED动态显示原理 LED点阵显示系统中各模块的显示方式:有静态和动态显示两种。静态显示原理简单、控制方便,但硬件接线复杂,在实际应用中一般采用动态显示方式,动态显示采用扫描的方式工作,由峰值较大的窄脉冲电压驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的列数据信号,反复循环以上操作,就可显示各种图形或文字信息。 点阵式LED绝大部分是采用动态扫描显示方式,这种显示方式巧妙地利用了人眼的视觉暂留特性。将连续的几帧画面高速的循环显示,只要帧速率高于24帧/秒,人眼看起来就是一个完整的,相对静止的画面。最典型的例子就是电影放映机。在电子领域中,因为这种动态扫描显示方式极大的缩减了发光单元的信号线数量,因此在LED显示技术中被广泛使用。 以8×8点阵模块为例,说明一下其使用方法及控制过程。图2.1中,红色水平线Y0、Y1……Y7叫做行线,接内部发光二极管的阳极,每一行8个LED的阳极都接在本行的行线上。相邻两行线间绝缘。同样,蓝色竖直线X0、X1……X7叫做列线,接内部每列8个LED的阴极,相邻两列线间绝缘。 在这种形式的LED点阵模块中,若在某行线上施加高电平(用“1”表示),在某列线上施加低电平(用“0”表示)。则行线和列线的交叉点处的LED就会有电流流过而发光。比如,Y7为1,X0为0,则右下角的LED点亮。再如Y0为1,X0到X7均为0,则最上面一行8个LED 全点亮。 现描述一下用动态扫描显示的方式,显示字符“B”的过程。其过程如图3.1 图3.1用动态扫描显示字符“B”的过程 Proteus中只有5×7和8×8等LED点阵,并没有16×16LED点阵,而在实际应用中,要良好地显示一个汉字,则至少需要16×16点阵。下面我们就首先介绍使用8×8点阵构建16×16点阵的方法,并构建一块16×16LED点阵,用于本次设计。

8×8LED点阵显示数字A到F

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

目录 1.绪论 (2) 1.1前言 (2) 1.2国内外的研究概况 (2) 2. 系统概述 (3) 3.课程设计目的 (3) 4.课程设计题目和任务 (3) 5.设计内容 (4) 5.1系统功能的描述 (4) 5.2 系统硬件设计 (4) 5.2.1 AT89S51芯片的介绍 (4) 5.2.2 单片机系统设计 (7) 5.2.3 单片机的发展趋势 (8) 5.2.4 时钟电路的设计 (9) 5.2.5 复位电路的设计 (9) 5.2.6驱动电路的设计 (10) 5.2.7 8×8LED点阵 (10) 5.3 计数器初值计算 (11) 5.4 字母A到F点阵显示代码的形成 (11) 5.5 程序流程图 (12) 5.6 源程序 (12) 6. 调试及性能分析 (13) 6.1系统调试 (13) 6.1.1软件调试 (13) 6.1.2硬件调试 (14) 6.2设计分析 (14) 7.设计总结 (14) 附件调试结果 (15) 参考书目 (16)

Lcd12864点阵液晶屏显示原理

https://www.360docs.net/doc/063146128.html, Lcd12864点阵液晶屏显示原理 Lcd12864,它就是128列+64行的阵列。每个型号的液晶模块都有它的一些参数,下面看下lcd12864显示的一些原理吧。 lcd12864,每个显示点对应一位二进制数,1表示亮,0表示灭。存储这些点阵信息的RAM称为显示数据存储器。要显示某个图形或汉字就是将相应的点阵信息写入到相应的存储单元中。图形或汉字的点阵信息当然由自己设计,问题的关键就是显示点在液晶屏上的位置与其在存储器中的地址之间的关系。 由于多数液晶显示模块的驱动电路是由一片行驱动器和两片列驱动器构成,所以12864液晶屏实际上是由左右两块独立的64*64液晶屏拼接而成,每半屏有一个512*8 bits 显示数据RAM。左右半屏驱动电路及存储器分别由片选信号CS1和CS2选择。 显示点在64*64液晶屏上的位置由行号(line,0~63)与列号(column,0~63)确定。512*8 bits RAM中某个存储单元的地址由页地址(Xpage,0~7)和列地址(Yaddress,0~63)确定。每个存储单元存储8个液晶点的显示信息。 为了使液晶点位置信息与存储地址的对应关系更直观关,将64*64液晶屏从上至下8等分为8个显示块,每块包括8行*64列个点阵。每列中的8行点阵信息构成一个8bits二进制数,存储在一个存储单元中。需要注意:二进制的高低有效位顺序与行号对应关系因不同商家而不同。 存放一个显示块的RAM区称为存储页。即64*64液晶屏的点阵信息存储在8个存储页中,每页64个字节,每个字节存储一列(8行)点阵信息。因此存储单元地址包括页地址(Xpage,0~7)和列地址(Yaddress,0~63)。 例如点亮128*64的屏中(20,30)位置上的液晶点,因列地址30小于64,该点在左半屏第29列,所以CS1有效;行地址20除以8取整得2,取余得4,该点在RAM中页地址为2,在字节中的序号为4;所以将二进制数据00010000(也可能是00001000,高低顺序取决于制造商)写入Xpage=2,Yaddress=29的存储单元中即点亮(20,30)上的液晶点。 1

88点阵显示汉子和数字

湖南工业大学 课程设计 资料袋 电气与信息工程学院(系、部)2016~2-17 第 1 学期课程名称单片机应用系统指导教师职称副教授 学生姓名未知专业班级电气工程及其自动化学 题目8*8LED点阵显示文字_____________________ 成绩起止日期2016 年11 月21 日~2016 年12 月2 日 目录清单 湖南工业大学

课程设计任务书 20 16—20 17第一学期 电气与信息工程学院电气工程及其自动化专业1404 班级课程名称:单片机应用系统____________________ 设计题目:8*8LED点阵显示文字______________________ 指导教师(签字):年月日系(教研室)主任(签字):年月日

(单片机应用系统) 设计说明书 8*8LED点阵显示文字 起止日期:2016 年11月21 日至2016年12 月2日 学生姓名哈哈 班级电气工程0000 学号000000000 成绩 指导教师(签字) 电气与信息工程学院(部) 2016年12月7日

目录 第一章系统概述 (1) 1.1设计任务及目的 (1) 1.2 设计发展前景 (1) 第二章系统硬件设计与分析 (3) 2.1 复位电路 (3) 2.2 晶振电路 (3) 2.3 显示电路 (4) 第三章程序设计 (6) 3.1 汉子与数字的编码 (6) 3.2 定时程序 (6) 3.3 完整程序 (6) 第四章软件仿真与测试 (11) 4.1 滚动循环显示 (11) 4.2 逐字切换显示 (11) 第五章总结 (13) 参考文献 (14) 附录(单片机源程序) (15)

AT89C52控制的8×8点阵LED字符显示器的设计(1)

目录 第1章:引言 (2) 第2章:方案论证 (3) 2.1:方案选择 (3) 2.2:单片机最小系统设计 (3) 2.3:按键及接口设计 (5) 2.4:显示及接口设计 (5) 2.5:驱动电路的设计 (7) 2.6:电源电路的设计 (7) 第3章:8×8点阵显示器控制系统的硬件设计 (8) 3.1:硬件系统的总体设计 (8) 3.2:单片机AT89C52的分析 (8) 3.3:具体电路及功能分析 (11) 3.4:8×8点阵显示电路原理图 (11) 第4章:8×8点阵控制系统的软件设计 (12) 4.1:软件总体设计及功能的描述 (12) 4.2:单片机系统资源分配 (12) 4.3:软件主程序和显示程序流程图 (13) 第5章:样品的制作与调试 (14) 5.1:原材料的选择与采购 (14) 5.2:印刷电路板的设计与制作 (14) 5.3:单片机的测试 (15) 5.4:硬件及软件的调试 (15) 5.5:整机的测试与调试 (15) 第6章:使用说明书 (16) 第7章:后记 (16) 参考文献 (17) 附录1:源程序 (18)

AT89C52控制的8×8点阵LED字符显示器的设计 摘要:本系统设计思路是:利用单片机对整个系统进行总体控制,进行显示所要显示的字符。显示方式分为三种:逐字显示、上滚显示、左滚显示,其中显示字模数据由单片机输入显存,点阵的点亮过程有程序控制,由驱动电路完成,点阵采用单色显示,该显示器电路的特点是:点阵的动态显示过程占用时间比较短,亮度比较高,而且亮度可以改变电阻进行调节。 关键词:LED点阵;嵌入式系统;单片机;显存; Abstract:This design intent to take 8052 single chip to control entire system generally. The display word-module data is input by single chip to display memory. The lightening process is accomplished by other circuit ( programme and drive) automatically. Dynamic display process engross a little of the time . The lighting is able to be adjusted by changing the resistance . The lighting ways: single , rolling from down , rolling from right. Key words:LED lattice;embedded system;single chip;disply memory 第1章引言 当今世界,电子技术迅猛发展,点阵式显示器件作为现代信息显示的重要媒体,在金融证券、体育、机场、交通、商业、广告宣传、邮电电信、指挥调度、国防军事等许多领域中得到了广泛应用。因此点阵式显示器件的研制、生产也的到了迅速的发展,并逐步形成产业,成为光电子行业的新兴产业领域。目前,点阵式显示器件具体包括LED显示模块和LCD显示模块等。现在发展的LCD比较先进,LCD的优点较为明显,他体积小,容易控制,功能强,价格适宜,能够适应显示器的发展方向,因而在通信、家电、大屏幕投影等领域得到了越来越广泛的应用;随着社会经济的迅猛发展,工业生产逐渐实现了自动化,其中,设备的工作状态和生产过程状态的显示与监控起到了非常重要的作用,对于那些需要显示的信息量不是很大,分辨率不是很高,又需要制造成本相对比较低的场合,使用大、小屏幕LED点阵显示器是比较经济适用的,他可以显示字符、数字、汉字和简单图形,可以根据需要使用不同字号、字型,显示亮度较高,并且对环境条件要求比较低。LED显示又可以分为单色显示和双色显示,可以按照需要的大小、形状和颜色进行组合,并用单片机控制实现各种文字或图形的变化,达到宣传和提示的目的。据不完全统计,1991年,全国LED显示屏的产值还不到亿元人民币,而在1993年,仅蓝通公司一家企业的显示屏产值即达1亿多人民币。

点阵显示器的扫描原理

点阵显示器的扫描原理 8X8点阵 P2口做传送数据端口P0做行扫描(两者可以互换) (图中二极管方向须反向) 如上图P0口从P0.7到P0.0做扫描P0口数据为0X80 二进制数据为10000000 用右移函数_cror_(P0,1) 即可实现扫描使高电位从高位依次移动到低位实现逐行扫描当P0扫描第一行时即数据为10000000 P2口从P2.0~P2.7 送入第一行要点亮的灯这里低电位为选中(被点亮)高电位为不选中(处于熄灭状态)比如P2口数据为01110011即图中左上角第一位第五位第六位被点亮如果取字模阴取法即可显示出字的上面一行的点依次向下右移一位P2口取第二行要显示的点…………至到第八行整个字的字模码全被点亮一次利用人眼的惰性如果P0口P2口扫描的速度足够快>25HZ 即可看到整个屏被点亮的字模即是所要显示的字型由于LED灯点亮须要一定的电流所以通电的时间长短会影响其亮度扫描速度过快亮度会变低扫描太慢人眼会感到有闪烁感。(追求刚刚好的扫描速度正是LED显示屏显示的关键) 关于向上移动显示 在上面的静止显示的基础上加入移动代码即可实现上移(且以P0口称为行扫描,P2口为点阵显示码) 由于P0口从上往下扫描当第一次扫描完一个字后做N个循环后(这里的N指的是扫描次数因为人眼的观看速度所以还是要停留一会儿)第二次扫描P2口P2.0取第2个码依次到P2.7 取第八个码做N 个循环后再加1……至到将数组中的所有字码全部取出用到的代码如下

Main() { P0=0x80;//定义P0口初始化的值为1000 0000 For(i=0;i<48;i++) //此句中的48为字码的个数减8 For(N=0;N<20;N++)//每取一次码之后循环次数也可称为移动速度 { P2=tab[i+N];// P2口所选字码 Delay(300);// 延时函数(也是调整扫描频率的数值) P0=_cror_(P0,1) 右移函数实现扫描 }//此三句在第二个FOR中循环20次20是一般取值也是调整移动速度的数值. } 向下移动 在静止显示的基础上改变扫描顺序再改变字码的排列顺序就可实现 扫描顺序从P0.0到P0.7扫描在第次扫描中也就是第八行P2口的点阵通过算法P2口可以得到数组的第八个元素其算法为通过一个缓存字符串 For(a=0;a<6;a++) For(b=0;b<8;b++) Buffer[a*8+b]=TAB[a*8+7-b] 该算法实现的重新排列的数组为Buffer[0]= TAB[7] Buffer[1]=TAB[6] …… Buffer[8]=TAB[15] Buffer[11]=TAB[12] 位对应 07 1 6 2 5 3 4 4 3 5 2 6 1 70 815 914 1013 1112 1211 1310 149

相关文档
最新文档