单片机设计1616LED显示器方案.docx

上传人:b****4 文档编号:5505127 上传时间:2022-12-17 格式:DOCX 页数:11 大小:182.87KB
下载 相关 举报
单片机设计1616LED显示器方案.docx_第1页
第1页 / 共11页
单片机设计1616LED显示器方案.docx_第2页
第2页 / 共11页
单片机设计1616LED显示器方案.docx_第3页
第3页 / 共11页
单片机设计1616LED显示器方案.docx_第4页
第4页 / 共11页
单片机设计1616LED显示器方案.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

单片机设计1616LED显示器方案.docx

《单片机设计1616LED显示器方案.docx》由会员分享,可在线阅读,更多相关《单片机设计1616LED显示器方案.docx(11页珍藏版)》请在冰豆网上搜索。

单片机设计1616LED显示器方案.docx

单片机设计1616LED显示器方案

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

从理论上说,不论显示图形还是文字,只要控制与组成这些图形或文字的各个点所在位置相对应的LED器件发光,就可以得到我们想要的显示结果,这种同时控制各个发光点亮灭的方法称为静态驱动显示方式。

16×16的点阵共有256个发光二极管,显然单片机没有这么多端口,如果我们采用锁存器来扩展端口,按8位的锁存器来计算,16×16的点阵需要256/8=32个锁存器。

这个数字很庞大,因为我们仅仅是16×16的点阵,在实际应用中的显示屏往往要大的多,这样在锁存器上花的成本将是一个很庞大的数字。

因此在实际应用中的显示屏几乎都不采用这种设计,而采用另一种称为动态扫描的显示方法。

动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如16行)的同名列共用一套列驱动器。

具体就16×16的点阵来说,我们把所有同一行的发光管的阳极连在一起,把所有同一列的发光管的阴极连在一起(共阳的接法),先送出对应第一行发光管亮灭的数据并锁存,然后选通第一行使其燃亮一定的时间,然后熄灭;再送出第二行的数据并锁存,然后选通第二行使其燃亮相同的时间,然后熄灭;……第十六行之后又重新燃亮第一行,这样反复轮回。

当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,我们就能看到显示屏上稳定的图形了。

=

采用扫描方式进行显示时,每行有一个行驱动器,各行的同名列共用一个列驱动器。

显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排放。

显示时要把一行中各列的数据都传送到相应的列驱动器上去,这就存在一个显示数据传输的问题。

从控制电路到列驱动器的数据传输可以采用并行方式或串行方式。

显然,采用并行方式时,从控制电路到列驱动器的线路数量大,相应的硬件数目多。

当列数很多时,并行传输的方案是不可取的。

采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面无疑是十分经济的。

但是,串行传输过程较长,数据按顺序一位一位地输出给列驱动器,只有当一行的各列数据都已传输到位之后,这一行的各列才能并行地进行显示。

这样,对于一行的显示过程就可以分解成列数据准备(传输)和列数据显示两个部分。

对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下,留给行显示的时间就太少了,以至影响到LED的亮度。

解决串行传输中列数据准备和列数据显示的时间矛盾问题,可以采用重叠处理的方法。

即在显示本行各列数据的同时,传送下一行的列数据。

为了达到重叠处理的目的,列数据的显示就需要具有锁存功能。

经过上述分析,可以归纳出列驱动器电路应具备的主要功能。

对于列数据准备来说,它应能实现串入并出的移位功能;对于列数据显示来说,应具有并行锁存的功能。

这样,本行已准备好的数据打入并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不会影响本行的显示。

图7.1为显示屏电路实现的结构框图。

列驱动电路

列驱动电路由集成电路74HC595构成,它具有一个8位串入并出的移位寄存器和一个8位输出锁存器的结构,而且移位寄存器和输出锁存器的控制是各自独立的,可以实现在显示本行各列数据的同时,传送下一行的列数据,即达到重叠处理的目的。

行驱动电路

单片机P1口低4位输出的行号经4/16线译码器74LS154译码后生成16条行选通信号线,再经过驱动器驱动对应的行线。

一条行线上要带动16列的LED进行显示,按每一LED器件20mA电流计算,16个LED同时发光时,需要320mA电流,选用三极管8550作为驱动管可满足要求。

原理图:

74HC595是硅结构的CMOS器件,兼容低电压TTL电路,遵守JEDEC标准。

74HC595是具有8位移位寄存器和一个存储器,三态输出功能。

移位寄存器和存储器是分别的时钟。

数据在SHcp(移位寄存器时钟输入)的上升沿输入到移位寄存器中,在STcp(存储器时钟输入)的上升沿输入到存储寄存器中去。

如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。

移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7’),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。

8位串行输入/输出或者并行输出移位寄存器,具有高阻关断状态。

三态。

将串行输入的8位数字,转变为并行输出的8位数字,例如控制一个8位数码管,将不会有闪烁。

编辑本段特点

8位串行输入/8位串行或并行输出存储状态寄存器,三种状态

输出寄存器(三态输出:

就是具有高电平、低电平和高阻抗三种输出状态的门电路。

)可以直接清除100MHz的移位频率

编辑本段输出能力

并行输出,总线驱动;串行输出;标准中等规模集成电路

595移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7’),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。

参考数据

Cpd决定动态的能耗,

Pd=Cpd×VCC×f1+∑(CL×VCC^2×f0)

F1=输入频率,CL=输出电容f0=输出频率(MHz)Vcc=电源电压

编辑本段引脚说明

符号引脚描述

Q0…Q78位并行数据输出,其中Q0为第15脚

GND第8脚地

Q7’第9脚串行数据输出

MR第10脚主复位(低电平)

SHCP第11脚移位寄存器时钟输入

STCP第12脚存储寄存器时钟输入

OE第13脚输出有效(低电平)

DS第14脚串行数据输入

VCC第16脚电源

编辑本段功能表

输入

输出

功能

SHCP

STCP

OE

MR

DS

Q7’

Qn

×

×

L

×

L

NC

MR为低电平时仅仅影响移位寄存器

×

L

L

×

L

L

空移位寄存器到输出寄存器

×

×

H

L

×

L

Z

清空移位寄存器,并行输出为高阻状态

×

L

H

H

Q6

NC

逻辑高电平移入移位寄存器状态0,包含所有的移位寄存器状态移入

×

L

H

×

NC

Qn’

移位寄存器的内容到达保持寄存器并从并口输出

L

H

×

Q6’

Qn’

移位寄存器内容移入,先前的移位寄存器的内容到达保持寄存器并出

编辑本段注释

H=高电平状态

L=低电平状态

↑=上升沿

↓=下降沿

Z=高阻

NC=无变化

×=无效

当MR为高电平,OE为低电平时,数据在SHCP上升沿进入移位寄存器,在STCP上升沿输出到并行端口。

真值表

编辑本段程序样例

DS接MOSI,OE/GND接GND,SH_CP接SCLK,ST_CP接使能信号BIT0@P1,MR/VCC接POWER,如果不需要16位,改US16B,不使用H寄存器即可,还有SPI工作期间可以进入低功耗,也可以执行指令.

#include

voidmain(void)

{

WDTCTL=WDTPW+WDTHOLD;

P1DIR|=BIT0+BIT1;

P1OUT&=~BIT0;

USICTL0|=USIPE6+USIPE5+USIMST+USIOE;

USICTL1|=USIIE;

USICKCTL=USIDIV_7+USISSEL_2;

USICTL0&=~USISWRST;

while

(1)

{

P1OUT|=BIT0;

USISRH=0xAA;

USISRL=0xAA;

USICNT=0x10+USI16B;//16位数,级联可用.[1]

while((USICTL1&USIIFG)!

=0x01){//此处可以干别的

//这里写入与SPI无关的代码,共8*16=128条单周期指令.

}

USICTL1&=~USIIFG;

P1OUT&=~BIT0;

}

}

74HC595是一款漏极开路输出的CMOS移位寄存器,输出端口为可控的三态输出端,亦能串行输出控制下一级级联芯片。

特点:

􀁺高速移位时钟频率Fmax>25MHz

􀁺标准串行(SPI)接口

􀁺CMOS串行输出,可用于多个设备的级联

􀁺低功耗:

TA=25℃时,Icc=4μA(MAX)

引脚功能表:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1