微機原理專案報告

2021-09-04 18:11:43 字數 3389 閱讀 9177

微機原理專案七

姓名:李守燁

班級:08級機電2班

指導老師:史豔國

學號:080101010398

時間:2011/5/21

目錄1題目及要求 2

2過程示意圖 2

3總體設計思路 3

3.1步進電機的模擬 3

3.2控制系統的啟停控制 3

3.3指示燈的控制 3

3.4數碼管靜態顯示 3

4系統流程框圖 4

5系統接線示意圖 5

6程式部分 6

7實驗結果及分析 12

7.1實驗結果 12

7.2實驗分析 12

8結論 12

9感想 12

瓶裝飲料生產線傳送控制系統某廠生產瓶裝保健品飲品,每10瓶裝一箱,要求箱滿時,啟動送箱裝置,先送走滿箱到位(延時一定時間),再送來空箱到位(延時一定時間),滿箱和空箱分別在兩個不同的傳送帶上傳送。能人為控制生產線的啟動和停止(比如鍵盤上,按某一鍵啟動,啟動後按任意鍵停止)。能在數碼管上顯示當時已裝滿送出的箱數。

圖2. 1

用步進電機的正反轉來模擬送來空箱和送走滿箱。用8255的pc0~pc3作為輸出給步進電機a~d口,選用單雙八拍工作方式(a->ab->b->bc->c->cd->d->da->a)。

步進電機的驅動原理是通過它每相線圈的電流的順序切換來使電機作步進式旋轉,驅動電路由脈衝來控制,所以調節脈衝的頻率便可改變步進電機的轉速,微控制器最適合控制步進電機。

用8255的pc7和pc6作為輸入採集開關訊號控制系統的啟停。首先設定8255的工作方式為0方式,c口的高4位設為輸入,然後把pc7和pc6和開關相連。系統通過採集開關訊號來判別是否啟動和暫停系統。

用8255的a口作為輸出來控制指示燈。綠燈代表送來空箱子,黃燈代表裝箱過程,紅燈代表送走滿箱。

選用8279連線數碼管來靜態顯示所記錄的箱數。8279自身有重新整理數碼管的頻率,較之8255能更穩定地顯示數字。

圖4. 1

圖5. 1

stac segment stack

db 1024 dup(0)

stac ends

data segment

;定義資料段

z8279 equ 0bf01h ;8279命令字、狀態字位址8279連cs5

d8279 equ 0bf00h ;8279讀寫資料口的位址

led db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,080h,90h ;段碼

counter dw 0

num db 10

temporary db ?

data ends

code segment 'code'

assume cs:code,ds:data,ss:stac

start: mov ax,data

mov ds,ax

start1: mov al,10000010b對8255進行初始化

mov dx,0f003h

out dx,al

mov dx,0f001h

in al,dx

and al,80h

cmp al,0

jnz start1

jz start2

start2: call init82798279寫入方式控制字,初始化

call lightoff系統剛啟動指示燈全滅

call leddisp系統剛啟動數碼管顯示為0

call delay

;主程式

start3: call step_motor1電動機正轉,送來空箱

call delay延時一段時間

call yellowlight裝箱過程,黃燈亮

call delay延時

call step_motor2電動機反轉 ,送走滿箱,且計數並顯示

call delay

call stop檢測是否按下停止鍵

jmp start3如果沒按停止鍵,則程式系統繼續工作

mov ax,4c00h

int 21h

;8279初始化

init8279 proc

mov dx,z8279cmd_8279為寫命令位址、讀狀位址

mov al,34h

out dx,al可程式設計時鐘設定,設定分頻係數(20分頻

mov al,08*8字元顯示,左邊輸入,外部解碼鍵掃瞄方式

out dx,al

mov al,0a0h顯示禁止/熄滅命令

out dx,al

call init8279_1

retinit8279 endp

init8279_1 proc

call clear

mov al,90h從第乙個數碼管開始移位顯示

out dx,al

retinit8279_1 endp

;清除命令

clear proc

mov dx,z8279

mov al,0deh

out dx,al

wait1: in al,dx

test al,80h

jnz wait1顯示ram清除完畢嗎?

retclear endp

;段碼編寫

write proc

div numcx=ax,把計數值除十,取出餘數存入ah商存入al,顯示餘數

mov temporary,al 商暫存在temporary

mov al,ah餘數存入al

mov bx,offset led

xlat換碼即al=ds:[bx+al]

out dx,al輸出段碼

mov ah,0ax高位復0

mov al,temporary把商又賦給al,即商存入到ax裡,為下一次

除法做準備

retwrite endp

leddisp proc顯示子程式

mov dx,d8279

mov ax,counter

push cx

mov cx,8往8279裡面寫8次

again: call write

loop again

pop cx

retleddisp endp

delay proc延時子程式

push bx

push cx

mov bx,8

delay1:mov cx,0

delay2:loop delay2

dec bx

jnz delay1

pop cx

pop bxret

微機原理專案報告修改

生產線控制系統的計算機控制技術的實現 班級 學號 姓名 課程名稱 微機原理 指導教師 2011年5月23日 目錄1.專案說明3 1.1專案題目3 1.2方案預想3 2.專案實驗過程5 2.1所用實驗儀器及連線方式 5 2.2 專案所用程式6 3.模擬實驗結果12 4.專案結論12 5.專案心得12 ...

微機原理實習報告

微機實習報計科091班 2組 告2010年6月10日 表基於tdn md88的交通燈 1 設計目的 利用tdn微機原理試驗箱及單元電路,實現對一道路交通燈的控制。二 小組成員及主要分工 三 技術要求 1 設計完成交通燈的電路 2 採用tdn試驗箱上的8255 8259 8088完成 3 程式設計中採...

微機原理實驗報告

一 實驗綜述 實驗目的 1 熟悉debug環境,在debug中輸入程式。2 掌握基本指令的用法。3 分析程式執行結果。4 會按要求編寫基本程式,完成基本功能。二 實驗過程 實驗步驟 資料記錄 實驗3.57 若ax 1001h,dx 20ffh,當執行add ax,dx指令以後,請列出和數及標誌暫存器...