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

正文內(nèi)容

基于單片機(jī)的直流電機(jī)轉(zhuǎn)速pid控制系統(tǒng)設(shè)計(jì)-在線瀏覽

2024-08-06 09:31本頁(yè)面
  

【正文】 號(hào): 指導(dǎo)老師: 單片機(jī)原理課程設(shè)計(jì)任務(wù)書(shū)班級(jí):自動(dòng)化07 姓名: 指導(dǎo)教師:曹利鋼 2010年6月7日設(shè)計(jì)題目:基于單片機(jī)的直流電機(jī)轉(zhuǎn)速PID控制系統(tǒng)設(shè)計(jì)設(shè)計(jì)任務(wù)和要求:10%~90%,其中為電機(jī)額定轉(zhuǎn)速:177。5r/min。硬件電路主要由六部分構(gòu)成:PID控制電路、復(fù)位電路、鍵盤(pán)電路、顯示電路、串行通信電路以及溫度檢測(cè)電路。一號(hào)單片機(jī)定時(shí)器采用的是定時(shí)器0工作在方式2定時(shí),用于實(shí)現(xiàn)一定時(shí)間的計(jì)時(shí),定時(shí)時(shí)間為10ms。鍵盤(pán)可實(shí)現(xiàn)對(duì)直流電機(jī)轉(zhuǎn)速的設(shè)定及啟動(dòng)的操作。在該設(shè)計(jì)中還用到定時(shí)器1工作在方式2用來(lái)產(chǎn)生9600的波特率,用在兩片單片機(jī)之間串行傳送數(shù)據(jù)。 一號(hào)單片機(jī)轉(zhuǎn)速顯示 當(dāng)電機(jī)轉(zhuǎn)動(dòng)時(shí),顯示部分可以把電機(jī)的設(shè)定轉(zhuǎn)速或者是通過(guò)通信由溫度計(jì)算的轉(zhuǎn)速顯示出來(lái),同時(shí)在右側(cè)部分顯示電機(jī)當(dāng)下的轉(zhuǎn)速。 溫度測(cè)量溫度測(cè)量有專(zhuān)門(mén)的芯片DS18B20。GND 為接地線,DQ 為數(shù)據(jù)輸入輸出接口, 通過(guò)一個(gè)較弱的上拉電阻與單片機(jī)相連。當(dāng) DSI8B20 接收到溫度轉(zhuǎn)換命令后,開(kāi)始啟動(dòng)轉(zhuǎn)換。單片機(jī)可通過(guò)單線接口讀 到該數(shù)據(jù),讀取時(shí)低位在前,高位在后,數(shù)據(jù)格式以 0.062 5℃/LSB 形式表示。P0、P1口不斷掃描按鍵的行和列從而計(jì)算出所選擇的數(shù)值,進(jìn)而執(zhí)行相關(guān)的程序。 直流電機(jī)驅(qū)動(dòng)部分一號(hào)單片機(jī)根據(jù)端口采集到的電機(jī)的轉(zhuǎn)速,經(jīng)過(guò)PID計(jì)算,通過(guò)另一端口發(fā)送PWM波,從而使電機(jī)改變轉(zhuǎn)速。 按鍵電路設(shè)計(jì)根據(jù)功能需要,本控制電路需要設(shè)置一下功能鍵:按鍵設(shè)定轉(zhuǎn)速。在矩陣式鍵盤(pán)中,每條水平線和垂直線在交叉處不直接連通,而是通過(guò)一個(gè)按鍵加以連接。由此可見(jiàn),在需要的鍵數(shù)比較多時(shí),采用矩陣法來(lái)做鍵盤(pán)是合理的。這樣,當(dāng)按鍵沒(méi)有按下時(shí),所有的輸入端都是高電平,代表無(wú)鍵按下。 按鍵電路。設(shè)定過(guò)程中數(shù)值依次左移,實(shí)現(xiàn)百十個(gè)位的設(shè)定。 清除鍵:清除已經(jīng)設(shè)定的轉(zhuǎn)速值。 復(fù)位電路 復(fù)位是單片機(jī)的初始化操作,以便使CPU和系統(tǒng)中其他部件都處于一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開(kāi)始工作。 復(fù)位后,PC內(nèi)容初始化為0000H,使單片機(jī)從0000H單元開(kāi)始執(zhí)行程序。RST端的外部復(fù)位電路有兩種操作方式:上電自動(dòng)復(fù)位和按鍵手動(dòng)復(fù)位。本設(shè)計(jì)用的是按鍵電平復(fù)位時(shí)相當(dāng)于RST端接高電平。電路為上電復(fù)位電路,它是利用電容充電來(lái)實(shí)現(xiàn)的。只要保證RESET為高電平的時(shí)間大于兩個(gè)機(jī)器周期,便能正常復(fù)位。本設(shè)計(jì)中使用LED數(shù)碼管顯示電機(jī)的設(shè)定和實(shí)際轉(zhuǎn)速以及溫度值。系統(tǒng)設(shè)置了一路溫度檢測(cè)在該系統(tǒng)中。在AT89S51芯片內(nèi)部有一個(gè)高增益反相放大器,其輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2。時(shí)鐘電路產(chǎn)生的振蕩脈沖經(jīng)過(guò)觸發(fā)器進(jìn)行二分頻之后,才成為單片機(jī)的時(shí)鐘脈沖信號(hào)。PWM(Pulse Width Modulation)控制技術(shù)就是對(duì)脈沖的寬度進(jìn)行調(diào)制的技術(shù),即通過(guò)對(duì)一系列脈沖的寬度進(jìn)行調(diào)制,來(lái)等效的獲得所需要的波形(含形狀和幅值);面積等效原理是PWM技術(shù)的重要基礎(chǔ)理論;一種典型的PWM控制波形SPWM:脈沖的寬度按正弦規(guī)律變化而和正弦波等效的PWM波形稱為SPWM波。 報(bào)警電路。sbit p26=P2^6。uchar code table[]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f }。uint shu[6]={1,2,3,4,5,6}。uint count,miaoshu,sv,k=0,k2=0,sv1,sv2。int rk,yk,uk,uk_1=0,ek,ek_1=0,ek_2=0。 //PID參數(shù)其值經(jīng)反復(fù)調(diào)試得來(lái)uchar data buf[4]={0,1,1,1}。 for(x=z。x) for(y=110。y)。 shu[0]=a/100。 shu[2]=a%10。 shu[4]=b%100/10。 for(i=0。i++) { P2=chose[i]。 delay(5)。 //每過(guò)250ust tt 加一 if(tt==40) //計(jì)滿40 次(1/100 秒)時(shí) { tt=0。 if(sec==10) // 秒,在從零開(kāi)始計(jì)時(shí) { sec=0。 //對(duì)TH0 TL0 賦值 TL0=0x06。 count=0。 }/**********************************************************************************/接收來(lái)自另一個(gè)單片機(jī)的中斷并放入一個(gè)數(shù)組中以便在顯示函數(shù)中方便調(diào)用此數(shù)據(jù),其中加了容錯(cuò)程序,通過(guò)一個(gè)特殊字符’11’,來(lái)區(qū)別哪一個(gè)是三位數(shù)的百位,十位,個(gè)位。 if(RI==1) {g=SBUF。 buf[m]=g。 if(m==4) m=0。 //REN=1。 bai=sv1%100/10。 ge=num。 k2=sv1。 for(i=0。i++) //求出按鍵值 { P1=~chose[i]。 temp=tempamp。 if(temp!=0xf0) { hang=i。 else if(temp==0xd0) lie=2。 else if(temp==0x70) lie=4。 } } shu=hang*4+lie。break。break。 break。break。 break。break。break。break。break。break。/*flag1++*/。 case 12: sv1=0。flag=0。break。 break。 } while(temp!=0xf0) //放鍵檢測(cè) { temp=P1。0xf0。i10。 }}//按鍵檢測(cè)程序void keyscan(){ uchar temp。 temp=P1。0xf0。 //消除抖動(dòng) P1=0xf0。 temp=tempamp。 if(temp!=0xf0) key()。if(p26==0)//低電平時(shí)正常顯示設(shè)定值sv=sv1。 // if(n==0)// sv=k。 uk=uk_1+q0*ek+q1*ek_1+q2*ek_2。 ek_1=ek。 if(uk501) uk=501。 //限定輸出下限}/**********************************************************************************/主函數(shù):初始化定時(shí)器、進(jìn)行順序的子程序執(zhí)行/**********************************************************************************/main(){ q0=Kp*(1+T/Ti+Td/T)。 q2=Kp*Td/T。 EX0=1。 IP=0X00。 //定時(shí)器T0工作在方式2 自動(dòng)重裝方式,計(jì)數(shù)器T1工作在方式2 自動(dòng)重裝方式 TH0=0x06。 TH1=0XFC。 TR0=1。 //允許T0 產(chǎn)生中斷 TR1=1。 EA=1。 EA=1。 sec=0。 //MODER1,REN=1。 miaoshu=0。count=0。 flag=0。 jieshou()。 if(flag1==1) {// uint i。 if(ek100) { p34=1。 delay(uk/10)。 p34=0。
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1