基于加減法單片機_第1頁
基于加減法單片機_第2頁
基于加減法單片機_第3頁
基于加減法單片機_第4頁
基于加減法單片機_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、課程設(shè)計用紙常 熟 理 工 學(xué) 院電氣與自動化工程學(xué)院微機原理與接口技術(shù)課程設(shè)計題目: 基于1602加減法 計數(shù)系統(tǒng)的設(shè)計 姓 名: 學(xué) 號: 班 級: 指導(dǎo)教師: 起止日期: 2015.7.62015.7.10 目錄第1章 引言11.1設(shè)計任務(wù)與要求11.2作品設(shè)計思路及方案2第2章 硬件設(shè)計22.1 單片機功能的介紹22.2 proteus 介紹32.3 電路原理圖42.3.1復(fù)位電路42.3.2晶振電路52.3.3 指示燈電路設(shè)計52.3.4 AT89C51單片機62.3.5 74LS48 芯片介紹72.3.6 七段數(shù)碼管8第3章 軟件設(shè)計93.1 軟件主程序設(shè)計93.2 軟件設(shè)計的流程

2、圖93.3 軟件代碼10第4章 系統(tǒng)調(diào)試14總結(jié)17參考文獻18第1章 引言搶答器作為一種工具,已廣泛應(yīng)用于各種智力和知識競賽場合中,它能迅速、客觀地分辨出最先獲得發(fā)言權(quán)的選手。本課題是利用89C51單片機及外圍接口實現(xiàn)的搶答系統(tǒng),利用單片機的定時器/計數(shù)器原理,將軟、硬件結(jié)合起來,使得系統(tǒng)能夠正確的進行計時,數(shù)碼管可以正確的顯示時間和選手號碼。同時系統(tǒng)能后實現(xiàn):在搶答過程中只有在主持人按下開始搶答鍵開始之后5秒以內(nèi)搶答才被認為搶答有效,如果在開始搶答之前搶答則被視為犯規(guī)(搶答無效)。在搶答成功之后相應(yīng)的發(fā)光二極管會點亮,數(shù)碼管也會顯示選手的號碼。同時還有主持人控制的系統(tǒng)復(fù)位鍵,以實現(xiàn)系統(tǒng)的復(fù)

3、位。還有按鍵鎖定,在第一個選手搶答成功或者犯規(guī)狀態(tài)下其他按鍵均無效。1.1設(shè)計任務(wù)與要求1、搶答器同時供4名選手比賽,分別用4個按鍵S0S3表示。2、設(shè)置一個系統(tǒng)復(fù)位和搶答控制按鍵S,該按鍵由主持人控制的。3、搶答器具有數(shù)碼顯示功能。即選手按動按鈕,鎖存相應(yīng)的編號,并在LED數(shù)碼管上顯示。選手搶答實行優(yōu)先鎖存,優(yōu)先搶答選手的編號一直保持到主持人講系統(tǒng)復(fù)位為止。4、參賽選手在規(guī)定時間內(nèi)搶答,則搶答有效,定時器停止工作,顯示器上顯示選手的編號并保持到支持人將系統(tǒng)清除位置。5、若再規(guī)定時間內(nèi)沒有人搶答,則數(shù)碼管關(guān)閉,違規(guī)燈亮,那主持人則按復(fù)位按鍵,跳至下一題。1.2作品設(shè)計思路及方案方案:該設(shè)計中采

4、用AT89C51芯片、LED顯示器、LED燈和一些獨立式按鍵構(gòu)成一個簡易四路搶答器。設(shè)計中是采用單片機的內(nèi)部定時器進行定時,原理框圖如圖1所示。圖1整個搶答器的工作原理是:在正常的供電狀態(tài)下,開始搶答時利用單片機倒計時,并由單片機將所需要顯示的數(shù)據(jù)送到LED顯示器的輸入口,當(dāng)有按鍵按下時則執(zhí)行相應(yīng)按鍵功能程序。知識點:AT89C51、數(shù)碼管、定時中斷、按鍵、74LS48第2章 硬件設(shè)計2.1 單片機功能的介紹單片機又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把一個計算機系統(tǒng)集成到一個芯片上。相當(dāng)于一個微型的計算機,和計算機相比,單片機只缺少了I/O設(shè)備。概括的將:一塊芯片就成了一臺計

5、算機。它的體積小、質(zhì)量輕、價格便宜,為學(xué)習(xí)、應(yīng)用和開發(fā)提供了便利條件。同時,學(xué)習(xí)使用單片機是了解計算機原理與結(jié)構(gòu)的最佳選擇。單片機的使用領(lǐng)域已十分廣泛,如智能儀表、實時工控、通訊設(shè)備、導(dǎo)航系統(tǒng)、家用電器等。各種產(chǎn)品一旦用上了單片機,就能起到使產(chǎn)品升級換代的功效,常在產(chǎn)品名稱前冠以形容詞“智能型”,如智能型洗衣機等。單片機是由運算器、控制器、儲存器、輸入輸出設(shè)備構(gòu)成。單片機自動完成賦予它的任務(wù)的過程,也就是單片機執(zhí)行程序的過程,即一條條執(zhí)行的指令的過程,所謂指令就是把要求單片機執(zhí)行的各種操作用的命令的形式寫下來,這是在設(shè)計人員賦予它的指令系統(tǒng)所決定的。該設(shè)計中使用的是MCS-51系列單片機。AT

6、89C51單片機特點如下:1、可靠性好:單片機按照工業(yè)控制要求設(shè)計,抵抗工業(yè)噪聲干擾優(yōu)于一般的CPU,程序指令和數(shù)據(jù)都可以寫在ROM內(nèi),許多信號通道都在同一芯片,因此可靠性高,易擴充。2、單片機有一般電腦所必須的器件,如三態(tài)雙向總線,串并行的輸入及輸出引腳,可擴充為各種規(guī)模的微電腦系統(tǒng)。3、控制功能強:單片機指令除了輸入輸出指令,邏輯判斷指令外還有更豐富的條件分支跳躍指令。2.2 proteus 介紹Proteus軟件是一種低投資的電子設(shè)計自動化軟件,提供可仿真數(shù)字和模擬、交流和直流等數(shù)千種元器件和多達30多種個元件庫。Proteus軟件提供多種現(xiàn)實存在的虛擬儀器儀表。此外,Proteus還提

7、供圖形顯示功能,可以將線路上變化的信號,以圖形的方式實時地顯示出來。這些虛擬儀器儀表具有理想的參數(shù)指標(biāo)。一臺計算機、一套電子仿真軟件,在加上一本虛擬實驗教程,就可以相當(dāng)于一個設(shè)備先進的實驗室。以虛代實、以軟代硬,就建立一個完善的虛擬實驗室。2.3 電路原理圖圖2電路工作原理為:接通電源后,主持人講按動復(fù)位按鍵使電路為原態(tài),除去“空閑”燈亮外,其他燈都是滅,數(shù)碼管亦不顯示任何東西;當(dāng)主持人按動開始鍵后,所有的燈都會閃爍,數(shù)碼管顯示,定時器開始進行5秒倒計時。選手在定時時間內(nèi)搶答是,搶答器完成:優(yōu)先判斷、編碼鎖存、編號顯示。當(dāng)一輪搶答之后,定時器停止、禁止二次搶答、數(shù)碼管顯示第幾號選手成功搶答,其

8、他按鍵按下(除復(fù)位按鍵)均被視為無效。2.3.1復(fù)位電路圖3如圖3所示為復(fù)位電路:可以在程序運行出錯或操作錯誤系統(tǒng)處于死鎖狀態(tài)時手動復(fù)位單片機。在復(fù)位后,單片機內(nèi)存以及各寄存器的值變?yōu)槌跏贾怠?.3.2晶振電路晶振電路:單片機使用內(nèi)部時鐘時,時鐘引腳XTAL1和XTAL2,外加石英晶體和微調(diào)電容,構(gòu)成了一個穩(wěn)定的自激振蕩電路,電路中的電容C2和C3的典型值通常選擇為1533pF,本系統(tǒng)中使用的是30pF的電容,該電容的大小會影響振蕩器頻率的高低。晶振頻率的范圍通常是在1.240MHz。本系統(tǒng)中使用的是12M的晶振,晶體的頻率越高,單片機的處理速度也就越快。在硬件電路的設(shè)計時,晶體和電容盡可能與

9、單片機芯片靠近,以減少寄生電容,可以保證振蕩器更穩(wěn)定、可靠的工作。電路如圖所示:圖42.3.3 指示燈電路設(shè)計如圖5所示為指示燈電路,采用共陽極的方式,為低電平時發(fā)光二極管點亮,即發(fā)光二極管的正極接的是高電平,另外一段接到單片機的P1口的P1.0P1.3,當(dāng)其對應(yīng)的按鍵按下時,相應(yīng)的二極管就會被點亮。圖52.3.4 AT89C51單片機AT89C51單片機內(nèi)部是由CPU、4KB的FPEROM,128B的RAM,兩個16位的定時/計數(shù)器T0和T1,4個8位的I/O端口P0、P1、P2、P3等組成。單片微機內(nèi)部最核心的部分是CPU。CPU主要功能是產(chǎn)生各種控制信號,控制存儲器、輸入/輸出端口的數(shù)據(jù)

10、傳輸、數(shù)據(jù)的算術(shù)運算、邏輯運算以及位操作處理等,CPU按其功能可分為運算器和控制器兩部分??刂破饔殖绦蛴嫈?shù)器PC、指令儲存器、指令譯碼器、實時控制與條件轉(zhuǎn)移邏輯電路等組成。它的功能是對來自存儲器中的指令進行譯碼,通過實時控制電路,在規(guī)定的時刻發(fā)出各種操作所需的內(nèi)部和外部的控制信號,使各部分協(xié)調(diào)工作,完成指令所規(guī)定的操作。運算器由算術(shù)邏輯器部件ALU、累加器ACC、暫存器、程序狀態(tài)字寄存器PSW,BCD碼運算調(diào)整電路等組成。如圖5所示。圖62.3.5 74LS48 芯片介紹74LS48是一種常用的七段數(shù)碼管譯碼器驅(qū)動器。在A、B、C、D端口輸入信號,則在輸出高低電平驅(qū)動七段數(shù)碼管顯示。如圖7.1

11、 ,其真值表如表7.2所示。圖7.1十進制數(shù)或功能輸   入BI/RBO輸出備注LTRBIDCBAabcdefg0HH0000H111111011Hx0001H01100002Hx0010H11011013Hx0011H11110014Hx0100H01100115Hx0101H10111116Hx0110H00111117Hx0111H11100008Hx1000H11111119Hx1001H111001110Hx1010H000110111Hx1011H001100112Hx1100H010001113Hx1101H100101114Hx1110H00011

12、1115Hx1111H0000000BIHxxxxxL00000002RBIxL0000L00000003LTLxxxxxH11111114表7.22.3.6 七段數(shù)碼管本系統(tǒng)中采用的是共陰極接法,七段數(shù)碼管內(nèi)部實質(zhì)上就是七個LED發(fā)光二極管,把它們排列成一個8字的形狀,控制這些發(fā)光二極管的燈亮滅情況,從而顯示出不同的數(shù)字。如圖8所示。圖8第3章 軟件設(shè)計3.1 軟件主程序設(shè)計在搶答過程中,有多個信號輸入主電路中,單片機內(nèi)部的寄存器工作,并識別、記錄第一個搶答的人,同時內(nèi)部的定時器停止工作,數(shù)碼管顯示第一個搶答的人的數(shù)字。采用定時/計數(shù)器0,采用的是方式1,在設(shè)計中包括:主程序(超時判斷、復(fù)位

13、判斷、開始判斷、搶答判斷、顯示程序)、始終中斷服務(wù)程序、重置時鐘程序。3.2 軟件設(shè)計的流程圖3.3 軟件代碼#include <reg51.h>#define uint unsigned charuint s = 0, ms = 0;enum qdztkongxian = 0, Ready = 1, qiangda = 2, qdzt;void Timer() interrupt 1 using 1 TH0=(65536-50000)/256; TL0=(65536-50000)%256; ms +; s += ms /20; ms %= 20; s %= 60;void cho

14、ngzhi()EA = 1; ET0 = 1; TMOD = 0x01;TR0 = 0; ms = 0; s = 0;uint Encode(uint c) uint i, mask = 1; if(c = 0) return 0; for(i = 0; i < 8; i+) if(c & (mask << i) = 0) return i + 1; void main() uint led = 0xff; uint disp = 15; uint button; uint weigui = 0; const uint chaoshi = 5; chongzhi();

15、 while(1) if(qdzt = kongxian)P0 =0xfe; else if(qdzt = Ready) P0 =0xfd; else if(qdzt = qiangda) P0 =0xfb; else qdzt = 0; if(chaoshi - s = 0) weigui = 1; disp = 15; qdzt = kongxian; chongzhi(); button = P3; if(button & 32) = 0) disp = 15; led = 0xff; qdzt = kongxian; weigui = 0; chongzhi(); if(but

16、ton & 16) = 0) qdzt = Ready; P1 = 0; TR0 = 1; if(button & 15) != 15) if(qdzt = kongxian) weigui = 1; if(qdzt != qiangda) led = (button & 15) + 240; disp = Encode(button & 15); qdzt = qiangda; chongzhi(); if(weigui) led &= 127; if(qdzt = Ready) disp = chaoshi - s; P1 = led; P2 = d

17、isp; 第4章 系統(tǒng)調(diào)試完成硬件電路和軟件電路的設(shè)計后,需要對整個系統(tǒng)進行調(diào)試。系統(tǒng)調(diào)試時整個設(shè)計的最后一步,也是很關(guān)鍵的一步,調(diào)試過程就是將理論聯(lián)系實際的論證過程,也是驗證實踐是否與理論相符合的過程。綜合調(diào)試:(1)開機接通電源后,“空閑”指示燈點亮,數(shù)碼管不顯示。(2)測試各組搶答按鍵當(dāng)主持人按動開始,“空閑”燈滅,“就緒”燈迅速點亮,D1D4燈快速閃爍,開始進行5秒倒計時,數(shù)碼管顯示倒數(shù)時間,選手可以搶答。選手在5秒時間內(nèi)按動按鍵,那“搶答”燈點亮,數(shù)碼管顯示第幾號選手的數(shù)字,相應(yīng)的LED燈也會點亮。(3)違規(guī)搶答當(dāng)主持人讀題過程中,而未宣布搶答開始時按下?lián)尨鸢存I。數(shù)碼管顯示該違規(guī)組號

18、,相應(yīng)的LED燈也會亮,“違規(guī)”和“搶答”燈同時點亮。總結(jié)在這次的四路搶答器的課程設(shè)計中,查閱了很多的文獻資料,利用單片機AT89C51的功能,設(shè)計出所需的外圍電路來完成搶答器功能。利用單片機的中斷功能,將軟硬件相結(jié)合起來設(shè)計,綜合運用本專業(yè)所學(xué)習(xí)的課程的理論,鞏固我們所學(xué)的知識,提高了我們的獨立思考能力。通過運用單片機設(shè)計四路搶答器課程設(shè)計,發(fā)現(xiàn)自己的不足,自己知識的很多漏洞,看到了自己的實踐經(jīng)驗還是比較缺乏,理論聯(lián)系實際的能力還急需提高。在這個過程中,我也曾經(jīng)因為實踐經(jīng)驗的缺乏失落過,也曾經(jīng)仿真成功而熱情高漲。特別是Proteus仿真軟件的使用,不知是由于電腦問題還是怎么,這個軟件的安裝就花了很長的時間,好不容易安裝好了,又對這個軟件一點也不熟悉,要從頭開始學(xué)起,剛剛開始時候真的很難以下手,因為是英文版的軟件,很多東西都看不明白,都是通過在圖書館和網(wǎng)上的資料自己一個個的琢磨,才把仿真圖畫了出來,然后把寫好的程序?qū)胄酒?,進行仿真,當(dāng)看到程

溫馨提示

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

評論

0/150

提交評論