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

正文內(nèi)容

基于單片機的步進電機速度測量系統(tǒng)設(shè)計課程設(shè)計論文(編輯修改稿)

2025-04-03 12:04 本頁面
 

【文章內(nèi)容簡介】 ge等編譯模式,以適應(yīng)芯片上存儲器的大小,中斷服務(wù)程序的現(xiàn)場保護和恢復(fù),中斷向量的地址是直接跟單片機相關(guān)的都由 C編譯器代辦 :提供常用的標(biāo)準(zhǔn)函數(shù)庫,以供用戶直接使用,頭文件中定義的宏,說明復(fù)雜數(shù)據(jù)類型和函數(shù)原型,有利于程基于單片機的步進電機速度測量系統(tǒng)設(shè)計 序的移植和支持單片機的系列化和產(chǎn)品的開發(fā)有嚴(yán)格的句法檢查,錯誤很少且很容易在高級語言的水平上迅速地被排掉,提高運行的安全性。 按照可靠性理論,程序設(shè)計最主要任務(wù)是確保應(yīng)用程序按照給定的順序有序地運行。有序地運行的基礎(chǔ)是硬件的可靠性,可靠性高的硬件基礎(chǔ)可以保證不會出現(xiàn)硬 件系統(tǒng)故障 :但是,在工業(yè)現(xiàn)場使用時,大量的干擾源雖然不會造成單片機系統(tǒng)硬件的破壞,卻常常會破壞數(shù)字信號的時序,更改單片機寄存器內(nèi)容,導(dǎo)致程序跑飛或進入死循環(huán) .因此在提高硬件可靠性的基礎(chǔ)上必須在程序設(shè)計中采取措施,提高軟件的可靠性,減少軟件錯誤的發(fā)生以及在發(fā)生軟件錯誤的情況下仍然能使系統(tǒng)恢復(fù)正常運行。可軟件的可靠性問題常常容易被人們忽視。隨著單片機測控系統(tǒng)越來越復(fù)雜,工作環(huán)境干擾越來越嚴(yán)重,軟件可靠性問題逐漸為人們所重視。軟件的可靠性問題雖然和硬件的可靠性問題不盡相同,在基于單片機的測控系統(tǒng)中軟件的重要性與硬 件是處于相同等重要的地位。單片機測控系統(tǒng)本身對程序設(shè)計的要求除了可靠,易理解,易維護,準(zhǔn)確和可測試外,溫度采集系統(tǒng)在軟件設(shè)計時還提出了以下要求 : 容錯性 :在工業(yè)控制中,由于單片機測控系統(tǒng)所處的環(huán)境比較惡劣,常存在于干擾源如環(huán)境溫度,電場,磁場等。使數(shù)據(jù)采集不可靠控制失靈或程序運行失常,當(dāng)發(fā)生這些錯誤或故障時,測控軟件要能夠不受影響,從錯誤或故障中恢復(fù),保證系統(tǒng)的正常工作。 實時性 :實時性是測控系統(tǒng)的普遍要求,即要求系統(tǒng)及時響應(yīng)外部事件的發(fā)生并及時給出處理結(jié)果。隨著電子技術(shù)的飛速發(fā)展,硬件的集成度與 速度卻不斷提高。因此這就要編寫相應(yīng)的測控軟件來滿足實時性要求 .在工程應(yīng)用程序設(shè)計中,采用匯編語言比高級語言更具有實時性。 足夠的時序裕度 :時序是程序設(shè)計中必須考慮的問題。系統(tǒng)在中心控制下,實現(xiàn)分時操作,在非握手控制下,程序運行完全依靠時序調(diào)度,切換控制,這就要求在編寫程序時,不僅要時序正確,而且要有足夠的時序裕度 [9]。 程序總體設(shè)計流程圖 基于單片機的步進電機速度測量系統(tǒng)設(shè)計 程序總體設(shè)計流程圖 系統(tǒng)總體框圖如圖 (51)所示,程序由鍵盤掃描處理模塊、數(shù)碼管顯示模塊、轉(zhuǎn)速檢測模塊組成。并且將鍵盤掃描處理、顯示寫進定時器中斷服務(wù)程序,以提高程序的執(zhí)行效率。 本系統(tǒng)采用 STC89C52 中的 T0定時器和 T1 計數(shù)器配合使用對 轉(zhuǎn)速脈沖 定時 計數(shù)。計數(shù) 器 T1 工作于 計數(shù)狀態(tài)對 外部 脈沖進行 計數(shù); T0 工作 為 定時器方式 每次定時 50ms,并記到 20次后中斷,總計時為 1s。 T1中斷入口 定時器裝入初值 掃描鍵盤 啟動? 正轉(zhuǎn)? 正轉(zhuǎn)脈沖 是否測速? 顯示轉(zhuǎn)速 T1中斷出口 反轉(zhuǎn)脈沖 打開 T0 顯示測量速度 開始 系統(tǒng)初始化 開定時器 T1 等待中斷 裝入初值 T0中斷入口 裝入定時器初值 脈沖計數(shù) 計算速度 返回速度值 T0中斷出口 基于單片機的步進電機速度測量系統(tǒng)設(shè)計 該程序的流程圖如圖 : 圖 主程序流程圖 圖 T0測速流程圖 該程序編程的思想就是在給定的 1s 之內(nèi),用單片機自帶的計數(shù)器 T1 對外部脈沖進行計數(shù)。 圖 是定時服務(wù)程序,改程序主要是完成 1s 的定時任務(wù),并且對變量 buf_min進行加一處理,其中在對 T0進行賦初值時,選擇為 50000,這樣記到 20 次最接近 1s。 6. 速度測量軟、硬件調(diào)試 在這次設(shè)計過程中,大部分的時間都用在了調(diào)試上,調(diào)試又包括硬件調(diào)試和軟件調(diào)試。下面首先介紹軟件調(diào)試。 在對程序進行調(diào)試前,首先是用編寫程序代碼,對于設(shè)計好了程序結(jié)構(gòu)圖來說,編寫代碼是很快的,基本上是 花了半天的時間就完成。對于程序的編譯調(diào)試,我們使用的keil 軟件,而影響本次設(shè)計的關(guān)鍵因素之一就是程序的定時問題,因為程序采用的是在給定時間內(nèi)測定電機轉(zhuǎn)動次數(shù),所以在調(diào)試過程中主要就是針對中斷定時程序初值的設(shè)基于單片機的步進電機速度測量系統(tǒng)設(shè)計 定問題進行調(diào)試。調(diào)試時就是寫一個空的 main 函數(shù),然后在寫一個定時函數(shù),通過設(shè)置斷點,全速運行一次程序?qū)⑼T跀帱c處,此時可查看寄存器窗口 sec 中的值,在全速運行一次,再看 sec 中的值,就出兩次 sec 中的差值即為中斷定時器的時間。這樣經(jīng)過多次的修改最終得到 50000 是最為接近 50ms 的初值,而程序的其它地 方?jīng)]有什么大的問題很容易解決。將軟件調(diào)試好后接著就是焊接電路圖。 在焊接過程中也是一部分一部分的焊接,首先就是將單片機最小系統(tǒng)焊好,然后在焊接數(shù)碼管顯示電路,在焊好這部分電路后,就用一個簡單的顯示程序?qū)负玫娘@示電路進行測試,經(jīng)過測試能夠正常顯示數(shù)字所以焊接的顯示電路正確。接下來就就是焊接傳感器電路部分,由于霍爾傳感器是要和電機接近,所以霍爾傳感器就焊接在另外一塊電路上,通過外部連線將其與單片機相連 [10]。 調(diào)試中出現(xiàn)的問題及解決方案 在整個調(diào)試過程中,最容易出現(xiàn)的問題就是接觸不良或者短路現(xiàn)象,出現(xiàn) 這種問題的主要原因就是在焊接過程中不夠細(xì)心所導(dǎo)致的。這種情況的解決思路也很明確,就是重新檢查電路板,如果發(fā)現(xiàn)問題所在,就用吸錫的工具把焊接部位吸掉,然后重新焊接。 基于單片機的步進電機速度測量系統(tǒng)設(shè)計 結(jié)束語 通過本次課程設(shè)計,使我學(xué)到了許多書本上無法學(xué)到的知識 ,也使我深刻體會到單片機技術(shù)應(yīng)用領(lǐng)域的廣泛。不僅讓我對學(xué)過的單片機知識有了很多的鞏固,同時也對單片機這一門課程產(chǎn)生了更大的興趣。在本次課程設(shè)計過程中,我學(xué)會了在網(wǎng)絡(luò)上查找有關(guān)本設(shè)計的各硬件的資源,其中包括:交流電機調(diào)速、 STC89C52 單片機等,為本次 課程設(shè)計提供了一定的資料。 在做課程設(shè)計的初期階段,難度很大,沒有頭緒。通過求助于毛老師、理清了思路。同時,在圖書館里、網(wǎng)上查閱資料,攻克了課程設(shè)計中的道道難題。最后經(jīng)過指導(dǎo)老師的耐心指點和連續(xù)的奮戰(zhàn)才算基本合格。辦事只要有了頭緒,就會簡單很多。本次設(shè)計能完成,算是有了很大的收獲??偟母惺苡幸韵聨追矫妫? 通過本次設(shè)計,我不但對單片機有了更為深入的了解,對一個課題如何畫流程圖,編程序等有了一定的認(rèn)識。 進一步加強了 我 的動手能力和運用專業(yè)知識的能力,從中學(xué)習(xí)到如何去思考和解決問題,以及如何靈活地改變方法 去實現(xiàn)設(shè)計方案 。 特別是深刻體會到 了 軟件和硬件結(jié)合的重要性,以及兩者的聯(lián)系和配合作用 。 讓我了解到單片機技術(shù)對當(dāng)今人們生活的重要性。同時 這次做課程設(shè)計的經(jīng)歷也使我受益匪淺,讓我知道做任何事情都應(yīng)腳踏實地,刻苦努力地去做,只有這樣,才能做好。 在設(shè)計過程中,得到了我的指導(dǎo)老師的悉心指導(dǎo)與幫助,在此表示衷心的感謝。 基于單片機的步進電機速度測量系統(tǒng)設(shè)計 參考文獻 [1] 歐陽文主編 .ATMEL89系列單片機的原理與開發(fā)實踐 [M].北京:中國電力出版社, 2021. [2] 張毅剛主編 .單片機原理及應(yīng)用 [M].北京:高等教育 出版社, 2021. [3] 吳霞 .利用 89C51單片機實現(xiàn)的一種低轉(zhuǎn)速測量方法 [J].機電工程 ,2021,17(6):1820. [4] 邵顯濤,陳明,李俊 .基于霍爾傳感器電機轉(zhuǎn)速的單片機測量 [J].研究與開發(fā), 2021, 27( 10):2931. [5] 趙樹磊,謝吉華,劉永峰 .基于霍爾傳感器的電機測速裝置 [J].江蘇電器, 2021( 10): 5356. [6] 李福進,陳至坤,王汝琳,梁月肖 .基于單片機的轉(zhuǎn)速測量方法 [J].工況自動化, 2021( 1):5455. [7] 常健生主編 .檢測與轉(zhuǎn)換技 術(shù) [M].第 3版 .北京 :機械工業(yè)出版社, 2021. [8] 張毅剛等 .單片機原理及應(yīng)用 [M].北京:高等教育出版社, 2021. [9] 郭天祥 .51單片機 C語言教程 [M].北京:電子工業(yè)出版社, 2021. [10] 陳大欽主編 .電子技術(shù)基礎(chǔ)實驗――電子電路實驗設(shè)計仿真 [M].北京:高等教育出版社,2021. 基于單片機的步進電機速度測量系統(tǒng)設(shè)計 附錄一:系統(tǒng)電路原理 基于單片機的步進電機速度測量系統(tǒng)設(shè)計 附錄二:系統(tǒng)仿真圖 附錄三:源程序 include define uchar unsigned char define uint unsigned int uchar code fan[]={0xfc,0xf9,0xf3,0xf6}。 //反轉(zhuǎn)控制字 uchar code zheng[]={0xfc,0xf6,0xf3,0xf9}。 //正轉(zhuǎn)控制字 uint code X[]={55295,46081,39497,34561,30719,27640,25133,23036,21266,19748,18430,17280,16263,15359,14551,13822,13165,12566,12020,11519,11059,10633,10239,9874,9533,9215,8918,8640,8377,8131,7899,7679,7472,7275,7088,6911,6742,6582,6429,6283,6143,6009,5881,5760,5642,5528,5420,5316,5216,5119,5026,4937,4850,4766,4685,4607,4532,4458,4387,4319,4253,4188,4126,4065,4006,3949,3893,3839,3786,3736,3686,3637,3590,3544,3499,3456,3412,3371,3330,3291,3252,3214,3177,3141,3105,3071,3037,3004,2972,2940,2909,2880,2849,2821,2792,2764}。 //uchar led[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}。 // 共陽極碼 uchar led[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00}。 基于單片機的步進電機速度測量系統(tǒng)設(shè)計 //共陰極碼 //uchar showbit[]={0xfe,0xfd,0xfb,0xf7,0x7f,0xbf,0xdf,0xef}。 //位碼 uint code speed[]={50,60,70,80,90,100,110,120,130,140,150,160,170,180,190,200,210,220,230,240,250,260,270,280,290,300,310,320,330,340,350,360,370,380,390,400,410,420,430,440,450,460,470,480,490,500,510,520,530,540,550,560,570,580,590,600,610,620,630,640,650,660,670,680,690,700,710,720,730,740,750,760,770,780,790,800,810,820,830,840,850,860,870,880,890,900,910,920,930,940,950,960,970,980,990,1000}。 sbit P3_0=P3^0。 sbit P3_1=P3^1。 sbit qidong=P1^0。 sbit tingzhi=P1^1。 sbit zf=P1^2。 sbit xsqh=P1^3。 sbit jiasu=P1^4。 sbit jiansu=P1^5。 sbit jiasu100=P1^6。 sbit jiansu100=P1^7。 sbit P3_4=P3^4。 //個位 sbit P3_5=P3^5。 //十位 sbit P3_6=P3^6。 //百位 sbit P3_7=P3^7。 //千位 sbit P3_2=P3^2。 uint L,N,M,K,speednow,Q。 uint cesu。 uchar T1count,beforecount,aftercount。 bit flag。 //flag 為 1 正轉(zhuǎn) , flag 為 0反轉(zhuǎn) bit star_flag。 //啟動為 1,停止為 0 bit xianshi_flag。 //測速為 1,設(shè)定速度為 0 bit beforechange。 bit afterchange。 void delayuln(void) //1ms 誤差 0us { unsigned char a,b,c。 for(c=1。c0。c) for(b=142。b0。b) for(a=2。a0。a)。 } void delayled()
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1