定時器_課程設(shè)計_第1頁
定時器_課程設(shè)計_第2頁
定時器_課程設(shè)計_第3頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、二O四二O五學(xué)年第學(xué)期理工大學(xué)高科學(xué)院課程設(shè)計報告書課程名稱:微機原理課程設(shè)計班 級:學(xué) 號:姓 名:指導(dǎo)教師:二O四年十二月二十日課程設(shè)計任務(wù)書2014年秋季學(xué)期學(xué)生學(xué)號專業(yè)方向計算機科學(xué)與技術(shù)班級題目名稱定時器設(shè)計題目介紹60S 后,用8253芯片做定時設(shè)計,當觸動按鈕的時候,開始計時, 計時結(jié)束,LED燈亮。、課程設(shè)計總結(jié)報告要求、設(shè)計進度指導(dǎo)教師簽字:第1章方案論證1.1 課程設(shè)計的目的和要求,112總體設(shè)計1第 2章 硬件設(shè)計 , 22.1 AT89S51 心片概述,22.2 LED數(shù) 碼管顯示器概述58889第4章 調(diào)試與仿真102.3 其他元器件介紹及參數(shù)選擇 , 第3章 軟件設(shè)

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

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

4、元器件的選擇及其參數(shù)的確定;軟件設(shè)計主要是實現(xiàn)60秒計數(shù)程序的編寫,包括利用中斷實現(xiàn)1秒的 定時及60秒的計數(shù)。圖1: 60秒計數(shù)總體電路設(shè)計單片機60秒汁數(shù)仿真設(shè)訃DIM CiUSX叭-faa召a電pap*峙a叮*i-p臨a 0邸iLsr u nAK-i-iFIJIFTL1”口f32-WrjwriMSF*1沖思E1IF Ifm-dlrcql 4a-!第二章硬件設(shè)計2.1 AT89C51的芯片概述AT89C51是一個低功耗,高性能 CMOS 8位單片機,片含4k Bytes ISP(ln -system programmable)的可反復(fù)擦寫1000次的Flash只讀程序存儲器,器件采 用AT

5、MEL公司的高密度、非易失性存儲技術(shù)制造,兼容標準MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片集成了通用8位中央處理器和ISP Flash存儲單元,功 能強大的微型計算機的AT89C51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價比的 解決方案。AT89C單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方U11S>XTAJ_1XTALZ!rstPO.D/ADO PO.1XAEH PO.2XAM; PO.O/ADO PO.-VAJM PO.5/ADS PO.e/AM PO.7/AI>7P2.C«P養(yǎng)加P2bS/ATO29i30P&EN ALEP2.AT2P2.5/A1

6、3P2.8/A14P2.7/AW39as373035343321222324252S忿2S2.324 Pg.VTD rg.aono fs.gTintT pomeg庠麗石 pg.k/rdAT39C5-1 <TEXT>案。其工作電壓在4.55 V,般我們選用+ 5V電壓。外形及引腳排列如圖2 所示主要特性與MCS-51兼容 4K字節(jié)可編程閃爍存儲器壽命: 1000 寫 / 擦循環(huán) 數(shù)據(jù)保留時間: 10 年 全靜態(tài)工作: 0Hz-24MHz 三級程序存儲器鎖定 128 X 8 位部 RAM 32 可編程 I/O 線兩個 16 位定時器 / 計數(shù)器 5 個中斷源 可編程串行通道 低功耗的閑

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

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

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

10、ND上,當 某一字段發(fā)光二極管的陽極為高電平時, 相應(yīng)字段就點亮。當某一字段的陽極為 低電平時,相應(yīng)字段就不亮。LED數(shù)碼管有兩種連接方法如下:共陽極接法。把發(fā)光二極管的陽極連在一起構(gòu)成公共陽極, 使用時公共陽極 接+5V,每個發(fā)光二極管的陰極通過電阻與輸入端相連。共陰極接法。把發(fā)光二極管的陰極連在一起構(gòu)成公共陰極,使用時公共陰極 接地。每個發(fā)光二極管的陽極通過電阻與輸入端相連。彳對"DPC S Q C OP o共出邸構(gòu)M隼址1 I円TtLED數(shù)碼顯示器的顯示段碼為了顯示字符,要為LED顯示器段碼(或稱字形代碼),組成一個8字形字符的7段,再加上1個小數(shù)點位,共計8段,因此提供給LE

11、D顯示器的顯示段碼為1個字節(jié)。各段碼位的對應(yīng)關(guān)系如下表所示.十六進制數(shù)及空白字符與P的顯示段碼段碼位D7D6D5D4D6D2D1D0顯示段Pdgfedeba字型共陽極段碼共陰極段碼字型共陽極段碼0C0H3FH990H1F9H06HA88H2A4H5BMB83H3B0H4FHCC6H499H66HDA1H592H6DHE86H682H7DHF84H7F8H07H空白FFH880H7FHP8CH數(shù)碼管的驅(qū)動方式數(shù)碼管要正常顯示,就要用驅(qū)動電路來驅(qū)動數(shù)碼管的各個段碼,從而顯示出我們要的 數(shù)字,因此根據(jù)數(shù)碼管的驅(qū)動方式的不同,可以分為靜態(tài)式和動態(tài)式兩類。 靜態(tài)顯示驅(qū)動:靜態(tài)驅(qū)動也稱直流驅(qū)動。靜態(tài)驅(qū)動是

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

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

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

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

16、逐個碰剩下的腳,如果有多個 LED (一般是8個),那它就是共陰的了。相反用 VCC不動,GND逐個碰剩下的腳,如果 有多個LED (一般是8個),那它就是共陽的。也可以直接用數(shù)字萬用表,紅表筆是電源 的正極,黑表筆是電源的負極。2.3 其他元器件介紹及參數(shù)選擇 本設(shè)計中還用到其他一些元器件,例如:晶振,電容,電阻排,電解電容,開關(guān)等等。晶振采用頻率為12MHZ,連接的兩個電容為30pF;電阻排為470*8,能夠?qū)崿F(xiàn)8個470 歐電阻的等效替換;電解電容為 10u。第3章軟件設(shè)計3.1程序框圖開她TMOD初躺優(yōu)TMOD初躺優(yōu)十mil. 1 ; 11 A HlfB 亠匕上事上亠rnoi tl盯験

17、亂 nifjaTi* A<1工3.2定時/計數(shù)器初值計算T89S51單片機的部16位定時/計數(shù)器是一個可編程定時/計數(shù)器,它既可以工作在13 位定時方式,也可以工作在16位定時方式和8位定時方式。只要通過設(shè)置特殊功能寄存 器TMOD,即可完成。定時/計數(shù)器何時工作也是通過軟件來設(shè)定 TCON特殊功能寄存器 來完成的?,F(xiàn)在我們選擇16位定時工作方式,對于T0來說,最大定時也只有65536us,即65.536ms,無法達到我們所需要的1秒的定時,因此,我們必須通過軟件來處理這個問題, 假設(shè)我們?nèi)0的最大定時為50ms,即要定時1秒需要經(jīng)過20次的50ms的定時。對于這 20次我們就可以采用

18、軟件的方法來統(tǒng)計了。因此,我們設(shè)定 TMOD = 00000001B,即 TMOD = 01HF面我們要給TO定時/計數(shù)器的THO, TLO裝入預(yù)置初值,通過下面的公式可以計算出THO=( 216 50000)/ 256TLO=( 216 50000) MOD 256TCON當 T0 在工作的時候,我們?nèi)绾蔚弥?50ms 的定時時間已到,這回我們通過檢測 特殊功能寄存器中的TFO標志位,如果TF0=1表示定時時間已到。3.3 軟件程序SEC EQU 30H;秒計數(shù)單元COUNTSTART:EQUORGMOVMOVMOVMOV31H;50ms 計數(shù)單元00HSEC,#0;秒計數(shù)單元清零COUNT

19、,#00H ;50ms 計數(shù)單元賦初值TMOD,#01H 設(shè)T0為方式1 TH0,#3CHMOVTL0,#0B0H ;50ms 定時初值SETB ETO;允許T0中斷SETB TR0;啟動T0計數(shù);顯示程序DISP:MOV A,SECMOV B,#10DIV ABMOV DPTR,#DISP_TAB ;查表得到字形碼MOVC A,A+DPTRMOV P0,AMOV A,B MOVC A,A+DPTRMOV P2,A;50ms 定時中斷服務(wù)程序TS: JNB TF0,TSCLR TF0MOV TH0,#3CHMOV TL0,#0B0HINC COUNTMOV A,COUNTCJNE A,#20,

20、NEXTMOV COUNT,#0MOV A,SECADD A,#1;秒加 1MOV SEC,A;存秒CJNE A,#60,NEX ;不到 60秒則退出MOV SEC,#0;秒單元清零NEXT: LJMP TSNEX: LJMP DISPDISP_TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END第四章 軟件調(diào)試4.1 系統(tǒng)調(diào)試工具 keil c51Keil C51仿真器是一款利用KEIL C51的IDE集成開發(fā)環(huán)境作為仿真環(huán)境的廉價仿真 器,是利用SST公司具有IAP功能的單片機SST89C58制作而成,主要是利用了 SST89C58勺IAP

21、功能,所謂IAP功能是In application program 的英文縮寫,是在應(yīng)用編程的意思,通俗一 點講就是:它可以通過串口將用戶的程序下載到單片機中,可以通過串口對單片機進行編 程。它之所以具有這種功能,實際上它有兩塊程序 flash區(qū),其中一塊flash中運行的程序可 以更改另外的一塊程序flash區(qū)中的程序,正是利用這一特性才用它作成了仿真器,我們把 仿真器的監(jiān)控程序事先燒入 SST89C58,監(jiān)控程序通過SST89C58的串口和PC通訊,當使用 KEIL C5的 IDE環(huán)境仿真時,用戶的程序通過串口被監(jiān)控程序?qū)懭雈lash程序區(qū)中,當用戶設(shè)置斷點等操作仿真程序時,flash程序

22、中的用戶程序也在相應(yīng)的更改,從而實現(xiàn)了仿真功能。 調(diào)試的主要方法 :1. 啟動 Keil c512. 新建一個工程。Project菜單New project,選擇好我們要保存的文件夾后,鍵入Frist保存。接著彈出CPU類型選擇框,我們選擇最常用的AT89C51,按確定。3. 在工程中加入文件。新建一個文件,文件菜單FileNew,我們再選擇:文件菜單FileSave As?(另存為)彈出 對話框后,我們文件名框中鍵入 First.c (注意文件后綴名是.c)保存。C文件建好啦。現(xiàn)在我們把文件加入到工程中去。點擊Target 1前面的+ 號,右鍵單擊 Source Group 1選擇 Add Files to Group , Source Group 1 ,選擇添加 Add 。編譯運行,檢查程序是否有錯誤。4.2 PROTEUSProteus是一款EDA軟件,該軟件具有

溫馨提示

  • 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論