发 帖  
4周PADS强化班 HOT
林超文手把手教你学!
张飞暑期特训班
教你1000种电路设计思路
年度IP:PFC电源
张飞硬件电路之PFC全集
30天AD项目众筹
参与免费送VIP+原创视频
最全模电系列教程 NEW
运放、ADC、电磁兼容

单片机C语言使用数组点亮LED

[复制链接]

等待验证会员

发表于 2018-7-19 06:02:38   95 查看 0 回复 显示全部楼层 倒序浏览
分享
P0口接了八个led,采用共阳的接法,通过以下程序可以让这八个led按要求点亮。单片机中经常会使用到数组,尤其以后的数码管和led点阵,所有这部分学习放在前面。
led采用共阳的接法的意思就是,led的两个引脚中,阳极通过一个限流电阻接在5V电源上,阴极接在可以控制的IO口上,这样八个led都通过这种方式接,接好后就如下图:




  • #include <AT89X51.H>
  • //定义数组
  • unsigned char code table[]={0xfe,0xfd,0xfb,0xf7,
  •                             0xef,0xdf,0xbf,0x7f,
  •                             0xfe,0xfd,0xfb,0xf7,
  •                             0xef,0xdf,0xbf,0x7f,
  •                             0x7f,0xbf,0xdf,0xef,
  •                             0xf7,0xfb,0xfd,0xfe,
  •                             0x7f,0xbf,0xdf,0xef,
  •                             0xf7,0xfb,0xfd,0xfe,
  •                             0x00,0xff,0x00,0xff,
  •                             0x01};
  • //定义无符号的变量i
  • unsigned char i;
  • //定义延时函数的声明及实现
  • void delay(void)
  • {
  •   unsigned char m,n,s;
  •   for(m=20;m>0;m--)
  •           for(n=20;n>0;n--)
  •                  for(s=248;s>0;s--);
  • }
  • void main(void)
  • {
  •   while(1)
  •     {
  •           //判断是否为数组最后一个元素,如不是,则继续执行
  •           if(table!=0x01)
  •                 {
  •                         //把第i个元素赋给p2口
  •                           P2=table;
  •                         //循环变量i自加
  •                           i++;
  •                         //调用延时函数
  •                           delay();
  •                 }
  •            else
  •           {
  •             i=0;
  •           }
  •     }
  • }

标签:LED 数码管 单片机

只有小组成员才能发言,加入小组>>

188个成员聚集在这个小组

加入小组

创建小组步骤

4周PADS强化班 HOT
林超文手把手教你学!
张飞暑期特训班
教你1000种电路设计思路
年度IP:PFC电源
张飞硬件电路之PFC全集
30天AD项目众筹
参与免费送VIP+原创视频
最全模电系列教程 NEW
运放、ADC、电磁兼容
关闭

站长推荐 上一条 /9 下一条

快速回复 返回顶部 返回列表