汽車燈 MCS 51微控制器原理及應用 課程設計報告

2022-12-02 19:24:05 字數 2899 閱讀 2066

河北工業大學計算機硬體技術基礎(mcs-51微控制器原理及應用)課程設計報告

學院:材料科學與工程學院班級:

設計人: 成績 ____

1、題目:

汽車訊號燈控制系統

二、總體設計

1、功能描述

(1)車輛轉彎時,相應一側之前燈、尾燈及儀表板指示燈均應閃爍。即左轉時,左頭燈、左尾燈、儀表板左轉彎燈閃爍,右轉時則右頭燈、右尾燈和儀表板右轉彎燈閃爍;

(2)緊急開關閉合時要求前述6個訊號燈全部閃爍;

(3)剎車時2個尾燈亮,若轉彎時剎車,則轉彎時原應閃爍的訊號燈仍應閃爍;

(4)汽車停靠而停靠開關合上時(如在高速公路上,車輛因故障停靠時)左頭燈、右頭燈、左尾燈、右尾燈應高頻閃爍;

(5)一般閃爍頻率為1hz,高頻閃爍頻率為3hz。

以上功能通過6個發光二級管模擬兩個頭燈、兩個尾燈和儀錶盤上的兩個指示的燈來實現。利用開關模擬左轉、右轉、應急的狀態,是訊號燈相應閃爍。通過定時/計數器控制燈的閃爍頻率。

2、設計方案描述

使用i/o口的相應引腳連線發光二極體,p1口連線8個led指示燈模擬車燈;p3口連線相應控制開關(sw1-3),模擬轉向控制桿和應急開關;key1模擬剎車踏板。

本試驗設計使用p3.2-p3.5 作為開關,分別控制剎車、應急、左轉、右轉功能。使用計時器t0控制閃爍頻率

三、硬體系統設計圖.

4、軟體系統設計

start:設定初始值

loop:讀取開關迴圈

loop1:剎車功能

loop2:應急功能

loop3:左轉

loop4:右轉

check3--check4:持續點亮

stop:關閉準備

tc0:中斷服務

流程圖五、程式清單及注釋.

org 8000h

ljmp start

org 800bh

ljmp tc0 ;計時器中斷

org 8050h

start:

mov sp,#50h

mov tmod,#01h ;置計時器0 方式1,定時

mov th0,#0d8h ;給計時器0賦初值

mov tl0,#0f0h

setb et0 ;計時器0允許中斷

setb ea ;總程式開中斷

mov p1,#0ffh ;燈全滅

mov r6,#00h ;給r6賦初值

loop:

setb p3.2

jnb p3.2,loop1 ;判斷是否剎車等開啟,等於零跳轉到剎車迴圈,否則繼續判斷

setb p3.3

jnb p3.3,loop2 ;判斷是否應急燈開啟,等於零跳轉到應急迴圈,否則繼續判斷

setb p3.4

jnb p3.4,loop3 ;判斷是否左轉燈開啟,等於零跳轉到左轉迴圈,否則繼續判斷

setb p3.5

jnb p3.5,loop4 ;判斷是否右轉燈開啟,等於零跳轉到右轉迴圈,否則繼續判斷

ljmp loop

loop1:

clr p1.0

clr p1.5 ;點亮兩個尾燈

jnb p3.2,$

ljmp stop

loop2應急狀態

jb p3.3,stop

cpl p1.0

cpl p1.1

cpl p1.2

cpl p1.3

cpl p1.4

cpl p1.5

check2:

setb tr0 ;開啟定時器0

cjne r6,#17h,check2 ;判斷是否夠1/6秒,相等繼續否則迴圈

mov r6,#00h

ljmp loop2

loop3:

jb p3.4,stop

cpl p1.0

cpl p1.1

cpl p1.2

check3:

jb p3.4,stop

setb tr0

cjne r6,#50h,check3 ;判斷是否夠0.5秒,相等繼續否則迴圈

mov r6,#00h

ljmp loop3

loop4:

jb p3.5,stop

cpl p1.3

cpl p1.4

cpl p1.5

check4:

jb p3.5,stop

setb tr0

cjne r6,#50h,check4 ;判斷是否夠0.5秒,相等繼續否則迴圈

mov r6,#00h

ljmp loop4

stop:

clr tr0

mov p1,#0ffh

mov r6,#00h

ljmp loop

tc0: mov th0,#0d8h ;定時器0重新賦初值

mov tl0,#0f0h

inc r6

reti中斷返回

end六.程式除錯方式

按照以前所學實驗方法,將程式輸入,編譯無誤,按照硬體系統設計圖並對照實驗書後的對照表進行接線,然後執行,通過開關控制燈的亮滅。

七、所設計問題不足以及改進方案

在定時器初值的設定上存在不足,閃爍時間沒有經過精確計算。閃爍頻率不夠精確。可以對此進行改進,重新設定初值或者更改r7的判斷條件以更精確。

八、自評分以及收穫體會

首先通過這次課程設計練習了運用mcs-51系列微控制器位操作指令,學習運用了位操作指令,學會計時器中斷的使用,更讓我對電子電路有了更深刻地了解,解開了我一直以來對計算機內部結構的疑惑。而且在一定程度上鍛鍊了自主學習能力,以及意志力和耐心。對我以後有很大的幫助。

日期:2023年1月6日

MCS51微控制器指令大全

以字母的順序排列 a z a 1 acall addr11 指令名稱 絕對呼叫指令 指令 指令功能 構造目的位址,進行子程式呼叫其方法是以指令提供的11位位址 al0 a0 取代pc的低11位,pc的高5位不變。操作內容 pc pc 2 sp sp 1 sp pc 7 0 sp sp 1 sp pc...

MCS 51微控制器指令全總結

1 運算元中有direct data bit的都是2位元組指令 2 在運算元中沒有以上三個變數卻有 標誌的都是1位元組指令 3 凡是3位元組指令的都是兩週期的指令 4 乘除是單位元組四週期的指令 5 位元組呼叫指令 位元組 位轉移指令 位元組 位邏輯指令 進 出棧指令 返回指令 inc dptr m...

MCS 51微控制器實用子程式庫

標號 功能 雙位元組 碼小數轉換成雙位元組十六進製制小數 入口條件 待轉換的雙位元組 碼小數在r4 r5中。出口資訊 轉換後的雙位元組十六進製制小數在r2 r3中。影響資源 psw a r2 r6 堆疊需求 位元組 bhd2 mov r6,10h 準備計算兩個位元組小數 bhd3 mov a,r5 ...