欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1353|回復: 0
收起左側

Arduino數碼管顯示程序 從-9到-1到-0.9到-0.1到0到20,其中遇到質數閃爍三次

[復制鏈接]
ID:1099155 發表于 2023-11-9 20:48 | 顯示全部樓層 |閱讀模式
在四位數碼管上顯示從-9到-1到-0.9到-0.1到0到20,其中遇到質數閃爍三次
IMG_20231109_20395800.jpeg 51hei截圖20231109204036.png

源程序如下:
  1. #include "SevSeg.h"

  2. SevSeg sevseg;

  3. byte numDigits = 4;     // 4位數碼管
  4. byte digitPins[] = {2, 3, 4, 5};  //數碼管公共極連接Arduino的引腳
  5. byte segmentPins[] = {6, 7, 8, 9, 10, 11, 12, 13};// 數碼管a,b,c,d,e,f,g,h對應引腳
  6. bool resistorsOnSegments = false; // 'false' 表示電阻連在數字引腳上
  7. byte hardwareConfig = COMMON_ANODE; // 共陽極數碼管
  8. bool updateWithDelays = false; // Default 'false' is Recommended
  9. bool leadingZeros = false; // 無前導零
  10. bool disableDecPoint = false; //小數點

  11. void setup() {                     
  12.   //初始化數碼管
  13.   sevseg.begin(hardwareConfig, numDigits, digitPins, segmentPins, resistorsOnSegments,
  14.   updateWithDelays, leadingZeros, disableDecPoint);//添加參數
  15.   sevseg.setBrightness(6);
  16. }

  17. void loop() {
  18.   for(int i=-9;i<0;i++){                       //顯示-9到-1
  19.     sevseg.setNumber(i);     // 設置要顯示的數據,
  20.     for(int j=0;j<32000;j++){
  21.       sevseg.refreshDisplay();  // 必須重新運行刷新數碼管顯示
  22.     }
  23.   }
  24.   for(int i=-9;i<0;i++){                      //顯示-0.9到-0.1
  25.     sevseg.setNumber(i,1);  // 第二個參數表示小數點的位置
  26.     for(int j=0;j<32000;j++){
  27.       sevseg.refreshDisplay();
  28.     }
  29.   }
  30.   for(int i=0;i<=20;i++){                    //顯示0到20
  31.     if(isprime(i)){
  32.       for(int k=0;k<3;k++){                  //閃爍顯示質數
  33.         sevseg.setNumber(i);
  34.         for(int j=0;j<32000;j++){
  35.           sevseg.refreshDisplay();
  36.         }
  37.         sevseg.blank();
  38.         for(int j=0;j<32000;j++){
  39.           sevseg.refreshDisplay();
  40.         }
  41.       }
  42.     }
  43.     else{
  44.       sevseg.setNumber(i);               //正常顯示其他數
  45.       for(int j=0;j<32000;j++){
  46.         sevseg.refreshDisplay();
  47.       }
  48.     }
  49.   }
  50.   sevseg.refreshDisplay();
  51. }

  52. bool isprime(int n){                     //判斷質數
  53.   int prime[]={2,3,5,7,11,13,17,19};
  54.   bool a = false;
  55.   for(int i=0;i<8;i++){
  56.     if(prime[i]==n){
  57.       a = true;
  58.       break;
  59.     }
  60.   }
  61.   return a;
  62. }

復制代碼


評分

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

查看全部評分

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表