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

正文內(nèi)容

基于51單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)單片機(jī)課程設(shè)計(jì)報(bào)告(編輯修改稿)

2025-04-08 06:56 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 口電路 用于連接 1602 液晶, — 分別接 RS、 RW、 EN, P0 口接數(shù)據(jù)指令輸入口。 二、步進(jìn)電機(jī)驅(qū)動(dòng)及接口電路 本電路模塊用于單片機(jī)對(duì)步進(jìn)電機(jī)的控制及使用 ULN2021 芯片對(duì)步進(jìn)電機(jī)進(jìn)行驅(qū)動(dòng)。 原理圖如下: 由于所選 24BYJ48 步進(jìn)電機(jī) 為四相步進(jìn)電機(jī),故只需 4 個(gè)單片機(jī) IO 口控制,此處使用單片機(jī)的 IO 口 ,使用 ULN2021 的引腳 14做輸入, 1613引腳做輸出口。 三、按鍵電路 本次設(shè)計(jì)為了便于今后功能擴(kuò)展使用了 8 個(gè)按鍵。 原理圖如下: 第四章 程序設(shè)計(jì) 進(jìn)入主程序后首先進(jìn)行 LCD 初始化和定時(shí)器中斷初始化,之后進(jìn)行依次對(duì)按鍵進(jìn)行掃描,當(dāng)檢測(cè)到相應(yīng)的按鍵按下時(shí),即執(zhí)行相應(yīng)的功能。 系統(tǒng)流程圖如下: 開始L C D 初始化定時(shí)器中斷初始化o n _ o ff取非,電機(jī)啟動(dòng)K1 被按下? K3 被按下?K2 被按下?K4 被按下?K5 被按下?調(diào)速,電機(jī)運(yùn)轉(zhuǎn)速率加一或減一R A T E 最大時(shí)速率最?。ǖ筋A(yù)設(shè)最大值或最小值時(shí)加減轉(zhuǎn)換)電機(jī)當(dāng)前狀態(tài)為運(yùn)行還是停止?o n _ o ff取非,電機(jī)停止運(yùn)行當(dāng)前為正轉(zhuǎn)還是反轉(zhuǎn)?d ir e c t io n 取非,正轉(zhuǎn)d ir e c t io n 取非,反轉(zhuǎn)設(shè)置欲轉(zhuǎn)圈數(shù)圈數(shù)加一或減一(到預(yù)設(shè)最大值或最小值時(shí)加減轉(zhuǎn)換)點(diǎn)動(dòng),調(diào)用 m o t o r _ R U N 1 ( ) 。使用定時(shí)器 1 實(shí)現(xiàn)是是運(yùn)行停止是是否否 否否是是反轉(zhuǎn) 正轉(zhuǎn)否否是是否否是是否否 第五章 系統(tǒng)調(diào)試 經(jīng)過對(duì)程序的反復(fù)修改,調(diào)試之后,系統(tǒng)可以實(shí)現(xiàn) 電機(jī)運(yùn)行、停止,設(shè)置運(yùn)行圈數(shù),調(diào)節(jié)轉(zhuǎn)速,電機(jī)正反 轉(zhuǎn),點(diǎn)動(dòng)等功能,同時(shí)液晶顯示相應(yīng)的狀態(tài)。 第六章 心得體會(huì) 為其近一個(gè)月的單片機(jī)課程設(shè)計(jì)結(jié)束了,在這一個(gè)月中我收獲了很多,感到很有意義。 早在大二自學(xué)單片機(jī)時(shí)我就注意到步進(jìn)電機(jī)這種器件,但當(dāng)時(shí)只是略作了解,沒有學(xué)習(xí)它的原理與編程控制,這次借課程設(shè)計(jì)的機(jī)會(huì),我得以對(duì)步進(jìn)電機(jī)進(jìn)行了較為深入的了解和學(xué)習(xí)。 在課設(shè)的前期我通過查閱了許多資料,學(xué)習(xí)了步進(jìn)電機(jī)的工作原理。之后我開始考慮整體硬件電路的設(shè)計(jì),顯示、驅(qū)動(dòng)電路的設(shè)計(jì),最終選擇使用28BYJ48 型步進(jìn)電機(jī)、 ULN2021 驅(qū)動(dòng)芯片、 1602 液晶顯示。在這之后我開始考 慮要實(shí)現(xiàn)的電機(jī)功能, 最后決定實(shí)現(xiàn)電機(jī)運(yùn)行、停止,設(shè)置運(yùn)行圈數(shù),調(diào)節(jié)轉(zhuǎn)速,電機(jī)正反轉(zhuǎn),點(diǎn)動(dòng)等功能。在完成了原理圖與 PCB圖繪制、電路元件焊接后,我開始著手進(jìn)行程序設(shè)計(jì)。通過查閱資料我了解到控制步進(jìn)電機(jī)的關(guān)鍵是利用定時(shí)器中斷控制脈沖的快慢、順序來調(diào)節(jié)電機(jī)轉(zhuǎn)速、正反轉(zhuǎn)等狀態(tài)。以此為基礎(chǔ)我開始了程序設(shè)計(jì)與調(diào)試,在這個(gè)過程中我遇到過一些困難,最后通過深入的學(xué)習(xí)、不斷修改程序和同學(xué)的幫助終于得到解決。最終,本次課程設(shè)計(jì)完成了預(yù)想的對(duì)步進(jìn)電機(jī)的幾項(xiàng)基本控制功能。 步進(jìn)電機(jī)調(diào)速系統(tǒng)適用各種現(xiàn)場(chǎng)自動(dòng)化控制,特別應(yīng)用于小功率負(fù) 載的控制;具有成本底,性能穩(wěn)定 ,可靠性高等優(yōu)點(diǎn)。我覺得通過這次課程設(shè)計(jì)我對(duì)步進(jìn)電機(jī)的基本控制得到了掌握,這對(duì)今后我在學(xué)習(xí)、工作的諸多應(yīng)用場(chǎng)合中很可能會(huì)有用武之地。 另外,在這次課設(shè)過程中涉及的 LCD1602 控制等內(nèi)容也對(duì)我很有幫助。通過本次課設(shè)我對(duì) 51單片機(jī)的編程控制、定時(shí)器中斷等知識(shí)也得到了充分的復(fù)習(xí)鞏固。 總之,這次課設(shè)讓我受益匪淺,感謝邱應(yīng)強(qiáng)老師一學(xué)期來單片機(jī)課程的悉心教導(dǎo),這些是我完成本次課設(shè)的基礎(chǔ)和關(guān)鍵。 附件 一、 電路原理圖 二、 電路 PCB圖 三、 電路實(shí)物圖 四、 源程序 include include //內(nèi)部包含延時(shí)函數(shù) _nop_()。 define uchar unsigned char define uint unsigned int define delayNOP()。 {_nop_()。_nop_()。_nop_()。_nop_()。}。 uchar code FFW[8]={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9}。 //正轉(zhuǎn)相序編碼 uchar code REV[8]={0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1}。 sbit K1 = P3^0。 //運(yùn)行與停止 sbit K2 = P3^1。 //設(shè)圈數(shù) sbit K3 = P3^2。 //方向轉(zhuǎn)換 sbit K4 = P3^3。 //轉(zhuǎn)速加 sbit K5 = P3^4。 //點(diǎn)動(dòng) sbit K6 = P3^5。 sbit K7 = P3^6。 sbit K8 = P3^7。 sbit LCD_RS = P2^0。 sbit LCD_RW = P2^1。 sbit LCD_EN = P2^2。 bit on_off=0,on_off1=0。 //運(yùn)行與停止標(biāo)志 bit direction=1。 //方向標(biāo)志 bit rate_dr=1。 //速率標(biāo)志 bit snum_dr=1。 //圈數(shù)標(biāo)志 uchar code cdis1[ ] = { STEPPING MOTOR }。 uchar code cdis2[ ] = {CONTROL PROCESS}。 uchar code cdis3[ ] = { STOP }。 uchar code cdis4[ ] = {NUM: RATE: }。 uchar code cdis5[ ] = { RUNNING }。 uchar code cdis6[ ] = { DIAN DONG }。 uchar m,v=0,q=0,q1。 uint number=0,number1=0。 uchar snum=10,snum1=10,number2=0。 //預(yù)設(shè)定圈數(shù) uchar rate=2,rate_ctr。 //預(yù)設(shè)定速率 uchar data_temp,data_temP1,data_temp2。 /********************************************************/ /* /* 延時(shí) t毫秒 /* 時(shí)鐘,延時(shí)約 1ms /* /********************************************************/ void delay(uint t) //tms { uchar k。 while(t) { for(k=0。 k125。 k++) { } } } /********************************************************/ void delayB(uchar x) //x* { uchar i。 while(x) { for (i=0。 i13。 i++) { } } } /********************************************************/ /********************************************************/ /* /*檢查 LCD 忙狀態(tài) /*lcd_busy 為 1 時(shí),忙,等待。為 0時(shí) ,閑,可寫指令與數(shù)據(jù)。 /* /********************************************************/ bit lcd_busy() { bit result。 LCD_RS = 0。 LCD_RW = 1。 LCD_EN = 1。 delayNOP()。 result = (bit)(P0amp。0x80)。 LCD_EN = 0。 return(result)。 } /********************************************************/ /* /*寫指令數(shù)據(jù)到 LCD /*RS=L, RW=L, E=高脈沖, D0D7=指令碼。 /* /********************************************************/ void lcd_wcmd(uchar cmd) { while(lcd_busy())。 LCD_RS = 0。 LCD_RW = 0。 LCD_EN = 0。 _nop_()。 _nop_()。 P0 = cmd。 delayNOP()。 LCD_EN = 1。 delayNOP()。 LCD_EN = 0。 } /**********************************
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1