轉速表課程設計報告

2021-03-03 22:29:54 字數 4139 閱讀 1967

目錄一、設計要求2

二、設計目的2

三、設計的具體實現2

1.系統概述2

2.硬體電路的設計………………5

3.軟體程式的設計……………… 6

四、結論與展望10

五、心得體會及建議11

六、附錄12

七、參考文獻12

轉速表設計報告

一、設計要求:

用pc的軟硬體資源設計轉速表,正確測量電動機的轉速並顯示。

具體要求:

1.用數碼管顯示轉速;

2.轉速顯示範圍自行確定;

3.用乙個撥動開關控制轉速表的啟動和停止;

4.轉速表的取樣週期自行確定;

二、設計目的

運用《微機原理及應用》等課程知識,根據題目要求進行軟硬體系統的設計和除錯,從而加深對課程知識的理解,使學生綜合應用知識能力,設計能力,除錯能力,及撰寫報告能力得到顯著提高。

理解感測器測速原理及實現過程,掌握8253可程式設計定時/計數功能,8255可程式設計並行介面晶元的工作方式及實現過程,8259可程式設計中斷控制器的實現的過程和數碼管動態顯示的的實現。

三、設計的具體實現

1.設計思路與總體方案

系統概述

本系統首先用感測器將轉速轉化為脈衝電訊號,再通過8253,8259進行定時,確定取樣週期為1s,同時8253的另乙個通道進行計數,最後通過8255控制數碼管以動態顯示的方式將結果顯示出來。

1) 設計思路

(1)在被測電機主軸上固定乙個圓盤,圓盤的邊緣上打上小孔,紅外感測器的發射端和接收端裝在圓盤的兩側,電機帶動圓盤轉到有小孔的位置是,紅外光通過,這樣電動機每轉動一周感測器就會發出乙個脈衝訊號,從而將轉速轉化為電訊號。同時通過調動電位器的來改變電動機的轉速。

(2)將8253的計數器0用作定時,設為工作方式0,並將其clk端與1m時鐘相連,初值設為50000,定時時間為50ms。並將定時器out端與8259中斷請求端相連,這樣每50ms 8253就向8259發出一次中斷請求,因此通過對中斷次數的計數來實現1s定時。

(3)8253的計數器1用作計數,將感測器輸出的脈衝訊號與計數器1的clk端相連。定時時間1s到時從計數器1中讀取計數值,即得到轉速。

(4)採用一片8255控制數碼管的動態顯示,其中pa接數碼管的段控制端,pc口接數碼管的位控制端,pb設為輸入撥動開關,這樣設8255工作方式0,pa、pc口為輸出,pb口為輸入。

2) 總體方案

首先用感測器將轉速轉化為脈衝電訊號,再通過8253,8259進行定時,確定取樣週期為1s,同時8253的另乙個通道進行計數,最後通過8255控制四個數碼管以動態顯示的方式將結果顯示出來顯示範圍確定為0~99999r/min。並通過開關控制啟動和停止。

3) 原理框圖

圖1.中斷服務程式

圖2.主程式

1. 硬體電路的設計

1) 電路圖

圖3.電路設計圖

電路圖連線方式如上圖所示,電位器控制電機的轉速,感測器輸出的脈衝電訊號接計數器1的clk1端,計數器0的0ut端接8259的ir0端,通過8253,8259進行定時,確定取樣週期為1s,同時8253為乙個通道進行計數,最後通過8255控制數碼管以動態顯示的方式將結果顯示出來。8255的pa接數碼管的段控制端,pc口接數碼管的位控制端,pb設為輸入撥動開關,其中撥動開關s0控制pb輸入,輸入高電平時數碼管開始工作,低電平時數碼管停止工作。

在數碼管顯示電路中,由於發光二級管發光時,通過的平均電流為10~20ma,而通常輸出鎖存器不能提供這麼大電流,所以led各段必須接驅動電路如上圖所示。

3.軟體程式設計

1)8253的初始化及定時的實現

圖4.8253的控制字

計數通道0工作方式3,初始值5000,接1m脈衝產生50ms的定時脈衝程式為

mov al, 36h

mov dx, control

out dx, al

mov al, 50h

mov dx, count0

out dx, al

mov al, 0c3h

out dx,al

計數通道1作為計數通道,為工作方式2,初始值為最大值0ffffh ,其程式為:

mov al, 74h

mov dx, control

out dx, al

mov al, 0ffh

mov dx, count1

out dx, al

mov al, 0ffh

out dx,al

讀取8253的計數器1的計數值,先所存後讀寫,由於計時器為減,所以需要最大值減去當前計數值得到每秒計數值,再通過計算得到每分的轉速其程式為:

mov al, 01000000b

mov dx, control

out dx,al對8253的計數通道1的資料鎖存

mov dx, count1

in al, dx先讀低8位再讀高位

mov bl, al

in al, dx

mov ah, al

mov al, bl至此已將讀出通道1的資料到ax中

mov [di], 0ffffh

sub [di], ax

mov dx, pa8255

mov al, [di]

out dx, al將8253所記錄的轉數讀到dx中

mov bl, 3ch

mul bl乘以60,把每秒的轉數轉成每分鐘的轉數

mov [di], ax

2)8259的初始化

8259的icw1設定為邊沿觸發,單片,需要icw4,icw2設定中斷源為ir0;ocw1設定為只有ir0中斷請求允許

mov dx, cs8259a

mov al, icw1

out dx, al

mov dx, cs8259b

mov al, icw2

out dx, al

mov al, icw4

out dx, al

mov al, ocw1

out dx, al

設定中斷向量

cli ;if=0,關閉中斷

mov ax, 0

mov ds, ax

mov bx, 4*icw2

mov ax, code

shl ax, 4 ;ax左移四位

add ax, offset ienter ;取ienter的偏移量與ax相加

mov [bx], ax

mov ax, 0

inc bx

inc bx

mov [bx], ax設定中斷向量

利用8259中斷次數定時1s,即利用8253每50ms給出乙個中斷請求,8259通過計20次中斷來實現1s的定時

ienter proc near

push ax

push dx

inc **t

cmp **t, 14h

jz a4中斷20次結束中斷,將轉數轉成每秒的轉數

a5: mov dx, cs8259a

mov al, 20h將中斷型別號送入al中開始中斷

out dx, al

pop dx

pop ax

iret中斷返回

a4: mov cl, 11h

call jisuan呼叫jisuan

jmp a5

ienter endp8259,定時1秒

3)8255的控制字

圖5.8255的控制字

開關s0的設計s0為1時開始工作顯示轉速,s0為0時退出程式;

nop空操作命令

mov cl, 0

mov dx, pb8255

mov al, 0

in al, dx8255b埠資料讀入al中

and al, 00000001b

cmp al, 00000001b

jnz exit開關0控制,s0=1,則開始工作

call led呼叫led顯示程式,顯示轉速

jmp start無條件跳轉到a1

exit: mov ah, 4ch

int 21hs0=0,退出程式

4) 轉速的顯示

將要顯示的十六進製制的數轉化為十進位制,並存入temp中其程式為:

print proc near將顯示值轉化為十進位制並儲存

push cx

mov dx, 0

光電轉速表設計方案

轉速是各類電機執行中的乙個重要物理量,在工程實踐中,我們經常會遇到各種需要測量轉速的場合。轉速是描述各種旋轉機械技術效能的乙個重要參量,是電動機極為重要的乙個狀態引數,在很多運動系統的測控中,都需要對電機的轉速進行測量,飛機 汽車 電機等動力裝置的研究 製造和使用等方面,都與轉速的測量有著密切的關係...

課程設計報告 學生用表

附錄 源程式 include include include void input struct class list cla 6 void total struct class list cla 6 void search struct class list cla 6 void modify s...

數字邏輯實驗課程設計報告表

數字邏輯實驗課程 設計報告 題目數字時鐘設計 專業 班 專案組成員 組長 姓名 學號 成員 姓名 學號 課程名稱數字邏輯設計型實驗 任課教師 2009 年 9 月 說明1 數字邏輯實驗課程設計結束之前,每位學生都必須參與 設計報告 的撰寫工作,提交小組課程設計報告和個人總結報告 設計報告的第七部分 ...