|
經(jīng)過(guò)一段時(shí)間的學(xué)習(xí),我已經(jīng)對(duì)一些外圍設(shè)備的操作基本了解了,于是就開(kāi)始進(jìn)行電子時(shí)鐘的制作。
當(dāng)然這次制作還是參照了鴻哥的程序,主要是我不會(huì)操作時(shí)鐘芯片,而且鴻哥再他的程序中還介紹了關(guān)于電平切換的知識(shí)。因此整個(gè)程序不過(guò)是鴻哥程序的復(fù)制吧了,頂多我加深了一點(diǎn)理解罷了。
在這個(gè)程序中我對(duì)傳感器的理解又加深了,同時(shí)我還知道了如何操作傳感器,以后不管遇到什么樣的傳感器我都能操作了。操作傳感器其實(shí)就只要會(huì)對(duì)他進(jìn)行數(shù)據(jù)的讀與寫(xiě),至于它的感知原理,知道更好,不知道也沒(méi)事,根本不影響操作。既然要對(duì)傳感器進(jìn)行讀寫(xiě)數(shù)據(jù),那就必然要熟悉一些常用的通信協(xié)議了,比如I2C通信協(xié)議,SPI通信協(xié)議,串口通信協(xié)議等,在ds18b20中還用到了單總線通信協(xié)議。所以對(duì)傳感器的應(yīng)用需要對(duì)各種通信協(xié)議能熟練運(yùn)用,而且還要對(duì)傳感器中存儲(chǔ)數(shù)據(jù)的地址要了解(這個(gè)需要查閱數(shù)據(jù)手冊(cè)了)。
既然現(xiàn)在已經(jīng)對(duì)傳感器的應(yīng)用的大體流程了解了,那就一步一步的來(lái)弄明白吧。首先它的通信協(xié)議使用的是SPI通信協(xié)議,這個(gè)協(xié)議我不懂,所以我就幾乎照抄了鴻哥的程序,這個(gè)以后要弄明白才行啊。還有就是對(duì)芯片中存儲(chǔ)數(shù)據(jù)的地址要知道,這個(gè)我通過(guò)查閱資料和參考鴻哥的程序基本知道了。其實(shí)這個(gè)地址是不用記得的,到時(shí)查資料就行了。在ds1302中芯片的讀寫(xiě)地址是不同的,而且可以分別讀取年月日,小時(shí),分鐘,秒,而且你只要設(shè)定好了這些參數(shù),芯片就會(huì)自動(dòng)按照準(zhǔn)確的時(shí)間運(yùn)行,到時(shí)再讀取里面的數(shù)據(jù)就行了,這就是這個(gè)芯片的操作了。
傳感器采集到的數(shù)據(jù)要傳給單片機(jī),單片機(jī)會(huì)對(duì)其進(jìn)行各種處理,在時(shí)鐘芯片中,我們只會(huì)把數(shù)據(jù)顯示出來(lái),也就是僅進(jìn)行數(shù)據(jù)顯示,而沒(méi)有其他的處理,在溫控中,我們還會(huì)對(duì)數(shù)據(jù)有報(bào)警處理,這些數(shù)據(jù)處理都跟傳感器無(wú)關(guān)了。換言之,傳感器只是傳送給單片機(jī)一個(gè)數(shù)據(jù),其他的事就是單片機(jī)的事情了,跟傳感器無(wú)關(guān)了。
顯示采用的是數(shù)碼管,當(dāng)然程序中還有時(shí)間的修改。這也是很重要的,這要求會(huì)如何把數(shù)據(jù)寫(xiě)入時(shí)鐘芯片中。
|
|