單片機微機原理及應用課程設計籃球記分牌的設計_第1頁
單片機微機原理及應用課程設計籃球記分牌的設計_第2頁
單片機微機原理及應用課程設計籃球記分牌的設計_第3頁
單片機微機原理及應用課程設計籃球記分牌的設計_第4頁
單片機微機原理及應用課程設計籃球記分牌的設計_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、單片機微機原理及應用課 目: 籃球記分牌的設計 學 院: 電氣工程學院 班 級: 自動化 08-2 姓 名: 指導教師: 完成時間:2011年12月11日籃球賽計時計分器一 設計目的 設計并制作一個用于賽場的籃球賽計時計分器,實現(xiàn)如下基本功能:(1) 能記錄整個賽程的比賽時間,并能修改比賽時間,暫停比賽時間。(2) 能隨時刷新甲,乙兩隊在整個賽程中的比分。(3) 中場交換場地時,能交換甲,乙兩隊比分的位置。(4) 比賽時間結束時,能發(fā)出報警指令。 二 設計意義 通過籃球計分計時器的制作,可以使我熟悉,了解單片機開發(fā)設計實例的過程,并能使讀者加深對單片機的理解和運用以及掌握單片機與外圍接口的一些

2、方法和技巧,這主要表現(xiàn)在以下的一些方面:(1) 籃球計分計時器包含了8051系列單片機的最小應用系統(tǒng)的構成,同時在此基礎上擴展了一些實用性強的外圍接口。(2) 掌握鍵盤接口原理,能正確地把鍵盤使用到單片機系統(tǒng)中,可以了解到led顯示器的結構,工作原理以及這種顯示器的接口實例。 (3)學會調(diào)試電路,分析電路故障,積累電路調(diào)試經(jīng)驗。三 具體設計內(nèi)容 1 系統(tǒng)框圖構成 基于單片機系統(tǒng)的籃球計分計時器的系統(tǒng)構成框圖如下所示:2硬件電路改進: 由于原來的電路比較復雜,用了很多芯片,浪費成本,而且給后期調(diào)試的調(diào)試會帶來較多麻煩,故對原來的硬件電路進行了改動。改動方面主要關于數(shù)碼管顯示的驅動和位選的,前期的

3、電路設計采用了大量的cd4511和cd4094來進行數(shù)碼管顯示的驅動和位選,而這次的電路設計只用了8個三極管就實現(xiàn)了這項功能。下面前期電路設計的計時部分的原理圖,還有更為復雜的計分原理圖未給出后期改進的整體原理圖:(3)軟件調(diào)試及組裝軟件的編程調(diào)試首先要抓住計分和計時兩大模塊,在這兩大模塊成功的基礎上再進行其他細小模塊的組裝和完善。主要編程的問題,所以就概述就舉例子概述一下計分模塊和計時模塊剛開始均會出現(xiàn)顯示數(shù)值范圍不正確或者十位和個位二者之中只顯示個位的情況,經(jīng)軟件調(diào)試,重新編程后成功的解決了問題。i 上半場比賽結束, 可按下交換比分按鈕,交換甲乙兩隊的比分,重新調(diào)整計時時間為20分鐘,按下

4、啟動按鈕,下半場比賽開始 八 籃球賽計時計分器程序流程圖及程序 代碼如下:k1bitp1.0k2bitp1.1k3 bit p1.2k4 bit p1.3k5bitp1.4k6bitp1.5k7 bit p1.6k8 bit p1.7 min equ 30h sec equ 31h sec100 equ 32h dis_buf equ 33h buf_min_hequdis_bufbuf_min_lequdis_buf+1buf_sec_hequdis_buf+2buf_sec_lequdis_buf+3k_old equ 41hk_new equ 42h dis_digit equ 43h

5、dis_index equ 44hk_old1 equ 45h k_new1 equ 46hflag equ 47h convert equ 48horg0000hjmpmainorg 0003h ljmp int_0org0000bhljmptimer0org0001bhljmptimer1org 0030hmain: mov sp,#60hmov p0,#0ffhmov p2,#0ffhmov tmod,#011hmov th0,#0fchmov tl0,#017hmov th1,#0dchclr amov tl1,a mov convert,#00h mov convert+1 ,#00

6、h mov convert+2,#00h mov convert+3 ,#00h clra mov min,#20 mov sec,amov sec100,a mov buf_min_h,#0a4hmov buf_min_l,#0c0h mov buf_sec_h,#0c0hmov buf_sec_l,#0c0h mov dis_buf+4,#0c0h mov dis_buf+5,#0c0h mov dis_buf+6,#0c0h mov dis_buf+7,#0c0h mov flag ,#00h mov k_old,#00h beep_bl00: mov r3,#10 mov r2,#20

7、0main1100: cpl p3.7 lcall delay500 lcall delay500 djnz r2,main1100 cpl p3.6 lcall delay500 lcall delay500 lcall delay500 mov r2,#200main2100: cpl p3.7 lcall delay500 djnz r2,main2100 djnz r3,main1100 ljmp startdelay500: mov r7,#230loop1: djnz r7,loop1 retstart:mov dis_digit,#0fehclr amov dis_index,a

8、 setb ea setb et0 setbtr0setb it0 setb ex0setb pt0 main_lp: call key_prog sjmpmain_lpkey_prog: call k_scan mov a,k_new cjne a,k_old,key_p1 jmp end_proc_keykey_p1: mov r4,#15key_p2: mov r7,#10 call delayms djnz r4,key_p2 call k_scan mov a,k_new cjne a,k_old,key_p3 jmp end_proc_keykey_p3: jb acc.0,pro

9、c_k1 jb acc.1,proc_k2 jb acc.2,proc_k3 jb acc.3,proc_k4 ljmpend_proc_keyproc_k1:lcall beep_bl001 inc minmov a,min; cjne a, #100,update_min21mov min,#00hupdate_min21:mov a,min mov b,#10div ab; a = min / 10mov dptr,#dis_codemovc a,a+dptrmov buf_min_h,amov a,min mov b,#10div abmov a,bmovc a,a+dptrmov b

10、uf_min_l,asjmp end_proc_keyproc_k2:lcall beep_bl001 dec minmov a,min cjne a, #255, update_min1mov min,#99update_min1:mov a,min mov b,#10div abmov dptr,#dis_codemovc a,a+dptrmov buf_min_h,amov a,min lmov b,#10div abmov a,bmovc a,a+dptrmov buf_min_l,a sjmp end_proc_key proc_k3: lcall beep_bl001 push p

11、sw inc flag mov a ,flag rrc a jnc stop clr p3.6 setb et1 setb tr1pop psw sjmp end_proc_key stop:setb p3.6 clr et1 clr tr1pop pswsjmp end_proc_key proc_k4: lcall beep_bl001 mov r3,convert+1 mov convert+1,convert+3 mov convert+3,r3 mov r3,convert mov convert,convert+2 mov convert+2,r3 lcall conveteren

12、d_proc_key:ret ; 鍵掃描子程序k_scan: mov p1,#0ffh mov k_new,#00h mov a,p1 cpl a anl a,#0f0h swap a mov k_new,a retusing0timer0:; 定時器0中斷服程序, 用于數(shù)碼管的動態(tài)掃描push accpush pswpush ar0mov th0,#0fchmov tl0,#017hmov p2,#0ffhmov a,#dis_bufadd a,dis_indexmov r0,amov a,r0mov p0,amov p2,dis_digitmova,dis_digitrlamovdis_d

13、igit,aincdis_indexmov r5 , dis_index cjne r5,#08h,tt mov dis_index ,#00h mov dis_digit,#0fehtt:pop ar0pop pswpop accreti timer1:; 定時器1中斷服務程序, 產(chǎn)生時基信號10mspushpswpush accpush bpush dphpush dplmov th1,#0dchmov tl1,#00hinc sec100mov a,sec100cjne a, #100, end_timer1mov sec100,#00h lcalldec_sec end_timer1:

14、pop dplpop dphpop bpop accpoppswreti ; dec_sec:dec sec mov a ,min jnz obtain cpl p3.6 mov a ,sec jnz obtain mov buf_sec_l,#0c0h clr tr1 clr et1 beep_bl: mov r3,#10 mov r2,#200main11: cpl p3.7 lcall delay500 lcall delay500 djnz r2,main11 cpl p3.6 lcall delay500 lcall delay500 lcall delay500 mov r2,#2

15、00main21: cpl p3.7 lcall delay500 djnz r2,main21 djnz r3,main11 ljmp obtainobtain:mov a,seccjne a, #255,update_secmov sec,#59lcall dec_minupdate_sec:mov a,sec mov b,#10div abmov dptr,#dis_codemovc a,a+dptrmov buf_sec_h,amov a,sec mov b,#10div abmov a,bmovc a,a+dptrmov buf_sec_l,aret dec_min:dec minm

16、ov a,min cjne a, #255, update_minmov min,#00hupdate_min:mov a,min mov b,#10div ab; a = min / 10mov dptr,#dis_codemovc a,a+dptrmov buf_min_h,amov a,min mov b,#10div abmov a,bmovc a,a+dptrmov buf_min_l,aretret ; 中斷int0服務程序int_0: pushpswpush accpush bpush dphpush dpl jb k1,rkey1 mov r7,#30 lcall delaym

17、s jb k1,rkey1 ljmp kp1 rkey1 :jb k2,rkey2 mov r7,#30 lcall delayms jb k2,rkey2 ljmp kp2 rkey2 :jb k3,rkey3 mov r7,#30 lcall delayms jb k3,rkey3ljmp kp3rkey3 : jb k4,rkey4 mov r7,#30 lcall delayms jb k4,rkey4ljmp kp4rkey4: ljmp kp5kp1: lcall beep_bl001 inc convert mov a,convert cjne a,#0ah,kp5mov con

18、vert ,#00hinc convert+1mov a,convert+1cjne a,#0ah,kp5mov convert+1,#00hljmp kp5kp2: lcall beep_bl001 dec convert mov a,convert cjne a,#255,kp5mov convert,#09hdec convert+1mov a,convert+1cjne a,#255,kp5mov convert+1,#09hljmp kp5kp3: lcall beep_bl001 inc convert+2 mov a,convert+2cjne a,#0ah,kp5mov con

19、vert+2 ,#00hinc convert+3mov a,convert+3cjne a,#0ah,kp5mov convert+3,#00hljmp kp5kp4: lcall beep_bl001 dec convert+2 mov a,convert+2 cjne a,#255,kp5mov convert+2 ,#09hdec convert+3mov a,convert+3cjne a,#255,kp5mov convert+3,#09hljmp kp5kp5:lcall conveterpop dplpop dphpop bpop accpoppswretidelayms:; 延時子程序dly_lp1:movr6,#185dly_lp2:nopnopnopdjnzr6,dly_lp2djnzr7,dly_lp1end_dlyms:ret ;蜂鳴器響一聲子程序beep_bl001: mov r3,#1 putoff: ; mov r2,#30main11001: cpl p3.7 lcall delay500 lcall delay500 djnz r2,main11001 dj

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論