a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 基于AT89S52單片機的多功能電子萬年歷

基于AT89S52單片機的多功能電子萬年歷

作者: 時間:2013-05-21 來源:網絡 收藏

DS1302的寄存器

DS1302有12個寄存器,其中有7個寄存器與日歷、時鐘相關,存放的數據位為BCD碼形式,其日歷、時間寄存器及其控制字見表2。

此外,DS1302還有年份寄存器、控制寄存器、充電寄存器、時鐘突發寄存器及與RAM相關的寄存器等。時鐘突發寄存器可一次性順序讀寫除充電寄存器外的所有寄存器內容。DS1302與RAM相關的寄存器分為兩類:一類是單個RAM單元,共31個,每個單元組態為一個8位的字節,其命令控制字為C0H~FDH,其中奇數為讀操作,偶數為寫操作;另一類為突發方式下的RAM寄存器,此方式下可一次性讀寫所有的RAM的31個字節,命令控制字為FEH(寫)、FFH(讀)。

時鐘模塊實現功能

該模塊為系統提供精準的秒、分、時、日、月、年等實時時間信息,星期則由編程計算得到。

溫度采集模塊

溫度采集模塊設計

如圖5所示。采用數字式溫度傳感器DS18B20,它具有測量精度高,電路連接簡單特點,此類傳感器僅需要一條數據線進行數據傳輸,使用P1.7與DS18B20的I/O口連接加一個上拉電阻,Vcc1接電源,Vcc2接地。

DS18B20的測溫原理

低溫度系數晶振的振蕩頻率受溫度的影響很小,用于產生固定頻率的脈沖信號送給減法計數器1,高溫度系數晶振隨溫度變化其震蕩頻率明顯改變,所產生的信號作為減法計數器2的脈沖輸入,當計數門打開時,DS18B20就對低溫度系數振蕩器產生的時鐘脈沖后進行計數,進而完成溫度測量。計數門的開啟時間由高溫度系數振蕩器來決定,每次測量前,首先將-55℃所對應的基數分別置入減法計數器1和溫度寄存器中,減法計數器1和溫度寄存器被預置在-55℃所對應的一個基數值。減法計數器1對低溫度系數晶振產生的脈沖信號進行減法計數,當減法計數器1的預置值減到0時溫度寄存器的值將加1,減法計數器1的預置將重新被裝入,減法計數器1重新開始對低溫度系數晶振產生的脈沖信號進行計數,如此循環直到減法計數器2計數到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數值即為所測溫度。斜率累加器用于補償和修正測溫過程中的非線性,其輸出用于修正減法計數器的預置值,只要計數門仍未關閉就重復上述過程,直至溫度寄存器值達到被測溫度值。

顯示模塊的設計

本次設計采用的是LED動態顯示方式,由于PROTEUS內沒有LED,故用LCD代替LED進行仿真,與主控制芯片AT89C52相連。如圖6所示。

系統的軟件設計

主程序流程框圖

Keil C與Proteus的聯調與測試結果

Proteus7.6是目前最好的模擬外圍器件的工具,可以仿真51系列、AVR、PIC等常用的MCU及其外圍電路(如LCD,RAM,ROM,鍵盤,馬達,LED,AD/DA,部分SPI器件,部分IIC器件等),使用Proteus7.6和Keil C可以像使用仿真器一樣調試程序。

Proteus的工作過程

運行Proteus的ISIS程序后,進入該仿真軟件的主界面如圖8所示。在工作前,要設置view菜單下的捕捉對齊和system下的顏色、圖形界面大小等項目。通過工具欄中的p(從庫中選擇元件命令)命令,在pick devices窗口中選擇電路所需的元件,放置元件并調整其相對位置、元件參數設置、元器件間連線、編寫程序;在source菜單的Define code generation tools菜單命令下,選擇程序編譯的工具、路徑、擴展名等項目;在source菜單的Add/remove source files命令下,加入硬件電路的對應程序;通過debug菜單的相應命令仿真程序和電路的運行情況。

圖8 Proteus的啟動界面

Proteus軟件所提供的調試手段

Proteus提供了比較豐富的測試信號用于電路的測試。這些測試信號包括模擬信號和數字信號。對于硬件電路和軟件的調試,Proteus提供了兩種方法:一種是系統總體執行效果,一種是對軟件的分步調試以看具體的執行情況。

軟件和硬件結合的應用系統

軟件和硬件的結合,就是一個單片機的應用系統了。在這一階段,硬件電路的設計已經不是最為關鍵的了,而軟件系統的設計、調試和運行才是實驗的主要內容。因此可以以建議性的意見給出具體的硬件電路,并提出該電路所需要完成的具體工作,進行軟件的設計和調試。



評論


相關推薦

技術專區

關閉