日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

不知名的有DIO、SCK、RCK引脚的四位LED数码管模块

發布時間:2023/12/8 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 不知名的有DIO、SCK、RCK引脚的四位LED数码管模块 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


誤買了這貨,賣家說沒有Arduino的代碼。我看了下,核心部件是兩片74HC595做了級聯,感覺還是自己折騰一把試試看吧,于是開始折騰,參考外文網站的一些算法和解釋,最后還真有了眉目。


過程就不多說了,直接上結論。在某個位置上顯示某個值的代碼為:

digitalWrite(rck, LOW);
shiftOut(dio, sck, MSBFIRST, 數字);
shiftOut(dio, sck, MSBFIRST, 位置);
digitalWrite(rck, HIGH);

因為是兩片74HC595做級聯,所以相當于變成了16位的移位寄存。其中,前8位用來顯示7段碼(和小數點),后8位用來指示由哪個位置上的數碼單元顯示。

DIO相當于位輸入,RCK相當于各位輸入確認的時鐘,SCK相當于整體輸入確認的時鐘。

對于每個數碼單元,a-g的排列是:8字中間那一橫是a,然后從左上那一豎開始順時針畫圈數,分別是b-g。DIO輸入次序是:第一位是小數點,第二位到第八位是a-g。需要亮的段寫1,反之則寫0。
所以0-9十個數字的二進制值是:
byte num[10] = {
??????????????? B00111111, B00000110, B01011011, B01001111, B01100110,
??????????????? B01101101, B01111101, B00000111, B01111111, B01101111
?????????????? };

小數點和負號分別是:
byte dot = B10000000;
byte neg = B01000000;

對于位選,規律是:從左到右,選中第一位的代碼是 B11111110,第二位是B11111101,以此類推。所以位置代碼為:
byte pos[4] = {0xFE, 0xFD, 0xFB, 0xF7};

有了這些基礎,剩下的就好辦了,順手又焊了個18B20做溫度計。



總結

以上是生活随笔為你收集整理的不知名的有DIO、SCK、RCK引脚的四位LED数码管模块的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。