当前位置:文档之家› DM12232A(C框LED)

DM12232A(C框LED)

DM12232A(C框LED)
DM12232A(C框LED)

图形点阵液晶显示模块使用手册

DM12232A

目 录

(一)基本特性 (1)

(二) 原理图 (2)

(三) 限定参数 (2)

(四) 直流特性 (2)

(五) 交流特性 (3)

(六) 引脚特性 (3)

(七) 指令表 (4)

(八) DDRAM地址表 (5)

(九) 应用举例 (5)

一. 基本特征

1.概述

DM12232A是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及122×32全点阵液晶显示器组成。可完成图形显示,也可以显示七个半(16×16点阵)汉字。

主要技术参数和性能:

1.电源:VDD=+

2.7V~+5V;LCD外接驱动电压VDD-V0=5.0V。

2.显示内容:122(列)×32(行)点

3.显示颜色:绿底兰字

4.显示角度:6点钟直视

5.STN正视反射模式

6.驱动方式:1/32 Duty,1/6 Bias

7.工作温度:-20℃~+60℃,存储温度:-30℃~+70℃

8.连接方式:外部接口由带缆连接

2.外形尺寸图

3.机械尺寸一览:

项目 标准尺寸 单位

模块体积 67.1×27.2×7.3 mm

视域 61.0×21.0 mm

行列点阵数 122×32 dots

点距离 0.40×0.45 mm

点大小 0.36×0.41 mm

二. 原理图:

三.限定参数

Item Symbol

Standard

Value

Unit

Condition Power supply voltage V DD 0~+7.0

LCD driving voltage V DD~V LCD+3.5~+12.0

Input voltage V IN GND≤V IN≤V DD

V

Operating temperature range Top -20~+60 Storage temperature range Tst -30~+70 ℃

No condition

四.直流特性:(Ta=0~40℃,VDD=2.7~6.0V)

Item Symbol Standard Value Unit Power Supply VDD +2.4 ~ +6.0 V LCD Driving V oltage VLCD ----------- V Input High V oltage VIN 0.8VDD≤VIN≤VDD V

Output High V oltage VOH 0.5VDDmin V Input Low V oltage VIL 0≤VIL ≤0.2VDD V Output Low V oltage VOL 0.1VDDmax V Power Supply Current

IDD 2max mA LCD Power Supply Current

ILCD 220max uA

五. 交流特性

Signal Parameter

Symbol MIN MAX Unit Condition

System cycle time

Tcyc 2000-- ns

A0,/RW

Address setup time Taw 40 -- ns Address hold time Tah 20 -- ns Data setup time Tds 160 --

Data hold time Tdh 20 -- ns CL=100p F

D0~D7 Output disable time Tch 20 120 ns Access time

Tacc -- 180 ns

Enable pulse width(Read)

200 --

E

Enable pulse width(Write)

Tew

160 -- ns

Input wave width rise time

Tr -- 15 ns

六.

引脚特性

管脚号 管脚名称

LEVER 管脚功能描述

1 VDD +5.0V 电源电压

2 VSS 0 电源地

3 VLCD 0~+5V LCD 外接驱动负电压

4 /RET H/L 复位信号。在系统需要硬件复位时,在/RES 端产生一个上升沿信号。当内部电路复位后,/RES 端保持高电平。

5 E1 H/L 读写使能信号(MASTER)

6 E2 H/L 读写使能信号(SLAVE) 7

R/W

H/L

读写选择信号

8 D/I H/L D/I=“H”,表示DB7∽DB0为显示数据

D/I=“L”,表示DB7∽DB0为显示指令数据

9 DB0 H/L 数据线

10 DB1 H/L 数据线

11 DB2 H/L 数据线

12 DB3 H/L 数据线

13 DB4 H/L 数据线

14 DB5 H/L 数据线

15 DB6 H/L 数据线

16 DB7 H/L 数据线

17 A +5V

18 K 0V

背光电源

注:)当VDD=+3V时,VLCD=0~-5V

七.指令表

CODE

INSTRCTI

ON R/W D/I D7 D6 D5 D4D3D2D1D0

FUNCTION

DISPLAY ON/OFF 0 0 1 0 1 0 1 1 1 1/0

Switch the entire display

ON or OFF,regardless of

the display RAM’s Data or

the internal status.

1: ON 0: OFF

Display Start Line 0 0 1 1 0

Display start Line

(0····31)

Determines the line of

RAM data to be

displayed at the

display’s top line

(COM0)

Page Address set 0 0 1 0 1 1 1 0

PAGE:

(0~3)

Sets the page of the

Display in the Address

register(X address)

Column

(seg) Address set 0 0 0 Column address(0~79)

Sets the column of the

Display in the column

address register(Y

address)

Status Read 1 0 B

u

s

y

A

D

C

ON

/

OFF

R

S

T

0 0 0 0 Read

status

Busy 1:insternal

operation 0:Ready

ADC 1:Rightward

output 0:Leftward

RST 1:Reseting

0:Normal

ON/OFF 1:Display on

0:Display off

Write Display Data 0 1 Write data Writes the data on the

Data bus to RAM

Read Display Data 1 1 Read data Reads data from the

Display RAM onto the

Data BUS

ADC

Select 0 0 1 0 1 0 0 0 0 0/1Determine

the

clockwise or

Counterclockwise

reading of the display Data RAM 0: Clockwise

1: Counterclockwise

Static Drive ON/OFF 0 0 1 0 1

0 0 1 0 0/1Select the dynamic or

static Driving. 1:Static driving 0: Dynamic driving

Duty Ratio Select 0 0 1 0 1 0 1 0 0 0/1Select the duty ratio

1:1/32 duty 0:1/16 duty

Read Modify Write 0 0 1 1 1

0 0 0 0 0 Increment the column

Address register when writing. But no-change when reading.

End

0 0 1 1 1

0 1 1 1 0 Release from the Read

Modify Write Mode. Reset 0 0 1 1 1

0 0 0 1 1

Set the Display Start Line Register to 1st

line, column Address count to 0 and Page Add. Resister to 0.

Power Save(dualco mmand)

0 0 0 0 0 0 1 1 0 0

1 1 0 0 1 1 1 0 0 1 Set the power save mode by selecting

display off and static driving on

八. DDRAM 地址表

Page Data Com No Drive

D0 :

2 : :

D7 122 X 16 PLXELS

D0 :

3 : : D7 122 X 16 PLXELS

1 : : 16

Slave D0 :

0 : :

D7 122 X 16 PLXELS

D0 :

1 : : D7 12

2 X 16 PLXELS 17 : : 32

Master Column Addr ADC=0 00H ····3C 00H ····3C

Seg No 0····60 0····60 Drive Slave Master

九.应用举例

DM12232A 有(1)直接访问方式和(2)间接控制方式两种

DM12232A 与单片机8031的直接访问接口如图5所示:(VDD=+5V )

DM12232A与单片机8031的直接访问接口如图6所示:(VDD=+5V)

利用图5举例介绍编程实例

ORG 0100H

INITM:MOV A,#0E2H ;RESET

LCALL OUTMI

LCALL OUTSI

MOV A,#0AEH ;OFF DISPLAY

LCALL OUTMI

LCALL OUTSI

MOV A,#0A4H ;OFF STATIC DRIVE

LCALL OUTMI

LCALL OUTSI

MOV A,#0A9H ;SELECT 1/32 DUTY

LCALL OUTMI

LCALL OUTSI

MOV A,#0A0H ;ADC SELECT RIGHTWARS OUTPUT

LCALL OUTMI

LCALL OUTSI

MOV A,#0EEH ;READ MODIFY WRITE OFF

LCALL OUTMI

LCALL OUTSI

MOV A,#00H ;COLUMN ADDRESS SET

LCALL OUTMI

LCALL OUTSI

MOV A,#0C0H ;SET DISPLAY START LINE

LCALL OUTSI

MOV A,#0AFH ;ON DISPLAY

LCALL OUTMI

LCALL OUTSI

;DISPLAY “*”

MOV R2,#0B8H

DIS2:MOV A,R2

LCALL OUTMI

LCALL OUTSI

MOV A,#00H

LCALL OUTMI

LCALL OUTSI

MOV R1,#1FH

DIS1:MOV A,#55H

LCALL OUTMI

LCALL OUTSI

MOV A,#0AAH

LCALL OUTMI

LCALL OUTSI

DJNZ R1,DIS1

INC R2

CJNE R2,#0BCH,DIS2

LCALL MS40

LCALL MS40

LCALL MS40

LCALL MS40

MOV A,#0AFH

;DISPLAY“横条”

MOV R2,#0B8H

DIS3:MOV A,R2

LCALL OUTMI

LCALL OUTSI

MOV A,#00H

LCALL OUTMI

LCALL OUTSI

MOV R1,#3DH

DIS4:MOV A,#55H

LCALL OUTMD

LCALL OUTSD

DJNZ R1 ,DIS4

INC R2

CJIE R2,#0BCH,DIS3

LCALL MS40

LCALL MS40

LCALL MS40

MOV A,#0AFH

LCALL OUTMI

LCALL OUTSI

;DISPLAY“竖条”

MOV R2,#0B8H

DIS5:MOV A,R2

LCALL OUTMI

LCALL OUTSI

MOV A,#00H

LCALL OUTMI

LCALL OUTSI

MOV R1,#1EH

DIS6:MOV A,#00H

LCALL OUTMI

LCALL OUTSI

MOV A,#0FFH

LCALL OUTMI

LCALL OUTSI

DJNZ R1,DIS6

MOV A,#3CH

LCALL OUTMI

LCALL OUTSI

MOV A,#00H

LCALL OUTMI

LCALL OUTSI

INC R2

CJNE R2,#0BCH,DIS5

LCALL MS40

LCALL MS40

LCALL MS40

LCALL MS40

MOV A,#0AFH

;DISPLAY汉字“两只黄鹂鸣翠柳一行白鹭上青天”INITMC:MOV DPTR,#CHINESE

MOV R1 #00H

MOV B,#B8H

DISPWORDM:PUSH B

MOV A,B

LCALL OUTMI

MOV A,#00H

LCALL OUTMI

MOV R2 #7AH

DISPWORD1:MOV A,R1

MOVC A,@A+DPTR

LCALL OUTMD

INC DPTR

DEC R2

CJNE R2,#3DH,DISPWORD1

MOV A,#00H

LCALL OUTST

DISPWORD2:MOV A,R1

MOVC A,@A+DPTR

LCALL OUTSD

INC DPTR

DJNZ R2,DISPWORD2

MOV R1,#00H

POP B

INC B

MOV A,B

CINZ A,#0BCH,DISPWORDM

LCALL MS40

LCALL MS40

LCALL MS40

LCALL MS40

AJMP INITM

MS40: MOV R7,#0E8H

MS2:MOV R6,#0FFH

MS1: DJNA R6,MS1

DJNZ R7,MS2

RET

;OUT INSTRCTION TO MASTER 6450 OUTMI:PUSH DPH

PUSH DPL

MOV DPTR,#6000H

MOVX @DPTR,A

POP DPL

POP DPH

RET

;OUT INSRCTION TO SLAVE 6450

OUTSI:PUSH DPH

PUSH DPL

MOV DPTR,#5000H

MOVX @DPTR,A

POP DPL

POP DPH

RET

;OUT DATA TO MASTER 6450

OUTMD:PUSH DPH

PUSH DPL

MOV DPTR,#0E000H

MOVX @DPTR,A

POP DPL

POP DPH

RET

;OUT DATA TO SLAVE 6450

OUTSD:PUSH DPH

PUSH DPL

MOV DPTR,#0D000H

MOVX @DPTR,A

POP DPL

POP DPH

RET

CHINESE:;(PAGE0)

DB 00H,00H

DB 00H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,0COH,80H,00

DB 00,00,10H,88H,0C4H,23H,40H,42H,42H,42H,42H,42H,0C2H,43H,62H,40H,00

DB 00,00,00,0F8H,08H,0CH,OAH,09H,08H,08H,08H,08H,08H,0FCH,08H,00,00

DB 00,80H,0EEH,8AH,OFAH,0AAH,0AEH,80H,24H,0E3H,0B6H,0AAH,0B6H,0E2H,20H,20H,00 DB 00,00,00,00,00,00,00,00,0FFH,20H,20H,20H,30H,20H,00,00,00

DB 00,40H,44H,54H,54H,54H,54H,54H,7FH,54H,54H,54H,54H,56H,44H,40H,00

DB 00,40H,42H,42H,42H,42H,42H,42H,0FEH,42H,42H,42H,42H,43H,62H,40H,00

0B 00

;(PAGE1)

DB 00,00

0B 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

DB 00,02H,01H,00,0FFH,00,00,00,00,00,40H,80H,7FH,00,00,00,00

DB 00,00,00,7FH,21H,21H,21H,21H,21H,21H,21H,21H,21H,7FH,00,00,00

DB 00,00,40H,40H,5H,52H,53H,56H,5AH,52H,5AH,56H,90H,90H,78H,10H,00

DB 00,40H,40H,40H,40H,40H,40H,40H,7FH,40H,40H,40H,40H,40H,60H,40H,00

DB 00,00,00,00,0FFH,15H,15H,15H,15H,15H,55H,95H,7FH,00,00,00,00

DB 00,80H,80H,40H,20H,10H.0CH,03H,00,03H,0CH,10H,20H,40H,0C0H,40H,00

DB 00

;(PAGE2)

DB 00,00

DB 00,02H,02H,0F2H,12H,12H,0FEH,12H,12H,12H,0FEH,12H,12H,0F2H,03H,02H,00 DB 00,00,00,00,0FCH,04H,04H,04H,04H,04H,04H,04H,0FEH,04H,00,00,00

DB 00,20H,20H,24H,24H,24H,3FH,24H,0E4H,24H,3FH,24H,24H,24H,30H,20H,00

DB 00,04H,0E4H,24H,0E4H,04H,0E4H,26H,0E4H,00,0FCH,06H,55H,84H,7CH,00,00 DB 00,00,0FCH,04H,04H,0FCH,04H,00,0FCH,06H,15H,44H,84H,7EH,04H,00,00

DB 00,00,40H,41H,55H,0C9H,41H,5FH,60H,41H,55H,0C9H,41H,5FH,40H,00,00

DB 00,10H,0D0H,0FFH,90H,10H,0FEH,02H,02H,0F9H,00,0FEH,02H,02H,0FFH,02H,00 DB 00

;(PAGE3)

DB 00,00

DB 00,00,00,0FFH,08H,04H,03H,14H,08H,04H,03H,44H,98H,7FH,00,00,00

DB 00,00,80H,40H,23H,11H,19H,01H,01H,01H,09H,11H,23H,60H,0C0H,00,00

DB 00,00,80H,80H,5FH,55H,35H,15H,1FH,15H,35H,35H,5FH,40H,80H,00,00

DB 00,00,7FH,02H,7FH,00,7FH,02H,7FH,10H,13H,12H,1AH,52H,82H,7EH,00

DB 00,00,OFH,04H,04H,0FH,10H,10H,13H,12H,12H,1AH,52H,82,7FH,02H,00

DB 00,08H,08H,0AH,09H,08H,09H,0AH,0FCH,0AH,09H,08H,09H,0AH,08H,08H,00

DB 00,01H,00,0FFH,00,01H,8FH,44H,22H,1FH,00,0FFH,08H,10H,0FH,00,00

DB 00

基于单片机控制的LED汉字显示

分类号 TP 单位代码 11395 密级公开学号 0605230 学生毕业设计(论文) 题目LED汉字显示 作者 院 (系) 能源工程学院 专业电气工程及自动化 指导教师 答辩日期2010年月日

毕业设计(论文)诚信责任书 本人郑重声明:所呈交的毕业设计(论文),是本人在导师的指导下独立进行研究所取得的成果。毕业设计(论文)中凡引用他人已经发表或未发表的成果、数据、观点等,均已明确注明出处。尽我所知,除文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经公开发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。 本人毕业设计(论文)与资料若有不实,愿意承担一切相关的法律责任。 论文作者签名: 年月日

LED汉字显示 摘要 目前,作为方便、快捷的信息显示方式,LED汉字显示的应用非常广泛。车站、银行、超市等大型公共场所的即时信息及广告的显示,无不应用LED汉字显示屏。在能源日渐危机以及信息日渐重要的今天,具有低耗能、频更新、易维护的LED汉字显示屏必将受到广泛的应用,其具有非常的发展前景。 本文从LED的发展及单片机的简单原理开始,深入的研究了基于AT89C51单片机16×16 LED汉字滚动显示屏的设计并运用Proteus软件的仿真和实现。主要介绍了LED汉字显示屏的硬件电路设计、汇编程序设计与调试、Proteus 软件仿真和实物制作等方面的内容,本显示屏的设计具有体积小、硬件少、电路结构简单及容易实现等优点。能帮助广大电子爱好者了解汉字的点阵显示原理,认识单片机的基本结构、工作原理及应用方法,并提高单片机知识技术的运用能力。 关键词:单片机 LED 点阵 Proteus仿真

流水灯C语言程序

/************************************************************** 51单片机流水灯C语言源程序 文件说明:流水灯C程序 程序说明:MCU采用AT89S51,外接11.0592M晶振,P2口输出 *************************************************************/ #include //51系列单片机定义文件 #define uchar unsigned char //定义无符号字符 #define uint unsigned int //定义无符号整数 void delay(uint); //声明延时函数 void main(void) { uint i; uchar temp; while(1) { temp=0x01; for(i=0;i<8;i++) //8个流水灯逐个闪动 { P2=~temp; delay(100); //调用延时函数 temp<<=1; } temp=0x80; for(i=0;i<8;i++) //8个流水灯反向逐个闪动 { P2=~temp; delay(100); //调用延时函数 temp>>=1; } temp=0xFE; for(i=0;i<8;i++) //8个流水灯依次全部点亮 { P2=temp; delay(100); //调用延时函数 temp<<=1; } temp=0x7F;

for(i=0;i<8;i++) //8个流水灯依次反向全部点亮 { P2=temp; delay(100); //调用延时函数 temp>>=1; } } } void delay(uint t) //定义延时函数 { register uint bt; for(;t;t--) for(bt=0;bt<255;bt++); }

单片机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个数据,…… 实现图显示效果的程序如下:

单灯闪烁程序

实验一单灯闪烁实验 一、实验要求 发光二极管按照设定的时间间隔闪烁。 二、实验目的 1、了解单片机内部结构和最小系统。 2、掌握单片机与LED的硬件连接。 3、掌握单片机C51语言的程序框架。 4、了解Keil软件和Proteus软件的使用。 5、参考电路图一般最小系统 包括单片机、电源、时钟 电路、复位电路四部分。 根据编写的程序P1.0 口 接发光二极管。

三、实验说明 Proteus仿真时注意与LED连接的电阻阻值,若阻值过大LED 将没有反应。编写程序时,注意for语句于简单延时语句的运用。 四、实验框图 五、实验程序 ORG 0 START: CLR P1.0 LCALL DELAY

SETB P1.0 LCALL DELAY LJMP START DELAY: MOV R5,#20 D1: MOV R6,#20 D2: MOV R7,#248 DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RET END

实验二LED流水灯实验 一、实验要求 编写一段流水灯控制程序,用P1 口作为输出控制端,实现八只发光二极管从左至右循环亮灭。 二、实验目的 1、进一步熟悉keil仿真软件、proteus仿真软件的使用。 2、了解并熟悉单片机I/O口和LED灯的电路结构,学会构建简单的流水灯电路。 3、掌握C51中单片机I/O口的编程方法和使用I/O口进行输入输出的注意事项。。

三、参考电路图复位电路、时钟电路的基础连线。P1端口分 别连接八只发光二极管。 四、实验说明编写程序时注意对延时子程序的使用,以及了解 _crol函数的使用。 unsigned char _crol_(unsigned char c,unsigned char b); 描述: 将字符c循环左移b位。_crol_函数有返回值,返回的是将c循环左移之后 的值。这是c51库自带函数,包含在intrins.h文件中。五、实验框图

51单片机流水灯C语言源代码

#include #include #define uint unsigned int #define uchar unsigned char uchar z=50,e=0x00,f=0xff; uchar code table1[]={ 0x80,0xc0,0xe0,0xf0, 0xf8,0xfc,0xfe,0xff}; uchar code table2[]={ 0x7f,0x3f,0x1f,0x0f, 0x07,0x03,0x01,0x00}; uchar code table3[]={ 0x01,0x03,0x07,0x0f, 0x1f,0x3f,0x7f,0xff}; uchar code table4[]={ 0xe7,0xdb,0xbd,0x7e, 0xbd,0xdb,0xe7,0xff}; uchar code table5[]={ 0xe7,0xc3,0x81,0x00, 0x81,0xc3,0xe7,0xff}; uchar code table6[]={ 0x7e,0x3c,0x18,0x00, 0x18,0x3c,0x7e,0xff}; void delay(uchar); void lsd1(); void lsd2(); void lsd3(); void lsd4(); void lsd5(); void lsd6(); void lsd7(); void lsd8(); void lsd9(); void lsd10(); void lsd11(); void lsd12(); main() { while(1) { lsd1(); lsd2(); lsd3(); lsd4();

点亮P1口的多个LED灯闪烁

点亮P1口的多个LED灯闪烁 功能:点亮P1口的多个LED灯闪烁 该程序是单片机学习中最简单最基础的, 通过程序了解如何控制端口的高低电平 ------------------------------------------------*/ #include //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义 sbit LED0=P1^0;// 用sbit 关键字定义LED到P1.0端口,LED是自己任意定义且容易记忆的符号 sbit LED1=P1^1; sbit LED2=P1^2; sbit LED3=P1^3; sbit LED4=P1^4; sbit LED5=P1^5; sbit LED6=P1^6; sbit LED7=P1^7; void Delay(unsigned int t); //函数声明 /*------------------------------------------------ 主函数 ------------------------------------------------*/ void main (void) { //此方法使用bit位对单个端口赋值 unsigned char i; //定义一个无符号字符型局部变量i 取值范围0~255 while (1) //主循环 { for(i=0;i<10;i++) //加入for循环,表明for循环大括号中 //的程序循环执行10次 { LED0=0; //将P1.0口赋值0,对外输出低电平 LED2=1; LED4=0; Delay(5000); //调用延时程序;更改延时数字可以更改延时长度; //用于改变闪烁频率 LED0=1; //将P1.0口赋值1,对外输出高电平 LED2=0; LED4=1; Delay(5000); } for(i=0;i<10;i++)

基于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左右。

用C语言编写程序实现通过按键使LED灯周期闪烁

用C语言编写程序实现通过按键使LED灯周期闪烁(2010-02-24 21:12:44)标签: 循环闪烁周期led灯按键杂谈 一、设计题目 二、程序功能: 开机复位后,LED0到LED7全部点亮,所有LEDPort持续2S后熄灭,然后等待按键,按0键LED7以 0.8S周期闪烁,按1键LEDPort以1S周期闪烁。 三、总体设计思想 用中断方式实现定时器的定时,然后通过键盘中断程序实现通过对按键的操作来实现相应的周期闪烁。 在我编写的实验程序中我用到了定时器中断和外部中断。程序共分为两个模块,一个为定时器模块,一个为键盘中断程序模块,在主函数中,首先实现所有LEDPort点亮,然后通过中断方式实现定时2S,在定时器num==20时,设定全局变量为标志位flag=1,然后再主函数中设定条件,通过标志位的变化实现所有LEDPort持续2S后熄灭。然后进入循环,等待按键,在按键中断服务程序中使用switch语句实现通过改变num1的值来实现LED7的闪烁周期。设定标志位b=0,在主函数中使用if语句通过判断b的值来改变LED7的亮灭情况,同时相应的b值会取反。 四、程序具体实现 实验要求开机复位后,LED0到LED7全部点亮2S后熄灭。在主函数中使用LEDPort=0x00;这条语句实现所有灯都亮,使用中断方式实现定时器定时2S,因为实验要求20ms溢出,所以设定num=100,在定时器中断服务程序中使用if语句判断条件,当num加到100,也就是说2S时间到时,执行flag=1;语句(先设定全局变量flag=0)。然后在主函数中使用while语句规定只有在flag=0时才执行所有LEDPort点亮的操作。2S时间到后,所有灯熄灭。然后进入while循环,

单片机c语言编程控制流水灯

说了这么多了,相信你也看了很多资料了,手头应该也有必备的工具了吧!(不要忘了上面讲过几个条件的哦)。那个单片机究竟有什么 功能和作用呢?先不要着急!接下来让我们点亮一个LED(搞电子的应该知道LED是什么吧^_^) 我们在单片机最小系统上接个LED,看我们能否点亮它!对了,上面也有好几次提到过单片机最小系统了,所谓单片机最小系统就是在单片机 上接上最少的外围电路元件让单片机工作。一般只须连接晶体、VCC、GND、RST即可,一般情况下,AT89C51的31脚须接高电平。 #include //头文件定义。或用#include其具体的区别在于:后者定义了更多的地址空间。 //在Keil安装文件夹中,找到相应的文件,比较一下便知! sbit P1_0 = P1 ^ 0; //定义管脚 void main (void) { while(1) { P1_0 = 0;//低电平有效,如果把LED反过来接那么就是高电平有效 } } 就那么简单,我们就把接在单片机P1_0上的LED点亮了,当然LED是低电平,才能点亮。因为我们把LED的正通过电阻接至VCC。 P1_0 = 0; 类似与C语言中的赋值语句,即把0 赋给单片机的P1_0引脚,让它输出相应的电平。那么这样就能达到了我们预先的要求了。 while(1)语句只是让单片机工作在死循环状态,即一直输出低电平。如果我们要试着点亮其他的LED,也类似上述语句。这里就不再讲了。 点亮了几个LED后,是不是让我们联想到了繁华的街区上流动的彩灯。我们是不是也可以让几个LED依次按顺序亮呢?答案是肯定的!其 实显示的原理很简单,就是让一个LED灭后,另一个立即亮,依次轮流下去。假设我们有8个LED分别接在P1口的8个引脚上。硬件连接,在 P1_1--P1_7上再接7个LED即可。例程如下: #include sbit P1_0 = P1 ^ 0; sbit P1_1 = P1 ^ 1; sbit P1_2 = P1 ^ 2; sbit P1_3 = P1 ^ 3; sbit P1_4 = P1 ^ 4; sbit P1_5 = P1 ^ 5; sbit P1_6 = P1 ^ 6; sbit P1_7 = P1 ^ 7; void Delay(unsigned char a) { unsigned char i; while( --a != 0) {

基于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左右。

8个LED灯循环闪烁课程设计

摘要 “微机原理与接口技术”是高等学校电子信息工程、通信工程、自动化、电气工程及其自动化等工科电气与电子信息类各专业的核心课程。该课程以INTER 8086微处理器和IBM PC系列微机为主要对象,系统。深入地介绍了微型计算机的基本组成、工作原理、接口技术及应用,把微机系统开发过程中用到的硬件技术和软件技术有机地结合起来。 本文详述了8个LED灯循环闪烁的课程设计。设置8个LED灯,首先是1、3、5、7号LED依次亮1秒钟,当7号LED亮后,这四个灯同时闪烁5下。然后是2、4、6、8号LED 依次亮1秒钟,当8号LED亮后,这四个灯同时闪烁5下。 本课程设计,由于自身能力和学习水平有限,可能存在一定的错误和不当之处,敬请批评和指正。 一、设计目的 1.巩固和加深课堂所学知识;熟悉各种指令的应用及条件; 2.学习掌握一般的软硬件的设计方法和查阅、运用资料的能力; 3.进一步了解8255A各引脚的功能, 8255A和系统总线之间的连接, 8255A和CPU 之间的数据交换,以及8255A的内部逻辑结构。深入掌握8255A显示电路的基本功能及编程方法,8255等芯片的工作方式、作用。 4.培养和锻炼在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力。通过课程设计,要求熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,得到微机开发应用方面的初步训练。同时并了解综合问题的程序设计掌握实时处理程序的编制和调试方法,掌握一般的设计步骤和流程,使我们以后搞设计时逻辑更加清晰。 二、设计内容 根据所学内容和对8255A的应用,整个系统硬件采用8086微处理器和8255A可编程并行接口芯片和8个LED等连成硬件电路。设计8个LED灯,实现如下要求:首先是1、3、5、7号LED依次亮1秒钟,当7号LED亮后,这四个灯同时闪烁5下。然后是2、4、6、8号LED依次亮1秒钟,当8号LED亮后,这四个灯同时闪烁5下。 三、设计要求 使用8255A可编程接口芯片实现8个LED灯以十种不同的方式显示。画出硬件电路图,能在PROTEUS中模拟实现。

基于单片机的LED点阵显示课程设计

1 LED电子显示屏原理 1.1 L ED电子显示屏概述 LED电子显示屏(Light Emitting Diode Panel)是由几百--几十万个半导体发光二极管构成的像素点,按矩阵均匀排列组成。利用不同的半导体材料可以制造不同色彩的LED像素点。目前应用最广的是红色、绿色、黄色。而蓝色和纯绿色LED的开发已经达到了实用阶段。 LED显示屏是一种通过控制半导体发光二极管的亮度的方式,来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。 LED显示屏分为图文显示屏和条幅显示屏,均由LED矩阵块组成。图文显示屏可与计算机同步显示汉字、英文文本和图形;而条幅显示屏则适用于小容量的字符信息显示。LED 显示屏因为其像素单元是主动发光的,具有亮度高,视角广、工作电压低、功耗小、寿命长、耐冲击和性能稳定等优点。因而被广泛应用于车站、码头、机场、商场、医院、宾馆、 GAGGAGAGGAFFFFAFAF

银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。 LED显示屏的发展前景极为广阔,目前正朝着更高亮度、更高气候耐受性、更高的发光密度、更高的发光均匀性,可靠性、全色化方向发展。 1.2 LED显示屏动态显示原理 LED点阵显示系统中各模块的显示方式:有静态和动态显示两种。静态显示原理简单、控制方便,但硬件接线复杂,在实际应用中一般采用动态显示方式,动态显示采用扫描的方式工作,由峰值较大的窄脉冲电压驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的列数据信号,反复循环以上操作,就可显示各种图形或文字信息。 点阵式LED汉字广告屏绝大部分是采用动态扫描显示方式,这种显示方式巧妙地利用了人眼的视觉暂留特性。将 GAGGAGAGGAFFFFAFAF

基于51单片机心形流水灯C语言源程序

基于51单片机心形流水灯C语言源程序

#include unsigned int x,y; void delayms(unsigned int z) //延时 { unsigned int i,j; for(i=z;i>0;i--) for(j=150;j>0;j--); } void On_all() //开启所有灯 { P0=0x00; P1=0x00; P2=0x00; P3=0x00; } void Off_all()//关闭所有灯 { P0=0xff; P1=0xff; P2=0xff; P3=0xff; } void ls()//正向流水灯 { P0=0x00; delayms(400); P2=0x00; delayms(400); P3=0x00; delayms(400); P1=0x00; delayms(400); P0=0x01; delayms(50);

P0=0x04; delayms(50); P0=0x08; delayms(50); P0=0x10; delayms(50); P0=0x20; delayms(50); P0=0x40; delayms(50); P0=0x80; delayms(50); P0=0x00; P2=0x01; delayms(50); P2=0x02; delayms(50); P2=0x04; delayms(50); P2=0x08; delayms(50); P2=0x10; delayms(50); P2=0x20; delayms(50); P2=0x40; delayms(50); P2=0x80; delayms(50); P2=0x00; P3=0x80; delayms(50); P3=0x40; delayms(50); P3=0x20; delayms(50); P3=0x10; delayms(50); P3=0x08; delayms(50); P3=0x04; delayms(50);

基于单片机的LED显示系统设计

-14- 引言 随着社会的发展,LED显示户外广告是 目前一种重要的广告形式。LED显示具有功耗 低、寿命长、清晰度高的特点,随着广告内容 的多样化,对LED显示的要求也越来越高。数 码管显示是LED显示的最基本功能,但是其只 能通过各个段位来实现10位数字和少量字母的 显示,一般适用于纯数字显示领域。LED显示 屏是由多个发光二极管组成显示屏幕,通过控 制二极管的亮灭来对内容进行显示,能够实现 对图形、文字、视频等多种信息的显示。 一、单片机的选择 单片机又被称作单片微控制器,它是系统 控制和设计的核心。单片机的选择非常重要, 选择合适的单片机不仅能够提高所设计系统的 性能、简化外围电路和程序的设计,而且能 够降低设计的成本,使所设计的系统更具有实 际意义。本文采用功耗低、I/O口资源丰富、 价格便宜的AVR系列单片机中的ATmega16作为 显示系统控制的核心。针对LED显示系统的特 点,本文选择ATmega16单片机的原因主要有: (1)性能高,功耗低。ATmega16的高速数 据吞吐率很好的解决了功耗和处理速度之间的 矛盾,对于太阳能光伏系统来说,因为产生的 电能非常宝贵,因此功耗小的控制器能为系统 节省更多的能源。 (2)I/O口资源丰富,且功能多样。ATmega16 具有三十二个I/O口,在这些I/O口中,PA口具 有10位精度的ADC,可对单端输入电压进行采 集。本系统需要对多路模拟信号进行采集,利 用ATmega16可以方便的进行数据采集,不必再 进行另外的电路设计,简化了电路。 (3)能够通过对相关定时器的简便的设置 实现PWM波信号的产生和调节。ATmega16有两 个8位和一个16位的定时计数器,可以通过简 单的指令产生频率、相位和占空比可调的PWM 信号,且具有多种PWM信号模式,能够满足不 同的需求。 (4)与Protues硬件仿真软件具有很好的 兼容性。通过Code Vision AVR编译的应用在 Protues中的程序,能够通过编译器直接下载 的单片机中使用,方便了系统的调试。 图1 8×8点阵显示屏内部结构图 二、LED显示原理 LED数码管和点阵显示屏显示的基本原理 都是通过控制发光二极管的亮灭,来形成不同 的字形或者图案。对于点阵显示屏来说,因为 其彩色显示的需要,有时候需要对发光二极管 的颜色进行控制。点阵显示屏的发光二极管数 基于单片机的LED显示系统设计 中山市技师学院 李 威 【摘要】LED显示作为一种重要的数字化显示方式,从起初的纯数字显示功能发展到目前的图像、视频等多种媒体显示功能,给人们带来了完美的视觉享受。本文在对单片机选型的基础上,阐述了LED显示的原理,并且针对LED点阵显示屏,设计了以ATmega16单片机为核心的LED显示控制系统。该系统主要的优点是功耗小、成本低且工作速率快,非常适合室外多媒体和产业化的要求。 【关键词】LED显示;ATmega16;单片机 量较多,因此显示原理也比较复杂,如图1所 示是共阳极LED显示屏的内部结构图。点阵显 示屏一般具有多个LED发光二极管,不能直接 通过单片机的I/O口来控制其亮灭,一般都采 用动态扫描的方法,对点阵进行逐行或者逐列 的控制。对于共阳型的点阵来说,根据要显示 的字形,设置每一行和每一列的数据,从第一 行第一列开始,先对应第一行二极管的亮灭送 出列数据并锁存,然后选通第一行,送行数 据,延迟一段时间后送行数据00H;然后选通第 二行,采取相同的方法来控制二极管亮灭,直 至8行扫描结束,然后重复扫描。因为扫描的 速度非常快,由于人眼的余辉效应,就可以再 显示屏上看到稳定显示的字形。 三、系统硬件电路设计 本系统采用ATmega16单片机作为显示控 制的核心,采用8×8点阵单色点阵显示屏来进 行显示,同时系统还包括行驱动器、列驱动器 以及相关电源电路。系统的整体框图如图2所 图2 系统整体设计框图 图3 晶振电路图 1.ATmega16单片机最小系统设计 单独的一个单片机是不能发挥其控制作用 的,只有通过相关辅助电路的设计,使其构成 一个最小系统,才能发挥其强大的微控制器功 能。 (1)晶振电路的设计 ATmega16单片机内部具有RC振荡电路,可 实现四种振荡频率。但是内置振荡电路产生的 振荡信号不是很准确,因此在某些对振荡频率 要求比较高的情况下,例如定时器准确定时等 情况,一般都采用外部振荡电路为单片机提供 振荡频率。一般在外部晶振电路设计中,都要 求接22pF左右的电容。其电路图如图3所示。 (2)复位电路设计 对于ATmega16单片机来说,其内部已经设 置了上电复位,通过对相应熔丝位的控制,可 以实现对复位时间长短的控制,因此单片机外 部的复位电路设计就简化了许多,具体做法是 在外部接一个上拉电阻R 到VCC,本文选择10K 的上拉电阻。 本文设计的复位电路图如图4,在设计的 过程中,为了增加电路的可靠性,一般会增加 一个滤波电容来实现消除杂波和干扰的功能, 本文采用增加一个0.1uF的电容。电路中的二 极管D3(1N4148)的主要有两个主要功能:功能 一是当系统突然断电后,将上拉电阻短路,同 时使滤波电容C 实现快速放电,当系统再次通 电时,保证复位的有效性;功能二是系统在复 位时将其输入电压限制在VCC±0.5V之间。本 课题采用按键方式进行复位,当单片机正常工 作时,按下复位开关,由于电路的设计复位脚 输入相应的低电平信号,对系统进行复位。 图4 最小系统复位电路设计 (3)电源电路设计 AVR单片机最常用的是5V与3.3V两种电 压。本线路以开关切换两种电压,并且以双 色二极管指示(5V时为绿灯,3.3V时为红灯)。 二极管D1防止用户插错电源极性。D2可以允许 用户将电压倒灌入此电路内,不会损坏1117- ADJ,系统电源电路如图5所示。 图5 电源电路设计图 1117-ADJ的特性为1脚会有50uA的电流输 出,1-2脚会有1.25V电压。利用这个特点,可 以计算出要求得出输出电压: 当SW开关打向左边时,R6上的电流为 1.25/0.33=3.78ma。R8上的电流为1117-ADJ1脚 电流加上R6上的电流,即0.05+3.78=3.83ma。 可以计算得R8上的电压为3.84V。于是得出 VCC=1.25+3.83=5.08V。误差在2%以内。 当SW开关打向右边时,R6上的电流为 1.25/0.62= 2.02ma。R8上的电流为1117-ADJ1脚 电流加上R6上的电流,即0.05+2.02=2.07ma。 可以计算得R8上的电压为2.07V。于是得出 VCC=1.25+2.07=3.32V。误差在1%以内。

单片机控制LED灯闪烁原理

一、电路图 二、原理 对于较长时间的定时,应采用复合定时的方法。这里使T/C0工作在定时器方式1,定时100ms,定时时间到后P1.0反相,即P1.0端输出周期200ms的方波脉冲。另设T/C1共作的计数器方式2,对T1输出的脉冲计数,当计数满5次时,定时1时间到,将P1.7端反相,改变灯的状态! 三、源程序 #include /*头文件的定义*/ sbit P1_0=P1^0; /* 定义p1.0端口*/ sbit P1_7=P1^7; timer0() interrupt 1 using 1 { /* 定时器0的中断服务程序*/ P1_0=!P1_0; /* P1.0取反*/ TH0=(65536-50000)/256; /* 赋高八位初值*/ TL0=(65536-50000)%256; /* 赋低八位初值*/ } timer1() interrupt 3 using 2 { /*定时器1中断服务程序*/ P1_7=!P1_7; /*p1.7取反*/ } main() { /*主函数*/ P1_7=0; /* 置灯初始灭*/ P1_0=1; /* 保证第一次反相便开始计数*/ TMOD=0x61; /* 定时器定时和计数*/ TH0=(65536-50000)/256; /* 赋初值*/ TL0=(65536-50000)%256; /* */ TH1=256-5; TL1=256-5; IP=0x08; /* 设置寄存器优先级*/ EA=1; /* CPU开中断*/ ET0=1; /* 开T/C0中断*/ ET1=1; /* 开T/C1中断*/ TR0=1; /* 启动T/C0 */ TR1=1; /* 启动T/C1 */ for(;;)/* */ { } } 四、Keil调试程序过程与结果: 1.新建一个项目

单片机流水灯C语言源程序

单片机流水灯C语言源程序 标题:51单片机流水灯C语言源程序2008-12-06 08:43:05 ************************************************************** 文件名称:flash_led.c 文件说明:流水灯C程序 编写日期:2006年10月5日 程序说明:MCU采用AT89S51,外接12M晶振,P1口输出 *************************************************************/ #include //51系列单片机定义文件 #define uchar unsigned char //定义无符号字符 #define uint unsigned int //定义无符号整数 void delay(uint); //声明延时函数 void main(void) { uint i; uchar temp; while(1) { temp=0x01; for(i=0;i<8;i++) //8个流水灯逐个闪动 { P1=~temp; delay(100); //调用延时函数 temp<<=1; } temp=0x80; for(i=0;i<8;i++) //8个流水灯反向逐个闪动 { P1=~temp; delay(100); //调用延时函数 temp>>=1; } temp=0xFE; for(i=0;i<8;i++) //8个流水灯依次全部点亮 { P1=temp; delay(100); //调用延时函数 temp<<=1; }

单片机的LED显示屏控制电路设计方案

基于单片机的LED显示屏控制电路设计 时间:2018-10-12 07:50:57 来源:现代电子技术作者:李秀忠 LED显示屏广泛应用于工矿企业、学校、商场、店铺、公共场所等进行图文显示,广告宣传,信息发布。本文设计一种由4个16×16点阵LED模块组成的显示屏,由单片机作控制器,平滑移动显示任意多个文字或图形符号,本电路可级联扩展实现由任意多个16×16点阵LED模块组成的显示屏。 1 电路设计 控制电路由AT89C51单片机作控制器,显示屏由4个16×16点阵LED模块组成,每个16×16点阵LED模块由4个8×8点阵LED模块组成,用户可根据需要扩展增加任意多个16×16点阵LED模块。8×8点阵LED模块结构如图1所示,共8行8列,每个发光二极管放置在行线和列线的交叉点上,共64个发光二极管。当某一列为高电平,某一行为低电平时,则对应的发光二极管点亮。 单片机P3.0引脚接串入并出移位寄存器74LS164(U10>的串行数据输入端,8个 74LS164(U10~U17>级联,P3.1引脚接8个74LSl64的时钟脉冲输入端;8个74LS164分别接8个锁存器74LS373(U18~U25>,8个锁存器的数据输出端接4个16×16点阵LED模块的行线,每个16×16点阵LED模块的行线是独立控制的。P1.O接8个 74LS164(U2~U9>的时钟脉冲输入端,P1.1接U2、U4、U6、U8的串行数据输入端,每两个74LSl64(U2和U3,U4和U5,U6和U7,U8和U9>级联;U2~U9的并行数据输出端接4个16×16点阵LED模块的64条列线。P1.2接所有74LSl64的清0端, P1.3接锁存器的锁存控制端。设计完成的电路如图2所示。

C51单片机(32路流水灯C语言程序)

C51单片机(32路流水灯C语言程序) #include void delay(int t){ //时间延迟子函数 unsigned int i,j; for(j=0;j<30;j++) for(i=0;i

基于51单片机的LED数码管动态显示

基于51单片机的LED数码管动态显示 LED数码管动态显示就是一位一位地轮流点亮各位数码管,对于每一位LED数码管来说,每隔一段时间点亮一次,利用人眼的“视觉暂留"效应,采用循环扫描的方式,分时轮流选通各数码管的公共端,使数码管轮流导通显示。当扫描速度达到一定程度时,人眼就分辨不出来了。尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,认为各数码管是同时发光的。若数码管的位数不大于8位时,只需两个8位I/O口。 1 硬件设计 利用51单片机的P0口输出段码,P2口输出位码,其电路原理图如下所示。 在桌面上双击图标,打开ISIS 7 Professional窗口(本人使用的是v7.4 SP3中文版)。单击菜单命令“文件”→“新建设计”,选择DEFAULT模板,保存文件名为“DT.DSN”。在器件选择按钮中单击

“P”按钮,或执行菜单命令“库”→“拾取元件/符号”,添加如下表所示的元件。 51单片机AT89C51 一片 晶体CRYSTAL 12MHz 一只 瓷片电容CAP 22pF 二只 电解电容CAP-ELEC 10uF 一只 电阻RES 10K 一只 电阻RES 4.7K 四只 双列电阻网络Rx8 300R(Ω) 一只 四位七段数码管7SEG-MPX4-CA 一只 三极管PNP 四只 若用Proteus软件进行仿真,则上图中的晶振和复位电路以及U1的31脚,都可以不画,它们都是默认的。 在ISIS原理图编辑窗口中放置元件,再单击工具箱中元件终端图标,在对象选择器中单击POWER 和GROUND放置电源和地。放置好元件后,布好线。左键双击各元件,设置相应元件参数,完成电路图的设计。 2 软件设计 LED数码管动态显示是一位一位地轮流点亮各位数码管的,因此要考虑每一位点亮的保持时间和间隔时间。保持时间太短,则发光太弱而人眼无法看清;时间太长,则间隔时间也将太长(假设N位,则间隔时间=保持时间X(N-1)),使人眼看到的数字闪烁。在程序中要合理的选择合适的保持时间和间隔时间。而循环次数则正比于显示的变化速度。 LED数码管动态显示的流程如下所示。

相关主题
文本预览
相关文档 最新文档