基於微控制器課程設計電子記分牌

2022-10-06 17:06:07 字數 3619 閱讀 4304

微控制器課程設計報告

設計方案之前,得先分解設計任務。本次的設計任務是籃球記分牌,據常識,籃球記分牌應有分別給兩隊加分,暫停,顯示屏既要顯示時間又要顯示分數。在進行設計之前,應自己提出幾個問題,待問題回答之後。

基本功、的設計方案就出來了。在設計之前我提出了一下幾個問題:

a:硬體部分如何控制給a對b對加分,如何控制時間與分數的顯示?場地交換的時候又是如何實現分數顯示交換的?

應該如何連線硬體,在硬體上設定控制端,控制端與微控制器各引腳之間的連。數碼管用來顯示比分與時間,有共陰和共陽,如何選擇?

b:微控制器只有乙個cpu,如何實現即要掃瞄按鍵,又要顯示比分,顯示時間。數碼管工作的本質是將要顯示的資料的字型碼送給他,如何採集到變化的分數和時間並送給數碼管。用查表嗎?

c:分數時間顯示都應該有對應的數碼管,如何控制數碼管,使時間和分數都顯示在相對應的數碼管上?加分與倒計時在程式中最本質的東西是什麼,如何用程式來說明這樣的事件,各事件之間又是如何聯絡的。

雖然這些問題看似很普通,似乎在設計過程中都要面對這樣的問題,何不事先就解決這些問題呢,在逐一回答這些問題的同時,該任務的設計方案已見雛形。以下就是該方案的詳細內容以及我問題的答案。

系統原理圖如下圖一所示:

圖一 圖中p0.0,p0.1,p0.

2,分別是給a對加分,b對加分,比賽暫停的控制口,通過按鍵檢測高低電平來控制,其具體控制過程見程式。p3.2與p3.

3口是外部中斷,其中斷服務程式的功能是實現比分交換和比分與時間的切換顯示。p2.0至p2.

3口是數碼管工作控制單,電路中選擇共陽極的數碼管,可以省去輸入端的驅動電路,使電路更簡潔。p0口作為字形碼的輸出口,與數碼管的八隻管教相連。

主要元器件有微控制器晶元at89sc51,共陽極數碼管,9012pnp三極體。其中微控制器承載程式,實現電路功能,三極體起開關及驅動數碼管顯示作用。數碼管顯示比分和時間。

程式的總體思路是主程式一直在掃瞄按鍵,倒計時減一,比分顯示,比分交換,時間與比分的切換都在中斷服務程式中完成。其具體內容如下所示。

主程式流程圖

按鍵掃瞄程式

分數顯示程式流程圖

其中時間顯示的子程式流程圖與分數的大同小異,此處就不再一一列出。

程式包含按鍵掃瞄程式,不斷地掃瞄按鍵,一旦有控制中斷的按鍵按下,就執行中斷程式,交換比分,切換時間與比分,並且顯示時間或分數。中斷服務程式,int_0交換a對與b對的總分,int_1改變軟體標誌位就可以切換分數與時間的顯示,同時掃瞄按鍵。時間顯示程式;分數顯示程式,延時程式,用於按鍵消抖。

按鍵掃瞄程式是本程式中最重要的程式段,其連線了所有的子程式,子程式的呼叫都是在其中完成。下面就對該程式段的功能,作用及編寫思路做詳細說明。

按鍵掃瞄程式

l0: jnb f0,l1 ;檢測軟體標誌位,其中軟體標誌位

;p3.2,p3.3決定,即外部中斷。

lcall display_fs ; 顯示分數,並且掃瞄按鍵

l5: ajmp key

l1: lcall display_sj ;中斷時顯示時間

key: jb p1.0,key_1

lcall del12ms

jnb p1.0,$

inc r2 ;完成給a對加分並且顯示

cjne r2,#99,l2

mov r2,#00h

l2:ljmp key_1

key_1:

jb p1.1,key_2

lcall del12ms

jnb p1.1,$

inc r3完成給b對加分

cjne r3,#99,l3

mov r3,#00h

l3:ljmp key_2

key_2:

jb p1.2,key_3

lcall del12ms

jnb p1.2,$

cpl tr1暫停時關閉定時計數器,停止計時

ljmp l0

jb p1.2,key_3若要比賽開始,檢測開始鍵是否按下

lcall del12ms

jnb p1.2,$

setb tr1比賽開始,恢復計時,完成暫停與開始切換,

ljmp key_3

key_3:

ljmp l0

程式初始化

time1 equ 11h ; 儲存時間秒的個位

time2 equ 12h ; 儲存時間秒的十位

time3 equ 13h ; 儲存時間分的個位

time4 equ 14h ; 儲存時間分的十位

times equ 15h ;儲存時間秒

timef equ 16h ;儲存時間分

ascore2 equ 17h ; a隊分數的十位

ascore1 equ 18h ; a隊分數的個位

bscore2 equ 19h ; b隊分數的十位

bscore1 equ 20h ; b隊分數的個位

主程式 org 0000h

ljmp start

org 0003h ;外部中斷0入口位址

ljmp int_0

org 001bh定時器t1中斷入口位址

ljmp int_2

org 0013h ;外部中斷1入口位址

ljmp int_1

org 0100h

start: mov sp,#60h

mov tmod,#10h

mov tl1,#0b0h

mov th1,#3ch基本定時時間為50ms

mov r7,#20

mov time4,#1

mov time3,#1

mov time2,#5

mov time1,#9 ;設開始比賽時間為12分鐘

mov times,#59

mov timef,#11

mov ascore2,#00h

mov ascore1,#00h

mov bscore2,#00h

mov bscore1,#00h ;置比賽開始時a對與b對的比分為00:00

mov r2,#00h

mov r3,#00h暫存比賽分數,初始狀態為零

setb tr1

setb ea

setb et1

setb ex0

setb ex1

setb it0

setb it1

按鍵掃瞄程式

l0: jnb f0,l1

lcall display_fs

l5: ajmp key

l1: lcall display_sj

key: jb p1.0,key_1

lcall del12ms

jnb p1.0,$

inc r2 ;完成給a對加分並且顯示

cjne r2,#99,l2

mov r2,#00h

l2: ljmp key_1

key_1: jb p1.1,key_2

lcall del12ms

jnb p1.1,$

inc r3完成給b對加分

cjne r3,#99,l3

mov r3,#00h

基於微控制器的電梯課程設計

二 一四 二 一五學年第一學期 資訊科學與工程學院 自動化系 課程設計報告書 姓名 余義 學號 201204134019 班級 自動化1201班 課程名稱 微機原理與應用課程設計 指導教師 程磊 1 前言 1 2 現代電梯概述 3 3 硬體部分設計 6 4 軟體部分設計 12 5 電梯執行介面 52...

基於微控制器的電子時鐘課程設計報告

目錄一 引言 二 設計課題 三 系統總體方案 四 系統硬體設計 1.硬體電路原理圖 2.元件清單 五 系統軟體設計 1.軟體流程圖 2.程式清單 六 系統實物圖 7 課程設計體會 八 參考文獻及 九 附錄 一 引言 微控制器因將其主要組成部分整合在乙個晶元上而得名,就是把 處理器 隨機儲存器 唯讀儲...

基於微控制器的電子時鐘設計

ds1302時鐘晶元具有通電自動計時的功能。向ds1302中寫入乙個初值,如寫入2011 05 01 00 00 00 星期日,在通電時,時間就會自動走 過60秒分加1 過60分時加1 過24小時天加1,星期日變成星期一 一周有7天,晶元內的周資訊每7天一迴圈 晶元能夠自動判斷每月有多少天,5月有3...