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

標題: Arduino Uno 4位數碼管顯示不正常 [打印本頁]

作者: kscheang    時間: 2025-3-1 22:59
標題: Arduino Uno 4位數碼管顯示不正常
各位好:
我用EB0037多功能板附送的例程學習一下Arduino 的shiftOut()函數程序如下:


int latchPin = 4;         // 定義74HC595的 LCHCLK接 4端口
int clockPin = 7;         // 定義74HC595的 SFICLK接 7端口
int dataPin = 8;          // 定義74HC595的 SDI接 8端口

unsigned char Display[] = {
  0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0X80,0X90,0x00};    // 共陽數碼管0~9的顯示數值 0x00表示全亮 0xFF表示全熄
unsigned char SMGWei[] = {
  0xF1,0xF2,0xF4,0xF8};                                       // 四個數碼管的位數值, 1為顯示, 0為熄滅

void setup () {
  pinMode(latchPin,OUTPUT);       // 定義 4端口為輸出模式
  pinMode(clockPin,OUTPUT);       // 定義 7端口為輸出模式
  pinMode(dataPin,OUTPUT); }      // 定義 8端口為輸出模式

void loop() {
  for(unsigned char j=0; j<=9; j++){                     // 第1個循環是把 0~9數字顯示出來
    for(unsigned char k=0; k<=100; k++) {                 // 第2個循環是把 顯示的數字顯示一段時間才轉變
      for(unsigned char i=0; i<=3; i++) {                 // 第3個循環是 四個數碼管的4個位動態顯示出來
        digitalWrite(latchPin, LOW);                      // 將ST_CP口上面加低電平讓芯片準備好接收數據
        shiftOut(dataPin,clockPin,MSBFIRST,Display[j]);   // 發送顯示碼 0-9
        shiftOut(dataPin,clockPin,MSBFIRST,SMGWei);    // 發送數碼管位
        digitalWrite(latchPin,HIGH);                      // 將ST_CP這個針腳恢復到高電平
        delay(2); } }                                     // 動態數碼管顯示的延時2ms
} }



完成後, 顯示的是 0000->1111->2222->3333->4444->9999->8888->7777->8888->9999
我看了很久都發現不到什么問題
請教一下各位

原理圖.pdf

18.22 KB, 下載次數: 0


作者: glinfei    時間: 2025-3-3 17:17
我要是你,就把 shiftOut(dataPin,clockPin,MSBFIRST,SMGWei);    // 發送數碼管位
改成  shiftOut(dataPin,clockPin,MSBFIRST,SMGWei【i】);    // 發送數碼管位
另外,【】是提示用的,要半角才能編譯啊。




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1