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

正文內(nèi)容

基于單片機數(shù)控直流電源設(shè)計_畢業(yè)論文(參考版)

2025-07-05 21:11本頁面
  

【正文】 } 參考文獻(xiàn): 。 xianshu()。 if(yibu10) a=0。 if(yibu1291) a=1。 TR1=1。 display(qian,bai,shi,ge)。 shi=table3[flag1]%100/10。 qian=table3[flag1]/1000。 //I2C通訊 delayms(100)。 display(qian,bai,shi,ge)。 shi=bujin%100/10。 qian=bujin/1000。 //I2C通訊 delayms(100)。 display(qian,bai,shi,ge)。 shi=shu%100/10。 //此處的 num0為顯示比例,輸出電壓除以 AD芯片( TLC2543)的讀取電壓的比值 //其中 read_add(1)* AD芯片讀取的電壓值,單位為 V,為了輸入數(shù)碼管 //方便,故乘以 100,以便顯示到小數(shù)點后兩位 qian=shu/1000。 //I2C通訊 delayms(100)。 //flag為 0時解鎖鍵盤 } } while(!s4) xianshu()。 //flag為 1時鎖定鍵盤,按 s1,s2,s3鍵無效 } if(s4num==3) { s4num=0。 //flag為 0時解鎖鍵盤 s1num=0。 if(s4==0) { s4num++。 } if(s1num==2) { shechang()。 if(flag1==1) flag1=4。 if(bujin==1) { bujin=1300。 } } if(s3==0) { delayms(5)。 } } } while(!s2) //等待松手釋放 { if(s1num==1) { shebujin()。 } } if(s1num==2) { flag1++。 if(s2==0) { if(s1num==1) { bujin++。 } if(flag0==3) { xianshu()。 } } } while(!s1) //等待松手釋放 { if(flag0==1) { shebujin()。 //flag0為 2時,數(shù)碼管顯示常用電壓,按確定鍵之后, DA按 table3[flag1]值輸出電壓 } if(s1num==3) { flag0=3。 if(s1num==1) { flag0=1。 //16位,右移四位變?yōu)?12位精度 } /*==================================================*/ /*===================AD轉(zhuǎn)換 =========================*/ /*==================================================*/ /*==================================================*/ /*==================================================*/ /*==================================================*/ /*================獨立鍵盤掃描 ======================*/ /*==================================================*/ void keyscan() { if(flag==0) { if(s1==0) { delayms(5)。 //時鐘一個周期結(jié)束,準(zhǔn)備傳輸數(shù)據(jù) } adcs=1。 //左移,準(zhǔn)備接受下一位值 if(ADOUT==1) din=din|0x0001。 //時鐘一個周期開始,讀數(shù)據(jù) dout=1。 //控制命令從 MSBLSB,向 AD發(fā)數(shù), adin為端口號 else ADIN=0。i) { if(doutamp。 for(i=0。 //等待上一次通訊完成, EOC自動置一 ADCLOCK=0。 dout=0x0c。 } /*==================================================*/ /*==========I2C總線通訊讀寫,啟動,停止函數(shù) =========*/ /*==================================================*/ /*==================================================*/ /*==================================================*/ /*==================================================*/ /*===================AD轉(zhuǎn)換 ========================*/ /*==================================================*/ uint adwork() //讀出上一次 AD值,并開始下一次轉(zhuǎn)換 { uint din=0。 stop()。 respons()。 start()。 write_byte(address)。 write_byte(0xa0)。 } uchar read_add(uchar address) { uchar date。 //寫函數(shù) respons()。 //器件內(nèi)部存儲器的地址,為隨便任意數(shù) respons()。 */ respons()。 write_byte(0xa0)。 } return k。 SCL=0。 j=SDA。i++) { SCL=1。 for(i=0。 SDA=1。 SCL=0。 delay()。 delay()。 delay()。 delay()。 delay()。i++) { temp=temp1。 for(i=0。 } void write_byte(uchar date) { uchar i,temp。 SCL=0。amp。 delay()。 } void respons() { uchar i=0。 SDA=1。 SCL=1。 } void stop() //終止 I2C總線的函數(shù) { SDA=0。 SDA=0。 SCL=1。 //關(guān)閉定時器,即關(guān)閉 bubu函數(shù) } } } /*==================================================*/ /*==================================================*/ /*==========I2C總線通訊讀寫,啟動,停止函數(shù) =========*/ /*==================================================*/ void start() //啟動 I2C總線的函數(shù) { SDA=1。 } if(s1==0) { delayms(5)。 if(tt==10) { tt=0。 TL0=(6553650000)%256。 //讓電路初始化 } } void timer1() interrupt 3 //用于 bubu函數(shù)的每秒步進(jìn) { uchar tt=0。 if(aa==20*5) { aa=0。 TL0=(6553650000)%256。 } } void timer0() interrupt 1 //用于當(dāng)電流超過 5秒復(fù)位 { uchar aa=0。 //讓電路初始化 } if(adwork()=max*) { di=0。 delayms(5)。 P0=0xef。 P0=0xff。 P0=table1[ge]。 delayms(5)。 P0=0xdf。 P0=0xff。 P0=table1[shi]。 delayms(5)。 P0=0xbf。 P0=0xff。 P0=table2[bai]。 delayms(5)。 P0=0x7f。 P0=0xff。 P0=table1[qian]。 //關(guān)閉 DA wr=1。 //P0為 DA接口 ,num1的值為放大比例,即輸出電流除以 DA芯片( DAC0832)的輸出電壓 *100(即顯示的值 )的比值 delayms(200)。 //開啟 DA wr=0。 //關(guān)閉數(shù)碼管 顯示 wela=0。y)。x) for(y=110。 for(x=z。 。 flag1=0。 flag=0。 s1num=0。 bujin=0。 TR1=0。 EA=1。 TH1=(6553650000)/256。 ET0=1。 //初始化定時器 0,關(guān)閉 TL0=(6553650000)%256。 TMOD=0x11。 SCL=1。 SDA=1。 csda=1。 //蜂鳴器,關(guān)閉 wela=0。 //結(jié)束步步函數(shù) } } didi()。 //使 DA芯片輸出指定的常用電壓的相應(yīng)電流 } if(flag0==3) { bubustart()。 //設(shè)定常用電壓函數(shù) } if(s1num==0) { if(flag0==1) { dastart(bujin)。 //顯示輸出電壓函數(shù) } if(s1num==1) { shebujin()。 while(1) { keyscan()。 //結(jié)束 bubu函數(shù)模式,數(shù)碼管顯示電路中的電壓 uint adwork()。 //bubu每隔 ,先增大,至超過 13V時,再減小 void bubustart()。 //設(shè)定并顯示設(shè)定的步進(jìn)電壓 void shechang()。 //DA開始,并輸出指定電壓,其中 x為需要輸出的電壓 void xianshu()。 //數(shù)碼管顯示,格式為 XX. XX void didi()。 //在指定地址寫數(shù)據(jù) uchar read_add(uchar address)。 //寫數(shù)據(jù) uchar read_byte()。 //停止 I2C通訊 void respons()。 //鍵盤掃描函數(shù) /*I2C函數(shù)聲明 */ void start()。 //延時單位為毫秒 void init()。 //蜂鳴器 void delay()。 //AD轉(zhuǎn)換結(jié)果的串行輸出端 sbit adcs=P2^0 。 //輸入輸出時鐘端 sbit ADIN=P2^2 。 //按鍵 4,即鎖定解鎖鍵 sbit ADEOC=P2^4 。 //按鍵 2,即增加鍵 sbit s3=P3^5 。 //外
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1