共阴极双色点阵
Led点阵就是很多led放在一起组成的矩阵灯。原理很简单,如果我们要点亮图中左上的绿灯。那么管脚5接高电平,管脚24接低电平,那么这个绿色led就会亮,其他的led亦是如此。我们要显示需要的内容,只要点亮相关内容即可。如:我们显示如图的“+”,和“-”。
红色“+”:将管脚18,17,16 设置成高电平,同时对应21,22,23 设置成低电平。
注意:管脚18为高时,只能22管脚为低, 17管脚为高时,22,23,24同时为低,16管脚为高时,智能22管脚为低。 就是说同一时刻只有这三种情况之一出现,换言之就是通过扫描实现显示”+”.
具体过程:
1.显示第一步:,其他全灭 。一个短延时,保持标号1 这部分亮
2.显示第二步:,其他全灭。 一个短延时,保持标号2 这部分亮
3.显示第三步:,其他全灭。 一个短延时,保持标号3 这部分亮
这个短的延时时间很短,那么给人的感觉就是1.2.3 这三部分全亮,共同组成个图案“+”。再点阵显示里,原理都是如此。
绿色”-”: 将管脚11,12,13设置成高电平,同时设置管脚3为电平
共阳极双色点阵点亮点阵和共阴极双色点阵基本类似,只是上述操作中需要将高电平的操作改成低电平,低电平操作改成高电平
实验板用的是共阴极双色点阵,开发板的点阵电路图如下:
将GR、RE、DP引脚与单片机的IO相连,然后写程序控制IO口,就可以控制点阵的点亮形式。
P0口与J12口要反插、P1口与J19口反插、P2口与J20口正插,如果排线插反了,则点阵点亮的位置就会和程序里设置的相反。
程序一:点亮led点阵的一个点,然后交替点亮红色、绿色
程序源代码:
#include "reg52.h"
void delay1s(x)
{
int i=0;
int j=0;
for(;i < x*14665; i++)
for(;j < 10000; j++)
;
}
void main()
{
while(1)
{
P2 = 0x7f; //点亮一个红色点,相应的位置低电平
P1 = 0xff; //熄灭全部绿色点,全部位都置高电平
P0 = 0x80; //共阳极的相应位置高电平
delay1s(1); //延时1秒钟
P2 = 0xff; //熄灭全部红色点,全部位都置高电平
P1 = 0x7f; //点亮一个绿色点,相应的位置低电平
P0 = 0x80; //共阳极的相应位置高电平
delay1s(1); //延时1秒钟
}
}
程序运行结果:
程序二:轮流显示0--9
程序源代码:
#include "reg52.h"
char column[4] = {0xdf, 0xef, 0xf7, 0xfb}; //将想要点亮列的相应位置零
char line[10][4] = {0x38, 0x44, 0x44, 0x38,
0x24, 0x7c, 0x7c, 0x04,
0x5c, 0x54, 0x54, 0x74,
0x54, 0x54, 0x54, 0x7c,
0x10, 0x30, 0x7c, 0x10,
0x74, 0x54, 0x54, 0x5c,
0x7c, 0x54, 0x54, 0x5c,
0x40, 0x40, 0x40, 0x7c,
0x7c, 0x54, 0x54, 0x7c,
0x74, 0x54, 0x54, 0x7c
}; //数字0--9在点亮第1--第4列时,需要点亮相应行才能形成0--9
//的数字显示
void delay(x)
{
int i;
for(;i < x*10; i ++)
;
}
void delay1s(x)
{
int i=0;
int j=0;
for(;i < x*14665; i++)
for(;j < 10000; j++)
;
}
void display(x)
{
int i,j;
for(i = 0; i < 1000; i++)
{
for(j = 0;j < 4; j ++)
{
P2 = column[j];//4行、4列的方阵,循环点亮1--4列
P0 = line[x][j];//4行、4列的方阵,循环点亮当前列的当前行
delay(1);//延时28.5 us
//消影
P0 = 0x00;
delay(1);//延时28.5 us
}
}
}
void main()
{
while(1)
{
int i;
for(i = 0;i < 10; i ++)
{
display(i);//显示0--9
delay1s(0.5);//延时0.5秒钟
}
}
}
程序运行结果:
上一篇:51单片机【三】静态与动态驱动数码管
下一篇:8x8LED点阵显示数字和汉字
设计资源 培训 开发板 精华推荐
- LTC2633-HI8 双路 8 位数模转换器的典型应用
- SSM2167 具有可变压缩和噪声门控的低压麦克风前置放大器的典型应用
- GLDrone_PX4_ESP32
- DC994A,在 10 引脚 MSOP 耐热增强型 MSE 封装中使用 LT3003 3 通道 LED 镇流器和 PWM 的演示板
- ADR292ERZ-REEL 低噪声、微功率 4.096V 精密电压基准的典型应用电路,具有开尔文连接的优势
- 使用外部基准电流的 LT3088IST 线性稳压器的典型应用
- 4 通道 I2C 多路复用器提供地址扩展、总线缓冲和故障管理
- LTC2862AHDD-1 网络的典型应用,用于针对 5kV 浪涌、5kV EFT 和 30kV IEC ESD Plus ±360V 过压保护的 IEC 4 级保护
- LTC3871HLXE 高效 12V、60A 4 相电源的典型应用电路
- 用于便携式的 12 位 8 通道 DAC
- 阅读是德科技 Power Supply、汽车电子精彩专题,让您的设计更精准!参与答题赢好礼!
- 有奖直播:联咏安防监控方案及未来技术方向 报名开始啦!
- 【TI 培训】年度盘点:2019 TI 培训课程集锦,好评有礼!
- 畅想十二月,设计我自己的EEWORLD!
- 下载有礼|终于找到秘籍,示波器探头的选择和使用就靠它了!
- ADI 系统方案精选【用于多路抽头输出隔离电源的简易解决方案】
- 有奖直播|TI 超声波镜头清洁技术
- 抢先体验!免费试用LM3S8962 评估套件!(10.13~11.30)
- Vicor 更好的供电方式提升无人机飞行时间飞行半径及有效载荷
- 热烈庆祝坛友coyoo新书《FPGA设计实战演练》出版,参与讨论即有机会赢新书!