C51单片机16个LED流水灯(针对51单片机初学者) |
您所在的位置:网站首页 › 51单片机八个灯的流水灯代码 › C51单片机16个LED流水灯(针对51单片机初学者) |
C51单片机16个LED流水灯
由于平时太忙,很久没在CSDN上记录点东西了,写点单片机相关的吧,大神可忽略,内容只针对初学者。 一、功能从第一个灯到第16个灯依次点亮(速度快),再反过来点亮一遍(速度慢),然后16个灯同时闪烁,最后16个灯全部点亮(保持一段时间常亮)。依次往复循环上述效果。 二、proteus仿真图16个灯分别用P1口和P2口,LED阳极已接高电平,通过控制阴极的高低电平状态来控制LED灯的亮灭。 方法一:通过给P1、P2口的每一个灯赋初值来实现,方法比较笨,但很直观,浅显易懂。 #include void delay(unsigned int i) { while(i--); } void main() { long int j; while(1) { P1=0XFE; 1111 1110 低电平点亮,从第一个灯开始 delay(10000); P1=0XFD; //1111 1101 delay(10000); P1=0XFB; //1111 1011 以下以此类推 delay(10000); P1=0XF7; delay(10000); P1=0XEF; delay(10000); P1=0XDF; delay(10000); P1=0XBF; delay(10000); P1=0X7F; delay(10000); P1=0XFF; //每结束一轮统一关一次 P2=0XFE; delay(10000); P2=0XFD; delay(10000); P2=0XFB; delay(10000); P2=0XF7; delay(10000); P2=0XEF; delay(10000); P2=0XDF; delay(10000); P2=0XBF; delay(10000); P2=0X7F; delay(10000); P2=0XFF; P2=0X7F; delay(30000); P2=0XBF; delay(30000); P2=0XDF; delay(30000); P2=0XEF; delay(30000); P2=0XF7; delay(30000); P2=0XFB; delay(30000); P2=0XFD; delay(30000); P2=0XFE; delay(30000); P2=0XFF; P1=0X7F; delay(30000); P1=0XBF; delay(30000); P1=0XDF; delay(30000); P1=0XEF; delay(30000); P1=0XF7; delay(30000); P1=0XFB; delay(30000); P1=0XFD; delay(30000); P1=0XFE; delay(30000); P1=0XFF; for(j=0;j |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |