基于單片機的溫度記錄系統
2.2 I2C存儲器擴展電路設計
I2C總線(xiàn)(Inter Integrated Circuitbus)包括一條數據線(xiàn)(SDA)和一條時(shí)鐘線(xiàn)(SCL),是單片機系統常用的總線(xiàn)結構。這種總線(xiàn)結構盡可能地節省了單片機I/O資源,為多路溫度采集保留了最大的擴展空間。
該設計中采用的存儲器AT24C16是Atmel公司生產(chǎn)的I2C接口E2PROM芯片。AT24C16中帶有片內尋址寄存器。每寫(xiě)入或讀出一個(gè)數據字節后,該地址寄存器自動(dòng)加1,以實(shí)現對下一個(gè)存儲單元的操作,且所有字節都以單一操作方式讀取。為降低總的寫(xiě)入時(shí)間,一次操作可寫(xiě)入多達8 B的數據。I2C存儲器電路圖3所示。
2.3 液晶顯示電路設計
液晶顯示電路采用1602帶字庫液晶實(shí)現。這一液晶模塊,接口功能明確,操作簡(jiǎn)單,簡(jiǎn)化了電路設計,自帶字庫極大地方便了顯示操作的實(shí)現。
3 系統功能實(shí)現
系統軟件設計主要有兩項任務(wù),是用于不間斷記錄溫度數據;二是用于接收用戶(hù)輸入,響應用戶(hù)指令。
溫度記錄程序中每隔固定時(shí)間間隔采集溫度數據,將溫度數據與當前時(shí)間一并記錄。若不擴展實(shí)時(shí)時(shí)鐘芯片,可用軟件方式,依據時(shí)間間隔計算轉換得到當前時(shí)間,避免使用時(shí)鐘芯片增加系統成本。對于用戶(hù)按鍵輸入,以外部中斷方式予以響應。
該設計中沒(méi)有采用操作系統,因此,多任務(wù)的調度是系統功能實(shí)現的關(guān)鍵之一。該設計沒(méi)有輸入中斷產(chǎn)生時(shí),為普通單任務(wù)系統;中斷產(chǎn)生時(shí),工作在多任務(wù)模式下。因此,中斷產(chǎn)生后,兩個(gè)任務(wù)模仿Linux操作,系統系多線(xiàn)程工作模式實(shí)現調度。
由于單片機工作頻率所限,加之溫度傳感器為單總線(xiàn)串行器件,讀/寫(xiě)占用時(shí)間周期相對較長(cháng),因此系統應考慮環(huán)境溫度變化的劇烈程度。
4 結語(yǔ)
該設計可以實(shí)現溫度數據的采集與長(cháng)時(shí)間數據記錄,既可以單獨采樣其中任意一路,也可以實(shí)現多路同時(shí)采樣,同時(shí)可以與主機交互。該系統的整個(gè)運行過(guò)程在同一地點(diǎn)進(jìn)行集中監控,方便又節省人力,實(shí)現了溫度的采集、顯示、存儲于一體的集成記錄功能。設計使用的外圍元件較少。具有設計簡(jiǎn)單,擴展靈活,功能較全面等特點(diǎn)。
評論