




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、目錄1技術(shù)指標(biāo)12設(shè)計(jì)方案及其比較12.1方案一12. 2方案二22. 3方案三22.4方案比較33實(shí)現(xiàn)方案33. 1硬件部分33. 2軟件部分83. 3測(cè)試電路204調(diào)試過程及結(jié)論204.1調(diào)試過程的現(xiàn)象204.2調(diào)試過程中出現(xiàn)的問題214. 3調(diào)試結(jié)論215心得體會(huì)216參考文獻(xiàn)22基于si光電池的照度計(jì)設(shè)計(jì)與調(diào)試1技術(shù)指標(biāo)(1)要求系統(tǒng)測(cè)量范圍為0-200ix,測(cè)量精度達(dá)到llx;(2)設(shè)計(jì)光電池輸出信號(hào)處理電路,要求可以控制處理后的電壓幅度;(3)設(shè)計(jì)照度計(jì)硬件電路系統(tǒng),要求系統(tǒng)各個(gè)模塊能夠正常工作;(4)設(shè)計(jì)照度計(jì)軟件控制系統(tǒng),要求系統(tǒng)整體工作穩(wěn)定;(5)給設(shè)計(jì)系統(tǒng)定標(biāo),要求測(cè)量結(jié)果
2、誤差在1%以內(nèi)。2設(shè)計(jì)方案及其比較當(dāng)光電池的光敏面收到光照射吋,pn節(jié)耗盡區(qū)內(nèi)的光生電子與空穴在內(nèi)建電場(chǎng)力的 作用下分別向n區(qū)和p區(qū)運(yùn)動(dòng),在閉合的電路中產(chǎn)生光電流。首先將光電流經(jīng)過i/v變換 和電壓放人后形成直流電壓信號(hào),其次通過模數(shù)轉(zhuǎn)換電路將處理得到的直流電壓信號(hào)轉(zhuǎn)換 為數(shù)字電壓信號(hào),再通過單片機(jī)處理后得到可以反應(yīng)光照度的數(shù)字信號(hào),最后通過lcd 實(shí)吋顯示出來(lái)。照度計(jì)的系統(tǒng)框圖如圖1所示。圖1照度計(jì)系統(tǒng)框圖2.1方案一通過電阻轉(zhuǎn)換的方式進(jìn)行i/v轉(zhuǎn)換,如圖2,之后將電壓放大后的盲流電壓信號(hào)通過 由adc0809構(gòu)成的a/d轉(zhuǎn)換模塊得到數(shù)字電壓信號(hào),然后,通過單片機(jī)得到可以反應(yīng)光 照度的數(shù)字信
3、號(hào),最后,通過led數(shù)碼管實(shí)時(shí)顯示出來(lái)。圖2電阻轉(zhuǎn)換模塊2.2方案二通過三極管構(gòu)建放大電路得到電壓信號(hào)進(jìn)行i/v轉(zhuǎn)換,如圖3,之后將電壓放大后的直流電壓信號(hào)通過由adc0809構(gòu)成的a/d轉(zhuǎn)換模塊得到數(shù)字電壓信號(hào),然后,通過單片機(jī)得到可以反應(yīng)光照度的數(shù)字信號(hào),最后,通過led數(shù)碼管實(shí)時(shí)顯示出來(lái)。圖3三極管轉(zhuǎn)換模式2.3方案三通過集成運(yùn)放芯片構(gòu)建放大電路得到電壓信號(hào)進(jìn)行i/v轉(zhuǎn)換,如圖4, z后將電壓放 大后的直流電壓信號(hào)通過由adc0809構(gòu)成的a/d轉(zhuǎn)換模塊得到數(shù)字電壓信號(hào),然后,通 過單片機(jī)得到可以反應(yīng)光照度的數(shù)字信號(hào),最后,通過led數(shù)碼管實(shí)時(shí)顯示出來(lái)。圖4集成運(yùn)放轉(zhuǎn)換模式2.4方案比較
4、三種方案各有優(yōu)缺點(diǎn),方案一適合在電流較大的情況下使用,方案二適合在電流變換 范圍小的情況下使用,方案三適用范圍廣,但成本會(huì)提高很多。由于此次課程設(shè)計(jì)電路板 上已經(jīng)有運(yùn)放芯片,故采取方案三。3實(shí)現(xiàn)方案3.1硬件部分系統(tǒng)的硬件由i/v變換模塊、光電池前置放大模塊、a/d轉(zhuǎn)換模塊、單片機(jī)控制模塊 以及數(shù)碼管顯示模塊組成,如圖5, proteus仿真圖如圖6所示。當(dāng)光電池的光敏面收到光照射吋,pn節(jié)耗盡區(qū)內(nèi)的光生電子與空穴在內(nèi)建電場(chǎng)力的 作用下分別向n區(qū)和p區(qū)運(yùn)動(dòng),在閉合的電路中產(chǎn)生光電流。因?yàn)楣怆娏餍枰D(zhuǎn)換為電壓 信號(hào),才能通過數(shù)碼管顯示,所以需要進(jìn)行i/v變換。但是,所得的電壓值過小,不宜測(cè) 量,
5、故需要電壓放大模塊將其放大為直流電壓信號(hào)。其次,數(shù)碼管顯示的是數(shù)字信號(hào),所 以,需要將放大得到的直流電壓信號(hào)進(jìn)過a/d轉(zhuǎn)換模塊轉(zhuǎn)換為數(shù)字電壓信號(hào)。最后,通過 單片機(jī)處理后得到可以反應(yīng)光照度的數(shù)字信號(hào),并通過數(shù)碼管實(shí)吋顯示岀來(lái)。圖5系統(tǒng)屯路圖圖6總電路圖1光電池和電壓放大及i/v轉(zhuǎn)換模塊本系統(tǒng)選用的硅光電池光譜響應(yīng)波長(zhǎng)-般為0.4-1.1微米,峰值響應(yīng)波長(zhǎng)為0.9微米, 其特性曲線如圖7所示。在不同光照下,硅光電池有不同的電信號(hào)輸出,且二者之間具有 單值對(duì)應(yīng)關(guān)系,因此,可以通過檢測(cè)其輸出電信號(hào)并根據(jù)其輸出特性關(guān)系,得到對(duì)應(yīng)的光 照度信息,以達(dá)到光照度檢測(cè)的目的。圖7硅光電池光譜響應(yīng)特性曲線該模塊
6、使用lm358運(yùn)算放大芯片實(shí)現(xiàn),如圖8所示,該芯片引腳如圖9所示,可以實(shí)現(xiàn)i/v變換,即將光電流信號(hào)轉(zhuǎn)換為直流電壓信號(hào),并且進(jìn)行放大。out1 1iin 1(.) 2iin1 3ignd 4vcc0vt2in2 (>in2圖9 lm358引腳圖2 a/d轉(zhuǎn)換模塊該模塊由pcf8591芯片實(shí)現(xiàn),如圖10所示,該芯片引腳如圖ii所示,可以實(shí)現(xiàn)a/d 轉(zhuǎn)換,將直流電壓信號(hào)轉(zhuǎn)換為數(shù)字電壓信號(hào)。pcf8591各引腳功能如下:aino、ainl、ain2、ain3:模擬信號(hào)輸入端;ao、al、a2:引腳地址端;vdd、vss:電源端;sda、scl: i2c總線的數(shù)據(jù)線、時(shí)鐘線;osc:外部時(shí)鐘輸入
7、端,內(nèi)部時(shí)鐘輸出端;ext:內(nèi)部、外部時(shí)鐘選擇線,使用內(nèi)部時(shí)鐘時(shí)ext接地;agnd:模擬信號(hào)地;aout: d/a轉(zhuǎn)換輸出端;vref:基準(zhǔn)電源端;圖10 a/d轉(zhuǎn)換模塊ainoain1ain2ain3aoala2vsspcf8591叵evddaoutvrepagndextoscsclsda圖11 pcf8591引腳圖3單片機(jī)控制模塊rotngin>®podtaio po vah pojyate poarara poposfaw p0j&ac6 pottxtaizresr aleid1.1a.esm,7/wz1 -zz- t32dr>ez.vmb 22tac z
8、jta11 2. vac 2stag zfifau zw該模塊由89c51芯片實(shí)現(xiàn),如圖12所示,89c51引腳圖如圖13所示。該模塊通過 芯片內(nèi)部的程序控制驅(qū)動(dòng)pcf8591芯片并采集模數(shù)轉(zhuǎn)換后的數(shù)字信號(hào),對(duì)采集后的數(shù)字信 號(hào)進(jìn)行處理,控制數(shù)碼管顯示系統(tǒng)檢測(cè)得到的照度值。圖12單片機(jī)系統(tǒng)p1.01pl. 12p1.23p1.34p1.45p1.56p1.67p1.78reset9(p3. 0) rxd10(p3 1) txd11(p3. 2)int012(p3. 3)int113(p3.4) t0 14(p3. 5) t1 15(p3. 6)w 16(p3. 7)r5 17xl1 18xl2
9、19gnd 2089c51圖13 89c51引腳圖4數(shù)碼管顯示系統(tǒng)及鎖存器該模塊由芯片74hc573和數(shù)碼管實(shí)現(xiàn),如圖14, 74hc573引腳圖如圖15所示。數(shù)碼管段選使用573鎖存器,因?yàn)閱纹瑱C(jī)引腳直接驅(qū)動(dòng)功率不太夠。3.2軟件部分程序部分代碼如下:1 main.c0e1 u201 vcc1d 2191q2d 3182q3d 4173q4d 5164q5d 6155q6d 146q7d8137q8d 9128qgnd 1011le圖 15 74hc573/ " " " " " " " " " &quo
10、t; " " " " " " " " " " " " " " " " " " " "f*普中科技*實(shí)驗(yàn)名:ad顯示試驗(yàn)*實(shí)驗(yàn)說明:使用數(shù)碼管顯示ad讀取到電位器的電壓值*連接方式:見連接圖 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
11、 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7*/#include<reg5 l.h>#includehi2c.hn/定義使用的io/#define gpio_dig posbit lsa=p2a2;sbit lsb=p2a3;sbit lsc=p2a4;sbit le=p2a2;/-定義pcf8591的讀寫地址-/#define writeaddr 0x90 寫地址#define readaddr 0x91 讀地址-定義全局變量-unsigned char code dig_code17=ox3f,0x06,0x5b,0x4f,0
12、x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f 的顯示碼uchar code table =0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,ox 77,0x7c,0x39,0x5e,0x79,0x71;unsigned char displaydata8;用來(lái)存放要顯示的8位數(shù)的值-聲明全局函數(shù)-void digdisplayo; /動(dòng)態(tài)顯示函數(shù)void pcf8591 sendbyte(unsigned ch
13、ar channel); unsigned char pcf8591 readbyte();void pcf8591 daconversion(unsigned char value);void digdisplayo;長(zhǎng)延時(shí)函數(shù)void delay(uchar z)uchar xy for(xhzxvpx;) for(yh5pyvo;y;); 一詵醫(yī)臂& 詵醫(yī)臂淫黑 詵郵 > 詵郵 圧-main-円醫(yī)迸-出-出亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<
14、亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<亠<
15、void main。unsigned h adnumn uim bl&aq-s 八 in 二 imerr floai vb-ue- uchar da(210kwh=e(l)hmel+八ifuimel%15)pcos591 sendbyte(o)八 dac?三 mel%15j n pcf8591readbyo()詵 2 八一-0-顯示電位器電壓-/pcf8591 sendbyte(o);發(fā)送電位器轉(zhuǎn)換命令if(timel=150)time 1=0;/adnum = pcf8591readbyte()*2;/ 將轉(zhuǎn)換結(jié)果讀走adnum 二(date0+datel+date2+date3+d
16、ate4+date5+date6+date7+date8+date9)/10.;-我們8591每讀取到一個(gè)1就表示5/256v,所以要知道電壓值就乘以0.01953-/ value = adnum * 0.01953/1.3; 轉(zhuǎn)為電壓值adnum = value * 1000;保留兩位小數(shù)n 二 adnum;/n=n*500./255;/n=123;bl=n/1000;b 二 n% 1000/100;s=n/10%10;g=n%10;le=1;po=oxfe;pl =tableb 1 ;delay(10);po=oxfd;p 1 =tableb ;delay(l 0);po=oxfb;p 1
17、 =tables ;delay( 10);p0=0xf7;p 1 =tableg ;delay(10);/ *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1
18、* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* f*函數(shù)名:pcf8591sendbyte*函數(shù)功能:寫入一個(gè)控制命令*輸入:channel (轉(zhuǎn)換通道)*輸出:無(wú)彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳*/void pcf8591 sendbyte(unsigned char channel)i2c_start();i2c_sendbyte(writeaddr, 1); 發(fā)送寫器件地址i2c_sendbyte(0x40|ch
19、annel, 0); 發(fā)送控制寄存器i2c_stop();/ *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *
20、1* *1* *1* *1* *1* *1* *1* *1* *1* *1*函數(shù)名*函數(shù)功能*輸 入*輸 出:pcf8591readbyte:讀取一個(gè)轉(zhuǎn)換值:無(wú):dat彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳*/unsigned char pcf8591 readbyte()unsigned char dat;i2c_start();i2c_sendbyte(readaddr, 1);/ 發(fā)送讀器件地址dat=i2c_readbyte();讀取數(shù)據(jù)i2c_stop();結(jié)束總線re
21、turn dat;函數(shù)名:pcf8591 daconversion*函數(shù)功能:pcf8591的輸出端輸出模擬量:value (轉(zhuǎn)換的數(shù)值)void pcf8591 daconversion(unsigned char value)i2c_start();i2c_sendbyte(writeaddr, 1);/ 發(fā)送寫器件地址 i2c_sendbyte(0x40, 1); 開啟da寫到控制寄存器 i2c_sendbyte(value, 0);發(fā)送轉(zhuǎn)換數(shù)值i2c_stop();函數(shù)名函數(shù)功能:使用數(shù)碼管顯示void digdisplayounsigned char i;unsigned int j
22、;for(i=0;i<8;i+)switch(i)/位選,選擇點(diǎn)亮的數(shù)碼管,case(o):lsa=o;lsb=o;lsc=o; break;/顯示第 0 位case(l):lsa=1;lsb=o;lsc=o; break;/顯示第 1 位case(2):lsa=o;lsb=1;lsc=o; break;/顯示第 2 位case(3):lsa=1;lsb=1;lsc=o; break;/顯示第 3 位case(4):lsa=o;lsb=o;lsc=1; break;/顯示第 4 位case(5):lsa=1;lsb=o;lsc=1; break;/顯示第 5 位case(6):lsa=o
23、;lsb=1;lsc=1; break;/顯示第 6 位case(7):lsa= 1 ;lsb= 1 ;lsc= 1; break;/顯示第 7 位 gpio_dig=displaydatai;/ 發(fā)送段碼j=5oo;掃描間隔時(shí)間設(shè)定while(j);gpio_dig=oxoo; 消隱2 i2c.c#includehi2c.hn/ *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *
24、1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1*函數(shù)名*函數(shù)功能*輸 入*輸 出:delay lus():延時(shí):無(wú):無(wú) 彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳*/void i2c_de
25、layl0us()uchar a, b;for(b=l; b>0; b)for(a=2; a>0; a);/ *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1*
26、 *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* 函數(shù)名:i2c_start()*函數(shù)功能:起始信號(hào):在i2c_scl時(shí)鐘信號(hào)在高電平期間i2c.sda信號(hào)產(chǎn)生一個(gè)下降沿*輸入:無(wú)*輸出:無(wú)*備注:起始之后i2c_sda和i2c_scl都為0彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳void i2c_start()i2c_sda = 1;i2c_delayl0us();i2c_scl = 1;i2c_delayl0u
27、s();/建立時(shí)間是 i2c_sda 保持時(shí)間4.7usi2c_sda = 0;i2c_delay 10us();/ 保持時(shí)間是4usi2c_scl = 0;i2c_delayl0us();*函數(shù)名:i2c_stop()*函數(shù)功能:終止信號(hào):在i2c.scl時(shí)鐘信號(hào)高電平期間i2c.sda信號(hào)產(chǎn)生一個(gè)上升沿:結(jié)束之后保持i2c_sda和i2c_scl都為1;表示總線空閑void i2c_stop()i2c_sda = 0;i2c_delayl0us();i2c_scl = 1;i2c_delayl0us();/建立時(shí)間大于 4.7usi2c_sda = 1;i2c_delayl0us();/
28、*1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1*
29、*1* *1*函數(shù)名:i2csendbyte(uchar num)函數(shù)功能:通過i2c發(fā)送一個(gè)字節(jié)。在i2c_scl時(shí)鐘信號(hào)高電平期間,*保持發(fā)送信號(hào)i2c.sda保持穩(wěn)定:num ,ack:0或1。發(fā)送成功返回1,發(fā)送失敗返回0:發(fā)送完一個(gè)字節(jié)i2c_scl=0,需要應(yīng)答則應(yīng)答設(shè)置為1,否則為彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳*/uchar i2c_sendbyte(uchar dat, uchar ack)uchar a = 0,b = 0;/最大255, 個(gè)機(jī)器周期為l
30、us,最大延時(shí)255us。for(a=0; a<8; a+)要發(fā)送8位,從最高位開始i2c.sda = dat » 7; 起始信號(hào)之后i2c_scl=0,所以可以直接改變i2c_sda信 號(hào)dat = dat« 1;i2c_delayl0us();i2c_scl = 1;i2c_delay 10us();/ 建立時(shí)間 >4.7usi2c_scl = 0;i2c_delayl0us();/時(shí)間大于 4usi2c_sda = 1;i2c_delayl0us();i2c_scl = 1;while(i2c_sda && (ack = 1)/等待應(yīng)答,也
31、就是等待從設(shè)備把i2c.sda拉低b+;if(b > 200)如果超過200us沒有應(yīng)答發(fā)送失敗,或者為非應(yīng)答,表示接收結(jié)束i2c.scl = 0;i2c_delayl0us();return 0;i2c_scl = 0;i2c_delayl0us();return 1;/ *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1*
32、 *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* 函數(shù)名:i2creadbyte()*函數(shù)功能:使用i2c讀取一個(gè)字節(jié):無(wú):dat:接收完一個(gè)字節(jié)i2c_scl=0彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳彳*/uchar i2c_readb
33、yte()uchar a = o,dat = 0;i2c.sda = 1;起始和發(fā)送一個(gè)字節(jié)之后i2c.scl都是0i2c_delayl0us();for(a=0; a<8; a卄)接收8個(gè)字節(jié)i2c_scl = 1;i2c_delayl0us();dat «= 1;dat |= i2c_sda;i2c_delayl0us();i2c_scl = 0;i2c_delayl0us();return dat;3 i2c.h#ifndef_i2c_h_#define _i2c_h_# include<reg5 l.h>重定義關(guān)鍵詞-/#ifndef uchar#define uchar unsigned char#endif# ifndef uint#define uint unsigned int #endif-定義使用的10 口-/sbit i2c_scl = p2a1;sbit i2c_sda = p2a0;-聲明全局變量-/void i2c_delayl0u
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年下沉市場(chǎng)消費(fèi)金融場(chǎng)景化應(yīng)用與行業(yè)變革分析報(bào)告
- 藥品配送登記管理制度
- 藥害事件檢測(cè)管理制度
- 藥店庫(kù)房安全管理制度
- 藥店藥品儲(chǔ)存管理制度
- 設(shè)備信息資料管理制度
- 設(shè)備夜班工作管理制度
- 設(shè)備拆除維修管理制度
- 設(shè)備檢驗(yàn)維修管理制度
- 設(shè)備維護(hù)巡檢管理制度
- 安全檢查作業(yè)行為規(guī)范與專業(yè)知識(shí) -改
- 學(xué)校信息化建設(shè)十五五規(guī)劃方案
- 電機(jī)學(xué)II知到智慧樹章節(jié)測(cè)試課后答案2024年秋廣東工業(yè)大學(xué)
- JT-T-1178.2-2019營(yíng)運(yùn)貨車安全技術(shù)條件第2部分:牽引車輛與掛車
- 學(xué)前教育學(xué)備課課件(共54張PPT)
- 空調(diào)安裝安全協(xié)議書1
- 入團(tuán)志愿書(2016版本)(可編輯打印標(biāo)準(zhǔn)A4) (1)
- 中南大學(xué)計(jì)算機(jī)體系結(jié)構(gòu)題庫(kù)
- 三基訓(xùn)練習(xí)題集-風(fēng)濕免疫科(題目及答案)
- 無(wú)損檢測(cè)射線常見缺陷圖集
- 中小學(xué)教育懲戒規(guī)則(試行)解讀課件
評(píng)論
0/150
提交評(píng)論