树莓派c语言编程加序号,基于树莓派C语言编程的数码管计数器制作

#include

#include

#include

#define LED_A 25  //定义数码管引脚

#define LED_B 24

#define LED_C 23

#define LED_D 22

#define LED_E 21

#define LED_F 14

#define LED_G 13

#define LED_DP 12

#define DIGIT1 26

#define btn 2   //定义按键开关引脚

unsigned char num=0;  //初始化num=0

void showDigit( int num);

int main (void)

{

wiringPiSetup ();  //设置数码管引脚模式

pinMode (LED_A, OUTPUT);

pinMode (LED_B, OUTPUT);

pinMode (LED_C, OUTPUT);

pinMode (LED_D, OUTPUT);

pinMode (LED_E, OUTPUT);

pinMode (LED_F, OUTPUT);

pinMode (LED_G, OUTPUT);

pinMode (LED_DP, OUTPUT);

pinMode (DIGIT1, OUTPUT);

pinMode (btn, INPUT);

pullUpDnControl (btn, PUD_UP);

digitalWrite (DIGIT1, HIGH);

num=0;

while(1)

{

if(digitalRead(btn)==0)  //按键输出为高电平时

{

while(digitalRead(btn)==0);

showDigit(num);

delay(50);  //延时

num=num+1;  //num加1

if(num<0)  //当num<0时

{

num=0;  //num=0

}

if(num>9)  //当num>9时

{

num=0;  //num=0

}

}

}

}

void showDigit(int num)

{

if (num == 0)  //显示数字0

{

digitalWrite (LED_A, LOW) ;

digitalWrite (LED_B, LOW) ;

digitalWrite (LED_C, LOW) ;

digitalWrite (LED_D, LOW) ;

digitalWrite (LED_E, LOW) ;

digitalWrite (LED_F, LOW) ;

digitalWrite (LED_G, HIGH) ;

}

else if (num == 1)  //显示数字1

{

digitalWrite (LED_A, HIGH) ;

digitalWrite (LED_B, LOW) ;

digitalWrite (LED_C, LOW) ;

digitalWrite (LED_D, HIGH) ;

digitalWrite (LED_E, HIGH) ;

digitalWrite (LED_F, HIGH) ;

digitalWrite (LED_G, HIGH) ;

}

else if (num == 2)  //显示数字2

{

digitalWrite (LED_A, LOW) ;

digitalWrite (LED_B, LOW) ;

digitalWrite (LED_C, HIGH) ;

digitalWrite (LED_D, LOW) ;

digitalWrite (LED_E, LOW) ;

digitalWrite (LED_F, HIGH) ;

digitalWrite (LED_G, LOW) ;

}

else if (num == 3) //显示数字3

{

digitalWrite (LED_A, LOW) ;

digitalWrite (LED_B, LOW) ;

digitalWrite (LED_C, LOW) ;

digitalWrite (LED_D, LOW) ;

digitalWrite (LED_E, HIGH) ;

digitalWrite (LED_F, HIGH) ;

digitalWrite (LED_G, LOW) ;

}

else if (num == 4)  //显示数字4

{

digitalWrite (LED_A, HIGH) ;

digitalWrite (LED_B, LOW) ;

digitalWrite (LED_C, LOW) ;

digitalWrite (LED_D, HIGH) ;

digitalWrite (LED_E, HIGH) ;

digitalWrite (LED_F, LOW) ;

digitalWrite (LED_G, LOW) ;

}

else if (num == 5)  //显示数字5

{

digitalWrite (LED_A, LOW) ;

digitalWrite (LED_B, HIGH) ;

digitalWrite (LED_C, LOW) ;

digitalWrite (LED_D, LOW) ;

digitalWrite (LED_E, HIGH) ;

digitalWrite (LED_F, LOW) ;

digitalWrite (LED_G, LOW) ;

}

else if (num == 6)  //显示数字6

{

digitalWrite (LED_A, LOW) ;

digitalWrite (LED_B, HIGH) ;

digitalWrite (LED_C, LOW) ;

digitalWrite (LED_D, LOW) ;

digitalWrite (LED_E, LOW) ;

digitalWrite (LED_F, LOW) ;

digitalWrite (LED_G, LOW) ;

}

else if (num == 7)  //显示数字7

{

digitalWrite (LED_A, LOW) ;

digitalWrite (LED_B, LOW) ;

digitalWrite (LED_C, LOW) ;

digitalWrite (LED_D, HIGH) ;

digitalWrite (LED_E, HIGH) ;

digitalWrite (LED_F, HIGH) ;

digitalWrite (LED_G, HIGH) ;

}

else if (num == 8) //显示数字8

{

digitalWrite (LED_A, LOW) ;

digitalWrite (LED_B, LOW) ;

digitalWrite (LED_C, LOW) ;

digitalWrite (LED_D, LOW) ;

digitalWrite (LED_E, LOW) ;

digitalWrite (LED_F, LOW) ;

digitalWrite (LED_G, LOW) ;

}

else if (num == 9)  //显示数字9

{

digitalWrite (LED_A, LOW) ;

digitalWrite (LED_B, LOW) ;

digitalWrite (LED_C, LOW) ;

digitalWrite (LED_D, LOW) ;

digitalWrite (LED_E, HIGH) ;

digitalWrite (LED_F, LOW) ;

digitalWrite (LED_G, LOW) ;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值