




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、內容提要本設計實現(xiàn)的是轉速測量和顯示的目的,首先要解決的是電機轉動到轉速叔數(shù)字的問題。lab6000實驗箱上的直流電機模塊的電機上有個小磁鐵,下方的霍爾元件每轉一圈會產生一個脈沖,這是轉速的采樣,所以本設計主要實現(xiàn)的就是對這個脈沖的計數(shù)和顯示,設計采用軟件編程使用兩個定時器/計數(shù)器t0、t1分別實現(xiàn)計數(shù)和定時的功能,當定時中斷時,說明計數(shù)器中已記錄一秒種內輸入的脈沖個數(shù),即直流電機一秒種內轉的圈數(shù)轉化為的脈沖數(shù),此時產生中斷,將計數(shù)器中的數(shù)值輸出,然后用led顯示管顯示,通過軟硬件的結合實現(xiàn)直流電機每秒種轉速的測量和顯示。通過此次設計加深了對單片機8051/8031的定時/計數(shù)器的認識和對le
2、d顯示編程的理解。目錄1.設計的目的和意義1.1 設計的目的31.2設計的內容31.3設計的要求32.硬件電路設計2.1總體設計框圖32.2電機測速方案設計圖32.3轉速顯示方案設計圖43.系統(tǒng)軟件設計3.1設計思路53.2程序模塊53.3程序清單74.電路調試105.結論10參考文獻111.設計的目的和意義1.實際應用匯編語言編制單片機程序以達到鞏固學習效果的目的,此次設計主要負責顯示模塊和部分硬件的調試;2.進一步掌握軟件和硬件結合共同實現(xiàn)msc-51系列單片機8051設計要求(偉福lab6000實驗箱中無8051用8031代替);3.進一步熟悉并掌握led顯示程序的設計1.2設計的內容
3、根據(jù)直流電機旋轉所產生的脈沖用單片機8031測起轉速,并在數(shù)碼管中顯示轉速 1.3設計的要求1.要求能夠測量電機轉速(最大255轉/s);2要求能控制電機轉速快慢;2.要求能用led管顯示電機轉速2.硬件電路設計及描述2.1總體設計框圖 2.2電機測速方案設計 由電位器控制直流電機的轉速,直流電機每旋轉一周,內部霍爾元件將其轉化為脈沖信號輸出給8031單片機并計數(shù),即可獲得轉速信息。mcs-51有兩個16位的定時/計數(shù)器:t0和t1.計數(shù)和定時實質上都是對脈沖信號進行計數(shù),只不過脈沖源不同而已.當工作在定時方式時,計數(shù)脈沖來自單片機的內部,每個機器周期使計數(shù)器加1,由于計數(shù)脈沖的頻率是固定的(
4、即每個脈沖為1個機器周期的時間),故可通過設定計數(shù)值來實現(xiàn)定時功能.當工作在計數(shù)方式時,計數(shù)脈沖來自單片機的引腳,每當引腳上出現(xiàn)一個由1到0的電平變化時,計數(shù)器的 加1,從而實現(xiàn)計數(shù)功能可以通過編程來指定時計數(shù)器的功能,以及它的工作方式本設計中定時器1工作在模式2,用于定時,定時器0工作在模式1,用于記數(shù),脈沖從t0口送入2.3轉速顯示方案設計 電機測速方案所測得的轉速信息經(jīng)編寫的程序處理,并確定顯示方式后在數(shù)碼管中顯示轉速。本實驗的led顯示鍵盤電路如下圖。顯示控制的位碼有74hc374輸出,經(jīng)uln2003反向驅動后,做led的位選通信號。位選通信號也可做為鍵盤列掃描碼。led顯示的段碼有
5、另一個74hc374輸出。鍵盤和led顯示電路的地址譯碼見圖,做鍵盤和led實驗時,需將key/led cs接到相應的地址譯碼上。位碼輸出地址為0x002h,段碼輸出地址為0x004h,此處x是由key/led cs決定的。片選號地址范圍cs008000h08fffhcs109000h09fffhcs20a000h0afffhcs30b000h0bfffhcs40c000h0cfffhcs50d000h0dfffhcs60e000h0efffhcs70f000h0ffffh圖4 地址譯碼插孔對應地址范圍3.系統(tǒng)軟件設計及描述3.1設計思路 本設計可以分為以下幾個執(zhí)行步驟:(1) 從電位器中獲得
6、控制電壓控制直流電機的轉速(2) 直流電機的轉速信息被傳感器轉化為脈沖信號輸送給8031單片機并計數(shù),即為轉速信息(3) 匯編程序從單片機的接口地址中讀取脈沖信息并將其轉化為轉速輸出到數(shù)碼管中顯示(4) 用電位器改變轉速的同時數(shù)碼管同步顯示轉速信息3.2程序模塊(1) 定時器/計數(shù)器模塊計數(shù)器對脈沖進行計數(shù),當定時器定時1s中斷后執(zhí)行顯示程序;內部定時器用做記數(shù)器時,對機器周期記數(shù),每個機器周期的長度是12個振蕩周期,因為lab6000實驗箱的8031芯片晶振是6mhz,本程序工作在方式2即8 位自動重裝方式定時器100s,所以定時常數(shù)的設置可以按下式計算:機器周期=12/6mhz=2us(2
7、56-定時常數(shù))/2us=100s設定時常數(shù)=206,然后對100us中斷10000次就是1秒;(2) 二進制到bcd的轉換將計數(shù)的二進制值轉換成bcd碼顯示(3) 顯示程序采用動態(tài)顯示,本設計key/led cs連接的是cs0口,所以位碼輸出地址為08002h,段碼輸出地址為08004h,定義以上地址編寫程序實現(xiàn)顯示。ny,中斷入口保護現(xiàn)場10000次計數(shù)值減一設置下次10000次計數(shù)值讀取計數(shù)值計數(shù)值為0送計數(shù)值恢復現(xiàn)場中斷返回輸出位選通信號開始延時初始化顯示參數(shù)位選通信號移位關所有位顯示指向下一位顯示數(shù)據(jù)取顯示數(shù)據(jù)6位完成輸出段碼數(shù)據(jù) 否 是返回圖6 顯示處理流程圖圖5 定時中斷處理流程
8、圖要顯示的二進制數(shù)將數(shù)除于100得百位顯示百位將余數(shù)再除于10得十位顯示十位余數(shù)為各位并顯示跳出圖7 二進制到bcd轉換3.3程序清單outbit equ 08002h ;位控制口outseg equ 08004h ;段控制口ledbuf equ 60h ;顯示緩沖c100us equ 43htick equ 10000 ;循環(huán)計數(shù)初值t100us equ 206 ;定時器計數(shù)初值 org 0000h ljmp start org 001bh ;定時中斷子程序,定時1st0int: push psw ;保護斷點 push a mov a, c100us+1 jnz goon dec c100u
9、sgoon: dec c100us+1 mov a, c100us orl a, c100us+1 jnz exit mov c100us, #high(tick) mov c100us+1, #low(tick) jmp clearlcall speed ;按轉/秒顯示clear: mov tl0,#0 ;轉數(shù)清零,下一秒重新計數(shù)exit: pop a pop psw reti;=ledmap: ; 八段管顯示碼 db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h db 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71hdisplay
10、led: mov r0, #ledbuf mov r1, #6 ; 共用6個八段管 mov r2, #00100000b ; 從左邊第1個開始顯示loop: mov dptr, #outbit mov a, #0 movx dptr, a ; 關所有八段管 mov a, r0 mov dptr, #outseg movx dptr,a mov dptr, #outbit mov a, r2 movx dptr, a ; 顯示一位八段管 mov a, r2 ; 顯示下一位 rr a mov r2, a inc r0 djnz r1, loop ret; =toled: ;查找字形代碼 mov d
11、ptr, #ledmap movc a, a+dptr retstart: mov tmod, #25h ;定時器1模式2,定時工作 ;定時器0模式1,計數(shù)工作 mov th0,#0 ;計數(shù)初值為0 mov tl0,#0 mov th1, #t100us mov tl1, #t100us mov ie, #10001011b ;ea=1,et1=1,ex1=0,et0=1,ex0=1 mov c100us, #high(tick) mov c100us+1, #low(tick) setb tr1 ;啟動定時器1 setb tr0 ;啟動定時器0mloop: lcall displayled
12、jmp mloop;=speed: ;顯示轉速(轉/秒) mov a,#0 ;前四位數(shù)碼管清零 call toled mov ledbuf,a mov ledbuf+1,a mov ledbuf+2,a mov ledbuf+3,a mov a, tl0 mov b, #10 div ab call toled mov ledbuf+3, a ;顯示百位 mov a,#10 xch a, b div ab call toled mov ledbuf+4, a ;顯示十位 xch a,b call toled mov ledbuf+5, a ;顯示個位 retend4.電路調試本次實驗采用wav
13、e lab6000通用微控制器實驗箱做開發(fā)工具,調試具體程序時,先采用軟件模擬器調試程序,程序調試無誤后,連接硬件,進行軟件與硬件相結合的調試。為方便查找程序錯誤,分析程序執(zhí)行過程,調試過程中一般使用單步執(zhí)行和跳到光標位置執(zhí)行操作,需要知道最終調試結果是否正確時使用全速執(zhí)行。調試過程大致經(jīng)過以下幾個階段:1)剛開始我們打算完全用軟件模擬本次實驗,用定時器t1做波特率發(fā)生器模擬直流電機的脈沖輸入,定時器t0工作在模式三,這樣t0高八位可作為定時器,低八位可做計數(shù)器,完成脈沖每秒的數(shù)量測量,但由于t1做波特率發(fā)生器時很難控制,所以我們只得使用軟硬件結合的方式。2)軟硬件結合。將電位器接直流電機d/
14、a輸入口,其脈沖輸出接8051t0口(p3.4口),然后將片外ram cs0與led和鍵盤片選key/led cs相連,完成硬件連接。3)軟件調試:先執(zhí)行全速執(zhí)行,觀察所出現(xiàn)的問題。定時器/計數(shù)器模塊調試時,打開cpu窗口及定時器t0和定時期t1窗口,然后單步運行觀察所編語句是否每句達到預定效果,應注意的是定時期/計數(shù)器工作時無法賦初值。led顯示模塊的調試需先用跳到光標位置執(zhí)行,然后單步運行程序,觀察cpu窗口中各寄存器中數(shù)據(jù)變化是否按預定執(zhí)行,同時觀察led顯示結果,并思考軟件運行過程。led顯示模塊調試時先增大延時,使其在動態(tài)顯示時能從左到右逐位清楚的顯示,調用無誤后再調整好延時,使其快速顯示,達到穩(wěn)定顯示的效果。5.結論本實驗通過傳感器將轉速轉化為脈沖的形式,輸送給8031單片機,單片機再將脈沖計數(shù),即可得直流電機的轉速信息。本測速系統(tǒng)結構簡單,顯示直觀,與應用中的電子汽車里程表原理相似。但在調試當中也發(fā)現(xiàn)了一些不足,譬如轉速的顯示位數(shù)有限,最大255轉/s能滿組一般電
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 玩具企業(yè)的客戶服務與售后支持體系考核試卷
- 智能手持設備穩(wěn)定性測試考核試卷
- 幼兒園中班課程故事:特工超市
- 小兔子班本課程
- 體育健康教育禁毒
- 2025醫(yī)療機構數(shù)據(jù)庫維護服務合同
- 2025園林綠化養(yǎng)護管理合同書
- 義務教育學校工作匯報
- 2025年的食堂管理合同范本
- 2025年合同續(xù)簽無需試用期
- 2025年上半年江蘇省蘇州市總工會招錄社會化工會工作者18人易考易錯模擬試題(共500題)試卷后附參考答案
- 工廠廢料運輸清理協(xié)議
- 2025超市出兌合同書模板
- 《基于寧德時代的財務報表的公司財務分析》4100字(論文)
- 湖南省長沙市雅禮實驗中學-主題班會-《陽光心態(tài)美麗青春》【課件】
- 提高單病種上報率
- The+Person+I+respect+高考應用文寫作+導學案 高三上學期英語一輪復習專項
- 2025年中考考前物理押題密卷(河北卷)(考試版A4)
- 臨床護理實踐指南2024版
- 人教版七年級下冊數(shù)學第七章平面直角坐標系-測試題及答案
- “煎炒烹炸”與中藥療效(安徽中醫(yī)藥大學)知道智慧樹章節(jié)答案
評論
0/150
提交評論