定時(shí)器_課程設(shè)計(jì)_第1頁
定時(shí)器_課程設(shè)計(jì)_第2頁
定時(shí)器_課程設(shè)計(jì)_第3頁
定時(shí)器_課程設(shè)計(jì)_第4頁
定時(shí)器_課程設(shè)計(jì)_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、二一 四二一五學(xué)年第 一 學(xué)期西安理工大學(xué)高科學(xué)院課程設(shè)計(jì)報(bào)告書課程名稱: 微機(jī)原理課程設(shè)計(jì) 班 級(jí): 學(xué) 號(hào): 姓 名: 指導(dǎo)教師: 二一四年 十二 月 二十 日課程設(shè)計(jì)任務(wù)書 2014 年 秋 季學(xué)期學(xué)生姓名學(xué) 號(hào)專業(yè)方向計(jì)算機(jī)科學(xué)與技術(shù)班 級(jí)題目名稱 定時(shí)器設(shè)計(jì)題目介紹用8253芯片做定時(shí)設(shè)計(jì),當(dāng)觸動(dòng)按鈕的時(shí)候,開始計(jì)時(shí),60S后,計(jì)時(shí)結(jié)束,LED燈亮。 一、 課程設(shè)計(jì)總結(jié)報(bào)告要求二、設(shè)計(jì)進(jìn)度 指導(dǎo)教師簽字:目 錄第1章 方案論證1.1 課程設(shè)計(jì)的目的和要求11.2 總體設(shè)計(jì)1 第2章 硬件設(shè)計(jì)2 2.1 AT89S51芯片概述 22.2 LED數(shù)碼管顯示器概述 5 2.3 其他元器件介

2、紹及參數(shù)選擇 7第3章 軟件設(shè)計(jì) 8 3.1 程序框圖8 3.2 定時(shí)/計(jì)數(shù)器初值計(jì)算 83.3 軟件程序9第4章 調(diào)試與仿真4.1 Keil軟件介紹及使用10 4.2 Proteus軟件介紹及使用10 課程設(shè)計(jì)心得體會(huì)11參考文獻(xiàn)11第一章 方案論證1.1 課程設(shè)計(jì)的目的和要求1目的課程設(shè)計(jì)是微機(jī)原理課程教學(xué)的最后一個(gè)環(huán)節(jié),是對(duì)學(xué)生進(jìn)行全面的系統(tǒng)的訓(xùn)練。進(jìn)行課程設(shè)計(jì)可以讓學(xué)生把學(xué)過的比較零碎的知識(shí)系統(tǒng)化,真正的能夠把學(xué)過的知識(shí)落到實(shí)處,能夠開發(fā)簡單的系統(tǒng),也進(jìn)一步激發(fā)了學(xué)生再深一步學(xué)習(xí)的熱情,因此課程設(shè)計(jì)是必不可少的,是非常必要的。課程設(shè)計(jì)是提高學(xué)生單片機(jī)技術(shù)應(yīng)用能力以及文字總結(jié)能力的綜合訓(xùn)

3、練環(huán)節(jié),是配合單片機(jī)課程內(nèi)容掌握、應(yīng)用得的專門性實(shí)踐類課程。通過典型實(shí)際問題的實(shí)際,訓(xùn)練學(xué)生的軟硬件的綜合設(shè)計(jì)、調(diào)試能力以及文字組織能力,建立系統(tǒng)設(shè)計(jì)概念,加強(qiáng)工程應(yīng)用思維方式的訓(xùn)練,同時(shí)對(duì)教學(xué)內(nèi)容做一定的擴(kuò)充。2要求利用T0產(chǎn)生1秒的定時(shí),當(dāng)1秒定時(shí)時(shí)間到,秒計(jì)時(shí)器價(jià)1。秒計(jì)時(shí)到60時(shí),自動(dòng)從0開始。3. 目標(biāo)通過課程設(shè)計(jì),使自己深刻理解并掌握基本概念,掌握單片機(jī)的基本應(yīng)用程序設(shè)計(jì)及綜合應(yīng)用程序設(shè)計(jì)的方法。通過做一個(gè)綜合性訓(xùn)練題目,達(dá)到對(duì)內(nèi)容的消化、理解并提高解決問題的能力的目的。1.2 總體設(shè)計(jì)本設(shè)計(jì)由硬件設(shè)計(jì)和軟件設(shè)計(jì)兩部分組成,總電路如圖1所示,硬件設(shè)計(jì)主要包括單片機(jī)芯片選擇,數(shù)碼管選

4、擇及晶振,電容,電阻等元器件的選擇及其參數(shù)的確定;軟件設(shè)計(jì)主要是實(shí)現(xiàn)60秒計(jì)數(shù)程序的編寫,包括利用中斷實(shí)現(xiàn)1秒的定時(shí)及60秒的計(jì)數(shù)。圖1:60秒計(jì)數(shù)總體電路設(shè)計(jì)第二章 硬件設(shè)計(jì)2.1 AT89C51的芯片概述 AT89C51是一個(gè)低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含4k Bytes ISP(In-system programmable)的可反復(fù)擦寫1000次的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的AT89C51可為許

5、多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。AT89C單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。 其工作電壓在4.5V,一般我們選用5V電壓。外形及引腳排列如圖2所示 l 主要特性·與MCS-51 兼容 ·4K字節(jié)可編程閃爍存儲(chǔ)器 ·壽命:1000寫/擦循環(huán)·數(shù)據(jù)保留時(shí)間:10年·全靜態(tài)工作:0Hz-24MHz·三級(jí)程序存儲(chǔ)器鎖定·128×8位內(nèi)部RAM·32可編程I/O線·兩個(gè)16位定時(shí)器/計(jì)數(shù)器·5個(gè)中斷源 ·可編程串行通道·低功耗的閑置和掉電模

6、式·片內(nèi)振蕩器和時(shí)鐘電路 l 管腳說明(1)電源及時(shí)鐘引腳(4個(gè))Vcc: 電源接入引腳Vss:接地引腳XTAL1:晶振震蕩器接入的一個(gè)引腳(采用外部振蕩器時(shí),此引腳接地);XTAL2:晶體振蕩器的另一個(gè)引腳(采用外部振蕩器時(shí),此引腳作為外部振蕩器信號(hào)的輸入端)。(2)控制線引腳(4個(gè))RST/Vpd:復(fù)位信號(hào)輸入引腳/備用電源輸入引腳;ALE:地址鎖存允許信號(hào)輸出引腳/編程脈沖輸入引腳:EA:內(nèi)外存儲(chǔ)器選擇引腳/片外EPROM編程電壓輸入引腳;PSEN:外部程序存儲(chǔ)器選通信號(hào)輸出引腳。(3)并行I/O引腳P0.0-P0.7:一般I/O口引腳或數(shù)據(jù)/低位地址總線復(fù)用引腳;P1.0-P

7、1.7:一般I/O口引腳;P2.0-P2.7:一般I/O口引腳或高位地址總線引腳;P3.0-P3.7:一般I/O口引腳或第二功能引腳l 振蕩器特性:XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。 2.2 LED數(shù)碼管顯示器概述本設(shè)計(jì)中采用的是7SEGCOM ANODE型號(hào)數(shù)碼管,它是一種半導(dǎo)體發(fā)光器件,其基本單元是發(fā)光二極管。實(shí)物如圖3所示:圖3:7SEGCOM AN

8、ODE型號(hào)數(shù)碼管l 數(shù)碼管的分類數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個(gè)發(fā)光二極管單元(多一個(gè)小數(shù)點(diǎn)顯示);按能顯示多少個(gè)“8”可分為1位、2位、4位等等數(shù)碼管;按發(fā)光二極管單元連接方式分為共陽極數(shù)碼管和共陰極數(shù)碼管。共陽數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(COM)的數(shù)碼管。共陽數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到+5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陰極為高電平時(shí),相應(yīng)字段就不亮。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管。共陰數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到地線GND上,當(dāng)某一

9、字段發(fā)光二極管的陽極為高電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陽極為低電平時(shí),相應(yīng)字段就不亮。LED數(shù)碼管有兩種連接方法如下:共陽極接法。把發(fā)光二極管的陽極連在一起構(gòu)成公共陽極,使用時(shí)公共陽極接+5V,每個(gè)發(fā)光二極管的陰極通過電阻與輸入端相連。 共陰極接法。把發(fā)光二極管的陰極連在一起構(gòu)成公共陰極,使用時(shí)公共陰極接地。每個(gè)發(fā)光二極管的陽極通過電阻與輸入端相連。 LED數(shù)碼顯示器的顯示段碼。 為了顯示字符,要為LED顯示器段碼(或稱字形代碼),組成一個(gè)8字形字符的7段,再加上1個(gè)小數(shù)點(diǎn)位,共計(jì)8段,因此提供給LED顯示器的顯示段碼為1個(gè)字節(jié)。各段碼位的對(duì)應(yīng)關(guān)系如下表所示.十六進(jìn)制數(shù)及空白字符與P的顯

10、示段碼段碼位 D7 D6 D5 D4 D6 D2 D1 D0 顯示段 pd g f e d e b a 字型 共陽極段碼 共陰極段碼 字型 共陽極段碼 0 C0H 3FH 9 90H 1 F9H 06H A 88H 2 A4H 5BM B 83H 3 B0H 4FH C C6H 4 99H 66H D A1H 5 92H 6DH E 86H 6 82H 7DH F 84H 7 F8H 07H 空白 FFH 8 80H 7FH P 8CH l 數(shù)碼管的驅(qū)動(dòng)方式數(shù)碼管要正常顯示,就要用驅(qū)動(dòng)電路來驅(qū)動(dòng)數(shù)碼管的各個(gè)段碼,從而顯示出我們要的數(shù)字,因此根據(jù)數(shù)碼管的驅(qū)動(dòng)方式的不同,可以分為靜態(tài)式和動(dòng)態(tài)式兩類

11、。 靜態(tài)顯示驅(qū)動(dòng):靜態(tài)驅(qū)動(dòng)也稱直流驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)是指每個(gè)數(shù)碼管的每一個(gè)段碼都由一個(gè)單片機(jī)的I/O端口進(jìn)行驅(qū)動(dòng),或者使用如BCD碼二-十進(jìn)制譯碼器譯碼進(jìn)行驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)的優(yōu)點(diǎn)是編程簡單,顯示亮度高,缺點(diǎn)是占用I/O端口多,如驅(qū)動(dòng)5個(gè)數(shù)碼管靜態(tài)顯示則需要5×840根I/O端口來驅(qū)動(dòng),要知道一個(gè)89S51單片機(jī)可用的I/O端口才32個(gè)呢:),實(shí)際應(yīng)用時(shí)必須增加譯碼驅(qū)動(dòng)器進(jìn)行驅(qū)動(dòng),增加了硬件電路的復(fù)雜性。 動(dòng)態(tài)顯示驅(qū)動(dòng):數(shù)碼管動(dòng)態(tài)顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的8個(gè)顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外

12、為每個(gè)數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨(dú)立的I/O線控制,當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但究竟是那個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對(duì)位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會(huì)亮。通過分時(shí)輪流控制各個(gè)數(shù)碼管的的COM端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。在輪流顯示過程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為12ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍感,動(dòng)態(tài)顯示的效果和靜態(tài)顯

13、示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低。l 數(shù)碼管參數(shù)8字高度:8字上沿與下沿的距離。比外型高度小。通常用英寸來表示。范圍一般為0.25-20英寸。長*寬*高:長數(shù)碼管正放時(shí),水平方向的長度;寬數(shù)碼管正放時(shí),垂直方向上的長度;高數(shù)碼管的厚度。時(shí)鐘點(diǎn):四位數(shù)碼管中,第二位8與第三位8字中間的二個(gè)點(diǎn)。一般用于顯示時(shí)鐘中的秒。l 數(shù)碼管應(yīng)用數(shù)碼管是一類顯示屏 通過對(duì)其不同的管腳輸入相對(duì)的電流 會(huì)使其發(fā)亮 從而顯示出 數(shù)字 能夠顯示 時(shí)間 日期 溫度 等所有可用數(shù)字表示的參數(shù) 由于它的價(jià)格便宜 使用簡單 在電器 特別是家電領(lǐng)域應(yīng)用極為廣泛 空調(diào) 熱水器 冰箱 等等 絕大多數(shù) 熱水器用的都是

14、數(shù)碼管 其他家電 也用液晶屏與 熒光屏 l 數(shù)碼管使用的電流與電壓電流:靜態(tài)時(shí),推薦使用10-15mA;動(dòng)態(tài)時(shí),16/1動(dòng)態(tài)掃描時(shí),平均電流為4-5mA,峰值電流50-60mA。電壓:查引腳排布圖,看一下每段的芯片數(shù)量是多少?當(dāng)紅色時(shí),使用1.9V乘以每段的芯片串聯(lián)的個(gè)數(shù);當(dāng)綠色時(shí),使用2.1V乘以每段的芯片串聯(lián)的個(gè)數(shù)。l 怎樣測量數(shù)碼管引腳,分共陰和共陽?找公共共陰和公共共陽:首先,我們找個(gè)電源(3到5伏)和1個(gè)1K(幾百歐的也行)的電阻,VCC串接個(gè)電阻后和GND接在任意2個(gè)腳上,組合有很多,但總有一個(gè)LED會(huì)發(fā)光的,找到一個(gè)就夠了,然后GND不動(dòng),VCC(串電阻)逐個(gè)碰剩下的腳,如果有多

15、個(gè)LED(一般是8個(gè)),那它就是共陰的了。相反用VCC不動(dòng),GND逐個(gè)碰剩下的腳,如果有多個(gè)LED(一般是8個(gè)),那它就是共陽的。也可以直接用數(shù)字萬用表,紅表筆是電源的正極,黑表筆是電源的負(fù)極。2.3 其他元器件介紹及參數(shù)選擇本設(shè)計(jì)中還用到其他一些元器件,例如:晶振,電容,電阻排,電解電容,開關(guān)等等。晶振采用頻率為12MHZ,連接的兩個(gè)電容為30pF;電阻排為470*8,能夠?qū)崿F(xiàn)8個(gè)470歐電阻的等效替換;電解電容為10u。第3章 軟件設(shè)計(jì)3.1 程序框圖3.2 定時(shí)/計(jì)數(shù)器初值計(jì)算T89S51單片機(jī)的內(nèi)部16位定時(shí)/計(jì)數(shù)器是一個(gè)可編程定時(shí)/計(jì)數(shù)器,它既可以工作在13位定時(shí)方式,也可以工作在1

16、6位定時(shí)方式和8位定時(shí)方式。只要通過設(shè)置特殊功能寄存器TMOD,即可完成。定時(shí)/計(jì)數(shù)器何時(shí)工作也是通過軟件來設(shè)定TCON特殊功能寄存器來完成的?,F(xiàn)在我們選擇16位定時(shí)工作方式,對(duì)于T0來說,最大定時(shí)也只有65536us,即65.536ms,無法達(dá)到我們所需要的1秒的定時(shí),因此,我們必須通過軟件來處理這個(gè)問題,假設(shè)我們?nèi)0的最大定時(shí)為50ms,即要定時(shí)1秒需要經(jīng)過20次的50ms的定時(shí)。對(duì)于這20次我們就可以采用軟件的方法來統(tǒng)計(jì)了。因此,我們?cè)O(shè)定TMOD00000001B,即TMOD01H下面我們要給T0定時(shí)/計(jì)數(shù)器的TH0,TL0裝入預(yù)置初值,通過下面的公式可以計(jì)算出TH0(21650000

17、) / 256TL0(21650000) MOD 256當(dāng)T0在工作的時(shí)候,我們?nèi)绾蔚弥?0ms的定時(shí)時(shí)間已到,這回我們通過檢測TCON特殊功能寄存器中的TF0標(biāo)志位,如果TF01表示定時(shí)時(shí)間已到。3.3 軟件程序SECEQU30H;秒計(jì)數(shù)單元COUNTEQU31H;50ms計(jì)數(shù)單元 ORG00HSTART: MOVSEC,#0;秒計(jì)數(shù)單元清零 MOVCOUNT,#00H;50ms計(jì)數(shù)單元賦初值 MOVTMOD,#01H;設(shè)T0為方式1 MOVTH0,#3CHMOVTL0,#0B0H;50ms定時(shí)初值 SETBET0;允許T0中斷 SETB TR0 ;啟動(dòng)T0計(jì)數(shù);顯示程序DISP:MOV A

18、,SEC MOV B,#10 DIV AB MOV DPTR,#DISP_TAB ;查表得到字形碼 MOVC A,A+DPTR MOV P0,A MOV A,B MOVC A,A+DPTR MOV P2,A;50ms定時(shí)中斷服務(wù)程序TS: JNB TF0,TS CLR TF0 MOV TH0,#3CH MOV TL0,#0B0H INC COUNT MOV A,COUNT CJNE A,#20,NEXT MOV COUNT,#0 MOV A,SEC ADD A,#1;秒加1 MOV SEC,A;存秒 CJNE A,#60,NEX;不到60秒則退出 MOV SEC,#0;秒單元清零NEXT: L

19、JMP TSNEX: LJMP DISPDISP_TAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END第四章 軟件調(diào)試4.1 系統(tǒng)調(diào)試工具keil c51 Keil C51 仿真器是一款利用KEIL C51 的IDE 集成開發(fā)環(huán)境作為仿真環(huán)境的廉價(jià)仿真器,是利用SST公司具有IAP功能的單片機(jī)SST89C58制作而成,主要是利用了SST89C58的IAP功能,所謂IAP功能是In application program 的英文縮寫,是在應(yīng)用編程的意思,通俗一點(diǎn)講就是:它可以通過串口將用戶的程序下載到單片機(jī)中,可以通過串口對(duì)單片機(jī)進(jìn)行編程。它之所以具

20、有這種功能,實(shí)際上它有兩塊程序flash區(qū),其中一塊flash中運(yùn)行的程序可以更改另外的一塊程序flash區(qū)中的程序,正是利用這一特性才用它作成了仿真器,我們把仿真器的監(jiān)控程序事先燒入SST89C58,監(jiān)控程序通過SST89C58的串口和PC通訊,當(dāng)使用KEIL C51的IDE環(huán)境仿真時(shí),用戶的程序通過串口被監(jiān)控程序?qū)懭雈lash程序區(qū)中,當(dāng)用戶設(shè)置斷點(diǎn)等操作仿真程序時(shí),flash程序中的用戶程序也在相應(yīng)的更改,從而實(shí)現(xiàn)了仿真功能 。調(diào)試的主要方法 :1. 啟動(dòng)Keil c51 2. 新建一個(gè)工程。Project菜單New project ,選擇好我們要保存的文件夾后,鍵入Frist 保存。接

21、著彈出CPU類型選擇框,我們選擇最常用的AT89C51,按確定。3. 在工程中加入文件。新建一個(gè)文件,文件菜單FileNew,我們?cè)龠x擇:文件菜單FileSave As? (另存為)彈出 對(duì)話框后,我們文件名框中鍵入First.c(注意文件后綴名是 .c)保存。C文件建好啦?,F(xiàn)在我們把文件加入到工程中去。 點(diǎn)擊Target 1前面的+號(hào),右鍵單擊Source Group 1選擇Add Files to Group ,Source Group 1,選擇添加 Add。編譯運(yùn)行,檢查程序是否有錯(cuò)誤。4.2 PROTEUS Proteus是一款EDA軟件,該軟件具有模擬電路仿真,數(shù)字電路仿真,單片機(jī)以及外圍

溫馨提示

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

評(píng)論

0/150

提交評(píng)論