PWM控制直流電機(jī)_第1頁(yè)
PWM控制直流電機(jī)_第2頁(yè)
PWM控制直流電機(jī)_第3頁(yè)
PWM控制直流電機(jī)_第4頁(yè)
PWM控制直流電機(jī)_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 PWM控制直流電機(jī) 電動(dòng)機(jī)調(diào)速系統(tǒng)采用微機(jī)實(shí)現(xiàn)數(shù)字化控制,是電氣傳動(dòng)發(fā)展的主要方向之一。采用微機(jī)控制后,整個(gè)調(diào)速系統(tǒng)實(shí)現(xiàn)全數(shù)字化,結(jié)構(gòu)簡(jiǎn)單,可靠性高,操作維護(hù)方便,電動(dòng)機(jī)穩(wěn)態(tài)運(yùn)轉(zhuǎn)時(shí)轉(zhuǎn)速精度可達(dá)到較高水平,靜動(dòng)態(tài)各項(xiàng)指標(biāo)均能較好地滿足工業(yè)生產(chǎn)中高性能電氣傳動(dòng)的要求。PWM 調(diào)速系統(tǒng)與可控整流式調(diào)速系統(tǒng)相比有下列優(yōu)點(diǎn)1 :由于PWM 調(diào)速系統(tǒng)的開(kāi)關(guān)頻率較高,僅靠電樞電感的濾波作用就可獲得平穩(wěn)的直流電流,低速特性好;同樣,由于開(kāi)關(guān)頻率高,快速響應(yīng)特性好,動(dòng)態(tài)抗干擾能力強(qiáng),可以獲得很寬的頻帶;開(kāi)關(guān)器件只工作在開(kāi)關(guān)狀態(tài),主電路損耗小,裝置效率高。PWM 調(diào)速系統(tǒng)很早已出現(xiàn),但是因?yàn)槿狈Ω咚匍_(kāi)關(guān)元件而未

2、能在生產(chǎn)實(shí)際中推廣應(yīng)用。在近年來(lái),由于大功率開(kāi)關(guān)器件的制造成功和成本的不斷下降, PWM調(diào)速系統(tǒng)又受到重視。1、鍵盤設(shè)置電機(jī)轉(zhuǎn)速原理 通過(guò)鍵盤按鍵在數(shù)碼管上顯示出來(lái)電機(jī)的給定轉(zhuǎn)速,鍵盤給定的數(shù)字量越大, PWM占空比越大,就驅(qū)動(dòng)晶體管導(dǎo)通的時(shí)間越長(zhǎng),這樣輸出的計(jì)數(shù)脈沖在單位時(shí)間內(nèi)也就越多,這樣就相當(dāng)于電機(jī)的電壓越大,其轉(zhuǎn)速也就會(huì)越快,我們?cè)儆脝纹瑱C(jī)對(duì)輸出脈沖計(jì)數(shù),PID調(diào)節(jié)器就把這個(gè)計(jì)數(shù)脈沖和預(yù)先設(shè)定的 值進(jìn)行比較,比設(shè)定值小,這樣就會(huì)得到一個(gè)偏差,再把這個(gè)偏差給定電壓,這樣就相當(dāng)于加大了PWM的占空比,要是比設(shè)定值大,這樣也會(huì)得到一個(gè)偏差,就把這個(gè)變差與給定的電壓向減,這樣就可以減少PWM的

3、占空比,通過(guò)改變占空比來(lái)改變晶體管的導(dǎo)通時(shí)間,就可以改變壓頻轉(zhuǎn)換器的輸入電壓,也就改變壓頻轉(zhuǎn)換器的單位計(jì)數(shù)脈沖,達(dá)到調(diào)電動(dòng)機(jī)速度的目的。2、AD轉(zhuǎn)換設(shè)置電機(jī)轉(zhuǎn)速(1)、原理 基本的設(shè)計(jì)核心是運(yùn)用PID調(diào)節(jié)器,運(yùn)用A/D轉(zhuǎn)換芯片將滑動(dòng)變阻器的模擬電壓轉(zhuǎn)換為數(shù)字量作為控制直流電機(jī)速度的給定值;我們現(xiàn)運(yùn)用AD芯片,運(yùn)用單片機(jī)來(lái)控制AD芯片來(lái)轉(zhuǎn)換模擬電壓到數(shù)字電壓,AD給定的電壓越大,則產(chǎn)生的數(shù)字量越大,單片機(jī)再控制這個(gè)數(shù)字量來(lái)產(chǎn)生一個(gè)PWM,PWM占空比越大,就驅(qū)動(dòng)晶體管導(dǎo)通的時(shí)間越長(zhǎng),這樣加到壓頻轉(zhuǎn)換器的電壓也就越大,電壓越大,則壓頻轉(zhuǎn)換器輸出的計(jì)數(shù)脈沖再單位時(shí)間也就越多,這樣就相當(dāng)于電機(jī)的電壓越

4、大,其轉(zhuǎn)速也就會(huì)越快,我們?cè)儆脝纹瑱C(jī)對(duì)壓頻轉(zhuǎn)換器的輸出脈沖計(jì)數(shù),PID調(diào)節(jié)器就把這個(gè)計(jì)數(shù)脈沖和預(yù)先設(shè)定的 值進(jìn)行比較,比設(shè)定值小,這樣就會(huì)得到一個(gè)偏差,再把這個(gè)偏差加到AD的給定電壓,這樣就相當(dāng)于加大了PWM的占空比,要是比設(shè)定值大,這樣也會(huì)得到一個(gè)偏差,就把這個(gè)變差與給定的電壓向減,這樣就可以減少PWM的占空比,通過(guò)改變占空比來(lái)改變晶體管的導(dǎo)通時(shí)間,就可以改變壓頻轉(zhuǎn)換器的輸入電壓,也就改變壓頻轉(zhuǎn)換器的單位計(jì)數(shù)脈沖,達(dá)到調(diào)電動(dòng)機(jī)速度的目的。(2)、模塊圖3、單片機(jī)雙機(jī)通訊4、調(diào)速原理PWM(即脈沖寬度調(diào)制)是通過(guò)控制固定電壓的直流電源開(kāi)關(guān)頻率,改變負(fù)載兩端的電壓,從而達(dá)到控制要求的一種電壓調(diào)整

5、方法。PWM 可以應(yīng)用在許多方面,比如:電機(jī)調(diào)速、溫度控制、壓力控制等等。采用由達(dá)林頓管組成的H型PWM電路。用單片機(jī)控制達(dá)林頓管使之工作在占空比可調(diào)的開(kāi)關(guān)狀態(tài),精確調(diào)整電動(dòng)機(jī)轉(zhuǎn)速。這種電路由于工作在管子的飽和截止模式下,效率非常高;H型電路保證了可以簡(jiǎn)單地實(shí)現(xiàn)轉(zhuǎn)速和方向的控制;電子開(kāi)關(guān)的速度很快,穩(wěn)定性也極佳,是一種廣泛采用的PWM調(diào)速技術(shù)。我們采用了定頻調(diào)寬方式,因?yàn)椴捎眠@種方式,電動(dòng)機(jī)在運(yùn)轉(zhuǎn)時(shí)比較穩(wěn)定;并且在采用單片機(jī)產(chǎn)生PWM脈沖的軟件實(shí)現(xiàn)上比較方便。且對(duì)于直流電機(jī),采用軟件延時(shí)所產(chǎn)生的定時(shí)誤差在允許范圍。5 電源模塊設(shè)計(jì)5.1、原理通過(guò)變壓器將220V的交流電壓變?yōu)榧s為12V的交流電

6、壓,通過(guò)整流橋?qū)⒔涣麟妷鹤優(yōu)橹绷麟妷?,由于電壓有波?dòng),需經(jīng)電容濾波濾除雜波,而后在經(jīng)過(guò)穩(wěn)壓管(三端穩(wěn)壓集成電路有正電壓輸出的78××系列和負(fù)電壓輸出的79××系列。故名思義,三端IC是指這種穩(wěn)壓用的集成電路只有三條引腳輸出,分別是輸入端、接地端和輸出端。)7805和7809將電壓變?yōu)榛痉€(wěn)定的5V和9V的直流電壓5.2、電路圖6 鍵盤模塊設(shè)計(jì)6.1原理鍵是一種常開(kāi)型按鈕開(kāi)關(guān),平時(shí)鍵的二個(gè)觸點(diǎn)處于斷開(kāi)狀態(tài),按下鍵時(shí)它們才閉合。鍵盤上閉合鍵的識(shí)別由專用的硬件譯碼器實(shí)現(xiàn)并產(chǎn)生鍵編號(hào)或鍵值的稱為編碼鍵盤,在按鍵數(shù)量較多的場(chǎng)合,矩陣鍵盤與獨(dú)立按鍵鍵盤相比,要節(jié)省很

7、多的I/O口。矩陣鍵盤的按鍵設(shè)置在行、列線的交點(diǎn)上,行、列線分別連接到按鍵開(kāi)關(guān)的兩端。列線通過(guò)上拉電阻接到+5V。平時(shí)無(wú)按鍵動(dòng)作時(shí),列線處于高電平狀態(tài),而當(dāng)由按鍵按下時(shí),列線電平狀態(tài)將由與此列線相連的行線電平?jīng)Q定。行線電平如果為低,則列線電平為低;行線電平如果為高,則列線電平亦為高。當(dāng)鍵盤中沒(méi)有鍵按下時(shí),所有行線的輸出都應(yīng)為低電平,以區(qū)別于列線狀態(tài),當(dāng)矩陣鍵盤中任何一只鍵按下時(shí),與門輸出由高電平變?yōu)榈碗娖剑駽PU申請(qǐng)中斷,由于矩陣鍵盤中行、列線為多鍵共用,各按鍵均影響該鍵所在行和列的電平。因此各按鍵彼此將相互發(fā)生影響,所以必須將行、列線信號(hào)配合起來(lái)并作適當(dāng)?shù)奶幚?,才能確定閉合鍵的位置。6.2

8、電路圖7顯示模塊設(shè)計(jì)7.1原理數(shù)碼管顯示電路的鏈接比較簡(jiǎn)單,當(dāng)鍵盤輸入的鍵值(即轉(zhuǎn)速值)輸入完成后,數(shù)碼管開(kāi)始進(jìn)行顯示,從低到高依次顯示速度值的百位,十位和個(gè)位。依靠不斷掃描形成全部都顯示的目的7.2電路圖8電機(jī)驅(qū)動(dòng)電路-H橋模塊設(shè)計(jì)8.1、原理H橋式電機(jī)驅(qū)動(dòng)電路包括4個(gè)三極管和一個(gè)電機(jī),電路得名于“H橋驅(qū)動(dòng)電路”是因?yàn)樗男螤羁崴谱帜窰。要使電機(jī)運(yùn)轉(zhuǎn),必須導(dǎo)通對(duì)角線上的一對(duì)三極管。根據(jù)不同三極管對(duì)的導(dǎo)通情況,電流可能會(huì)從左至右或從右至左流過(guò)電機(jī),從而控制電機(jī)的轉(zhuǎn)向。8.2、電路圖9 霍爾測(cè)速模塊設(shè)計(jì)9.1霍爾傳感器的工作原理霍爾開(kāi)關(guān)集成電路中的信號(hào)放大器將霍爾元件產(chǎn)生的幅值隨磁場(chǎng)強(qiáng)度變化的霍

9、爾電壓UH放大后再經(jīng)信號(hào)變換器、驅(qū)動(dòng)器進(jìn)行整形、放大后輸出幅值相等、頻率變化的方波信號(hào)。信號(hào)輸出端每輸出一個(gè)周期的方波,代表轉(zhuǎn)過(guò)了一個(gè)齒。單位時(shí)間內(nèi)輸出的脈沖數(shù)N,因此可求出單位時(shí)間內(nèi)的速度VNT,從而實(shí)現(xiàn)達(dá)到測(cè)電機(jī)轉(zhuǎn)速的功能。9.2電路圖10 ADC轉(zhuǎn)換模塊設(shè)計(jì)10.1、原理在這里ADC轉(zhuǎn)換我們通過(guò)IIC總線原理來(lái)實(shí)現(xiàn)的。IIC總線是由數(shù)據(jù)線SDA和時(shí)鐘SCL構(gòu)成的串行總線,可發(fā)送和接收數(shù)據(jù)。各種被控制電路均并聯(lián)在這條總線上,所以每個(gè)電路和模塊都有唯一的地址,在信息的傳輸過(guò)程中,IIC總線上并接的每一模塊電路既是主控器,又是發(fā)送器,這取決于它所要完成的功能。CPU發(fā)出的控制信號(hào)分為地址碼和控

10、制量?jī)刹糠?,地址碼用來(lái)選址,即接通需要控制的電路,確定控制的種類;控制量決定該調(diào)整的類別及需要調(diào)整的量。IIC總線在傳送數(shù)據(jù)過(guò)程中共有三種類型信號(hào),它們分別是:開(kāi)始信號(hào)、結(jié)束信號(hào)和應(yīng)答信號(hào)。  開(kāi)始信號(hào):SCL為高電平時(shí),SDA由高電平向低電平跳變,開(kāi)始傳送數(shù)據(jù)。   結(jié)束信號(hào):SCL為低電平時(shí),SDA由低電平向高電平跳變,結(jié)束傳送數(shù)據(jù)。   應(yīng)答信號(hào):接收數(shù)據(jù)的IC在接收到8bit數(shù)據(jù)后,向發(fā)送數(shù)據(jù)的IC發(fā)出特定的低電平脈沖,表示已收到數(shù)據(jù)。10.2、電路圖11 單片機(jī)雙機(jī)通訊模塊設(shè)計(jì)串口通訊對(duì)單片機(jī)而言意義重大,不但可以實(shí)現(xiàn)將單片機(jī)的數(shù)據(jù)傳輸?shù)接?jì)算機(jī)端,而且也

11、能實(shí)現(xiàn)計(jì)算機(jī)對(duì)單片機(jī)的控制。由于其所需電纜線少,接線簡(jiǎn)單,所以在較遠(yuǎn)距離傳輸中,得到了廣泛的運(yùn)用。11.1、原理 波特率選擇:波特率就是在串口通信中每秒能夠發(fā)送的位數(shù)。MCS-51串行端口在四種工作模式下有不同的波特率計(jì)算方法。 通信協(xié)議的使用:通信協(xié)議是通信設(shè)備在通信前的約定。單片機(jī)、計(jì)算機(jī)有了協(xié)議這種約定,通信雙方才能明白對(duì)方的意圖,以進(jìn)行下一步動(dòng)作。假定我們需要在PC機(jī)與單片機(jī)之間進(jìn)行通信,在雙方程式設(shè)計(jì)過(guò)程中,有如下約定:    0xA1:?jiǎn)纹瑱C(jī)讀取P0端口數(shù)據(jù),并將讀取數(shù)據(jù)返回PC機(jī);    0xA2:?jiǎn)纹瑱C(jī)從PC機(jī)接收一段

12、控制數(shù)據(jù);    0xA3:?jiǎn)纹瑱C(jī)操作成功信息。11.2、電路圖軟件系統(tǒng)程序(1)單片機(jī)軟件系統(tǒng)程序/*包含頭文件*/#include<reg52.h>#include <intrins.h>/*數(shù)碼管表格*/unsigned char ledmap=0xC0, 0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x8c,0xf0,0xbf;/0x88,0x83,0xc6,0xa1,0x86,0x8eunsigned char ledbuf8;unsigned char flag;unsigned c

13、har num=0;unsigned char keybuf2;unsigned char m,n,k,l,s;unsigned char keydata;/鍵盤輸入值unsigned int count=0; /定時(shí)器的累加器unsigned int CYCLE; /定義定時(shí)器的周期unsigned int plus=0; /接收到外部脈沖的數(shù)unsigned char databuf; /轉(zhuǎn)速處理值unsigned int CYC; /定義周期 該數(shù)字X基準(zhǔn)定時(shí)時(shí)間 如果是1000 則周期是1000 x 0.1msunsigned int PWM_ON ;/定義高電平時(shí)間unsigned

14、int cont; unsigned char tmp; /串口接收值unsigned char Flag1=0;unsigned char tt=0;unsigned char j;sbit led1=P35;sbit pwm= P36;/定義pwm輸出口sbit Bee=P37; /定義蜂鳴器端口/*- 定時(shí)器初始化子程序-*/void Init_Timer(void)TMOD |= 0x21; /使用模式1,16位定時(shí)器,使用"|"符號(hào)可以在使用多個(gè)定時(shí)器時(shí)不受影響 TH0=0xDC; TL0=0x00; /定時(shí)10mSTH1 = 0xA3; /晶振12M 定時(shí)0.1

15、ms TL1 = 0xA3; ET0=1; /定時(shí)器中斷打開(kāi) ET1=1; /* 延時(shí)子程序*/void delay(unsigned char t) unsigned char i; while(t-!=0) for(i=255;i!=0;i-);/*- 定時(shí)器初始化子程序-*/void Init_int0(void) IT0=1; /電平觸發(fā) EX0=1; /外部中斷0開(kāi)/*- 外部中斷0中斷子程序-*/void int0(void) interrupt 0 plus+; led1=led1;/*- 定時(shí)器中斷子程序-*/void time0(void) interrupt 1 count

16、+; if(count=CYCLE) count=0; databuf=plus;plus=0;if(tt!=2) tt+; TH0=0xDC; TL0=0x00; /定時(shí)10mS /*- 轉(zhuǎn)速數(shù)據(jù)處理顯示子程序-*/void datamake(unsigned int th) unsigned char a1,a2;a1=th/10;a2=th%10;ledbuf0=ledmap10;ledbuf1=ledmap12;ledbuf2=ledmapa1;ledbuf3=ledmapa2;/* 定時(shí)器中斷函數(shù) */void time1(void) interrupt 3 /定時(shí)器1中斷 cont

17、+;if (cont=PWM_ON) pwm = 1; /燈滅 if(cont = CYC) cont=0; pwm = 0; /燈亮 /* 按鍵檢測(cè)子程序*/unsigned char testkey() P1=0x0f;return(P1&0x0f);/* 比較處理函數(shù) */void compare(unsigned int th1,unsigned int th2) if(th1!=th2) if(th1<th2) Flag1=1; else Flag1=2; if(Flag1=1) PWM_ON= PWM_ON+10; if(PWM_ON > 800) Bee=0;

18、 delay(100); Bee=1; if(Flag1=2) /亮度遞減 同上,是個(gè)相反的過(guò)程 PWM_ON= PWM_ON-5; if(PWM_ON < 45) Bee=0; delay(100); Bee=1; /*函數(shù)功能:LED顯示子程序*/void display() unsigned char i; unsigned char pos; unsigned char led; pos=0xfe; for(i=0;i<8;i+) P2=0xff; led=ledbufi; P0=led; P2=pos; delay(1); pos= _crol_(pos,1);/*函數(shù)功

19、能:鍵盤掃描子程序*/void keyscan(void) unsigned char n;/掃描第一行P1=0xfe;n=P1;n&=0xf0;if(n!=0xf0) P1=0xfe; n=P1; n&=0xf0; if(n!=0xf0) switch(n) case(0xe0):flag=7;break; case(0xd0):flag=4;break; case(0xb0):flag=1;break; case(0x70):flag=0x0a;break; /掃描第二行P1=0xfd;n=P1;n&=0xf0;if(n!=0xf0) P1=0xfd; n=P1;

20、n&=0xf0; if(n!=0xf0)switch(n)case(0xe0):flag=8;break; case(0xd0):flag=5;break; case(0xb0):flag=2;break; case(0x70):flag=0;break; /掃描第三行P1=0xfb;n=P1;n&=0xf0;if(n!=0xf0) P1=0xfb; n=P1; n&=0xf0; if(n!=0xf0)switch(n)case(0xe0):flag=9;break; case(0xd0):flag=6;break; case(0xb0):flag=3;break; c

21、ase(0x70):flag=0x0b;break; /掃描第四行P1=0xf7;n=P1;n&=0xf0;if(n!=0xf0)P1=0xf7;n=P1;n&=0xf0; if(n!=0xf0)switch(n)case(0xe0):flag=0x0f;break; case(0xd0):flag=0x0e;break; case(0xb0):flag=0x0d;break; case(0x70):flag=0x0c;break; /* A/D轉(zhuǎn)換子程序*/void uart_int() SCON = 0x50; /設(shè)定串行口工作方式PCON &= 0xef;/波特率

22、不倍增TH2=0xFF;TL2=0xDC;RCAP2H = 0xFF;/ 波特率9600RCAP2L = 0xDC;T2CON = 0x34;/ 定時(shí)器1工作于8位自動(dòng)重載模式, 用于產(chǎn)生波特率TR2 = 1;/ 啟動(dòng)定時(shí)器1 /*函數(shù)功能:主程序*/void main(void) unsigned char i; bit conv; num=0;pwm=1; CYCLE=100; CYC=1000; /時(shí)間周期可以調(diào)整 Init_int0(); Init_Timer(); uart_int(); IP=0x01; /設(shè)置T0中斷為高優(yōu)先級(jí) EA=1; /總中斷打開(kāi) PWM_ON =100;w

23、hile(1) display();if(testkey() keyscan();dodelay(1); while(testkey(); num+;if(flag=0x0a) num=0; for(i=0;i<2;i+) keybufi=0;if(flag=0x0B) num=0; TR1=1; TR0=1; /定時(shí)器0開(kāi)關(guān)打開(kāi) PWM_ON =100;flag=0;if(flag=0x0C) num=0; TR1=0; pwm=1; PWM_ON =100; flag=0; if(flag=0x0E) num=0; conv=0; if(flag=0x0D) num=0; conv=

24、1;if(conv=1) if(RI)/ 是否有數(shù)據(jù)到來(lái) RI = 0; tmp = SBUF;/ 暫存接收到的數(shù)據(jù)keydata=tmp; m=keydata/10; n=keydata%10; if(conv=0) if(num=1) keybuf0=flag; if(num=2) keybuf1=flag;m=keybuf0;n=keybuf1;keydata=m*10+n; ledbuf4=ledmap11; ledbuf5=ledmap12; ledbuf6=ledmapm; ledbuf7=ledmapn; display(); datamake(databuf); if(tt=1

25、) compare(databuf,keydata); tt=0; display(); (2)、單片機(jī)軟件系統(tǒng)程序#include<reg52.h>/包含頭文件,#include <intrins.h> /包含NOP空指令函數(shù)_nop_();#define AddWr 0x90 ; /寫數(shù)據(jù)地址 #define AddRd 0x91 ; /讀數(shù)據(jù)地址sbit Sda=P12; /定義總線連接端口sbit Scl=P11;bit ADFlag; /定義AD采樣標(biāo)志位unsigned char ADtemp;unsigned char code Datatab=0x3f,

26、0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/7段數(shù)共陰碼管段碼表unsigned char code table=0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7;data unsigned char Display8;/定義臨時(shí)存放數(shù)碼管數(shù)值/*- 初始化定時(shí)器1-*/void Init_Timer0(void) TMOD |= 0x01; TH0=0xff; /*Initvalue */ TL0=0x00; ET0=1; /* enable timer1 interrupt */ TR0=1; /*- 啟動(dòng)IIC

27、總線-*/void Start(void) Sda=1; _nop_(); Scl=1; _nop_(); Sda=0; _nop_(); Scl=0;/*- 停止IIC總線-*/void Stop(void) Sda=0; _nop_(); Scl=1; _nop_(); Sda=1; _nop_(); Scl=0; /*- 應(yīng)答IIC總線-*/void Ack(void) Sda=0;_nop_();Scl=1;_nop_();Scl=0;_nop_();/*- 非應(yīng)答IIC總線-*/void NoAck(void) Sda=1; _nop_(); Scl=1; _nop_(); Scl=

28、0; _nop_(); /*- 發(fā)送一個(gè)字節(jié)-*/void Send(unsigned char Data) unsigned char BitCounter=8; unsigned char temp;do temp=Data; Scl=0;_nop_(); if(temp&0x80)=0x80)Sda=1; else Sda=0;Scl=1;temp=Data<<1;Data=temp;BitCounter-; while(BitCounter); Scl=0;/*- 讀入一個(gè)字節(jié)并返回-*/ unsigned char Read(void) unsigned char

29、 temp=0;unsigned char temp1=0;unsigned char BitCounter=8;Sda=1;do Scl=0; _nop_();Scl=1;_nop_();if(Sda) temp=temp|0x01;else temp=temp&0xfe;if(BitCounter-1) temp1=temp<<1; temp=temp1; BitCounter-;while(BitCounter);return(temp);/*- 讀取AD模數(shù)轉(zhuǎn)換的值,有返回值-*/unsigned char ReadADC(unsigned char Chl) unsigned char Data;Start(); /寫入芯片地址Send(AddWr);Ack();Send(0x40|Chl);/寫入選擇的通道,本程序只用單端輸入,差分部分需要自行添加 /Chl的值分別為0、1、2、3,分別代表1-4通道Ack();Start();Send(AddRd); /讀入地址Ack();Data=Read(); /讀數(shù)據(jù)Scl=0;N

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論