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

正文內(nèi)容

畢業(yè)設(shè)計(論文)-基于at89c51單片機的步進電機控制系統(tǒng)論文(參考版)

2025-07-01 10:27本頁面
  

【正文】 count++。 count1++。 TH0=speed[speedtemp]/ 256。 //亮停止指示燈 led4=0。 //滅停止指示燈 } else { TR0=0。 //啟動定時器T0 led4=1。 //調(diào)用鍵盤掃描函數(shù) if(rest==1) //判斷是否復(fù)位 init()。 //停止后允許輸入步數(shù) } }/****************************主函數(shù)********************************/void main(void){ init()。 //定時器T0停止計數(shù) state=0。 display()。 } } else dispbuf[1]=dispbuf[1]1。 if(dispbuf[3]!=0) dispbuf[3]=dispbuf[3]1。 if(dispbuf[1]==0) { if((dispbuf[2]!=0)|(dispbuf[3]!=0)) { dispbuf[1]=9。 //步數(shù)大于100加速 speedrange()。(dispbuf[2]==0)) //判斷千位和十位是否都為0,即步數(shù)//是否小于100 speedflag。 else { if(speedflag=99) speedflag=99。 } } keyloosen()。 //置復(fù)位狀態(tài)位為1 break。 //反轉(zhuǎn)控制信號 break。 //正轉(zhuǎn)指示燈滅 led2=1。 //正轉(zhuǎn)控制信號 break。 //正轉(zhuǎn)指示燈亮 led2=0。0xf0。 if(temp!=0xf0) { temp=P1。 temp=tempamp。 if(temp!=0xf0) { delay(15)。 temp=tempamp。 //判斷按鍵是否松開 } P1=0xf7。 } keypro()。 default: //多個按鍵同時按下時該次按鍵無效 key=20。 state=0。 //置啟動狀態(tài)標(biāo)志位為1 break。 case 0xb0: //啟動按鍵 key=10。 case 0xd0: //9 key=9。 switch(temp) { case 0xe0: //8 key=8。 temp=tempamp。0xf0。 temp=P1。0xf0。 temp=P1。 //調(diào)用數(shù)字按鍵處理函數(shù) } keyloosen()。 break。 break。 break。 break。 break。0xf0。 if(temp!=0xf0) { temp=P1。 temp=tempamp。 if(temp!=0xf0) { delay(15)。 temp=tempamp。 //判斷按鍵是否松開 } P1=0xfd。 } keypro()。 default: //多個按鍵同時按下時該次按鍵無效 key=20。 case 0x70: //3 key=3。 case 0xb0: //2 key=2。 case 0xd0: //1 key=1。 switch(temp) { case 0xe0: //0 key=0。 temp=tempamp。0xf0。 temp=P1。0xf0。 temp=P1。 }}/*****************************鍵盤掃描函數(shù)*************************///功能:根據(jù)鍵值執(zhí)行相應(yīng)的功能,按鍵功能包或0~9的數(shù)字按鍵、啟動按鍵、//停止按鍵、正轉(zhuǎn)按鍵、反轉(zhuǎn)按鍵、復(fù)位按鍵(用于當(dāng)輸入有誤時對輸入狀態(tài)//進行復(fù)位)void keyscan(void) { unsigned char temp。 temp=tempamp。0xf0。 temp=P1。 } else keycount=4。 keycount++。(key10)) //判斷按鍵是否為數(shù)字按鍵 { if(keycount4) { change(dispbuf,keycount)。 //停止指示燈 display()。 //正轉(zhuǎn)控制 led1=1。 P2=0x00。 //停止 keycount=0。 //允許T0、INT0和INT1中斷 rest=0。 dispbuf[3]=0。 dispbuf[1]=0。 TL0=(6553660000) % 256。 //軟件清0 }}/**************************初始化函數(shù)****************************///功能:對T0、中斷進行初始化,同時對步進電機狀態(tài)和數(shù)碼管顯示進行初始//化void init(void){ TMOD=0x01。 while(!TI)。i4。}/*****************************顯示函數(shù)****************************/void display(void){ unsigned char i。i120。jms。 } }/***************************Xms 延時函數(shù)*************************///用與產(chǎn)生任意 ms 延時時間void delay(unsigned int ms) { unsigned int i,j。/******************************位交換函數(shù)**************************///用于從鍵盤輸入步數(shù)時,每輸入一個數(shù)就將高低位進行交換并送入顯示緩區(qū)void change(unsigned char *p,unsigned char count) { while(count0) { *(p+count)=*(p+count1)。 //周期記錄unsigned char speedflag。unsigned char keycount。 //單步運行指示燈unsigned char dispbuf[]={0,0,0,0}。 //啟動指示燈sbit led5=P2^4。 //反轉(zhuǎn)指示燈sbit led3=P2^2。 //正反轉(zhuǎn)控制信號sbit led1=P2^0。 //復(fù)位標(biāo)志位sbit clk=P0^0。 //9699 r/minbit state。/*****************轉(zhuǎn)速表 步距角為18176。論文中的不足之處敬請老師批評指正。論文采用單片機技術(shù),使單片機能根據(jù)設(shè)定的步數(shù),實現(xiàn)步進電機的自動調(diào)速控制,并同過數(shù)碼管顯示步進電機的運行步數(shù),完成對控制系統(tǒng)的硬件電路和應(yīng)用軟件設(shè)計。軟件是根據(jù)控制系統(tǒng)的要求設(shè)計的,包括主程序的設(shè)計、T0中斷程序設(shè)計、鍵盤顯示程序設(shè)計、調(diào)速程序設(shè)計等程序的設(shè)計。系統(tǒng)以AT89C51單片機為控制核心,并設(shè)計相應(yīng)的接口電路,包括環(huán)形脈沖分配器、鍵盤電路、顯示電路、步進電機的驅(qū)動電路等。根據(jù)課題要求查閱資料,然后在老師的指導(dǎo)下,有針對性地學(xué)習(xí)相關(guān)知識,對資料進行消化和吸收。將所學(xué)的理論知識應(yīng)用到實踐中,在系統(tǒng)的設(shè)計中做了如下的工作。第五章 結(jié)束語經(jīng)過幾個月的努力,終于完成了基于AT89C51單片機的步進電機控制系統(tǒng)軟硬件的研究和設(shè)計。編寫出詳細(xì)的C語言程序,并用Proteus軟件進行程序的調(diào)試。由于步進電機的轉(zhuǎn)速正比于脈沖頻率,所以調(diào)速時只需把每個速度對應(yīng)數(shù)組中的定時初值取出來,作為定時器T0的計數(shù)初值,這樣就可以讓單片機輸出不同的頻率,從而改變轉(zhuǎn)速。/18176。由于所選的步進電機的步距角為18176。通過控制脈沖個數(shù)即可以控制角位移量,從而達到準(zhǔn)確定位的目的;由于步進電機的速度與脈沖頻率成正比關(guān)系,通過控制脈沖頻率就可以控制步進電機轉(zhuǎn)動的速度。 調(diào)速程序設(shè)計 20BY步進電機參數(shù) 20 BY步進電機參數(shù)工作電壓步距角工作力矩最大靜電流空載啟動頻率空載運行頻率18176。通過查詢P1口的狀態(tài)就可以確定哪個按鍵按下,確定按鍵按下后再進行相應(yīng)的功能處理即可。由于系統(tǒng)所需的按鍵數(shù)較多,為減少鍵盤電路占用I/O引腳數(shù)目,故采用矩陣鍵盤。 鍵盤程序設(shè)計鍵盤的控制方式一般有程控掃描法、定時掃描法和中斷掃描法,本程序采用程序掃描法編程。本程序?qū)⒉綌?shù)存放在一個一維數(shù)組dispbuf[]中,將其作為顯示緩沖區(qū),個位在前,千位在后。當(dāng)8位數(shù)據(jù)發(fā)送結(jié)束后,發(fā)送中斷標(biāo)志TI自動置1,輸出數(shù)據(jù)(即SBUF寄存器的內(nèi)容)也就出現(xiàn)在74LS164芯片的并行輸出端。 當(dāng)串行口工作在方式0時,串行移位脈沖CLOCK從TXD引腳輸出,頻率是系統(tǒng)時鐘頻率fosc的12分頻(在“6時鐘/機器周期”模式下,移位脈沖頻率是時鐘頻率fosc的6分頻);而8位的串行數(shù)據(jù)從RXD引腳輸出。 由于設(shè)計中用一塊單片機進行控制,資源有限,故使用串行接法。 顯示程序設(shè)計單片機與顯示電路的接法一般有如下兩種方法:(1)串行接法:設(shè)計中要顯示4位數(shù)字,用74LS164作為顯示驅(qū)動,其中74LS164帶鎖存,使用串行接法可以節(jié)約I/O口資源,發(fā)送數(shù)據(jù)時容易控制。只要剩余的步數(shù)是大于100,單片機產(chǎn)生的脈沖信號的頻率就會不斷的變大,直到脈沖頻率為設(shè)定的最大值,步進電機就會以恒速運行?!?6】。T0中斷程序的主要功能是能根據(jù)設(shè)定的步數(shù)產(chǎn)生一個頻率可調(diào)的脈沖信號,從而控制步進電機的轉(zhuǎn)速,并將調(diào)速范圍控制在25~99 r/min。在圖中簡單的反映出了整個控制系統(tǒng)的主程序工作流程。判斷是否已經(jīng)走完所設(shè)定的步數(shù),若步數(shù)為0,則單片機停止產(chǎn)生脈沖信號,讓步進電機停止轉(zhuǎn)動,即T0停止計數(shù)。根據(jù)輸入的步數(shù)判斷是否需要進行調(diào)速,使控制系統(tǒng)以最短的時間走完所規(guī)定的步數(shù)。T0的中斷服務(wù)程序主要用于根據(jù)步數(shù),產(chǎn)生一個頻率可以改變的脈沖信號,調(diào)節(jié)步進電機的加減速過程。單片機讀取開關(guān)狀態(tài)標(biāo)志,判斷是否啟動系統(tǒng)。按鍵功能包括數(shù)字按鍵,啟動按鍵,停止按鍵,正轉(zhuǎn)按鍵,反轉(zhuǎn)按鍵、復(fù)位按鍵等功能按鍵。(2)鍵盤掃描及按鍵處理。系統(tǒng)初始化包括定時器T0初始化,步進電機工作狀態(tài)的初始化。 所示。當(dāng)輸入的步數(shù)大于100時,步進電機從最低速度25 r/min開始加速運行,當(dāng)加速到99 r/min時步數(shù)仍大于100時,步進電機以設(shè)定的最大速度99 r/min恒速運行,當(dāng)步數(shù)小于100時,步進電機開始減速,減速到25 r/min時,步進電機以設(shè)定的最低轉(zhuǎn)速25 r/min走完所規(guī)定的步數(shù)。其具體功能如下:按正轉(zhuǎn)按鍵時,步進電機正轉(zhuǎn);按反轉(zhuǎn)按鍵時,步進電機反轉(zhuǎn);按停止按鍵時,步進電機步進電機停止運行;通過鍵盤可輸入所需要運行的步數(shù),輸入的步數(shù)的范圍為0—9999步,當(dāng)輸入?yún)?shù)完畢后,按啟動按鍵步進電機開始運行,同時數(shù)碼管顯示所需要運行的步數(shù)并通過LED顯示步進電機的運行狀態(tài)。本系統(tǒng)軟件設(shè)計主要包括主程序,定時器T0啟動程序,調(diào)速程序,鍵盤顯示程序,停止判斷程序。軟件抗干擾是計算機應(yīng)用系統(tǒng)提高可行性的有力措施。規(guī)范化的程序便于交流、借鑒,也為今后的軟件模塊化,標(biāo)準(zhǔn)化打下基礎(chǔ)。各個功能程序運行狀態(tài)、運行結(jié)果以及運行要求都設(shè)置狀態(tài)標(biāo)志以便查詢,程序的轉(zhuǎn)移、運行、控制都可通過狀態(tài)標(biāo)志條件來控制。(3)程序存儲區(qū)、數(shù)據(jù)存儲區(qū)規(guī)格合理,既能節(jié)約內(nèi)存容量,又操作方便。(2)各功能程序?qū)崿F(xiàn)模塊化,子程序化。第四章 控制系統(tǒng)軟件設(shè)計 軟件系統(tǒng)設(shè)計原則系統(tǒng)中的應(yīng)用軟件是根據(jù)系統(tǒng)功能要求設(shè)計的,應(yīng)可靠地實現(xiàn)系統(tǒng)的各種功能。 本章小結(jié)本章首先介紹了硬件系統(tǒng)設(shè)計原則和控制系統(tǒng)總體設(shè)計,其次對主要元器件進行了選擇和介紹。步進電機的加減速控制,可以提高步進電機的響應(yīng)速度、平穩(wěn)性和定位精度等性能,從而決定
點擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1