版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、保密類別 編 號畢 業(yè) 論 文基于單片機(jī)的電子萬年歷的設(shè)計(jì)與實(shí)現(xiàn)摘 要電子萬年歷是一種非常廣泛日常計(jì)時(shí)工具,對現(xiàn)代社會越來越流行。它可以對年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),還具有閏年補(bǔ)償?shù)榷喾N功能,而且DS1302的使用壽命長,誤差小。對于數(shù)字電子萬年歷采用直觀的數(shù)字顯示,可以同時(shí)顯示年、月、日、周日、時(shí)、分、秒和溫度等信息,還具有時(shí)間校準(zhǔn)等功能。該電路采用AT89S52單片機(jī)作為核心,功耗小,能在3V的低壓工作,電壓可選用35V電壓供電。本設(shè)計(jì)是基于51系列的單片機(jī)進(jìn)行的電子萬年歷設(shè)計(jì),可以顯示年月日時(shí)分秒及周信息,具有可調(diào)整日期和時(shí)間功能。在設(shè)計(jì)的同時(shí)對單片機(jī)的理論基礎(chǔ)和外圍擴(kuò)展知識進(jìn)
2、行了比較全面準(zhǔn)備。在硬件與軟件設(shè)計(jì)時(shí),沒有良好的基礎(chǔ)知識和實(shí)踐經(jīng)驗(yàn)會受到很大限制,每項(xiàng)功能實(shí)現(xiàn)時(shí)需要那種硬件,程序該如何編寫,算法如何實(shí)現(xiàn)等,沒有一定的基礎(chǔ)就不可能很好的實(shí)現(xiàn)。在編寫程序過程中發(fā)現(xiàn)以現(xiàn)有的相關(guān)知識要獨(dú)自完成編寫任務(wù)困難重重,在老師和同學(xué)的幫助下才完成了程序部分的編寫。關(guān)鍵詞:單片機(jī) 萬年歷 DS1302 STC89C52第1章 緒論 . 11.1 課題研究的背景 . 11.2 國內(nèi)外關(guān)于該論題的研究現(xiàn)狀和發(fā)展趨勢 . 11.3 本課題研究的目的 . 1第2章系統(tǒng)基本方案選擇和論證 . 12.1 單片機(jī)芯片的選擇 . 12.2 顯示模塊選擇方案和論證 . 12.3 時(shí)鐘芯片的選擇
3、方案和論證 . 12.4 溫度傳感器的選擇方案與論證 . 2第3章系統(tǒng)的硬件設(shè)計(jì)與實(shí)現(xiàn) . 33.1電路設(shè)計(jì)框圖 . 33.2 主要單元電路的設(shè)計(jì) . 43.3 單片機(jī)中斷系統(tǒng) . 53.4 溫度采集模塊設(shè)計(jì) . 83.5顯示模塊的設(shè)計(jì) . 93.6系統(tǒng)的軟件設(shè)計(jì) . 10 結(jié)論1.硬件測試 . 122.軟件測試 . 12 參考文獻(xiàn) . 13 附 錄 . 14 后 記 . 16第1章 緒論1.1 課題研究的背景隨著微電子技術(shù)和超大規(guī)模集成電路技術(shù)的不斷發(fā)展家用電子產(chǎn)品不但種類日益豐富而且變得更加經(jīng)濟(jì)實(shí)用。單片微型計(jì)算機(jī)體積小、性價(jià)比高、功能強(qiáng)、可靠性高等獨(dú)有的特點(diǎn)在各個(gè)領(lǐng)域得到了廣泛的應(yīng)用。電
4、子萬年歷是一種應(yīng)用非常廣泛的日常計(jì)時(shí)工具。數(shù)字顯示的日歷鐘已經(jīng)越來越流行,特別是適合在家庭居室、辦公室、大廳、會議室、車站和廣場等使用。1.2 國內(nèi)外關(guān)于該論題的研究現(xiàn)狀和發(fā)展趨勢電子萬年歷是一種非常廣泛日常計(jì)時(shí)工具它可以對年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí)。萬年歷設(shè)計(jì)是采用數(shù)字電路實(shí)現(xiàn)基于51系列單片機(jī)為核心顯示部分采用LCD液晶顯示可以同時(shí)顯示陽歷年、月、日、時(shí)、秒、鬧鐘、星期、溫度等信息。并具有可調(diào)整日期和時(shí)間功能。諸如定時(shí)自動(dòng)報(bào)警、按時(shí)自動(dòng)打鈴、時(shí)間程序自動(dòng)控制、定時(shí)廣播、自動(dòng)起閉路燈、定時(shí)開關(guān)烘箱、通斷動(dòng)力設(shè)備、甚至各種定時(shí)電氣的自動(dòng)啟用等,但是所有這些都是以鐘表數(shù)字化為基礎(chǔ)的。因
5、此研究萬年歷及擴(kuò)大其應(yīng)用有著非?,F(xiàn)實(shí)的意義。1.3 本課題研究的目的LCD 液晶顯示的日歷鐘顯示清晰直觀、走時(shí)準(zhǔn)確、可以進(jìn)行夜視并且還可以擴(kuò)展出多種功能。功能也越來越齊全,除了公歷年月日、時(shí)分秒、星期顯示及鬧鈴。但通過我們對各種電子鐘表、歷的不斷觀察總結(jié)發(fā)現(xiàn)目前市場的鐘、歷都存在一些不足之處比如時(shí)鐘不精確、產(chǎn)品成本太高、無環(huán)境溫度顯示等這都給人們的使用帶來了某些不便。為此設(shè)計(jì)了一種功能全面、計(jì)時(shí)準(zhǔn)確、成本低廉的基于51單片機(jī)的萬年歷。1.4 本課題研究的內(nèi)容論文立足于一個(gè)具體的制作實(shí)例,即以單片機(jī)為控制核心的電子萬年歷的設(shè)計(jì)與制作。具體做法是以單片機(jī)及其最小系統(tǒng)為核心,C51作為主控制系統(tǒng),集
6、時(shí)鐘芯片,液晶顯示,按鍵電路,復(fù)位電路等為一體,通過對單片機(jī)進(jìn)行C語言設(shè)計(jì),設(shè)計(jì)一個(gè)電子萬年歷。1第2章系統(tǒng)基本方案選擇和論證2.1 單片機(jī)芯片的選擇本設(shè)計(jì)采用AT89S51芯片作為硬件核心,該芯片采用Flash ROM,內(nèi)部具有4KB ROM存儲空間,相對于本設(shè)計(jì)而言程序空間完全夠用。能于3V的超低壓工作,而且與MCS-51系列單片機(jī)完全兼容,而且運(yùn)用于電路設(shè)計(jì)中時(shí)具備ISP在線編程技術(shù),當(dāng)在對電路進(jìn)行調(diào)試時(shí),由于程序的錯(cuò)誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r(shí),避免芯片的多次拔插對芯片造成的損壞。2.2 顯示模塊選擇方案和論證方案一:采用點(diǎn)陣式數(shù)碼管顯示,點(diǎn)陣式數(shù)碼管是由八行八列的發(fā)光二極管
7、組成,對于顯示文字比較適合,如采用在顯示數(shù)字顯得太浪費(fèi),且價(jià)格也相對較高,所以也不用此種作為顯示.方案二:采用LED數(shù)碼管動(dòng)態(tài)掃描,LED數(shù)碼管價(jià)格雖適中,對于顯示數(shù)字也最合適,而且采用動(dòng)態(tài)掃描法與單片機(jī)連接時(shí),占用的單片機(jī)口線少。但是由于數(shù)碼管動(dòng)態(tài)掃描需要借助74LS164移位寄存器進(jìn)行移位,該芯片在電路調(diào)試時(shí)往往會有很多障礙,所以不采用LED數(shù)碼管作為顯示。方案三:采用LCD液晶顯示屏,液晶顯示屏的顯示功能強(qiáng)大,可顯示大量文字,圖形,顯示多樣,清晰可見,對于電子萬年歷而言,一個(gè)1602的液晶屏即可,價(jià)格也還能接受,需要的接口線較多,但會給調(diào)試帶來諸多方便,所以此設(shè)計(jì)中采用LCD1602液晶
8、顯示屏作為顯示模塊.2.3 時(shí)鐘芯片的選擇方案和論證方案一:直接采用單片機(jī)定時(shí)計(jì)數(shù)器提供秒信號,使用程序?qū)崿F(xiàn)年、月、日、星期、時(shí)、分、秒計(jì)數(shù)。采用此種方案雖然可以減少時(shí)鐘芯片的使用,節(jié)約成本,但是,實(shí)現(xiàn)的時(shí)間誤差較大。所以不采用此方案。方案二:采用DS1302時(shí)鐘芯片實(shí)現(xiàn)時(shí)鐘,DS1302是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘電路,它可以對年、月、日、周日、時(shí)、分、秒1進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,工作電壓為2.5V5.5V。采用三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號或RAM數(shù)據(jù)。DS1302內(nèi)部有一個(gè)31×8的用于臨時(shí)性存
9、放數(shù)據(jù)的RAM寄存器。DS1302是DS1202的升級產(chǎn)品,與DS1202兼容,但增加了主電源/后背電源雙電源引腳,同時(shí)提供了對后背電源進(jìn)行涓細(xì)電流充電的能力。主要特點(diǎn)是采用串行數(shù)據(jù)傳輸,可為掉電保護(hù)電源提供可編程的充電功能,并且可以關(guān)閉充電功能。采用普通32.768kHz晶振。因此,本設(shè)計(jì)中采用DS1302提供時(shí)鐘。2.4 溫度傳感器的選擇方案與論證方案一:使用熱敏電阻作為傳感器,用熱敏電阻與一個(gè)相應(yīng)阻值電阻相串聯(lián)分壓,利用熱敏電阻阻值隨溫度變化而變化的特性,采集這兩個(gè)電阻變化的分壓值,并進(jìn)行A/D轉(zhuǎn)換。此設(shè)計(jì)方案需用A/D轉(zhuǎn)換電路,增加硬件成本而且熱敏電阻的感溫特性曲線并不是嚴(yán)格線性的,會
10、產(chǎn)生較大的測量誤差。方案二:采用數(shù)字式溫度傳感器DS18B20,此類傳感器為數(shù)字式傳感器而且僅需要一條數(shù)據(jù)線進(jìn)行數(shù)據(jù)傳輸,易于與單片機(jī)連接,可以避免A/D模數(shù)轉(zhuǎn)換模塊,降低硬件成本,簡化系統(tǒng)電路。另外,數(shù)字式溫度傳感器還具有測量精度高、測量范圍廣等優(yōu)點(diǎn)。因此,本設(shè)計(jì)DS18B20溫度傳感器作為溫度采集模塊。電路設(shè)計(jì)最終方案決定綜上各模塊的選擇方案與論證,確定最后的主要硬件資源如下:采用AT89S51作為主控制系統(tǒng);DS1302提供時(shí)鐘;DS18B20作為數(shù)字式溫度傳感器;LCD1602液晶屏作為顯示。2第3章系統(tǒng)的硬件設(shè)計(jì)與實(shí)現(xiàn)3.1電路設(shè)計(jì)框圖本系統(tǒng)的電路系統(tǒng)框圖如圖1所示。AT89S51單
11、片機(jī)對DS1302和DS18B20寫入控制字并讀取相應(yīng)的數(shù)據(jù),繼而控制LCM1602作出對應(yīng)的顯示。圖1 系統(tǒng)硬件框圖系統(tǒng)硬件概述本電路是由AT89S51單片機(jī)作為控制核心,能在3V超低壓工作,AT89S51是一個(gè)低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含4kBytes ISP(In-system programmable)的可反復(fù)擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲單元,功能強(qiáng)大的微型計(jì)算機(jī)的AT89S51可為許多嵌入式控制應(yīng)用系
12、統(tǒng)提供高性價(jià)比的解決方案;時(shí)鐘電路由DS1302提供,它是一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘電路,它可以對年、月、日、周、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,工作電壓為2.5V5.5V。采用三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號或RAM數(shù)據(jù)。DS1302內(nèi)部有一個(gè)31*8的用于臨時(shí)性存放數(shù)據(jù)的RAM寄存器??僧a(chǎn)生年、月、日、周、時(shí)、分、秒,具有使用壽命長,精度高和低功耗等特點(diǎn),同時(shí)具有掉電自動(dòng)保存功能;溫度的采集由DS18B20完成,它具有獨(dú)特的單線接口方式,DS18B20在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊,測溫范
13、圍 55125,固有測溫分辨率0.5,支持多點(diǎn)組網(wǎng)功能,多個(gè)DS18B20可以并聯(lián)在唯一的三線上,最多只能并聯(lián)8個(gè),如果數(shù)量過多,會使供電電源電壓過低,從而造成信號傳輸?shù)牟环€(wěn)定,實(shí)現(xiàn)多點(diǎn)測溫,工作電源:35V/DC,在使用中不需要任何外圍元件;顯示部份由LCD1602液晶顯示器完成,該顯示器為工業(yè)字符型液晶,能夠同時(shí)顯示16x02即32個(gè)字符(16列2行)。33.2 主要單元電路的設(shè)計(jì)AT89S52單片機(jī)主控制模塊的設(shè)計(jì)AT89S52是一個(gè)低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含4k BytesISP(In-system programmable)的可反復(fù)擦寫1000次的Flash只讀程序存
14、儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲單元,功能強(qiáng)大的微型計(jì)算機(jī)的AT89S51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。AT89S51具有如下特點(diǎn):40個(gè)引腳,4kBytes Flash片內(nèi)程序存儲器,128Bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM),32個(gè)外部雙向輸入/輸出(I/O)口,5個(gè)中斷優(yōu)先級2層中斷嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時(shí)鐘振蕩器。此外,AT89S51設(shè)計(jì)和配置了振蕩頻率可為0Hz并可通
15、過軟件設(shè)置省電模式。空閑模式下,CPU暫停工作,而RAM定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時(shí)該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。AT89S52單片機(jī)為40引腳雙列直插芯片,有四個(gè)I/O口P0,P1,P2,P3,MCS-51單片機(jī)共有4個(gè)8位的I/O口(P0、P1、P2、P3),每一條I/O線都能獨(dú)立地作輸出或輸入。P0口:P0口為一個(gè)8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它
16、可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流
17、。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號和控制信號。P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸4入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。 I/O口作為輸入口時(shí)有兩種工作方式,即所謂的讀端口與讀引腳。讀端口時(shí)實(shí)際上并不從外部讀入數(shù)據(jù)
18、,而是把端口鎖存器的內(nèi)容讀入到內(nèi)部總線,經(jīng)過某種運(yùn)算或變換后再寫回到端口鎖存器。只有讀端口時(shí)才真正地把外部的數(shù)據(jù)讀入到內(nèi)部總線。輸入緩沖器CPU將根據(jù)不同的指令分別發(fā)出讀端口或讀引腳信號以完成不同的操作。這是由硬件自動(dòng)完成的,不需要我們操心,1然后再實(shí)行讀引腳操作,否則就可能讀入出錯(cuò),如果不對端口置1,端口鎖存器原來的狀態(tài)有可能為0Q端為0Q為1加到場效應(yīng)管柵極的信號為1,該場效應(yīng)管就導(dǎo)通對地呈現(xiàn)低阻抗,此時(shí)即使引腳上輸入的信號為1,也會因端口的低阻抗而使信號變低使得外加的1信號讀入后不一定是1。若先執(zhí)行置1操作,則可以使場效應(yīng)管截止引腳信號直接加到三態(tài)緩沖器中實(shí)現(xiàn)正確的讀入,由于在輸入操作時(shí)
19、還必須附加一個(gè)準(zhǔn)備動(dòng)作,所以這類I/O口被稱為準(zhǔn)雙向口。89C51的P0/P1/P2/P3口作為輸入時(shí)都是準(zhǔn)雙向。 單片機(jī)的最小系統(tǒng)如圖2所示:18引腳和19引腳接時(shí)鐘電路,XTAL1接外部晶振和微調(diào)電容的一端,在片內(nèi)它是振蕩器倒相放大器的輸入,XTAL2接外部晶振和微調(diào)電容的另一端,在片內(nèi)它是振蕩器倒相放大器的輸出.第9引腳為復(fù)位輸入端,接上電容,電阻及開關(guān)后夠上電復(fù)位電路,20引腳為接地端,40引腳為電源端.單片機(jī)的最小系統(tǒng)如下圖所示:圖2中的晶振頻率為12MHz,復(fù)位方式為上電自動(dòng)復(fù)位。圖2時(shí)鐘電路模塊的設(shè)計(jì)3.3 單片機(jī)中斷系統(tǒng)在提及單片機(jī)的最小系統(tǒng)后,現(xiàn)對單片機(jī)的另一重要應(yīng)用系統(tǒng)即中
20、斷系統(tǒng)做一個(gè)比較詳細(xì)的介紹。5在CPU 與外設(shè)交換信息時(shí),存在著一個(gè)快速CPU與慢速的外設(shè)之間的矛盾。為解決這個(gè)問題,發(fā)展了中斷的概念。單片機(jī)在某一時(shí)刻只能處理一個(gè)任務(wù),當(dāng)多個(gè)任務(wù)同時(shí)要求單片機(jī)處理時(shí),這一要求應(yīng)該怎么實(shí)現(xiàn)呢?通過中斷可以實(shí)現(xiàn)多個(gè)任務(wù)的資源共享。所謂的中斷就是,當(dāng)CPU正在處理某項(xiàng)事務(wù)的時(shí)候,如果外界或者內(nèi)部發(fā)生了緊急事件,要求CPU暫停正在處理工作而去處理這個(gè)緊急事件,待處理完后,再回到原來中斷的地方,繼續(xù)執(zhí)行原來被中斷的程序,這個(gè)過程稱作中斷。從中斷的定義我們可以看到中斷應(yīng)具備中斷源、中斷響應(yīng)、中斷返回這樣三個(gè)要素。中斷源發(fā)出中斷請求,單片機(jī)對中斷請求進(jìn)行響應(yīng),當(dāng)中斷響應(yīng)完
21、成后應(yīng)進(jìn)行中斷返回,返回被中斷的地方繼續(xù)執(zhí)行原來被中斷的程序。MCS-51單片機(jī)的中斷源共有兩類,它們分別是:外部中斷和內(nèi)部中斷。外部中斷0(INT0)來自P3.2引腳,通過外部中斷0觸發(fā)方式控制位IT0(TCON.0),來決定中斷輸入信號是低電平有效還是負(fù)跳變有效。一旦輸入信號有效,便使IE0標(biāo)志置一,向CPU申請中斷;外部中斷1(INT1)來自P3.3引腳,通過外部中斷1觸發(fā)方式控制IT1(TCON.2),來決定中斷輸入信號是低電平有效還是負(fù)跳變有效。一旦輸入信號有效,便使IE0標(biāo)志置一,向CPU申請中斷。內(nèi)部中斷有三個(gè):TF0,TF1,RI或TI。TF0(TCON.5),片內(nèi)定時(shí)/計(jì)數(shù)器
22、T0溢出中斷請求標(biāo)志。當(dāng)定時(shí)/計(jì)數(shù)器T0發(fā)生溢出時(shí),置位TF0,并向CPU申請中斷;TF1(TCON.7),片內(nèi)定時(shí)/計(jì)數(shù)器T1溢出中斷請求標(biāo)志。當(dāng)定時(shí)/計(jì)數(shù)器T1發(fā)生溢出時(shí),置位TF1,并向CPU申請中斷;RI(SCON.0)或TI(SCON.1),串行口中斷請求標(biāo)志。當(dāng)串行口接收完一幀串行數(shù)據(jù)時(shí)置位RI或當(dāng)串行口發(fā)送完一幀串行數(shù)據(jù)時(shí)置位TI,向CPU申請中斷。MCS-51單片機(jī)為用戶提供了四個(gè)專用寄存器,來控制單片機(jī)的中斷系統(tǒng)。定時(shí)器控制寄存器(TCON),該寄存器用于保存外部中斷請求以及定時(shí)器的計(jì)數(shù)溢出。進(jìn)行字節(jié)操作時(shí),寄存器地址為88H。按位操作時(shí),各位的地址為88H8FH,當(dāng)CPU采
23、樣到INT0(或INT1)端出現(xiàn)有效中斷請求時(shí),IE0(IE1)位由硬件置“1”。當(dāng)中斷響應(yīng)完成轉(zhuǎn)向中斷服務(wù)程序時(shí),由硬件把IE0(或IE1)清零, 當(dāng)計(jì)數(shù)器產(chǎn)生計(jì)數(shù)溢出時(shí),相應(yīng)的溢出標(biāo)志位由硬件置“1”。當(dāng)轉(zhuǎn)向中斷服務(wù)時(shí),再由硬件自動(dòng)清“0”。計(jì)數(shù)溢出標(biāo)志位的使用有兩種情況:采用中斷方式時(shí),作中斷請求標(biāo)志位來使用;采用查詢方式時(shí),作查詢狀態(tài)位來使用;串行口控制寄存器(SCON),進(jìn)行字節(jié)操作時(shí),寄存器地址為98H。按位操作時(shí),各位的地址為98H9FH,當(dāng)發(fā)送完一幀串行數(shù)據(jù)后,由硬件置“1”;在轉(zhuǎn)向中斷服務(wù)程序后,用軟件清“0”,當(dāng)接收完一幀串行數(shù)據(jù)后,由硬件置“1”;在轉(zhuǎn)向中斷服務(wù)程序后,用
24、軟件清“0”。串行中斷請求由TI和RI的邏輯或得到。就是說,無論是發(fā)送標(biāo)志還是接收標(biāo)志,都會產(chǎn)生串行中斷請求;中斷允許控制寄存器(IE),進(jìn)行字節(jié)操作時(shí),寄存器地址為0A8H。按位操作時(shí),各位的地址為0A8H0AFH,可見,MCS-51單片機(jī)通過中斷允許控制寄存器對中斷的允許(開放)實(shí)行兩級控制。即以EA位作為總控制位,6以各中斷源的中斷允許位作為分控制位。當(dāng)總控制位為禁止時(shí),關(guān)閉整個(gè)中斷系統(tǒng),不管分控制為狀態(tài)如何,整個(gè)中斷系統(tǒng)為禁止?fàn)顟B(tài);當(dāng)總控制位為允許時(shí),開放中斷系統(tǒng),這時(shí)才能由各分控制位設(shè)置各自中斷的允許與禁止。MCS-51單片機(jī)復(fù)位后(IE)00H,因此中斷系統(tǒng)處于禁止?fàn)顟B(tài)。單片機(jī)在中
25、斷響應(yīng)后不會自動(dòng)關(guān)閉中斷。因此在轉(zhuǎn)中斷服務(wù)程序后,應(yīng)根據(jù)需要使用有關(guān)指令禁止中斷,即以軟件方式關(guān)閉中斷。中斷優(yōu)先級控制寄存器(IP)MCS-51單片機(jī)的中斷優(yōu)先級控制比較簡單,因?yàn)橄到y(tǒng)只定義了高、低2個(gè)優(yōu)先級。高優(yōu)先級用“1”表示,低優(yōu)先級用“0”表示。各中斷源的優(yōu)先級由中斷優(yōu)先級寄存器(IP)進(jìn)行設(shè)定。IP寄存器地址0B8H,位地址為0BFH0B8H。DS1302 是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘芯片,它可以對年、月、日、周、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,工作電壓為2.5V5.5V。采用三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的
26、時(shí)鐘信號或RAM數(shù)據(jù)。DS1302內(nèi)部有一個(gè)31×8的用于臨時(shí)性存放數(shù)據(jù)的RAM寄存器。DS1302是DS1202的升級產(chǎn)品,與DS1202兼容,但增加了主電源/后背電源雙電源引腳,同時(shí)提供了對后背電源進(jìn)行涓細(xì)電流充電的能力。DS1302的引腳排列,其中Vcc1為后備電源,VCC2為主電源。在主電源關(guān)閉的情況下,也能保持時(shí)鐘的連續(xù)運(yùn)行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當(dāng)Vcc2大于Vcc10.2V時(shí),Vcc2給DS1302供電。當(dāng)Vcc2小于Vcc1時(shí),DS1302由Vcc1供電。X1和X2是振蕩源,外接32.768kHz晶振。RST是復(fù)位/片選線,通過把RST輸
27、入驅(qū)動(dòng)置高電平來啟動(dòng)所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對DS1302進(jìn)行操作。如果在傳送過程中RST置為低電平,則會終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時(shí),在Vcc>2.0V之前,RST必須保持低電平。只有在SCLK為低電平時(shí),才能將RST置為高電平。I/O為串行數(shù)據(jù)輸入輸出端(雙向),SCLK為時(shí)鐘輸入端。DS1302的控制字節(jié)的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入DS1302中,位6如果為
28、0,則表示存取日歷時(shí)鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位5至位1指示操作單元的地址;最低有效位(位0)如為0表示要進(jìn)行寫操作,為1表示進(jìn)行讀操作,控制字節(jié)總是從最低位開始輸出。 在控制指令字輸入后的下一個(gè)SCLK時(shí)鐘的上升沿時(shí),數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從低位即位0開始。同樣,在緊跟8位的控制指令字后的下一個(gè)SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)時(shí)從低位0位到高位7。DS1302有12個(gè)寄存器,其中有7個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式。此外,DS1302還有年份寄存器、控制寄存器、充電寄存器、時(shí)鐘突發(fā)寄存器及與RAM相關(guān)的寄存器等。時(shí)鐘突發(fā)寄存器可一次性順
29、序讀寫除充電寄存器外的所有寄7存器內(nèi)容。DS1302與RAM相關(guān)的寄存器分為兩類:一類是單個(gè)RAM單元,共31個(gè),每個(gè)單元組態(tài)為一個(gè)8位的字節(jié),其命令控制字為C0HFDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;另一類為突發(fā)方式下的RAM寄存器,此方式下可一次性讀寫所有的RAM的31個(gè)字節(jié),命令控制字為FEH(寫)、FFH(讀)。DS1302與CPU的連接需要三條線,即SCLK(7)、I/O(6)、RST(5)。實(shí)際上,在調(diào)試程序時(shí)可以不加電容器,只加一個(gè)32.768kHz 的晶振即可。只是選擇晶振時(shí),不同的晶振,誤差也較大。另外,還可以在上面的電路中加入DS18B20,同時(shí)顯示實(shí)時(shí)溫度。只要占用CP
30、U一個(gè)口線即可。單片機(jī)與DS1302連接圖如圖3所示:圖3 DS1302與單片機(jī)的連接3.4 溫度采集模塊設(shè)計(jì)采用數(shù)字式溫度傳感器DS18B20,它是數(shù)字式溫度傳感器,具有測量精度高,電路連接簡單特點(diǎn),此類傳感器僅需要一條數(shù)據(jù)線進(jìn)行數(shù)據(jù)傳輸,使用0.7與DS18B20的I/O口連接加一個(gè)上拉電阻,Vcc接電源,Vss接地。獨(dú)特的一線接口,只需要一條口線通信多點(diǎn)能力,簡化了分布式溫度傳感應(yīng)用無需外部元件可用數(shù)據(jù)總線供電,電壓范圍為3.0V至5.5V無需備用電源 測量溫度范圍為-55度至+125度。-10度至+85度范圍內(nèi)精度為±0.5度溫度傳感器可編程的分辨率為912位。DS18B20
31、連線如圖4所示:8圖4 DS18B20管腳連線3.5顯示模塊的設(shè)計(jì)如下圖5所示,采用LCM1602液晶顯示器,單片機(jī)P1口作為數(shù)據(jù)輸出口,RS,RW,E分別通過10K的上拉電阻連接到單片機(jī)的P0.0,P0.1,P0.2。VDD接5V電源,VSS接地。VEE為液晶顯示器對比度調(diào)整端,接正電源時(shí)對比度最弱,接地電源時(shí)對比度最高(對比度過高時(shí)會產(chǎn)生“鬼影”,使用時(shí)可以通過一個(gè)10K的電位器調(diào)整對比度)。RS為寄存器選擇,高電平1時(shí)選擇數(shù)據(jù)寄存器、低電平0時(shí)選擇指令寄存器。R/W為讀寫信號線,高電平(1)時(shí)進(jìn)行讀操作,低電平(0)時(shí)進(jìn)行寫操作。E(或EN)端為使能(enable)端,下降沿使能。DB0
32、-DB7為雙向數(shù)據(jù)總線,同時(shí)最高位DB7也是忙信號檢測位。BLA、BLK分別為顯示器背光燈的正、負(fù)極。圖5 LCM1602與單片機(jī)的連接93.6系統(tǒng)的軟件設(shè)計(jì)程序流程框圖10系統(tǒng)仿真電路本次仿真使用軟件Protues7.0,該軟件元件庫豐富,元件封裝要求相對簡單且參數(shù)調(diào)整方便,除此之外,程序還可進(jìn)行動(dòng)態(tài)調(diào)試。系統(tǒng)仿真截圖如圖7所示:圖7 系統(tǒng)仿真電路圖11結(jié) 論1.硬件測試在Protues仿真結(jié)束后,于焊接板上完成了硬件組裝。在調(diào)試硬件時(shí)遇到過很多問題,但只要細(xì)心、認(rèn)真檢查這些問題都是可以避免的,主要問題及解決辦法現(xiàn)列如下:(1) 接通電源后LCM1602沒有正確的顯示。在不通電狀態(tài)下用萬用表
33、檢測電路是否正常連接,在檢查回路時(shí)發(fā)現(xiàn)有的點(diǎn)之間看似連接,但由于虛焊導(dǎo)致其并無電氣連接,只能對焊腳進(jìn)行在加工直到解決問題。(2) 電路工作一段時(shí)間之后有的芯片發(fā)熱嚴(yán)重。經(jīng)查發(fā)現(xiàn)原來是有尖銳的管腳刺破鄰近的漆包線造成短路,斷掉該線并再次連接可解決問題。2.軟件測試由于本系統(tǒng)涉及到多個(gè)子程序,多個(gè)芯片的編程。首先必須對可編程芯片的控制字即其控制指令要熟記于心。其次,芯片很多都有時(shí)鐘輸入端,需要晶振支持。對芯片的讀寫都需要在相應(yīng)的觸發(fā)沿到來時(shí)才能進(jìn)行。由于DS18B20是串行通信數(shù)據(jù),只用一個(gè)口線傳輸,在處理采集的模擬信號時(shí)需要一定的時(shí)間,會對延時(shí)有較高要求。所以在調(diào)用溫度子程序時(shí),先關(guān)閉定時(shí)器1中斷允許,在溫度子程序反
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《翡翠培訓(xùn)資料》課件
- 《證券買賣技巧教案》課件
- 《證券基金銷售培訓(xùn)》課件
- 單位管理制度集粹匯編員工管理篇
- 單位管理制度分享大全【人力資源管理篇】
- 《社區(qū)工作實(shí)務(wù)》課件
- 單位管理制度范例選集【人力資源管理篇】十篇
- 單位管理制度范例合集職工管理十篇
- 單位管理制度呈現(xiàn)合集【人事管理】十篇
- 寒假自習(xí)課 25春初中地理八年級下冊人教版教學(xué)課件 第八章 第二節(jié) 干旱的寶地-塔里木盆地 第2課時(shí) 油氣資源的開發(fā)
- 老年病及老年綜合征中醫(yī)證治概要
- 三年級上冊數(shù)學(xué)說課稿- 2.2 看一看(二)-北師大版
- 超星爾雅學(xué)習(xí)通《西廂記》賞析(首都師范大學(xué))網(wǎng)課章節(jié)測試答案
- 切削液的配方
- 塑料門窗及型材功能結(jié)構(gòu)尺寸
- 2023-2024學(xué)年湖南省懷化市小學(xué)數(shù)學(xué)五年級上冊期末深度自測試卷
- GB 7101-2022食品安全國家標(biāo)準(zhǔn)飲料
- 超實(shí)用的發(fā)聲訓(xùn)練方法
- 《第六課 從傳統(tǒng)到現(xiàn)代課件》高中美術(shù)湘美版美術(shù)鑒賞
- 英語四六級講座課件
- Unit 3 On the move Understanding ideas(Running into a better life)課件- 高一上學(xué)期英語外研版(2019)必修第二冊
評論
0/150
提交評論