|
发表于 2016-11-14 12:39:51
|
显示全部楼层
本帖最后由 275891381 于 2016-11-14 12:42 编辑
- #define led_num 4
- #define xianshi_moshi 6
- // B0000 0 0 0 0,引脚对应
- int led[led_num]={ 7,6,5,4};
- int led_dianliang_fangshi=0;//低电平点亮 ==1 高电平点亮
- char moshi[xianshi_moshi]= { //1为点亮
- B00000000, // = 0
- B00000001, // = 1
- B00000011, // = 2
- B00000111, // = 3
- B00001111, // = 4
- B00001010, // = 5
- };
- void led_out(char haha)
- {
- for(int i=0;i<led_num;i++)
- {
- if(led_dianliang_fangshi==0)
- digitalWrite(led[i],~(unsigned char)haha%2);
- else
- digitalWrite(led[i],(unsigned char)haha%2);
- haha=haha>>1;
- }
- }
- void setup() {
- for(int i=0;i<led_num;i++)
- {
- pinMode(led[i], OUTPUT);
- digitalWrite(led[i], ~led_dianliang_fangshi);
- }
- }
- void loop() {
- for(int i=0;i<xianshi_moshi;i++)
- {
- led_out(moshi[i]);
- delay(1000);
- }
- }
复制代码
或者显示模式定义成二维数组,可以参考数码管例子,效果一样 |
|