51单片机控制16个led流水灯的程序?51单片机控制流水灯?

2024-04-02 12:17:51 文章来源 :网络 围观 : 评论

  51单片机控制16个led流水灯的程序?

  泻药

  不加译码器或者锁存器的话,可以用12个引脚+4个三极管(当然还有必要的电阻)实现,如果你的单片机有大电流io口的话,4个三极管也可以省了,12个引脚可以组成4x8的矩阵电路,刚好可以控制32个LED,想多几个,还可以组成5x7,6x6的矩阵,就可以控制36个LED了,而且程序上驱动起来也更简单,不用去查译码器/锁存器的使用方法!

  你还要4个按键输入,这12个引脚还可以利用起来,分时复用,程序上可能会复杂一点点,但是绝对可以实现,还能帮助你理解定时器和分时扫描的使用方法!

  51单片机控制流水灯?

  采用循环程序结构编程。首先在程序开始给P1.0口送一个低电平,其它位为高。然后延时一段时间再让低电平往高位移动,这样就实现“流水”的效果了。下面来看具体程序:

  #include

  #define uchar unsigned char

  #define uint unsigned int

  //N毫秒的延时函数

  delay_ms(uint ms) { uint i,j; for(i=ms;i>0;i--) for(j=114;j>0;j--); return 0; }

  void main(){uchar a,i;while(1){a=0xfe; //点亮第一位LED灯for(i=0;i<8;i++){P1=a;a=a<<1; //左移一位a=a

  0x01; //左移一位后与0x01相或,保证左移后最低位为1 delay_ms(500); }}}

  

51单片机控制16个led流水灯的程序?51单片机控制流水灯?

  

51单片机控制16个led流水灯的程序?51单片机控制流水灯?

  

51单片机控制16个led流水灯的程序?51单片机控制流水灯?

相关文章

留言与评论(共有 0 条评论)
   
验证码:
推荐文章