




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 課程設(shè)計(電子鐘表和溫度表的設(shè)計)專 業(yè) 班 級 姓 名 指導(dǎo)教師 段晨東 日 期 2012-1-4 目錄一 :要求 .1二 :摘要 . .1三 : 方案介紹 .1174LS138芯片介紹 .2274LS245芯片介紹.23八段顯示器.34.DS18B2的介紹4四:元件原理和選用. .41時鐘程序設(shè)計 .42溫度程序設(shè)計. 6五 : 過程及運(yùn)行結(jié)果 .6六 : 結(jié)論 .7七 : 參考文獻(xiàn) .7八 :附錄:元件明細(xì)表,程序清單.8一設(shè)計要求:(不能采用專用芯片)(1)時間顯示:時、分、秒。(2)鐘表時分秒?yún)?shù)的手動調(diào)整設(shè)置。設(shè)置參數(shù),每次按下按鍵時,應(yīng)伴隨有蜂鳴器提示聲。(3)可實現(xiàn)整點報時,
2、用蜂鳴器提示,如長短聲、音樂等。(4)實現(xiàn)實時溫度顯示功能(每秒刷新一次),溫度測量范圍4060 (5)當(dāng)溫度超過38度,或低于零下-10 時,聲光報警提示(6)設(shè)計一種用外部中斷方式觸發(fā)的顯示或聲音提示模式,當(dāng)觸發(fā)時,停止顯示時間,顯示或輸出特定的模式(過程不小于20秒),退出中斷處理后,能夠正確顯示時、分、秒。(二)擴(kuò)充功能:(1)防止極性接反,電壓不足時,報警提示。(2)電子鐘表可以作為秒表使用(3)實現(xiàn)鬧鐘功能本程序完美實現(xiàn)以上功能,程序后的注釋無法顯示,請刪掉,不然會編譯錯誤,程序絕對正確.摘要本系統(tǒng)使用STC89C52RC單片機(jī)為主要控制器,輔以74LS138譯碼器、74LS245
3、總線驅(qū)動器、溫度傳感器DS18B20、矩陣鍵盤以及LCD顯示等電路,實現(xiàn)了時間時分秒的顯示、實時溫度的顯示(每秒刷新一次、測量范圍為-40+60)、時分秒?yún)?shù)的手動調(diào)整設(shè)置,并擴(kuò)充以秒表功能。該系統(tǒng)使用單片機(jī)的中斷方式進(jìn)行計時,能有效減小了系統(tǒng)誤差,再使用譯碼器進(jìn)行片選,節(jié)省了單片機(jī)的I/O口,使用了矩陣鍵盤進(jìn)行功能的選擇。該系統(tǒng)具有設(shè)計簡單,結(jié)構(gòu)清晰,界面友好的特點,經(jīng)測試,能夠較好的實現(xiàn)題目所要求的基本和擴(kuò)充功能。用單片機(jī)驅(qū)動LED數(shù)碼管有很多方法,按顯示方式分,有靜態(tài)顯示和動態(tài)(掃描)顯示,按譯碼方式可分硬件譯碼和軟件譯碼之分。靜態(tài)顯示就是顯示驅(qū)動電路具有輸出鎖存功能,單片機(jī)將所要顯示的
4、數(shù)據(jù)送出后就不再管,直到下一次顯示數(shù)據(jù)需要更新時再傳送一次新數(shù)據(jù),顯示數(shù)據(jù)穩(wěn)定,占用很少的CPU時間。動態(tài)顯示需要CPU時刻對顯示器件進(jìn)行數(shù)據(jù)刷新,顯示數(shù)據(jù)有閃爍感,占用的CPU時間多。這兩種顯示方式各有利弊;靜態(tài)顯示雖然數(shù)據(jù)穩(wěn)定,占用很少的CPU時間,但每個顯示單元都需要單獨的顯示驅(qū)動電路,使用的硬件較多;動態(tài)顯示雖然有閃爍感,占用的CPU時間多,但使用的硬件少,能節(jié)省線路板空間。硬件譯碼就是顯示的段碼完全由硬件完成,CPU只要送出標(biāo)準(zhǔn)的BCD碼即可,硬件接線有一定標(biāo)準(zhǔn)。軟件譯碼是用軟件來完成硬件的功能,硬件簡單,接線靈活,顯示段碼完全由軟件來處理,是目前常用的顯示驅(qū)動方式。由于本次設(shè)計硬件
5、電路較為簡單,因此我們選擇了動態(tài)顯示,軟件譯碼的驅(qū)動方式。采用動態(tài)掃描法顯示LED數(shù)碼管,MCS-51的P1.0,P1.1,P1.2與74LS138的A,B,C連接74LS138通過74LS245與LED數(shù)碼管的陰極相連來選擇數(shù)碼管,用P0口通過74LS245與數(shù)碼管的陽極相連,P2口與鍵盤連接,傳感器18B20與P1.3口相連構(gòu)成溫度控制電子鐘是一種利用數(shù)字電路來顯示秒、分、時的計時裝置,與傳統(tǒng)的機(jī)械鐘相比,它具有走時準(zhǔn)確、顯示直觀、無機(jī)械傳動裝置等優(yōu)點,因而得到廣泛應(yīng)用。電子時鐘要求完成時、分、秒的準(zhǔn)確計時,并能進(jìn)行時、分、秒時間的設(shè)置和時間的效準(zhǔn)功能。時間的設(shè)置通過鍵盤中的數(shù)字按鍵進(jìn)行設(shè)
6、置。設(shè)置完成后按確認(rèn)鍵時鐘開始運(yùn)行,執(zhí)行計時操作。當(dāng)需要重置時間時可以按重置鍵,這時時鐘時間暫停,讓后按數(shù)字鍵重置,重置完成后按確認(rèn)鍵,時鐘從新設(shè)置的時間開始運(yùn)行,這時重置操作完成。并實現(xiàn)了時間、溫度、秒表的無縫切換。功能:若KEY7按下,顯示時間 若KEY8按下,顯示溫度 若KEY4按下,執(zhí)行秒表 當(dāng)前顯示時間時,若KEY8按下,顯示溫度,若KEY5按下,執(zhí)行秒表,若KEY1按下,調(diào)整時參數(shù),若KEY2按下,調(diào)整分參數(shù),若KEY3按下,調(diào)整秒?yún)?shù)。此后若KEY9按下,調(diào)整單元加1.當(dāng)前顯示溫度時,若KEY7按下,顯示時間,若KEY4按下,執(zhí)行秒表。執(zhí)行秒表功能時,開始均顯示0,若KEY5按下
7、,啟動秒表,若KEY5再按下,暫停秒表,若KEY6按下,秒表清0。若KEY7按下,顯示時間。若KEY8按下,顯示溫度。關(guān)鍵詞:STC89C52RC單片機(jī)、時間、溫度、秒表2. 鍵盤的排列一、 前言近年來隨著計算機(jī)在社會領(lǐng)域的滲透和大規(guī)模集成電路的發(fā)展,單片機(jī)的應(yīng)用正在不斷地走向深入,由于它具有功能強(qiáng),體積小,功耗低,價格便宜,工作可靠,使用方便等特點,因此特別適合于與控制有關(guān)的系統(tǒng),越來越廣泛地應(yīng)用于自動控制,智能化儀器,儀表,數(shù)據(jù)采集,軍工產(chǎn)品以及家用電器等各個領(lǐng)域,單片機(jī)往往是作為一個核心部件來使用,在根據(jù)具體硬件結(jié)構(gòu),以及針對具體應(yīng)用對象特點的軟件結(jié)合,以作完善。電子時鐘和溫度顯示在日常
8、生活中最常見,應(yīng)用也最廣泛。本次設(shè)計以硬件軟件化為指導(dǎo)思想,充分發(fā)揮單片機(jī)功能,大部分功能通過軟件編程來實現(xiàn),電路簡單明了,系統(tǒng)穩(wěn)定性高。實現(xiàn)了時間、溫度、秒表功能。同時,該時鐘系統(tǒng)還具有功耗小、成本低的特點,具有很強(qiáng)的實用性,而且系統(tǒng)具有一定的可擴(kuò)展性。二、方案分析和論證1、硬件設(shè)計(1)所需設(shè)備:STC89C52RC單片機(jī)、74LS138譯碼器、74LS245總線驅(qū)動器、溫度傳感器DS18B20、按鍵以及LCD顯示、短路塊若干,電阻電容若干、MAX232、CON232、12MHz晶振、LED指示燈為了實現(xiàn)數(shù)碼管顯示,需要用到74LS138譯碼器接P1.0-P1.2做片選和74LS245作驅(qū)
9、動控制顯示內(nèi)容。STC89C52 單片機(jī)介紹:STC89C52提供以下標(biāo)準(zhǔn)功能:8k字節(jié)可重擦寫Flash閃速存儲器、2568字節(jié)內(nèi)部RAM、32個可編程I/O口線、一個6向量兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)振蕩及時鐘電路。同時,STC89C52可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式。空閑方式停止CPU的工作,但允許RAM、定時/計數(shù)器、串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個硬件復(fù)位。STC89C52的引腳封裝圖如下圖所示: 1) 電源及時鐘引腳l Vcc:電源接入引腳;l GND:接地引腳;l
10、XTAL1:晶體振蕩器接入的一個引腳(采用 外部振蕩器時,此引腳接地);l XTAL2:晶體振蕩器接入的另一個引腳(采用外部振蕩器時,此引腳作為外部振蕩信號的輸入端)。2) 控制線引腳l RST:復(fù)位信號輸入引腳。3)并行I/O口引腳l P0.0P0.7:一般I/O口引腳或數(shù)據(jù)/低位地址總線復(fù)用引腳;l P1.0P1.7:一般I/O口引腳l P2.0P2.7:一般I/O口引腳或數(shù)據(jù)/高位總線引腳;l P3.0P3.7:一般I/O口引腳或第二功能引腳。晶振電路:在設(shè)置STC89C52的振蕩頻率時,我們采用內(nèi)部時鐘方式,。在單片機(jī)內(nèi)部有一振蕩電路,只要在單片機(jī)XTAL1和XTAL2引腳外接石英晶體
11、(簡稱晶振),就構(gòu)成了自激振蕩器并在單片機(jī)內(nèi)部產(chǎn)生時鐘脈沖信號。電容器C1和C2的作用是穩(wěn)定頻率和快速起振,電容值在5-30pF,典型值為30pF。晶振CYS的振蕩頻率范圍為1.2-12MHz,典型值為12MHz和6MHz。本次設(shè)計我們選擇了12MHz。數(shù)字溫度傳感器DS18B20介紹:1、適應(yīng)電壓范圍更寬,電壓范圍:3.05.5V,在寄生電源方式下可由數(shù) 據(jù)線供電2、獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS18B20的雙向通訊3、 DS18B20支持多點組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯一的三線上,實現(xiàn)組網(wǎng)多點測溫4、DS18B20在使用
12、中不需要任何外圍元件,全部 傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)5、溫范圍55125,在-10+85時精度為0.56、可編程 的分辨率為912位,對應(yīng)的可分辨溫度分別為0.5、0.25、0.125和0.0625,可實現(xiàn)高精度測溫7、在9位分辨率時最多在 93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快8、測量結(jié)果直接輸出數(shù)字溫度信號,以一 線總線串行傳送給CPU,同時可傳送CRC校驗碼,具有極強(qiáng)的抗干擾糾錯能力9、負(fù)壓特性:電源極性接反時,芯片不會因發(fā)熱而燒毀, 但不能正常工作。74LS245是我們常用的芯片,用來驅(qū)動LED或者其他的
13、設(shè)備,它是8路同相三態(tài)雙向總線收發(fā)器,可雙向傳輸數(shù)據(jù)。*74LS245還具有雙向三態(tài)功能,既可以輸出,也可以輸入數(shù)據(jù)。*當(dāng)8051單片機(jī)的P0口總線負(fù)載達(dá)到或超過P0最大負(fù)載能力時,必須接入74LS245等總線驅(qū)動器。*當(dāng)片選端/CE低電平有效時,DIR=“0”,信號由 B 向 A 傳輸;(接收)*DIR=“1”,信號由 A 向 B 傳輸;(發(fā)送)當(dāng)/CE為高電平時,A、B均為高阻態(tài)。由于P2口始終輸出地址的高8位,接口時74LS245的三態(tài)控制端/1G和/2G接地,P2口與驅(qū)動器輸入線對應(yīng)相連。P0口與74LS245輸入端相連,/E端接地,保證數(shù)據(jù)線暢通。8051的/RD和/PSEN相與后接
14、DIR,使得/RD或/PSEN有效時,74LS245輸入(P0.iDi),其它時間處于輸出(P0.iDi)。74LS138 為3 線8 線譯碼器,共有 54/74S138和 54/74LS138 兩種線路結(jié)構(gòu)型式,其工作原理如下:當(dāng)一個選通端(E3)為高電平,另兩個選通端(E1)和/(E2))為低電平時,可將地址端(A、B、C)的二進(jìn)制編碼在一個對應(yīng)的輸出端以低電平譯出。 利用 E1、E2和E3可級聯(lián)擴(kuò)展成 24 線譯碼器;若外接一個反相器還可級聯(lián)擴(kuò)展成 32 線譯碼器。 若將選通端中的一個作為數(shù)據(jù)輸入端時,74LS138還可作數(shù)據(jù)分配器1 74LS138芯片的介紹74LS138 為3 線8
15、線譯碼器,其工作原理如下:當(dāng)一個選通端(E3)為高電平,另兩個選通端(E1)和/(E2))為低電平時,可將地址端(A、B、C)的二進(jìn)制編碼在一個對應(yīng)的輸出端以低電平譯出。 利用 E1、E2和E3可級聯(lián)擴(kuò)展成 24 線譯碼器;若外接一個反相器還可級聯(lián)擴(kuò)展成 32 線譯碼器。74LS138的管腳圖與功能表:2.MAX232芯片是美信公司專門為電腦的RS-232標(biāo)準(zhǔn)串口設(shè)計的接口電路,使用+5v單電源供電。內(nèi)部結(jié)構(gòu)基本可分三個部分:第一部分是電荷泵電路。由1、2、3、4、5、6腳和4只電容構(gòu)成。功能是產(chǎn)生+12v和-12v兩個電源,提供給RS-232串口電平的需要。第二部分是數(shù)據(jù)轉(zhuǎn)換通道。由7、8、
16、9、10、11、12、13、14腳構(gòu)成兩個數(shù)據(jù)通道。其中13腳(R1IN)、12腳(R1OUT)、11腳(T1IN)、14腳(T1OUT)為第一數(shù)據(jù)通道。8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二數(shù)據(jù)通道。TTL/CMOS數(shù)據(jù)從T1IN、T2IN輸入轉(zhuǎn)換成RS-232數(shù)據(jù)從T1OUT、T2OUT送到電腦DB9插頭;DB9插頭的RS-232數(shù)據(jù)從R1IN、R2IN輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后從R1OUT、R2OUT輸出。第三部分是供電。15腳GND、16腳VCC(+5v)。數(shù)碼顯示管為共陰極數(shù)碼顯示管3. 八段顯示器LED數(shù)碼管顯示(八段) (2)總體
17、接線: 按圖將電路連接并焊好。P0口通過接驅(qū)動器連接數(shù)碼管,用來控制顯示內(nèi)容。P1.0-P1.2通過接譯碼器和驅(qū)動器連接至數(shù)碼管,用來控制片選以及報警提示。P1.3用來接溫度傳感器數(shù)據(jù)口。P2口用來接3*3矩陣鍵盤。P3.0-P3.1用來接串口,為單片機(jī)燒制程序。(3)本實驗中,按鍵對應(yīng)功能定義如下:KEY7顯示時間;KEY8顯示溫度;KEY9調(diào)時單元加1;KEY4開啟秒表;KEY5秒表開始/暫停;KEY6秒表清零;KEY1時參數(shù)設(shè)置;KEY2分參數(shù)設(shè)置;KEY3秒?yún)?shù)設(shè)置2、軟件設(shè)計本系統(tǒng)軟件設(shè)計程序主要分為主程序、鍵盤掃描子程序、時間程序、溫度程序、秒表程序、中斷服務(wù)子程序。下面分別詳細(xì)介
18、紹(1)主程序流程圖 (2)鍵盤掃描子程序流程圖KEY7鍵按下?有鍵按下?KEY2鍵按下?KEY5鍵按下?KEY4鍵按下?KEY3鍵按下?KEY1鍵按下?開始時間單元清0鍵盤掃描子程序定義轉(zhuǎn)移表首地址KEY6鍵按下?KEY8鍵按下?KEY9鍵按下?轉(zhuǎn)至溫度程序轉(zhuǎn)至?xí)r間程序轉(zhuǎn)至秒表程序延時20MS消抖RET按鍵釋放?按鍵釋放?取特征碼查表求鍵值有按鍵按下開始置列為輸入找到按鍵?有按鍵按下逐行鍵盤掃描延時20MS消抖掃描完否?RET(3)時間數(shù)據(jù)處理子程序流程圖 分參數(shù)設(shè)置秒表程序溫度程序調(diào)用顯示子程序時參數(shù)設(shè)置鍵盤掃描子程序秒?yún)?shù)設(shè)置開始數(shù)據(jù)存顯示單元T0設(shè)為16位計數(shù)器模式使能T0中斷KEY4
19、鍵按下?KEY2鍵按下?KEY9鍵按下?KEY8鍵按下?KEY7鍵按下?(4)秒表數(shù)據(jù)處理子程序流程圖執(zhí)行溫度程序KEY2按下?調(diào)用顯示子程序執(zhí)行時間程序顯示單元清0開啟T1中斷鍵盤掃描子程序開啟總中斷定義T1中斷初值開始KEY5按下?下?鍵盤掃描子程序調(diào)用顯示子程序調(diào)用鍵盤子程序鍵盤掃描子程序KEY1按下?KEY6按下?KEY5按下?(5)溫度數(shù)據(jù)處理子程序流程圖 溫度開始程序 讀溫度轉(zhuǎn)換值子程序初始化跳過匹配跳過ROM匹配發(fā)送溫度轉(zhuǎn)換命令延時750usP1.3置一DS18B20復(fù)位FLAG=1?發(fā)送度溫度命令調(diào)用數(shù)據(jù)子程序返回顯示溫度生成顯示碼調(diào)數(shù)據(jù)處理程序讀取轉(zhuǎn)換溫度值調(diào)用初始化初始化,
20、設(shè)置常量開始寫DS18B20命令子程序ACC帶進(jìn)位右移1位設(shè)R2=8進(jìn)位標(biāo)志位C清零P1.3置“0”短延時P1.3置“1”P1.3置“1”短延時將C值寫入P1.3已讀8位?返回讀溫度值子程序 (6)時參數(shù)設(shè)置子程序流程圖設(shè)R1=31H為P1.3提供一個低脈沖進(jìn)位標(biāo)志位C清0設(shè)R2=8(8位數(shù)據(jù))設(shè)R4=2(2字節(jié))將P1.3值讀入CACC帶進(jìn)位右移1位將ACC的值存入R1R1=R1-1已讀8位?讀完2字節(jié)返回KEY1按下?KEY3按下?調(diào)用加1子程序計時單元清0調(diào)用時間顯示子程序轉(zhuǎn)至?xí)r間程序取計時單元存儲顯示數(shù)據(jù)關(guān)T0中斷調(diào)用時間顯示子程序鍵盤掃描子程序=24H?3、軟硬件系統(tǒng)總體軟件工作原理
21、:如圖,在給電路板上電之后,按下KEY7后,執(zhí)行時間顯示,按下KEY8后,執(zhí)行溫度顯示,按下KEY4后,開啟秒表功能。當(dāng)前為時間顯示時,按下KEY8后,執(zhí)行溫度顯示,按下KEY4后,開啟秒表功能,按下KEY1-KEY3,分別執(zhí)行時分秒的調(diào)整,按下KEY9,執(zhí)行給調(diào)整單元+1,當(dāng)前為溫度顯示時,按下KEY7后,執(zhí)行時間顯示功能,按下KEY4后,開啟秒表功能。當(dāng)前為秒表顯示時,按下KEY7后,執(zhí)行時間顯示功能,按下KEY8后,執(zhí)行溫度顯示,按下KEY5,秒表開始計時,再按下KEY5,秒表暫停,按下KEY6,秒表清0,再按下KEY7或KEY8,執(zhí)行時間或溫度的顯示。三、 調(diào)試1、功能實現(xiàn)過程說明(1
22、)、時間顯示實現(xiàn)仿真圖如下:(2)、溫度顯示實現(xiàn)仿真圖如下:(3)、秒表顯示實現(xiàn)仿真圖如下2、硬件實現(xiàn)圖(1)、時間顯示實現(xiàn)圖:(2)、溫度顯示實現(xiàn)圖:(3)、秒表顯示實現(xiàn)圖:3、調(diào)試出現(xiàn)的問題及解決辦法(1)、在Proteus軟件里仿真時,先顯示時間,接著按下KEY10不能顯示溫度解決辦法:首先檢查鍵盤程序,然后檢查時間程序,發(fā)現(xiàn)執(zhí)行時間程序時沒有檢測KEY9鍵,進(jìn)行修改程序,然后在進(jìn)行仿真。(2)、按下KEY8顯示溫度時顯示始終為00C解決辦法:首先檢查程序,再看仿真時是否有問題,最后經(jīng)過檢查電路板,發(fā)現(xiàn)溫度傳感器的數(shù)據(jù)端信號沒有送到P1.3,用導(dǎo)線直接把兩端連接,運(yùn)行正常。(3)、在Pr
23、oteus里將程序調(diào)試及仿真成功后,寫入電路板,發(fā)現(xiàn)按鍵無反應(yīng)解決辦法:檢查矩陣鍵盤程序是否正確,與電路板上的鍵盤是否一一對應(yīng),最終發(fā)現(xiàn)電路板上的鍵盤與原理圖上鍵盤不是對應(yīng)的,修改矩陣鍵盤程序的特征碼,調(diào)試之后運(yùn)行正常。(4)、測試時發(fā)現(xiàn)調(diào)整時間時,調(diào)至24、60時,單元不清0解決辦法:在執(zhí)行加一程序時需要將加后的數(shù)據(jù)進(jìn)行保存,經(jīng)過調(diào)試后,運(yùn)行正常。(5)、在最后測試時發(fā)現(xiàn)在調(diào)整時間參數(shù)后不能保存,又回到清0狀態(tài)解決辦法:在檢查程序時發(fā)現(xiàn)所保存數(shù)據(jù)單元弄錯,在改過之后,運(yùn)行正常。4、總結(jié) 通過這次單片機(jī)課程設(shè)計我受益匪淺,讓我明白了理論聯(lián)系實際的重要性,這次設(shè)計不僅鞏固了所學(xué)單片機(jī)理論知識,還
24、培養(yǎng)了我的動手能力以及如何合理的查找資料,利用資料的能力。本次課程設(shè)計大致可分為焊接電路板、編寫程序、調(diào)試、檢測四個階段。焊接電路板是實現(xiàn)本次課設(shè)要求的基本保障,首先要明確自己所需電路圖,考察了以前的電路知識。焊接過程還需要十分的耐心和細(xì)心。編寫程序是這次課設(shè)的主要內(nèi)容,首先要明確所要實現(xiàn)的功能,然后再畫框圖,最后編寫程序。這個過程中,使我認(rèn)識到先畫框圖的重要性,并且要注意是否有重復(fù)使用的單元,避免出現(xiàn)一些由于細(xì)小的錯誤造成不理想的結(jié)果。之后在WAVE軟件進(jìn)行調(diào)試程序,然后在Proteus軟件里進(jìn)行仿真,檢驗程序?qū)崿F(xiàn)的情況,然后不斷進(jìn)行修改程序、調(diào)試,直至仿真成功。最后將程序?qū)懭腚娐钒暹M(jìn)行檢測
25、,檢查是否完成本次設(shè)計要求,然后重復(fù)檢查電路焊接情況、修改程序、調(diào)試、檢測。本次課程設(shè)計最后實現(xiàn)的情況仍不太理想,沒有完成時間秒表的暫停顯示。應(yīng)該可以在秒表顯示子程序稍作修改以改進(jìn)??傮w上來說,通過這次課程設(shè)計學(xué)習(xí),檢驗了平時對理論的學(xué)習(xí),使我進(jìn)一步熟悉了單片機(jī)的結(jié)構(gòu)及工作原理,鍛煉了我的動手能力,提高了自學(xué)能力,為以后的學(xué)習(xí)打下了好的開端。最后,還要感謝指導(dǎo)老師的悉心教導(dǎo),同時陳增輝等同學(xué)對完成本次給與了很大幫助,在此也表示感謝。參考文獻(xiàn)1段晨東.單片機(jī)原理及接口技術(shù).北京:清華大學(xué)出版社,20082周潤景 郝曉霞.傳感器及檢測技術(shù).北京:電子工業(yè)出版社,20093樓然苗 李光飛.51系列單
26、片機(jī)設(shè)計實例.北京: 北京航天航空大學(xué)出版社,2006附錄:1)元件明細(xì)表:元器件數(shù)量備注電阻31K電阻45.1K電阻28K獨石電容60.1uF獨石電容230PF電解電容110Uf 25V51單片機(jī)實驗板189C52芯片1MAX232芯片174LS245芯片274LS138芯片1DS18B201三極管90122PNP二極管IN40011數(shù)碼管2三位八段 共陰晶振111.0592MHz芯片座6電源座1三腳 5V通信插座1CON232電源適配器1通訊電纜1微型按鈕開關(guān)10實驗插板1單排插針1雙排插針2短路塊若干導(dǎo)線12)電路原理圖:六結(jié)論通過這些天對電子鐘表和溫度計系統(tǒng)的設(shè)計,使我對單片機(jī)設(shè)計的基
27、本步驟有了一定的了解.相信在以后的設(shè)計中自己會做的更加完善.單片機(jī)系統(tǒng)設(shè)計的首要問題就是要進(jìn)行廣泛的調(diào)查,了解系統(tǒng)概況,分析系統(tǒng)當(dāng)前存在的問題.在確定大方向的基礎(chǔ)上,對系統(tǒng)具體的實現(xiàn)進(jìn)行規(guī)劃.其次要進(jìn)行的就是方案設(shè)計,單片機(jī)機(jī)型和器件的選擇,性能特點要適合所要完成的任務(wù),避免過多的功能閑置.當(dāng)然還要考慮性價比等問題.器件確定后,就要對系統(tǒng)的硬件和軟獎作統(tǒng)一的規(guī)劃.因為一種功能往往是既可以由硬件實現(xiàn)又可以由軟件實現(xiàn).要根據(jù)系統(tǒng)的實時性和系統(tǒng)的性能價格比較進(jìn)行綜合確定.一般情況下,用硬件實現(xiàn)的速度比較快,可以節(jié)省CPU的時間,但系統(tǒng)的硬件接線復(fù)雜,系統(tǒng)成本高.用軟件實現(xiàn)則較為經(jīng)濟(jì),但要占用更多的C
28、PU時間.所以,在CPU時間不緊張的情況下,應(yīng)盡量采用軟件.如果系統(tǒng)回路多,實時性要求強(qiáng),則要考慮用硬件完成.再著要考慮的就是硬件設(shè)計.硬件的設(shè)計是根據(jù)總體要求,在選擇完單片機(jī)機(jī)型的基礎(chǔ)上,具體確定系統(tǒng)中所要使用的元件,并實際出系統(tǒng)的電路原理圖,經(jīng)過必要的實驗完成后完成電路板的制作.最后要考慮的便是軟件的設(shè)計.單片機(jī)應(yīng)用系統(tǒng)的設(shè)計總,軟機(jī)設(shè)計占有重要的位置.單片機(jī)應(yīng)用系統(tǒng)的軟件設(shè)計通常采用模塊化設(shè)計,自頂向下的程序設(shè)計方法.3)程序清單:;*;變量定義;*FLAG1 BIT 15HSIGN BIT 16H;*; 中斷入口程序 ;;*ORG 0000H ;程序執(zhí)行開始地址AJMP MAIN ;跳
29、至MAIN執(zhí)行ORG 0003HAJMP ZD ;INT0中斷入口ORG 000BH ;定時器T0中斷程序入口LJMP INTT0 ;跳至INTT0ORG 001BH ;定時器T1中斷程序入口LJMP INTT1 ;跳至INTT1;*; 主程序 ;;*MAIN: MOV SP,#7FH ;開辟棧區(qū)MOV R0,#50H ;清70H7AH共十一個內(nèi)存單元 MOV R7,#06H SETB IT0 ;INT0跳變觸發(fā)方式 SETB EX0 ;允許INT0中斷 SETB PX0 ;設(shè)為高優(yōu)先級CLEARDISP:MOV R0,#00H INC R0 DJNZ R7,CLEARDISP LCALL S
30、CAN_KEY ;調(diào)用鍵盤掃描子程序 MOV A,R5 ;把鍵值送往A MOV DPTR,#JMP_TABLE ;設(shè)置轉(zhuǎn)移表首地址 CJNE A,#0FFH,TIAO ;判斷是否有鍵按下,有鍵按下調(diào)至TIAO SJMP MAIN ;無鍵按下,調(diào)至MAINTIAO:RL A ;AJMP指令代碼為雙字節(jié),鍵值乘以2 JMP A+DPTR JMP_TABLE:AJMP P_FUN0 AJMP P_FUN1 AJMP P_FUN2 AJMP P_FUN3 AJMP P_FUN4 AJMP P_FUN5 AJMP P_FUN6 AJMP P_FUN7 AJMP P_FUN8 P_FUN0: AJMP T
31、IMESTART ;調(diào)至?xí)r間開始程序P_FUN1: AJMP WENDU ;調(diào)至溫度開始程序P_FUN2: AJMP MAIN P_FUN3: AJMP MBSTART ;調(diào)至秒表開始程序P_FUN4: SJMP MAIN P_FUN5: SJMP MAIN P_FUN6: LJMP MAIN P_FUN7: LJMP MAIN P_FUN8: LJMP MAIN;*; 時間開始程序 ;;*TIMESTART: MOV 03H,#00H ;清03H(標(biāo)志用) MOV TMOD,#01 ;設(shè)T0為16位定時器 MOV TL0,#0F2H ;10ms定時初值 MOV TH0,#0D8H SETB
32、EA ;總中斷開放 SETB ET0 ;允許T0中斷 SETB TR0 ;開啟T0定時器 MOV R4,#64H ;1s定時用初值(10ms100)STA: LCALL TIMEDISPLAY ;調(diào)用時間顯示子程序 LCALL SCAN_KEY ;掃描鍵盤 MOV A,R5 CJNE A,#6,CHECKMIN ;KEY7是否按下 LJMP TIMESET1 ;按下,調(diào)至TIMESET1CHECKMIN: CJNE A,#7,CHECKSEC ;KEY8是否按下 LJMP TIMESET2 ;按下,調(diào)至TIMESET2CHECKSEC: CJNE A,#8,JIANCHA ;KEY9是否按下
33、LJMP TIMESET3 ;按下,調(diào)至TIMESET3JIANCHA: CJNE A,#1,ZHUAN ;KEY2是否按下 CLR TR0 ;關(guān)中斷T0 LJMP WENDU ;按下,調(diào)至WENDUZHUAN: CJNE A,#3,STA ;KEY4是否按下 LJMP MBSTART ;按下,調(diào)至MBSTART;*; 秒表開始程序 ;;*MBSTART:MOV R0,#60H ;秒表顯示單元清0 MOV R7,#0BHCLEARDIS:MOV R0,#00H INC R0 DJNZ R7,CLEARDIS MOV 10H,#00H MOV 6AH,#0AH MOV TL1,#078H ;定義
34、T1數(shù)據(jù)寄存器初值 MOV TH1,#0ECH SETB EA ;總中斷開放 mov TMOD,#10h ;定義T1工作方式PROG05:LCALL SCAN_KEY MOV A,R5 CJNE A,#4,PROGF CLR 10H ;KEY5按下,開啟中斷T1,開始計時 CLR 11H SETB ET1 SETB TR1PROG01: LCALL MBDISPLAY LCALL SCAN_KEY MOV A,R5 CJNE A,#4,PROG01 SETB 10H SETB 11H CLR TR1 ;KEY5按下,關(guān)中斷,秒表暫停 LCALL SCAN_KEY MOV A,R5 CJNE A
35、,#5,PROG05 MOV R0,#60H ;KEY6按下,秒表清0 MOV R2,#06H LABEL: MOV R0,#00H INC R0 DJNZ R2,LABEL LCALL MBDISPLAYPROGF: LCALL SCAN_KEY MOV A,R5 CJNE A,#0,PROG03 LJMP TIMESTART ;KEY1按下,跳至TIMESTARTPROG03: CJNE A,#1,PROG04 LJMP WENDU ;KEY2按下,跳至WENDUPROG04: LCALL MBDISPLAY LJMP PROG05 ;無鍵按下,調(diào)至PROG05;*; 溫度開始程序 ;;*
36、WENDU: LCALL INIT_1820 ;DS18B20初始化 LCALL GET_TEMPER ;讀取轉(zhuǎn)換數(shù)據(jù) LCALL DATA_PROC ;數(shù)據(jù)處理 LCALL SEG_GEN ;生成顯示碼 LCALL WENDUDISPLAY ;數(shù)碼顯示 LCALL SCAN_KEY MOV A,R5 CJNE A,#0,CHECK1 LJMP TIMESTARTCHECK1:CJNE A,#3,CHECK2 LJMP MBSTARTCHECK2:SJMP WENDU;*;DS18B20復(fù)位初始化子程序;*INIT_1820: SETB P1.3 NOP CLR P1.3 MOV R1,#3T
37、SR1: MOV R0,#107 DJNZ R0,$ DJNZ R1,TSR1 SETB P1.3 ;拉高數(shù)據(jù)線 NOP NOP NOP MOV R0,#25HTSR2: JNB P1.3,TSR3 ;等待DS18B20回應(yīng) DJNZ R0,TSR2 ;延時并檢測應(yīng)答信號 LJMP TSR4TSR3: SETB FLAG1 ;置標(biāo)志位,表示DS18B20存在 LJMP TSR5TSR4: CLR FLAG1 ;清標(biāo)志位,表示DS18B20不存在 LJMP TSR6TSR5: MOV R0,#117 DJNZ R0,$ ;延時TSR6: SETB P1.3 RET;*;讀出轉(zhuǎn)換后的溫度值;*GE
38、T_TEMPER:SETB P1.3 LCALL INIT_1820 ;先復(fù)位DS18B20 JB FLAG1,TSS2 RET ;判斷DS18B20是否存在TSS2: MOV A,#0CCH ;跳過ROM匹配 LCALL WRITE_1820 MOV A,#44H ;發(fā)出溫度轉(zhuǎn)換指令 LCALL WRITE_1820 LCALL DL5MS ;等待AD轉(zhuǎn)換結(jié)束 LCALL INIT_1820 MOV A,#0CCH ;跳過ROM匹配 LCALL WRITE_1820 MOV A,#0BEH ;發(fā)出讀溫度指令 LCALL WRITE_1820 LCALL READ_1820 ;將讀出的溫度數(shù)據(jù)保存到34H/35H RET;*;寫DS18B2
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 三年級下科學(xué)教學(xué)設(shè)計-磁鐵有磁性-教科版
- 2024秋五年級英語上冊 Unit 6 In a nature park Part B 第一課時教學(xué)設(shè)計 人教PEP
- Unit 6 Meet my family單元整體(教學(xué)設(shè)計)-2024-2025學(xué)年join in外研劍橋英語三年級上冊
- 9那一定會很好(教案)-2024-2025學(xué)年語文三年級上冊統(tǒng)編版
- 三年級信息技術(shù)上冊 第2課 初識電腦教學(xué)設(shè)計 閩教版
- 20精彩極了“和”糟糕透了(教學(xué)設(shè)計)-2024-2025學(xué)年統(tǒng)編版語文五年級上冊
- 物理壓強(qiáng)知識總結(jié)
- 一年級品德與社會下冊 我的身體教學(xué)設(shè)計 未來版
- 11《拆裝玩具》教學(xué)設(shè)計-2024-2025學(xué)年人教鄂教版(2024)科學(xué)一年級上冊
- Unit 8 Lesson 5 Grammar in Use教案 2024-2025學(xué)年仁愛科普版英語七年級下冊
- 健康醫(yī)療大數(shù)據(jù)分析合同
- 《SLT 377-2025水利水電工程錨噴支護(hù)技術(shù)規(guī)范》知識培訓(xùn)
- 2024-2025學(xué)年人教版(2024)七年級數(shù)學(xué)下冊第八章實數(shù)單元檢測(含答案)
- 膀胱癌部分切除護(hù)理查房
- 兒童心理健康與家庭教育關(guān)系
- 2025屆山東省臨沂市高三下學(xué)期一??荚囉⒄Z試卷(含解析)
- 專題06+函數(shù)與導(dǎo)數(shù)領(lǐng)域中的典型壓軸小題全歸納與剖析課件
- 餐飲企業(yè)日管控、周排查、月調(diào)度表格模板
- (最新整理)世界水利發(fā)展史
- 超市新員工進(jìn)職[新版]ppt課件
- 中考物理專題復(fù)習(xí)課件 伏安法實驗(共18張PPT)
評論
0/150
提交評論