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

正文內(nèi)容

基于單片機(jī)的直流電機(jī)轉(zhuǎn)速pid控制系統(tǒng)設(shè)計(jì)_畢業(yè)設(shè)計(jì)論文-資料下載頁(yè)

2025-08-16 14:26本頁(yè)面

【導(dǎo)讀】本設(shè)計(jì)中的電子鐘的核心是AT89C51。硬件電路主要由六部分構(gòu)。以及溫度檢測(cè)電路。流電機(jī)無(wú)法正常穩(wěn)定運(yùn)行。本系統(tǒng)電路采用的晶振,一。時(shí)間的計(jì)時(shí),定時(shí)時(shí)間為10ms。復(fù)位電路可使單片機(jī)回復(fù)到初始狀。鍵盤可實(shí)現(xiàn)對(duì)直流電機(jī)轉(zhuǎn)速的設(shè)定及啟動(dòng)的操作。過DS18B20芯片實(shí)現(xiàn),在溫度顯示中還要注意數(shù)的轉(zhuǎn)換。片機(jī)之間串行傳送數(shù)據(jù)。二號(hào)單片機(jī)的溫度顯示與之類似。DS18B20可編程溫度傳感器。GND為接地線,DQ為數(shù)據(jù)輸入輸出接口,通過。一個(gè)較弱的上拉電阻與單片機(jī)相連。數(shù)據(jù)線提供電源,又可由外部提供電源,范圍3.O~5.5V。高速暫存存儲(chǔ)器的0,1字節(jié)。單片機(jī)可通過單線接口讀到該。一號(hào)單片機(jī)的鍵盤采用4×4的按鍵方式檢測(cè)按鍵。過另一端口發(fā)送PWM波,從而使電機(jī)改變轉(zhuǎn)速。在需要的鍵數(shù)比較多時(shí),采用矩陣法來(lái)做鍵盤是合理的。為輸出端,而列線所接的I/O口則作為輸入。時(shí),所有的輸入端都是高電平,代表無(wú)鍵按下。值依次左移,實(shí)現(xiàn)百十個(gè)位的設(shè)定。

  

【正文】 delay(100)。 P2=0xff。 } } 32 //顯示正值子函數(shù) void display() { buf[1]=temp/1000。//顯示百位 buf[2]=temp/100%10。//顯示十位 buf[3]=temp%100/10。//顯示個(gè)位 buf[0]=temp%10。 //第 4 位 南北秒個(gè)位 temp2=temp*7。 buf2[1]=temp2/1000。//顯示百位 buf2[2]=temp2/100%10。//顯示十位 buf2[3]=temp2%100/10。//顯示個(gè)位 for(j=0。j3。j++) { P2=0xff。 // 初始燈為滅的 P0=0x00。 P2=0xfd。 //顯示小數(shù)點(diǎn) P0=0x80。 //顯示小數(shù)點(diǎn) delay(300)。 P2=0xff。 // 初始燈為滅的 P0=0x00。 P2=0xf7。 //片選 LCD1 P0=table[buf[1]]。 delay(300)。 P2=0xff。 P0=0x00。 P2=0xfb。 //片選 LCD2 P0=table[buf[2]]。 delay(300)。 P2=0xff。 P0=0x00。 P2=0Xfd。 //片選 LCD3 P0=table[buf[3]]。 delay(300)。 P2=0xff。 P0=0x00。 P2=0Xfe。 P0=table[buf[0]]。 //片選 LCD4 delay(300)。 P2=0xff。 } } /**********************************************************************************/ 掃描按鍵,進(jìn)行上下限的設(shè)定 33 /**********************************************************************************/ void key() //按鍵掃描子程序 { if(k1!=1) { delay(20)。 if(k1!=1) { while(k1!=1) { key_to1()。 for(n=0。n8。n++) Show()。 } } } if(k2!=1) { delay(20)。 if(k2!=1) { while(k2!=1) { key_to2()。 for(n=0。n8。n++) Show()。 } } } if(k3!=1) { TR0=1。 //復(fù)位,開定時(shí) temp=ReadTemperature()。 } if(k4!=1) { delay(20)。 if(k4!=1) { while(k4!=1)。 set=!set。 if(set==0) { Red=0。Green=1。} else { Green=0。Red=1。} } } } 34 void key_to1() { TR0=0。 //關(guān)定時(shí)器 temp+=10。 if(temp=1100) {temp=550。} if(set==0) {alarmH=temp。} else {alarmL=temp。} } void key_to2() { TR0=0。 //關(guān)定時(shí)器 temp=10。 if(temp=550) {temp=1100。} if(set==0) { alarmH=temp。} else { alarmL=temp。} } void alarm(void) { if(tempalarmH||tempalarmL) { //bell=1。 //delay(50)。 //bell=0。 Flag=1。 }else {Flag=0。} } logo()//開機(jī)的 Logo { P0=0x40。 P2=0xf7。 delay(50)。 P2=0xfb。 delay(50)。 P2=0Xfd。 delay(50)。 P2=0Xfe。 delay(50)。 P1 = 0xff。 //關(guān)閉顯示 35 } void Show() { if(temp=0) {HLight=1。LLight=0。display()。}//顯示函數(shù) if(temp0) {HLight=0。LLight=1。display00()。} } /**********************************************************************************/ 主函數(shù) /**********************************************************************************/ void main() { TCON=0x05。 TMOD=0X21。 SCON=0X40。 TH0=0XD8。 TL0=0XF0。 TH1=0Xfc。 TL1=0Xfc。 EA=1。 ET0=1。 TR0=1。 TR1=1。 //EX0=1。 for(n=0。n500。n++)//顯示啟動(dòng) LOGo {bell=0。logo()。} Red=0。 while(1) { key()。 ss=ReadTemperature()。 Show()。 alarm()。 if(Flag==1) {bell=!bell。} //蜂鳴器滴滴響 else {bell=0。} } } 36 /**********************************************************************************/ 延時(shí)子程序用來(lái)產(chǎn)生 10ms 的延時(shí) , 用于在程序中的等待 , 并且每 10ms 進(jìn)行一次 串行通信,把電機(jī)應(yīng)有的轉(zhuǎn)速值發(fā)給另一個(gè)單片機(jī)。 /**********************************************************************************/ void time0(void) interrupt 1 using 1 //每隔 10ms 執(zhí)行一次此子程序 { TH0=0X56。 TL0=0XDC。 temp=ss。 TI=0。 SBUF=buf2[i0]。 i0++。 if(i0==4) i0=0。 /* if(i0==3) {SBUF=buf2[i0]。 i0=0。 } else {SBUF=buf2[i0]。 i0++。 }*/ } 第五章 說明及調(diào)試 調(diào)試過程 在該系統(tǒng)的構(gòu)想之初有不少困惑。主要是在定時(shí)器個(gè)數(shù)的選擇以及關(guān)于 PID算法。最后還是決定用 1 個(gè)定時(shí)器。在調(diào)試過程中遇到了不少小小的麻煩。比如在按鍵調(diào)試的時(shí)候,就遇到了按鍵沒反應(yīng)的問題,后來(lái)修改程序后,按鍵 有反應(yīng)了,但新的問題又出來(lái)了。主要是按鍵不好使,要么按下沒反應(yīng),要么按下太久, 37 系統(tǒng)把一次按鍵動(dòng)作當(dāng)成了幾次。后來(lái)在按鍵掃描函數(shù)中加入了等待按鍵彈起的語(yǔ)句,解決了按鍵的靈敏問題。 在調(diào)制 PWM 波形的時(shí)候發(fā)現(xiàn)電機(jī)的轉(zhuǎn)速并不隨輸出的控制信號(hào)的改變而變化。用示波器觀察輸出波形,發(fā)現(xiàn)輸出波形并不規(guī)則。理論上應(yīng)該是輸出一個(gè)一定占空比的方波啊。經(jīng)過一段時(shí)間的測(cè)試,發(fā)現(xiàn)信號(hào)輸出引腳給出了高低電平,但示波器檢測(cè)出來(lái)的信號(hào)看上去并不像給了高低電平啊,就像一個(gè)脈沖干擾。突然來(lái)個(gè)尖脈沖,然后很快衰減。后來(lái)縮短定時(shí)器的中斷時(shí)候后, 該問題得到解決,輸出波形正常。輸出波形正常后再測(cè)試電機(jī)轉(zhuǎn)速,電機(jī)轉(zhuǎn)速仍然不正常。 在編寫 PID算法的時(shí)候,發(fā)現(xiàn)占空比變化劇烈,要么是 0,要么就是 100,總是在兩個(gè)極值上變化。修改 PID 參數(shù)后問題沒有得到很好解決,后來(lái)才發(fā)是因?yàn)楝F(xiàn)變量的類型給定義錯(cuò)了。修改后,問題得到解決。在 PID的調(diào)試過程中還遇到不少小問題,在此就不一一累述了。 還有一個(gè)是編寫串行通信的時(shí)候發(fā)現(xiàn)串行通信始終沒法完成。后來(lái)發(fā)現(xiàn)時(shí)程序中對(duì)于 RI的處理不對(duì)導(dǎo)致了失敗。 在編寫完了后,發(fā)現(xiàn)程序并沒按預(yù)定的程式那樣運(yùn)行,后來(lái)才發(fā)現(xiàn)是定時(shí)器 中代碼太長(zhǎng)的原因。后來(lái)只在定時(shí)器中保留 PWM波形調(diào)制部分將一些按鍵掃描之類的函數(shù)都拿到主函數(shù)中,在定時(shí)器中設(shè)立標(biāo)志位。在主函數(shù)中通過判斷標(biāo)志位來(lái)選擇調(diào)用子函數(shù),該問題得到了解決。 運(yùn)行結(jié)果 手動(dòng)設(shè)定轉(zhuǎn)速的運(yùn)行情況如下 38 圖 設(shè)定為根據(jù)溫度自動(dòng)運(yùn)行情況如下 圖 根據(jù)溫度自動(dòng)運(yùn)行 39 ? 第六章 ??課程設(shè)計(jì)體會(huì) ?經(jīng)過一周時(shí)間的學(xué)習(xí)實(shí)驗(yàn),我已經(jīng)對(duì)很熟悉了,在做課程設(shè)計(jì)的過程中,我感到自己學(xué)到的知識(shí)十分有限, 所以查閱了大量書籍,通過這次書記的學(xué)習(xí),我的知識(shí)增長(zhǎng)了很多。更深刻地了解有關(guān)變壓器的知識(shí),同時(shí)也弄明白了以前不明白的知識(shí)點(diǎn)。這次實(shí)驗(yàn)設(shè)計(jì)對(duì)我的益處很大。 第七章 參考文獻(xiàn) .單片機(jī)原理及接口技術(shù) (第 2 版 )[M].北京:機(jī)械工業(yè)出版社, 2020 ,趙性初 .單片機(jī)微型計(jì)算機(jī)原理與接口技術(shù) (第 2版 )[M].武漢:華中科技大學(xué)出版社, 1999
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1