c语言编程广告牌,基于51单片机的电子广告牌的设计.doc

基于51单片机的电子广告牌的设计

南通大学本科学位论文

户外电子广告牌设计

目 录

图2-2 复位电路

2.2.3 电源电路

确保系统能够准确的运行,电源模块的设计是一个非常重要的部分,因为它的精度对整个系统的精度都有着重要的影响。稳压电路的作用是当电网电压波动、负载和温度变化时,维持输出直流电压稳定。

众所周知,我们所使用的直流稳压源包括电源变压器,整流,滤波和稳压电路四部分。在经过这四部分之后可以得到比较平滑稳定的直流电源,但是通常这样得到的电压还会随电网电压波动(一般有±10%左右的波动)、负载和温度的变化而变化,并不是十分稳定,不能够保证系统的准确运行,故需加稳压电路。

单片机AT89C52的单片机工作电压为5V,电源电路如下:

图2-3 电源电路

2.2.4 驱动电路

每个汉字需要4个8*8的LED点阵,要想实现8行扫描驱动,上下2行必须都有1个74LS138接到LED点阵模块上,而每个汉字是按照16*16取模,所以需要4个74LS138来驱动一个汉字。在单片机系统中,如果并行口的I/O资源不够,而串行口又没有其他的作用,那么可以用74LS138来扩展并行I/O,节约单片机资源。

74LS138 为3 线-8 线译码器,其工作原理如下: ?

(1)当一个选通端(E1)为高电平,另两个选通端(E2)和/(E3))为低电平时,可将地址端(A0、A1、A2)的二进制编码在Y0至Y7对应的输出端以低电平译出。比如:A0A1A2=110时,则Y6输出端输出低电平信号。

(2)利用 E1、E2和E3可级联扩展成 24 线译码器;若外接一个反相器还可级联扩展成 32 线译码器。

(3)若将选通端中的一个作为数据输入端时,74LS138还可作数据分配器。

关于74LS138的使用,74ls138是3-8线译码器,当E1=1,E2,E3=0时,该译码器被选中,此时如果数据输入端ABC输入000-111八个数据,输出端Y0-Y7将依次输出0。所以,我们可以依次选中四个译码器,向数据输入端写入数据来直接控制某个点阵的显示。

图2-4 LED点阵驱动电路

2.2.5 8x8 LED点阵

8x8 LED点阵,即横竖都有8个发光二极管。相关示意图如下:

图2-5 8x8 LED点阵内部结构图

观察二极管正负极,我们可以很容易发现,如果赋予P0=0xff;P2=0x00;那么所有的发光二极管将被点亮,从而点阵就可以实现全亮。类似的,如果需要实现某一列或者某一行全亮,也可以进行类似的赋值。比如,我们要实现第一列全亮,第一列全亮就要求P20=0;其他为1,则代码为P0=0xff;P2=0xfe;

但是如果需要让点阵显示一个字符的话,上述赋值则不能达到目的,这里,我们需要先知道扫描的概念。

所谓扫描,就是每隔一个时间段,发送一组代码,当然,这个时间段要足够小。由于人眼有视觉暂留效应,人的肉眼无法分辨,因此,经过多次扫描,点阵上就能稳定的显示一个字符。那么程序上如何实现扫描呢?

扫描包括行扫描和列扫描,我们可以任意使用其中一种。假设我们使用行扫描,就是首先令P07为1,即P00=0x80;然后观察在这一行上有哪些二极管被点亮,点亮的那一列所对应的端口就为0,不亮的就为1,记下此时P2数值,短暂延时过后,令P06=1,即P00=0x40;然后观察在这一行上有哪些二极管被点亮,点亮的那一列就为0,不亮的就为1,记下此时P2数值,同理如此重复下去,直到P00=0x01;那么所有的P0和P2的数值就构成了两个长度为8的数组,我们可以在程序中每个一段时间按顺序发送一组代码,只要时间段足够短,那么我们就可以在点阵上看到稳定的字符了。

以上所述即是8x8LED阵列的基本原理。

上面已经详细介绍了8x8的LED点阵单色共阳模块的内部结构图,其单点工作电压为1.8 V,正向电流为8~10 mA。当某一行线为高电平而某一列线为低时,其行列交叉的点就被点亮;而当其某一列线为高时,其行列交叉的点为暗;当某一行线为低电平时,无论列线如何,对应这一行的点全部为暗。

所谓16*16点阵,就是行列各位16个长度的点阵,现实中我们可以通过4个8*8点阵进行拼凑来实现一个16*16的点阵。如下图所示。用四个8x8点阵显示可构成16x16点阵显示器的连接方法如下图3所示。图中,将(A)和(B)的8列、(C)和(D)的8列分别对应相连,同时将(A)和(C)的8行、 (B)和(D)的8行分别对应相连。即可形成一个16行(每一行有16个LED)、16列(每一列也有16个LED)的16x16点阵显示器,可将这256个点称为一页,这样,显示字符时,只要对一页中对应的亮灭进

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值