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

正文內(nèi)容

基于msp430步進(jìn)電機控制器的設(shè)計-資料下載頁

2025-06-27 18:10本頁面
  

【正文】 示KEY: LCALL KS 。調(diào)用檢測按鍵子程序 JNZ K1 。有鍵按下繼續(xù) LCALL DELAY2 。無鍵按下調(diào)用延時去抖動程序 AJMP KEY 。返回繼續(xù)檢測有無按鍵按下K1: LCALL DELAY2 LCALL DELAY2 。有鍵按下繼續(xù)延時去抖動 LCALL KS 。再一次調(diào)用檢測按鍵程序 JNZ K2 。確認(rèn)有按下進(jìn)行下一步 AJMP KEY 。無鍵按下返回繼續(xù)檢測K2: MOV R2,0EFH 。將掃描值送入 R2 暫存 MOV R4,00H 。將第一列的列值 00H 送入 R4 暫存,R4 用于存放列值。K3: MOV P2,R2 。將 R2 的值送入 P2 口L6: JB ,L1 。 等于 1 跳轉(zhuǎn)到 L1 MOV A,00H 。將第一行的行值 00H 送入 ACC AJMP LK 。跳轉(zhuǎn)到鍵值處理程序L1: JB ,L2 。 等于 1 跳轉(zhuǎn)到 L2 MOV A,04H 。將第二行的行值送入 ACC AJMP LK 。跳轉(zhuǎn)到鍵值理程序進(jìn)行鍵值處理L2: JB ,L3 。 等于 1 跳轉(zhuǎn)到 L3 MOV A,08H 。將第三行的行值送入 ACC AJMP LK 。跳轉(zhuǎn)到鍵值處理程序L3: JB ,NEXT 。 等于 1 跳轉(zhuǎn)到 NEXT 處 MOV A,0cH 。將第四行的行值送入 ACCLK: ADD A,R4 。行值與列值相加后的鍵值送入 A南京工業(yè)大學(xué)本科生畢業(yè)設(shè)計(論文)31 PUSH ACC 。將 A 中的值送入堆棧暫存K4: LCALL DELAY2 。調(diào)用延時去抖動程序 LCALL KS 。調(diào)用按鍵檢測程序 JNZ K4 。按鍵沒有松開繼續(xù)返回檢測 POP ACC 。將堆棧的值送入 ACC RETNEXT: INC R4 。將列值加一 MOV A,R2 。將 R2 的值送入 A JNB ,KEY 。掃描完成跳至 KEY 處進(jìn)行下一回合的掃描 RL A 。掃描未完成將 A 中的值右移一位進(jìn)行下一列的掃描 MOV R2,A 。將 ACC 的值送入 R2 暫存 AJMP K3 。跳轉(zhuǎn)到 K3 繼續(xù)KS: MOV P2,0FH 。將 P2 口高四位置 0 低四位值 1 MOV A,P2 。讀 P2 口 XRL A,0FH 。將 A 中的值與 A 中的值相異或 RET 。子程序返回DELAY2: 。40ms 延時去抖動子程序 8*FA*2=40ms MOV R5,08HL7: MOV R6,0FAHL8: DJNZ R6,L8 DJNZ R5,L7 RET 電機控制中斷程序流程圖定時器中斷 0 服務(wù)程序流程圖如圖 47 所示:第四章 控制系統(tǒng)軟件的設(shè)計32圖 47 定時器中斷 0 服務(wù)程序流程圖定時器中斷 0 服務(wù)程序的中斷時間由當(dāng)前的轉(zhuǎn)速決定。進(jìn)入中斷程序后,首先要保護(hù)現(xiàn)場,再根據(jù)當(dāng)前值設(shè)置 TH0 和 TL0 的值。然后判斷轉(zhuǎn)動方向控制位的值,如果是 0則控制脈沖信號 、 輸出,如果是 1 則控制脈沖信號 、 輸出。最后恢復(fù)現(xiàn)場,返回,等待下次中斷。通過用當(dāng)前轉(zhuǎn)速控制中斷時間,控制了脈沖的輸出頻率,也就到達(dá)了控制步進(jìn)電機轉(zhuǎn)動速度的目的;通過檢測方向控制位的電平,選擇脈沖信號 、 與 、間的切換,控制了步進(jìn)電機各引出端的接通順序,也就到實現(xiàn)了步進(jìn)電機轉(zhuǎn)動方向的控制。各模塊控制的詳細(xì)程序附于最后。程序編寫如下includeincludedefine uchar unsigned chardefine uint unsigned int南京工業(yè)大學(xué)本科生畢業(yè)設(shè)計(論文)33uchar temp1。uchar temp2。 //定義占空比的變量uchar m1=0。 /* 電機 1 速度值 */uchar m2=0。 /* 電機 2 速度值 */uchar t=0。 //定義中斷記數(shù)器uchar flag。uchar jishu。//電機控制位定義sbit en1=P2^2。 /* L298 的 Enable A */sbit en2=P2^5。 /* L298 的 Enable B */sbit s1=P2^0。 /* L298 的 Input 1 */sbit s2=P2^1。 /* L298 的 Input 2 */sbit s3=P2^3。 /* L298 的 Input 3 */sbit s4=P2^4。 /* L298 的 Input 4 */delay(uchar z){ uchar i,j。 for(i=0。iz。i++) { for(j=0。j1000。j++)。 }}void timer0() interrupt 1 using 2{ TMOD=0x01。 TH0=(6553650)/256。 //一次中斷的時間為 50us第四章 控制系統(tǒng)軟件的設(shè)計34 TL0=(6553650)%256。 if(t==0) /* 1 個 PWM 周期完成后才會接受新數(shù)值 */ { temp1=m1。 temp2=m2。 } if(ttemp1) { s1=1。 s2=0。 } else { s1=0。 /* 產(chǎn)生電機 1 的 PWM 信號 */ //一個 PWM 信號的周期為 s2=0。 } if(ttemp2) { s3=1。 s4=0。 } else { s3=0。 s4=0。 }/* 產(chǎn)生電機 2 的 PWM 信號 */ t++。 //完成一次中斷,記數(shù)一次 if(t=50)南京工業(yè)大學(xué)本科生畢業(yè)設(shè)計(論文)35 t=0。 /* 1 個 PWM 信號由 50 次中斷產(chǎn)生 */ jishu++。 }void main(){ TMOD=0x01。 TH0=(6553650)/256。 //一次中斷的時間為 50us TL0=(6553650)%256。 EA=1。 ET0=1。 TR0=1。 while(1) { en1=1。 en2=1。 m1=5。 m2=5。 delay(10000)。 m1=0。 m2=0。 } } 第五章 系統(tǒng)調(diào)試36第 5 章 系統(tǒng)調(diào)試 系統(tǒng)的調(diào)試在系統(tǒng)完成后測試系統(tǒng),檢查硬件和軟件是否能夠協(xié)調(diào)運行,并對系統(tǒng)出現(xiàn)的情況進(jìn)行分析,看是否能夠達(dá)到系統(tǒng)創(chuàng)作之初所設(shè)想的效果,如達(dá)不到則重新修改系統(tǒng)的硬件結(jié)構(gòu)或者修改軟件的程序部分,直到達(dá)到設(shè)計需要為止。本系統(tǒng)的設(shè)計思路為:首先從整體上劃分出各功能模塊,然后硬件和軟件同時進(jìn)行依次完成各個功能模塊,最后將各個模塊聯(lián)系起來完成整個系統(tǒng)。在硬件調(diào)試的過程中,遇到了很多問題。主要有:1. 確定步進(jìn)電機的使用方法,和控制模式。此處尤為重要,這是整個系統(tǒng)的基礎(chǔ),也是確定軟件是否能控制步進(jìn)電機思路的開端。,在多次運行過程中發(fā)現(xiàn)按鍵是否按下難以直觀準(zhǔn)確判斷,在此處進(jìn)行改進(jìn)設(shè)計,為每一個按鍵接上一個發(fā)光二極管,當(dāng)有鍵按下時,相對應(yīng)的發(fā)光二極管變亮,使得按鍵動作形象直觀。并以此方法測試步進(jìn)電機控制程序。 12V 直流電源,測量 LM7805 輸出腳對地電壓,是否為 5V 左右,這個電壓的測量可以直接在 L7805 的 OUT 腳和 GND 之間完成。4. 單片機應(yīng)用(電源)注意事項:在電源兩端應(yīng)該加一個 47uF 以上的電解電容和一個 的小電容,進(jìn)行電源去藕濾波。 S 磁極。軟件測試的時候也有些問題,主要有:,和時間的控制。,調(diào)試發(fā)現(xiàn)對步進(jìn)電機速度的控制范圍過小,查閱資料后發(fā)現(xiàn)設(shè)計思路不太合理,原先的設(shè)計思路是用主程序控制步進(jìn)電機轉(zhuǎn)動,采用延時方式控制步進(jìn)電機速度,由定時器處理鍵盤;改進(jìn)程序,主程序用來處理鍵盤,由定時器控制步進(jìn)電機轉(zhuǎn)動,步進(jìn)電機轉(zhuǎn)動速度由定時器定時時間決定。問題得到解決,不僅擴大了步進(jìn)電機速度的控制范圍,也使得單片機對步進(jìn)電機速度的控制更加精確。 運行結(jié)果連接好硬件電路,上電復(fù)位,程序開始運行。南京工業(yè)大學(xué)本科生畢業(yè)設(shè)計(論文)37,LED 數(shù)碼管不顯示;按下啟停鍵,步進(jìn)電機開始轉(zhuǎn)動,LED數(shù)碼管顯示數(shù)值當(dāng)前數(shù)值,即當(dāng)前步進(jìn)電機的轉(zhuǎn)速為 25 轉(zhuǎn)/分;,LED 數(shù)碼管顯示數(shù)值加 1,步進(jìn)電機轉(zhuǎn)動速度相應(yīng)增加;此時每按下減速鍵一次,LED 數(shù)碼管顯示數(shù)值減 1,步進(jìn)電機轉(zhuǎn)動速度相應(yīng)減少;此時若按下方向控制鍵,步進(jìn)電機立即向相反方向轉(zhuǎn)動,轉(zhuǎn)動速度保持不變;此時若按下啟停鍵,步進(jìn)電機停止轉(zhuǎn)動,LED 數(shù)碼管停止顯示為 0,符合設(shè)計要求。38第 6 章 總 結(jié)經(jīng)過程明老師耐心細(xì)致的指導(dǎo),經(jīng)過近一個月的努力,本次畢業(yè)設(shè)計課題基于MSP430 步進(jìn)電機控制器的設(shè)計告一段落。步進(jìn)電機控制系統(tǒng)主要分為硬件設(shè)計和軟件設(shè)計兩個部分:硬件設(shè)計主要是把電源模塊、鍵盤控制模塊、數(shù)碼顯示(SM420361K 數(shù)碼管)模塊、測速模塊、步進(jìn)電機驅(qū)動(集成達(dá)林頓 ULN2022)模塊及其它元件合理搭配并連接起來使其能夠為軟件運行提供一個硬件平臺。軟件設(shè)計主要是通過編寫程序代碼,實現(xiàn)對整個系統(tǒng)的控制。在系統(tǒng)上電復(fù)位后程序自動運行,通過接受外部的鍵盤操作修改系統(tǒng)參數(shù)值,控制步進(jìn)電機的啟停,以及轉(zhuǎn)速的增減和轉(zhuǎn)動方向的改變;定時器 T0 根據(jù)系統(tǒng)參數(shù)控制步進(jìn)電機的轉(zhuǎn)動;實現(xiàn)步進(jìn)電機轉(zhuǎn)動速度的動態(tài)顯示。本系統(tǒng)具有相當(dāng)?shù)膶嵱霉δ?兩片單片機分別實現(xiàn)步進(jìn)電機控制和測速,能基本符合實際應(yīng)用需求,本次設(shè)計由于設(shè)計時間較短,個人能力以及精力等因素的限制,加之設(shè)計經(jīng)驗的不足,該系統(tǒng)還有許多不盡如人意的地方。該系統(tǒng)未能完全的實現(xiàn)設(shè)計的所有功能。如:利用鍵盤輸入轉(zhuǎn)速值實現(xiàn)轉(zhuǎn)速的控制,動態(tài)設(shè)置最低轉(zhuǎn)速和最高轉(zhuǎn)速等。在把理論設(shè)計轉(zhuǎn)換成實物的整個過程,如:電路設(shè)計、分析計算、畫電路圖、焊接電路、檢查調(diào)試、軟件流程控制設(shè)計分析、編寫調(diào)試軟件、燒寫軟件到整個軟硬件系統(tǒng)的調(diào)試,最后直到系統(tǒng)完成。其中整個系統(tǒng)的前期準(zhǔn)備是首先必須做到位的,如控制什么、用什么控制、得到什么結(jié)果,進(jìn)而對各部分應(yīng)選擇具體的芯片作進(jìn)一步的考慮,以使系統(tǒng)得到最優(yōu)的表現(xiàn)。通過本課題,一方面我在查閱資料的基礎(chǔ)上,了解 MSP430 單片機控制的一些基本技術(shù),掌握其控制系統(tǒng)的分析方法與實現(xiàn)方法,能對單片機外圍電路設(shè)計進(jìn)行系統(tǒng)學(xué)習(xí)與掌握;另一方面,在設(shè)計步進(jìn)電機控制系統(tǒng)的硬件電路,控制程序和相應(yīng)的電路圖時,應(yīng)充分運用說學(xué)知識,善于思考,琢磨,分析。39致 謝本論文是在程明老師的精心指導(dǎo)下完成的。在做畢業(yè)設(shè)計的整個過程中,得到了鄧小祥老師的耐心指導(dǎo),特別是在設(shè)計的初始階段,鄧小祥老師在需求分析方面給了我很大的幫助,在老師幫助和指導(dǎo)下,使我能很快地就確定了系統(tǒng)的目的和開發(fā)方案,在后來的確定步進(jìn)電機結(jié)構(gòu)和性能方面鄧小祥老師給了很大的幫助,使后來的程序?qū)崿F(xiàn)方面
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1