91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 8KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-13
  • 語言: 其他
  • 標簽: 數碼管??arduino????

資源簡介

TM1637數碼管arduino庫文件解決了四位數碼管接線多,程序長的問題,對于開發者是一個很好的入門程序,程序能做很多方面的進化,時鐘、計數器、溫度顯示器等等?。。?img width=510 src=http://www.sh-liguang.com/pic/62536.jpg />

資源截圖

代碼片段和文件信息


//??Author:?avishorp@gmail.com
//
//??This?library?is?free?software;?you?can?redistribute?it?and/or
//??modify?it?under?the?terms?of?the?GNU?Lesser?General?Public
//??License?as?published?by?the?Free?Software?Foundation;?either
//??version?2.1?of?the?License?or?(at?your?option)?any?later?version.
//
//??This?library?is?distributed?in?the?hope?that?it?will?be?useful
//??but?WITHOUT?ANY?WARRANTY;?without?even?the?implied?warranty?of
//??MERCHANTABILITY?or?FITNESS?FOR?A?PARTICULAR?PURPOSE.??See?the?GNU
//??Lesser?General?Public?License?for?more?details.
//
//??You?should?have?received?a?copy?of?the?GNU?Lesser?General?Public
//??License?along?with?this?library;?if?not?write?to?the?Free?Software
//??Foundation?Inc.?51?Franklin?St?Fifth?Floor?Boston?MA??02110-1301??USA

extern?“C“?{
??#include?
??#include?
??#include?
}

#include?
#include?

#define?TM1637_I2C_COMM1????0x40
#define?TM1637_I2C_COMM2????0xC0
#define?TM1637_I2C_COMM3????0x80

//
//??????A
//?????---
//??F?|???|?B
//?????-G-
//??E?|???|?C
//?????---
//??????D
const?uint8_t?digitToSegment[]?=?{
?//?XGFEDCBA
??0b00111111????//?0
??0b00000110????//?1
??0b01011011????//?2
??0b01001111????//?3
??0b01100110????//?4
??0b01101101????//?5
??0b01111101????//?6
??0b00000111????//?7
??0b01111111????//?8
??0b01101111????//?9
??0b01110111????//?A
??0b01111100????//?b
??0b00111001????//?C
??0b01011110????//?d
??0b01111001????//?E
??0b01110001?????//?F
??};


TM1637::TM1637(uint8_t?pinClk?uint8_t?pinDIO)
{
//?Copy?the?pin?numbers
m_pinClk?=?pinClk;
m_pinDIO?=?pinDIO;

//?Set?the?pin?direction?and?default?value.
//?Both?pins?are?set?as?inputs?allowing?the?pull-up?resistors?to?pull?them?up
????pinMode(m_pinClk?INPUT);
????pinMode(m_pinDIOINPUT);
digitalWrite(m_pinClk?LOW);
digitalWrite(m_pinDIO?LOW);
BL(3);//如果不設置默認中間亮度,解決不先設置亮度無法顯示
}

void?TM1637::BL(uint8_t?brightness)//0-7級亮度
{
m_brightness?=?brightness+8;
start();
writeByte(TM1637_I2C_COMM3?+?(m_brightness?&?0x0f));
stop();
}


void?TM1637::setSegments(const?uint8_t?segments[]?uint8_t?length?uint8_t?pos)
{
????//?Write?COMM1
start();
writeByte(TM1637_I2C_COMM1);
stop();

//?Write?COMM2?+?first?digit?address
start();
writeByte(TM1637_I2C_COMM2?+?(pos?&?0x03));

//?Write?the?data?bytes
for?(uint8_t?k=0;?k? ??writeByte(segments[k]);
??
stop();

}


void?TM1637::Num(int?num?bool?leading_zero?uint8_t?length?uint8_t?pos)
{
uint8_t?digits[4];
const?static?int?divisors[]?=?{?1?10?100?1000?};
bool?leading?=?true;

for(int8_t?k?=?0;?k? ????int?divisor?=?divisors[4?-?1?-?k];
int?d?=?num?/?divisor;

if?(d?==?0)?{
??if?(leading_zero?||?!leading?||?(k?==?3))
????digits[k]?=?encodeDigit(d);
??????else
????digits[k]?=?0;
}
else?{
digits[k]?=?encodeDigit(d);
num?-=?d?*?divisor;
leading?=?false;
}
}

setSegments(digits?+?(4?-?length)?length?pos);
}

void?TM1637::bitDelay()
{
delayMicrosecond

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????4029??2016-11-12?14:11??TM1637\examples\TM1637\TM1637.ino

?????文件???????7632??2014-07-09?05:48??TM1637\LICENSE

?????文件???????1392??2014-07-09?05:48??TM1637\README.md

?????文件???????4715??2016-11-12?11:39??TM1637\TM1637.cpp

?????文件???????2942??2016-11-12?10:54??TM1637\TM1637.h

?????目錄??????????0??2016-11-12?14:17??TM1637\examples\TM1637

?????目錄??????????0??2016-11-12?14:17??TM1637\examples

?????目錄??????????0??2016-11-12?13:53??TM1637

-----------?---------??----------?-----??----

????????????????20710????????????????????8


評論

共有 條評論