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

正文內(nèi)容

基于at89c51單片機的步進電機控制系統(tǒng)畢業(yè)論文(已改無錯字)

2022-07-25 17:23:31 本頁面
  

【正文】 標志TI自動置1,輸出數(shù)據(jù)(即SBUF寄存器的內(nèi)容)也就出現(xiàn)在74LS164芯片的并行輸出端。這樣在執(zhí)行寫SBUF寄存器操作后,通過查詢TI標志來確定發(fā)送過程是否完成,當發(fā)送完成后需要將TI清零,以便輸出新的串行數(shù)據(jù)【17】。本程序將步數(shù)存放在一個一維數(shù)組dispbuf[]中,將其作為顯示緩沖區(qū),個位在前,千位在后。顯示程序只需要將數(shù)組中的內(nèi)容一個個送入SBUF 寄存器中,就可以實現(xiàn)步數(shù)的顯示。 鍵盤程序設計鍵盤的控制方式一般有程控掃描法、定時掃描法和中斷掃描法,本程序采用程序掃描法編程。此模塊的功能是判斷是否有鍵按下,沒有按鍵按下則去執(zhí)行其他程序,有鍵按下則延時去抖動,返回鍵值,送鍵值給按鍵處理函數(shù),再根據(jù)鍵值執(zhí)行相應的功能,系統(tǒng)有15個按鍵,分別數(shù)字鍵、啟動鍵、停止鍵、正轉鍵、反轉鍵、復位鍵。由于系統(tǒng)所需的按鍵數(shù)較多,為減少鍵盤電路占用I/O引腳數(shù)目,故采用矩陣鍵盤。本程序采用行、列對應的二進制碼來確定按鍵功能,例如讓P1輸出0FEH,如果第一按鍵按下時,第二個按鍵為0DEH,第三個按鍵為0BEH,第四個按鍵為7EH。通過查詢P1口的狀態(tài)就可以確定哪個按鍵按下,確定按鍵按下后再進行相應的功能處理即可。 按鍵的功能與相應鍵碼的定義鍵號功能鍵碼000EEH110DEH220BEH337EH440EDH550DDH660BDH777DH880EBH990DBH10啟動0BBH11停止7BH12正轉0E7H13反轉0D7H14復位0B7H15未定義77H按鍵功能說明:本程序的數(shù)字按鍵用于設定步進電機的運行步數(shù);啟動停止按鍵用于控制步進電機的啟動與停止;正反轉按鍵用于控制步進電機的正反轉;復位按鍵用于當輸入?yún)?shù)有誤時,可通過復位按鍵重新輸入?yún)?shù)。 調(diào)速程序設計 20BY步進電機參數(shù) 20 BY步進電機參數(shù)工作電壓步距角工作力矩最大靜電流空載啟動頻率空載運行頻率18176。1/150 80 mA400 pps500 pps 步進電機轉速與頻率的關系步進電機是機電控制中一種常用的執(zhí)行機構,它的用途是將電脈沖轉化為角位移,通俗地說:當步進驅動器接收到一個脈沖信號,它就驅動步進電機按設定的方向轉動一個固定的角度(步進角)。通過控制脈沖個數(shù)即可以控制角位移量,從而達到準確定位的目的;由于步進電機的速度與脈沖頻率成正比關系,通過控制脈沖頻率就可以控制步進電機轉動的速度。本系統(tǒng)將步進電機的最高速度設定為99 r/min,最低轉速設定為25 r/min(啟動速度)。由于所選的步進電機的步距角為18176。,轉一圈需要360176。/18176。=20個脈沖,設轉速為N,則每分鐘需要的脈沖個數(shù)為20N個脈沖,每個脈沖的周期為 (單步時間)【18】: T=1/20N(min)=60/20N(s)=601000000/20N(us)=3000000/N(us)定時器T0的定時時間為:T1=T/2T0的計數(shù)初值:Tx=65536foscT1/12 =6553612T1/12 =65536T/2 =655361500000/N由上式可以算出每個轉速對應T0的計數(shù)初值,例如轉速為25 r/min時對應的T0的計數(shù)初值為Tx=655361500000/25=5536;轉速為99 r/min時對應的T0計數(shù)初值為Tx=655361500000/99=50384;其它轉速對應T0的計數(shù)初值如附錄B所示。由于步進電機的轉速正比于脈沖頻率,所以調(diào)速時只需把每個速度對應數(shù)組中的定時初值取出來,作為定時器T0的計數(shù)初值,這樣就可以讓單片機輸出不同的頻率,從而改變轉速。 本章小結本章首先介紹了軟件設計原則,其次介紹了主程序、T0中斷程序、調(diào)速程序、顯示程序等程序的設計。編寫出詳細的C語言程序,并用Proteus軟件進行程序的調(diào)試。完整的程序如附錄A所示。第五章 結束語經(jīng)過幾個月的努力,終于完成了基于AT89C51單片機的步進電機控制系統(tǒng)軟硬件的研究和設計。通過這次設計,加深對單片機控制系統(tǒng)的了解。將所學的理論知識應用到實踐中,在系統(tǒng)的設計中做了如下的工作。查閱相關資料。根據(jù)課題要求查閱資料,然后在老師的指導下,有針對性地學習相關知識,對資料進行消化和吸收。根據(jù)系統(tǒng)的要求確定控制系統(tǒng)的總體設計方案。系統(tǒng)以AT89C51單片機為控制核心,并設計相應的接口電路,包括環(huán)形脈沖分配器、鍵盤電路、顯示電路、步進電機的驅動電路等。編寫應用程序。軟件是根據(jù)控制系統(tǒng)的要求設計的,包括主程序的設計、T0中斷程序設計、鍵盤顯示程序設計、調(diào)速程序設計等程序的設計。用keil軟件完成程序的編寫和調(diào)試,并用Proteus軟件進行系統(tǒng)仿真。論文采用單片機技術,使單片機能根據(jù)設定的步數(shù),實現(xiàn)步進電機的自動調(diào)速控制,并同過數(shù)碼管顯示步進電機的運行步數(shù),完成對控制系統(tǒng)的硬件電路和應用軟件設計。論文雖然完成了系統(tǒng)的設計,但由于開發(fā)經(jīng)驗不足,系統(tǒng)一定存在不妥之處,尤其是步進電機的應用方面有待進一步的研究和探討。論文中的不足之處敬請老師批評指正。參考文獻1. [J],電子技術(上海),2009,(4),8283.2. [M],北京:中國電力出版社,1998,140152.3. [M],北京:機械工業(yè)出版社,2007,294297.4. 劉寶廷,[M],哈爾濱:哈爾濱工業(yè)大學出版社,1997.5. 潘新民,[M],北京:電子工業(yè)出版社,2006,128139.6. 王玉林,[J],電機與控制應用,2006,33(1),5357.7. 閆劍虹,[J],空間電子技術,2009,6(2),124127.8. 王建,張玉峰,[J],工礦自動化,2006,(6),6566.9. [J]制造業(yè)自動化,2009,31(3),112115.10. 杭柏林,[J],2006,(2),2225.11. [J],自動化技術與應用,2009,28(9),8689.12. ,西安:西安電子科技大學出版社[M],2007.13. [M],濟南:山東科學技術出版社,2002,107108.14. [M],北京:電子工業(yè)出版社,2009.15. -51系列單片機實用接口技術[M].北京航空航天大學出版社,1993,1253.16. 楊宏,[J],現(xiàn)代電子技術,2010,(5),104109.17. [M],北京:人民郵電出版社,2006,543546.18. [M],北京:機械工業(yè)出版社,2007.附錄附錄A 系統(tǒng)程序(C)include //unsigned char code table[]={0x3f,0x06,0x5b,0x4f, //段碼 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}。/*****************轉速表 步距角為18176。晶振為12M*****************/unsigned int code speed[]={ 5536,7844,9980,11965,13812,15536,17149,18861,20081,21418,22679, //2535 r/min23869,24995,26062,27074,28036,28951,29822,30652,31445,32203, //3645 r/min32927,33621,34286,34924,35536,36124,36690,37234,37758,38263, //4655 r/min38750,39220,39674,40112,40536,40946,41342,41726,42099,42549, //5665 r/min42809,43148,43477,43797,44107,44409,44703,44988,45266,45536, //6675 r/min45799,46055,46305,46549,46786,47017,47243,47464,47679,47889, //7685 r/min48094,48295,48491,48682,48869,49052,49232,49407,49579,49747, //8695 r/min49911,50072,50230,50384}。 //9699 r/minbit state。 //停止啟動標志位bit rest。 //復位標志位sbit clk=P0^0。 //脈沖信號輸出sbit zf=P0^1。 //正反轉控制信號sbit led1=P2^0。 //正轉指示燈sbit led2=P2^1。 //反轉指示燈sbit led3=P2^2。 //停止指示燈sbit led4=P2^3。 //啟動指示燈sbit led5=P2^4。 //連續(xù)運行指示燈sbit led6=P2^5。 //單步運行指示燈unsigned char dispbuf[]={0,0,0,0}。 //顯示緩沖區(qū)unsigned char key。unsigned char keycount。 //記錄數(shù)字按鍵的次數(shù)unsigned char count,count1。 //周期記錄unsigned char speedflag。 //速度控制unsigned char speedtemp。/******************************位交換函數(shù)**************************///用于從鍵盤輸入步數(shù)時,每輸入一個數(shù)就將高低位進行交換并送入顯示緩區(qū)void change(unsigned char *p,unsigned char count) { while(count0) { *(p+count)=*(p+count1)。 count。 } }/***************************Xms 延時函數(shù)*************************///用與產(chǎn)生任意 ms 延時時間void delay(unsigned int ms) { unsigned int i,j。 for (j=0。jms。j++) for (i=0。i120。i++)。}/*****************************顯示函數(shù)****************************/void display(void){ unsigned char i。 for(i=0。i4。i++) //發(fā)送4位數(shù)據(jù) { SBUF=table[dispbuf[i]]。 while(!TI)。 //判斷數(shù)據(jù)是否發(fā)送完TI=0。 //軟件清0 }}/**************************初始化函數(shù)****************************///功能:對T0、中斷進行初始化,同時對步進電機狀態(tài)和數(shù)碼管顯示進行初始//化void init(void){ TMOD=0x01。 TH0=(6553660000) / 256。 TL0=(6553660000) % 256。 dispbuf[0]=0。 dispbuf[1]=0。 dispbuf[2]=0。 dispbuf[3]=0。 IE=0x82。 //允許T0、INT0和INT1中斷 rest=0。 //不復位 state=0。 //停止 keycount=0。 //允許輸入步數(shù) speedflag=25。 P2=0x00。 zf=0。 //正轉控制 led1=1。 //正轉指示燈 led3=1。 //停止指示燈 display()。 //初始化狀態(tài)顯示 }/*************************數(shù)字按鍵處理函數(shù)*************************///功能:判斷是否為數(shù)字按鍵,若為數(shù)字按鍵則調(diào)用位交換行數(shù),并送顯示緩//沖區(qū)void keypro(void){ if((key=0)amp。(key10)) //判斷按鍵是否為數(shù)字按鍵 { if(keycount4) { change(dispbuf,keycount)。 //調(diào)用位交換函數(shù) dispbuf[0]=key。
點擊復制文檔內(nèi)容
數(shù)學相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1