久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4133|回復: 0
打印 上一主題 下一主題
收起左側

基于樹莓派C語言編程的數碼管計數器制作

[復制鏈接]
跳轉到指定樓層
樓主
本次設計的數碼管計數器是基于樹莓派編程,應用材料只需按鍵開關一個、一位共陽數碼管一個、杜邦線數根。用樹莓派進行C語言編程,使其計數器實現初始為零、按鍵+1的效果,因考慮材料有限,數據顯示為0-9的循環顯示。從0開始按鍵+1一直到9,數據顯示到9之后按鍵繼續按下又再次回到數字0,按鍵+1到9。以此的一個按鍵+1的0-9的循環。



接線表:
  
數碼管引腳及按鍵開關接口
WPi
  
physical
  
A
25
  
37
B
24
  
35
C
23
  
33
D
22
  
31
E
21
  
29
F
14
  
23
G
13
  
21
DP
12
  
19
GND
26
  
32
Key
2
  
13
Key GND
OV
  
39


源碼:
  1. #include<wiringPi.h>
  2. #include<unistd.h>
  3. #include<time.h>
  4. #define LED_A 25  //定義數碼管引腳
  5. #define LED_B 24
  6. #define LED_C 23
  7. #define LED_D 22
  8. #define LED_E 21
  9. #define LED_F 14
  10. #define LED_G 13
  11. #define LED_DP 12
  12. #define DIGIT1 26
  13. #define btn 2   //定義按鍵開關引腳
  14. unsigned char num=0;  //初始化num=0
  15. void showDigit( int num);
  16. int main (void)
  17. {
  18.   wiringPiSetup ();  //設置數碼管引腳模式
  19. pinMode (LED_A, OUTPUT);
  20. pinMode (LED_B, OUTPUT);
  21.   pinMode (LED_C, OUTPUT);
  22.   pinMode (LED_D, OUTPUT);
  23.   pinMode (LED_E, OUTPUT);
  24.   pinMode (LED_F, OUTPUT);
  25.   pinMode (LED_G, OUTPUT);
  26.   pinMode (LED_DP, OUTPUT);
  27.   pinMode (DIGIT1, OUTPUT);
  28.   pinMode (btn, INPUT);
  29.   pullUpDnControl (btn, PUD_UP);
  30.   digitalWrite (DIGIT1, HIGH);
  31. num=0;
  32. while(1)
  33. {
  34.         if(digitalRead(btn)==0)  //按鍵輸出為高電平時
  35. {
  36. while(digitalRead(btn)==0);
  37. showDigit(num);
  38. delay(50);  //延時
  39. num=num+1;  //num加1
  40. if(num<0)  //當num<0時
  41. {
  42. num=0;  //num=0
  43. }
  44. if(num>9)  //當num>9時
  45. {
  46. num=0;  //num=0
  47. }
  48. }
  49. }
  50. }

  51. void showDigit(int num)
  52. {
  53.   if (num == 0)  //顯示數字0
  54. {
  55.     digitalWrite (LED_A, LOW) ;
  56.     digitalWrite (LED_B, LOW) ;
  57.     digitalWrite (LED_C, LOW) ;
  58.     digitalWrite (LED_D, LOW) ;
  59.     digitalWrite (LED_E, LOW) ;
  60.     digitalWrite (LED_F, LOW) ;
  61.     digitalWrite (LED_G, HIGH) ;
  62.   }
  63. else if (num == 1)  //顯示數字1
  64. {
  65.     digitalWrite (LED_A, HIGH) ;
  66.     digitalWrite (LED_B, LOW) ;
  67.     digitalWrite (LED_C, LOW) ;
  68.     digitalWrite (LED_D, HIGH) ;
  69.     digitalWrite (LED_E, HIGH) ;
  70.     digitalWrite (LED_F, HIGH) ;
  71.     digitalWrite (LED_G, HIGH) ;
  72.   }
  73. else if (num == 2)  //顯示數字2
  74. {
  75.     digitalWrite (LED_A, LOW) ;
  76.     digitalWrite (LED_B, LOW) ;
  77. digitalWrite (LED_C, HIGH) ;
  78. digitalWrite (LED_D, LOW) ;
  79. digitalWrite (LED_E, LOW) ;
  80. digitalWrite (LED_F, HIGH) ;
  81. digitalWrite (LED_G, LOW) ;
  82.   }
  83. else if (num == 3) //顯示數字3
  84. {
  85.     digitalWrite (LED_A, LOW) ;
  86.     digitalWrite (LED_B, LOW) ;
  87.     digitalWrite (LED_C, LOW) ;
  88.     digitalWrite (LED_D, LOW) ;
  89.     digitalWrite (LED_E, HIGH) ;
  90.     digitalWrite (LED_F, HIGH) ;
  91.     digitalWrite (LED_G, LOW) ;
  92.   }
  93. else if (num == 4)  //顯示數字4
  94. {
  95.     digitalWrite (LED_A, HIGH) ;
  96.     digitalWrite (LED_B, LOW) ;
  97.     digitalWrite (LED_C, LOW) ;
  98.     digitalWrite (LED_D, HIGH) ;
  99.     digitalWrite (LED_E, HIGH) ;
  100.     digitalWrite (LED_F, LOW) ;
  101.     digitalWrite (LED_G, LOW) ;
  102.   }
  103. else if (num == 5)  //顯示數字5
  104. {
  105.     digitalWrite (LED_A, LOW) ;
  106.     digitalWrite (LED_B, HIGH) ;
  107.     digitalWrite (LED_C, LOW) ;
  108.     digitalWrite (LED_D, LOW) ;
  109.     digitalWrite (LED_E, HIGH) ;
  110.     digitalWrite (LED_F, LOW) ;
  111.     digitalWrite (LED_G, LOW) ;
  112.   }
  113. else if (num == 6)  //顯示數字6
  114. {
  115.     digitalWrite (LED_A, LOW) ;
  116.     digitalWrite (LED_B, HIGH) ;
  117.     digitalWrite (LED_C, LOW) ;
  118.     digitalWrite (LED_D, LOW) ;
  119.     digitalWrite (LED_E, LOW) ;
  120.     digitalWrite (LED_F, LOW) ;
  121.     digitalWrite (LED_G, LOW) ;
  122.   }
  123. else if (num == 7)  //顯示數字7
  124. {
  125.     digitalWrite (LED_A, LOW) ;
  126.     digitalWrite (LED_B, LOW) ;
  127.     digitalWrite (LED_C, LOW) ;
  128.     digitalWrite (LED_D, HIGH) ;
  129.     digitalWrite (LED_E, HIGH) ;
  130.     digitalWrite (LED_F, HIGH) ;
  131.     digitalWrite (LED_G, HIGH) ;
  132.   }
  133. else if (num == 8) //顯示數字8
  134. {
  135.     digitalWrite (LED_A, LOW) ;
  136.     digitalWrite (LED_B, LOW) ;
  137.     digitalWrite (LED_C, LOW) ;
  138.     digitalWrite (LED_D, LOW) ;
  139.     digitalWrite (LED_E, LOW) ;
  140.     digitalWrite (LED_F, LOW) ;
  141.     digitalWrite (LED_G, LOW) ;
  142.   }
  143. else if (num == 9)  //顯示數字9
  144. {
  145.     digitalWrite (LED_A, LOW) ;
  146.     digitalWrite (LED_B, LOW) ;
  147.     digitalWrite (LED_C, LOW) ;
  148.     digitalWrite (LED_D, LOW) ;
  149.     digitalWrite (LED_E, HIGH) ;
  150.     digitalWrite (LED_F, LOW) ;
  151.     digitalWrite (LED_G, LOW) ;
  152.   }
  153. }
復制代碼

完整的Word格式文檔51黑下載地址:
樹莓派計數器.doc (342 KB, 下載次數: 16)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲国产一区二区三区 | 伊人久操 | 欧美精品一二三 | 99在线国产| 久久精品福利视频 | 在线观看欧美日韩视频 | 久久国产一区二区三区 | 久久香焦 | 巨大黑人极品videos精品 | 国产日韩一区二区 | 91在线一区 | 国产高清毛片 | 亚洲成人福利在线观看 | 久久91精品国产一区二区三区 | 久久手机视频 | 日韩欧美大片在线观看 | 一级片免费视频 | 久久久网 | 美女毛片免费看 | 久热免费 | av在线播放不卡 | 亚洲一区二区视频在线播放 | 九九热这里只有精品在线观看 | 天天狠狠 | 成人性生交大片 | 久久一区二区视频 | 欧美日韩在线免费观看 | 国产精品久久欧美久久一区 | 国产精品久久久久一区二区三区 | 东京av男人的天堂 | 国产精品美女久久久久久久久久久 | 欧美寡妇偷汉性猛交 | 国产精品久久精品 | 中文字幕精品一区 | 午夜精品久久久久久久久久久久 | 91欧美| 免费高清av| 91色综合 | 日韩色视频 | 欧美一级淫片007 | 97影院2|