設(shè)計(jì)任務(wù):
1、設(shè)計(jì)任務(wù):利用單片機(jī)、時鐘芯片 DS1302、溫度傳感器 DS18B20、1602 液晶 等實(shí)現(xiàn)日期、時間、溫度的顯示即一個簡單的萬年歷。
2、設(shè)計(jì)要求
(1)通過 DS1302 能夠準(zhǔn)確的計(jì)時,時間可調(diào)并在液晶上顯示出來。
(2)通過 DS18B20 能夠?qū)崟r、準(zhǔn)確的檢測當(dāng)前環(huán)境溫度。
(3)利用單片機(jī)自身功能實(shí)現(xiàn)鬧鐘
總體方案論證與設(shè)計(jì)
本系統(tǒng)以 AT89S52 單片機(jī)為控制核心,通過與 DS1302 和 DS18B20 通信獲取實(shí)時時間和實(shí)時環(huán)境溫度,并將得到的數(shù)據(jù)通過 1602 液晶 顯示出來,同時通過相應(yīng)的按鍵調(diào)整相應(yīng)的值。因此本設(shè)計(jì)可分為以下模塊:顯示模塊、實(shí)時時間計(jì)算模塊、實(shí)時環(huán)境溫度采集模塊、報 警模塊、設(shè)置模塊(時間設(shè)置模塊、最高溫度設(shè)置模塊、鬧鐘設(shè)置模 塊)。下面對各個模塊逐一進(jìn)行論證分析:
1、 液晶顯示模塊
方案(1):數(shù)碼管是利用發(fā)光二極管的特性組合而成數(shù)字顯示器件,通過控制相應(yīng)的二 極管的狀態(tài)顯示相應(yīng)的數(shù)字。要使數(shù)碼管正常顯示就得有驅(qū)動電路驅(qū)動相應(yīng)的段碼,數(shù)碼管 的現(xiàn)實(shí)方式可分為靜態(tài)顯示和動態(tài)顯示,靜態(tài)顯示方式只適合顯示單個的數(shù)字,因此本設(shè)計(jì) 應(yīng)采用動態(tài)顯示方式。由于動態(tài)顯示方式利用的是人眼視覺暫留的特性,掃描的時間應(yīng)不大 于 20 毫秒,占用系統(tǒng)資源大,而且顯示的個數(shù)和字型有限,在本設(shè)計(jì)中不易采用。
方案(2):1602 液晶也叫 1602 字符型液晶 它是一種專門用來顯示字母、數(shù)字、符號等 的點(diǎn)陣型液晶模塊 它有若干個 5X7 或者 5X11 等點(diǎn)陣字符位組成,每個點(diǎn)陣字符位都可以 顯示一個字符。每位之間有一個點(diǎn)距的間隔,每行之間也有也有間隔,起到了字符間距和行間距的作用。1602 的驅(qū)動電路帶有 11 條指令,可以很方便的控制液晶的現(xiàn)實(shí)效果如:清屏、 左移右移、光標(biāo)顯示。而且 1602 顯示的字符在下一條指令為到來之前不會改變,也就是能 夠維持顯示的字符,1602 液晶占用的系統(tǒng)資源也少。 綜合比較上述兩種方案,應(yīng)采用 1602 液晶組成本設(shè)計(jì)的顯示模塊。
2、 實(shí)時時間計(jì)算模塊
方案(1):AT89S52 單片機(jī)內(nèi)部帶有定時/計(jì)數(shù)功能,此定時功能是通過對外部晶振的脈 沖進(jìn)行計(jì)數(shù),從而達(dá)到計(jì)時功能,只要使用 11.0592 的晶振就能實(shí)現(xiàn)零誤差的計(jì)時,因此可 以利用此功能實(shí)現(xiàn)計(jì)時,但因?yàn)橹挥袉我坏挠?jì)時功能要實(shí)現(xiàn)“萬年歷”的功能需要較復(fù)雜的 程序,而且如果單片機(jī)掉電無法繼續(xù)進(jìn)行計(jì)時,所以使用不便。
方案(2):DS1302 是美國 DALLAS 公司推出的一種高性能、低功耗的實(shí)時時鐘芯片, 附加 31 字節(jié)靜態(tài) RAM,采用 SPI 三線接口與 CPU 進(jìn)行通信,并可采用突發(fā)方式一次傳送 多個字節(jié)的時鐘信號和 RAM 數(shù)據(jù)。實(shí)時時鐘可提供秒、分、時、日、星期、月和年,一個 月小與 31 天時可以自動調(diào)整,且具有閏年補(bǔ)償功能。工作電壓寬達(dá) 2.5~5.5V。采用雙電源 供電(主電源和備用電源),可設(shè)置備用電源充電方式,提供了對后備電源進(jìn)行涓細(xì)電流充 電的能力。利用單片機(jī)強(qiáng)大的控制功能就可實(shí)現(xiàn)實(shí)時計(jì)時的功能,而且消耗的系統(tǒng)資源少, 程序簡單。 綜合上述兩種方案,宜采用方案(2)實(shí)現(xiàn)實(shí)時計(jì)時功能。