当前位置:首页 > 单片机 > 单片机
[导读]点阵 LED 显示屏作为一种现代电子媒体,具有灵活的显示面积(可任意分割和拼装)、高亮度、长寿命、数字化、实时性等特点,应用非常广泛。

点阵 LED 显示屏作为一种现代电子媒体,具有灵活的显示面积(可任意分割和拼装)、高亮度、长寿命、数字化、实时性等特点,应用非常广泛。

前边学了 LED 小灯和 LED 数码管后,学 LED 点阵就要轻松得多了。一个数码管是 8 个LED 组成,同理,一个 8*8 的点阵就是由 64 个 LED 小灯组成。图 7-1 就是一个点阵 LED 最小单元,即一个 8*8 的点阵 LED,图 7-2 是它的内部结构原理图。

图 7-1 8*8LED 点阵外观

图 7-2 8*8 点阵结构原理图

从图 7-2 上可以看出,其实点阵 LED 点亮原理还是很简单的。在图中大方框外侧的就是点阵 LED 的引脚号,左侧的 8 个引脚是接的内部 LED 的阳极,上侧的 8 个引脚接的是内部LED 的阴极。那么如果我们把 9 脚置成高电平、13 脚置成低电平的话,左上角的那个 LED小灯就会亮了。下面我们就用程序来实现一下,特别注意,控制点阵左侧引脚的 74HC138是原理图上的 U4,8 个引脚自上而下依次由 U4 的 Y0~Y7 输出来控制。

#include

sbit LED = P0^0;

sbit ADDR0 = P1^0;

sbit ADDR1 = P1^1;

sbit ADDR2 = P1^2;

sbit ADDR3 = P1^3;

sbit ENLED = P1^4;

void main(){

ENLED = 0; //U3、U4 两片 74HC138 总使能

ADDR3 = 0; //使能 U4 使之正常输出

ADDR2 = 0; //经 U4 的 Y0 输出开启三极管 Q10

ADDR1 = 0;

ADDR0 = 0;

LED = 0; //向 P0.0 写入 0 来点亮左上角的一个点

while(1); //程序停止在这里

}

那么同样的方法,通过对 P0 的整体赋值我们可以一次点亮点阵的一行,那么这次我们用程序来点亮点阵的第二行,对应的就需要编号 U4 的 74HC138 在其 Y1 引脚输出低电平了。

#include

sbit ADDR0 = P1^0;

sbit ADDR1 = P1^1;

sbit ADDR2 = P1^2;

sbit ADDR3 = P1^3;

sbit ENLED = P1^4;

void main(){

ENLED = 0; //U3、U4 两片 74HC138 总使能

ADDR3 = 0; //使能 U4 使之正常输出

ADDR2 = 0; //经 U4 的 Y1 输出开启三极管 Q11

ADDR1 = 0;

ADDR0 = 1;

P0 = 0x00; //向 P0 写入 0 来点亮一行

while(1); //程序停止在这里

}

从这里我们可以逐步发现点阵的控制原理了。我们前面讲了一个数码管就是 8 个 LED 小灯,一个点阵是 64 个 LED 小灯。同样的道理,我们还可以把一个点阵理解成是 8 个数码管。经过前面的学习已经掌握了 6 个数码管同时显示的方法,那 8 个数码管也应该轻轻松松了。下面我们就利用定时器中断和数码管动态显示的原理来把这个点阵全部点亮。

#include

sbit ADDR0 = P1^0;

sbit ADDR1 = P1^1;

sbit ADDR2 = P1^2;

sbit ADDR3 = P1^3;

sbit ENLED = P1^4;

void main(){

EA = 1; //使能总中断

ENLED = 0; //使能 U4,选择 LED 点阵

ADDR3 = 0; //因为需要动态改变 ADDR0-2 的值,所以不需要再初始化了

TMOD = 0x01; //设置 T0 为模式 1

TH0 = 0xFC; //为 T0 赋初值 0xFC67,定时 1ms

TL0 = 0x67;

ET0 = 1; //使能 T0 中断

TR0 = 1; //启动 T0

while (1); //程序停在这里,等待定时器中断

}

/* 定时器 0 中断服务函数 */

void InterruptTimer0() interrupt 1{

static unsigned char i = 0; //动态扫描的索引

TH0 = 0xFC; //重新加载初值

TL0 = 0x67;

//以下代码完成 LED 点阵动态扫描刷新

P0 = 0xFF; //显示消隐

switch (i){

case 0: ADDR2=0; ADDR1=0; ADDR0=0; i++; P0=0x00; break;

case 1: ADDR2=0; ADDR1=0; ADDR0=1; i++; P0=0x00; break;

case 2: ADDR2=0; ADDR1=1; ADDR0=0; i++; P0=0x00; break;

case 3: ADDR2=0; ADDR1=1; ADDR0=1; i++; P0=0x00; break;

case 4: ADDR2=1; ADDR1=0; ADDR0=0; i++; P0=0x00; break;

case 5: ADDR2=1; ADDR1=0; ADDR0=1; i++; P0=0x00; break;

case 6: ADDR2=1; ADDR1=1; ADDR0=0; i++; P0=0x00; break;

case 7: ADDR2=1; ADDR1=1; ADDR0=1; i=0; P0=0x00; break;

default: break;

}

 

}

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

特朗普集团近日取消了其新推出的T1智能手机“将在美国制造”的宣传标语,此举源于外界对这款手机能否以当前定价在美国本土生产的质疑。

关键字: 特朗普 苹果 AI

美国总统特朗普在公开场合表示,他已要求苹果公司CEO蒂姆·库克停止在印度建厂,矛头直指该公司生产多元化的计划。

关键字: 特朗普 苹果 AI

4月10日消息,据媒体报道,美国总统特朗普宣布,美国对部分贸易伙伴暂停90天执行新关税政策,同时对中国的关税提高到125%,该消息公布后苹果股价飙升了15%。这次反弹使苹果市值增加了4000多亿美元,目前苹果市值接近3万...

关键字: 特朗普 AI 人工智能 特斯拉

3月25日消息,据报道,当地时间3月20日,美国总统特朗普在社交媒体平台“真实社交”上发文写道:“那些被抓到破坏特斯拉的人,将有很大可能被判入狱长达20年,这包括资助(破坏特斯拉汽车)者,我们正在寻找你。”

关键字: 特朗普 AI 人工智能 特斯拉

1月22日消息,刚刚,新任美国总统特朗普放出重磅消息,将全力支持美国AI发展。

关键字: 特朗普 AI 人工智能

特朗普先生有两件事一定会载入史册,一个是筑墙,一个是挖坑。在美墨边境筑墙的口号确保边境安全,降低因非法移民引起的犯罪率过高问题;在中美科技产业之间挖坑的口号也是安全,美国企业不得使用对美国国家安全构成威胁的电信设备,总统...

关键字: 特朗普 孤立主义 科技产业

据路透社1月17日消息显示,知情人士透露,特朗普已通知英特尔、铠侠在内的几家华为供应商,将要撤销其对华为的出货的部分许可证,同时将拒绝其他数十个向华为供货的申请。据透露,共有4家公司的8份许可被撤销。另外,相关公司收到撤...

关键字: 华为 芯片 特朗普

曾在2018年时被美国总统特朗普称作“世界第八奇迹”的富士康集团在美国威斯康星州投资建设的LCD显示屏工厂项目,如今却因为富士康将项目大幅缩水并拒绝签订新的合同而陷入了僵局。这也导致富士康无法从当地政府那里获得约40亿美...

关键字: 特朗普 富士康

今年5月,因自己发布的推文被贴上“无确凿依据”标签而与推特发生激烈争执后,美国总统特朗普签署了一项行政令,下令要求重审《通信规范法》第230条。

关键字: 谷歌 facebook 特朗普

众所周知,寄往白宫的所有邮件在到达白宫之前都会在他地进行分类和筛选。9月19日,根据美国相关执法官员的通报,本周早些时候,执法人员截获了一个寄给特朗普总统的包裹,该包裹内包含蓖麻毒蛋白。

关键字: 美国 白宫 特朗普
关闭