完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
共阴极双色点阵
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秒钟 } } } 程序运行结果: |
|
|
|
只有小组成员才能发言,加入小组>>
2555 浏览 0 评论
1155浏览 2评论
758浏览 1评论
509浏览 0评论
270浏览 0评论
444浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 13:57 , Processed in 1.413117 second(s), Total 80, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号