freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機(jī)數(shù)控直流電源設(shè)計(jì)_畢業(yè)論文-資料下載頁(yè)

2025-06-30 21:11本頁(yè)面

【導(dǎo)讀】本次我們所設(shè)計(jì)的數(shù)控直流穩(wěn)壓電源與傳統(tǒng)的穩(wěn)壓電源相比,具有操作方便,模擬電壓,然后經(jīng)過(guò)射極跟隨器控制調(diào)整輸出級(jí)輸出所需的穩(wěn)定電壓。芯片實(shí)時(shí)測(cè)試顯示輸出電壓的變化,使設(shè)計(jì)更加人性化。PIC單片機(jī)系列是美國(guó)微芯公司。的產(chǎn)品,是當(dāng)前市場(chǎng)份額增長(zhǎng)最快的單片機(jī)之一。的I/O口是雙向的,其輸出電路為CMOS互補(bǔ)推挽輸出電路。E等),從而解決了51系列I/O腳為高電平時(shí)同為輸入和輸出的狀態(tài)。入電流達(dá)25mA,高電平輸出電流可達(dá)20mA。大的優(yōu)點(diǎn),它可以直接驅(qū)動(dòng)數(shù)碼管顯示且外電路簡(jiǎn)單。有一套完整的按位操作系統(tǒng),稱作位處理器,或布爾處理器。它不光能對(duì)片內(nèi)某些特殊功能寄存器的某位進(jìn)行處理,如傳送、當(dāng)該腳作輸出腳使用時(shí),則為。高電平或低電平均可。LM117/LM317的輸出電壓范圍是至37V,負(fù)載電流最大為。LM117/LM317內(nèi)置有過(guò)載保護(hù)、安全區(qū)保護(hù)。LM117/LM317輸入端的連線超過(guò)6英寸。該器件具有共模抑制比高,響應(yīng)速度快和壓擺率高的特點(diǎn)。

  

【正文】 /*==================================================*/ /*==================================================*/ /*==================================================*/ /*==================================================*/ /*===================AD轉(zhuǎn)換 ========================*/ /*==================================================*/ uint adwork() //讀出上一次 AD值,并開(kāi)始下一次轉(zhuǎn)換 { uint din=0。 uchar dout,i。 dout=0x0c。 //選擇控制命令 0000 1011, 0000指選擇的通道, 10數(shù)據(jù)長(zhǎng)度 12bits,1前導(dǎo)選擇 LSB first, 1單雙極性選擇 Bipolar while(ADEOC==0)。 //等待上一次通訊完成, EOC自動(dòng)置一 ADCLOCK=0。 //EOC, CS置零開(kāi)始本次通訊 adcs=0。 for(i=0。i16。i) { if(doutamp。0x80)//1000 0000 ADIN=1。 //控制命令從 MSBLSB,向 AD發(fā)數(shù), adin為端口號(hào) else ADIN=0。 ADCLOCK=1。 //時(shí)鐘一個(gè)周期開(kāi)始,讀數(shù)據(jù) dout=1。 //左移,準(zhǔn)備輸入下一位值 din=1。 //左移,準(zhǔn)備接受下一位值 if(ADOUT==1) din=din|0x0001。//接收 AD數(shù)據(jù) ,從 MSBLSB ADCLOCK=0。 //時(shí)鐘一個(gè)周期結(jié)束,準(zhǔn)備傳輸數(shù)據(jù) } adcs=1。 return(din4)。 //16位,右移四位變?yōu)?12位精度 } /*==================================================*/ /*===================AD轉(zhuǎn)換 =========================*/ /*==================================================*/ /*==================================================*/ /*==================================================*/ /*==================================================*/ /*================獨(dú)立鍵盤(pán)掃描 ======================*/ /*==================================================*/ void keyscan() { if(flag==0) { if(s1==0) { delayms(5)。 if(s1==0) { s1num++。 if(s1num==1) { flag0=1。 //flag0為 1時(shí),數(shù)碼管顯示步進(jìn)電壓,按確定鍵之后, DA按 bujin值輸出電壓 } if(s1num==2) { flag0=2。 //flag0為 2時(shí),數(shù)碼管顯示常用電壓,按確定鍵之后, DA按 table3[flag1]值輸出電壓 } if(s1num==3) { flag0=3。 //flag0為 3時(shí),數(shù)碼管顯示電路電壓,并開(kāi)啟 bubu函數(shù) } if(s1num==4) { s1num=0。 } } } while(!s1) //等待松手釋放 { if(flag0==1) { shebujin()。 } if(flag0==2) { shechang()。 } if(flag0==3) { xianshu()。 } } if(s1num!=0) { if(s2==0) { delayms(5)。 if(s2==0) { if(s1num==1) { bujin++。 if(bujin==1301) { bujin=0。 } } if(s1num==2) { flag1++。 if(flag1==5) flag1=0。 } } } while(!s2) //等待松手釋放 { if(s1num==1) { shebujin()。 } if(s1num==2) { shechang()。 } } if(s3==0) { delayms(5)。 if(s3==0) { if(s1num==1) { bujin。 if(bujin==1) { bujin=1300。 } } if(s1num==2) { flag1。 if(flag1==1) flag1=4。 } } } while(!s3) //等待松手釋放 { if(s1num==1) { shebujin()。 } if(s1num==2) { shechang()。 } } } } if(s4==0) { delayms(5)。 if(s4==0) { s4num++。 if(s4num==1) //確定鍵 { flag=0。 //flag為 0時(shí)解鎖鍵盤(pán) s1num=0。 //此時(shí)數(shù)碼管處于顯示狀態(tài) } if(s4num==2) { flag=1。 //flag為 1時(shí)鎖定鍵盤(pán),按 s1,s2,s3鍵無(wú)效 } if(s4num==3) { s4num=0。 flag=0。 //flag為 0時(shí)解鎖鍵盤(pán) } } while(!s4) xianshu()。 } } /*==================================================*/ /*================獨(dú)立鍵盤(pán)掃描 ========================*/ /*==================================================*/ /*==================================================*/ /*==================================================*/ /*==================================================*/ /*================顯示輸出電壓函數(shù) ====================*/ /*==================================================*/ void xianshu() { write_add(1,adwork())。 //I2C通訊 delayms(100)。 shu=read_add(1)**num0。 //此處的 num0為顯示比例,輸出電壓除以 AD芯片( TLC2543)的讀取電壓的比值 //其中 read_add(1)* AD芯片讀取的電壓值,單位為 V,為了輸入數(shù)碼管 //方便,故乘以 100,以便顯示到小數(shù)點(diǎn)后兩位 qian=shu/1000。 bai=shu%1000/100。 shi=shu%100/10。 ge=shu%10。 display(qian,bai,shi,ge)。 } /*==================================================*/ /*================顯示輸出電壓函數(shù) ====================*/ /*==================================================*/ /*==================================================*/ /*==================================================*/ /*==================================================*/ /*================設(shè)定步進(jìn)電壓函數(shù) ====================*/ /*==================================================*/ void shebujin() { write_add(10,bujin)。 //I2C通訊 delayms(100)。 //bujin=1,U= bujin=read_add(10)。 qian=bujin/1000。 bai=bujin%1000/100。 shi=bujin%100/10。 ge=bujin%10。 display(qian,bai,shi,ge)。 } /*==================================================*/ /*================設(shè)定步進(jìn)電壓函數(shù) ====================*/ /*==================================================*/ /*==================================================*/ /*==================================================*/ /*==================================================*/ /*================設(shè)定常用電壓函數(shù) ====================*/ /*==================================================*/ void shechang() { write_add(20,flag1)。 //I2C通訊 delayms(100)。 flag1=read_add(20)。 qian=table3[flag1]/1000。 bai=table3[flag1]%1000/100。 shi=table3[flag1]%100/10。 ge=table3[flag1]%10。 display(qian,bai,shi,ge)。 } void bubustart() { yibu=shu。 TR1=1。 } void bubu() { if(a==0) { yibu=yibu+10。 if(yibu1291) a=1。 } if(a==1) { yibu=yibu10。 if(yibu10) a=0。 } dastart(yibu)。 xianshu()。 } void bubustop() { TR1=0。 } 參考文獻(xiàn):
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1