《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于單片機的多功能電子萬年歷設計
基于單片機的多功能電子萬年歷設計
中電網
錢超,王福明
摘要: 隨著生活節奏的日益加快,人們的時間觀也越來越重,同時對電子鐘表、日歷的需求也隨之提高。因此,研究實用電子時鐘及其擴展應用,有著非常現實的意義,具有很大的實用價值。
關鍵詞: 51單片機 單片機
Abstract:
Key words :

中北大學,信息與通信工程學院

 

引言

 

隨著生活節奏的日益加快,人們的時間觀也越來越重,同時對電子鐘表、日歷的需求也隨之提高。因此,研究實用電子時鐘及其擴展應用,有著非常現實的意義,具有很大的實用價值。

本系統程序由主程序、中斷服務函數和多個子函數構成。主函數主要完成各子函數和中斷函數的初始化。定時中斷函數主要完成時鐘芯片的定時掃描及鍵盤掃描。時鐘芯片的讀寫函數主要是將時間、日歷信息讀出來,并把要修改具體值寫入時鐘芯片內部。

系統的硬件設計與電路原理

電路設計框圖

系統硬件概述

本電路是由AT89S52單片機為控制核心,具有在線編程功能、低功耗、能在3V的超低壓工作。時鐘電路由DS1302提供,它是一種高性能、低功耗、帶RAM的實時時鐘電路,它可以對年、月、日、周日、時、分、秒進行計時,工作電壓為2.5V~5.5V。采用三線接口與CPU進行同步通信,并可采用突發方式一次傳送多個字節的時鐘信號或RAM數據。DS1302內部有一個31×8的用于臨時性存放數據的RAM寄存器。可產生年、月、日、周日、時、分、秒,具有使用壽命長、精度高和低功耗等特點,同時具有掉電自動保存功能。

主控制模塊

單片機主控制模塊的設計

AT89S52單片機為40引腳雙列直插芯片,有四個I/O口P0,P1,P2,P3,MCS-51單片機共有4個8位的I/O口(P0、P1、P2、P3),每一條I/O線都能獨立地作輸出或輸入。

時鐘電路模塊

時鐘電路模塊的設計

DS1302的引腳排列如圖3所示,其中Vcc1為后備電源,Vcc2為主電源。在主電源關閉的情況下,也能保持時鐘的連續運行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當Vcc2大于Vcc1+0.2V時,Vcc2給DS1302供電;當Vcc2小于Vcc1時,DS1302由Vcc1供電。X1和X2是振蕩源,外接32.768KHz晶振。RST是復位/片選線,通過把RST輸入驅動置高電平來啟動所有的數據傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節或多字節數據的傳送手段。

圖1 整體電路框圖


圖2 主控制系統

圖3 時鐘控制系統

時鐘電路模塊工作原理

DS1302在每次進行讀、寫程序前都必須初始化,先把SCLK端置“0”,接著把RST端置“1”,最后才給予SCLK脈沖;讀/寫時序如圖4所示。表1為DS1302的控制字,此控制字的位7必須置1,若為0則不能對DS1302進行讀寫數據。對于位6,若對程序進行讀/寫時RAM=1,對時間進行讀/寫時,CK=0。位1至位5指操作單元的地址。位0是讀/寫操作位,進行讀操作時,該位為1;該位為0則表示進行的是寫操作。控制字節總是從最低位開始輸入/輸出的。表2為DS1302的日歷、時間寄存器內容:“CH”是時鐘暫停標志位,當該位為1時,時鐘振蕩器停止,DS1302處于低功耗狀態;當該位為0時,時鐘開始運行。“WP”是寫保護位,在任何的對時鐘和RAM的寫操作之前,WP必須為0。當“WP”為1時,寫保護位防止對任一寄存器的寫操作。

DS1302的控制字節

DS1302的控制字如表1所示。控制字節的高有效位(位7)必須是邏輯1,如果它為0,則不能把數據寫入DS1302中,位6如果為0,則表示存取日歷時鐘數據,為1表示存取RAM數據;位5至位1指示操作單元的地址;最低有效位(位0)如為0表示要進行寫操作,為1表示進行讀操作,控制字節總是從最低位開始輸出。

數據輸入輸出(I/O)

在控制指令字輸入后的下一個SCLK時鐘的上升沿時,數據被寫入DS1302,數據輸入從低位即位0開始。同樣,在緊跟8位的控制指令字后的下一個SCLK脈沖的下降沿讀出DS1302的數據,讀出數據時從低位0位到高位7。如圖4所示。

表1 DS1302的控制字格式



圖4 DS1302讀/寫時序圖

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時,停止溫度寄存器值的累加,此時溫度寄存器中的數值即為所測溫度。斜率累加器用于補償和修正測溫過程中的非線性,其輸出用于修正減法計數器的預置值,只要計數門仍未關閉就重復上述過程,直至溫度寄存器值達到被測溫度值。

表2 DS1302的日歷、時間寄存器


圖5 DS18B20溫度采集

顯示模塊的設計

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

系統的軟件設計

圖6 LED動態掃描顯示

圖7 主程序流程圖

主程序流程框圖

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提供了兩種方法:一種是系統總體執行效果,一種是對軟件的分步調試以看具體的執行情況。

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

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

Keil C的介紹

keil C的運行界面

運行Keil C后的運行界面如圖9所示。

圖9 keil C的運行界面

Keil C與proteus聯調測試

1、安裝keil與proteus7.6;

2、打開proteus,畫出相應電路。在proteus的tools菜單中選中use remote debug monitor;

3、在keil中編寫MCU的程序;

4、進入keil的project菜單option for target '工程名'。在DEBUG選項中右欄上部的下拉菜選中Proteus VSM Monitor-51 Driver;

5、在keil中進行debug,同時在proteus中查看直觀的結果,LCD顯示;

6、把keil里的文件編譯后輸出hex的文件,在proteus中把單片機的加載程序文件換成keil中的hex文件,然后運行。

運行結果

結果顯示

由圖1整體電路框圖可知,LED顯示結果,如圖10所示。

圖10 結果顯示

調節顯示

日期和時間的修改由4個按鍵構成。鍵P0為調節;P2^0,模式切換鍵(向左移)向左移;鍵P2^1,加法按鈕;鍵P2^2,減法按鈕;鍵P2^3,立刻跳出調整模式按鈕。

按動PO時秒閃爍進入調節系統,如圖11所示。

按動P2^0向左移,對分進行調節,如圖12所示。

按動P2^1向左移,對時進行加調節,如圖13所示。

圖11 秒調節

圖12 分調節

圖13 時加調節

圖14所示,是未調之前的顯示,按動P2^2向左移,對年進行減調節,如圖15所示

按動P2^3向左移,退出調節恢復如圖16所示。

圖14 未調之前顯示

圖15 年減調節

圖16 退出調節系統

 

總結

本文設計了一個多功能的電子萬年歷。電路是由AT89S52單片機為控制核心,與時鐘芯片DS1302、溫度芯片DS18B20、按鍵、LED顯示等模塊組成硬件系統。在硬件系統中設有3個獨立按鍵,根據使用者的需要可以隨時對時間進行校準、選擇時間、溫度顯示等,綜上所述此萬年歷具有讀取方便、顯示直觀、功能多樣、電路簡潔、成本低廉等諸多優點,符合電子儀器儀表的發展趨勢,具有廣闊的市場前景。

在整個設計過程中,充分發揮個人的主觀能動性,自主學習,學到了許多沒學到的知識,增加了動手能力的考驗,達到了預期的目的。總之,這次設計使我的能力得到了全方位的提高。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲高清三级视频| 午夜精品电影| 国产在线精品二区| 国产欧美日韩| 国产欧美日韩综合一区在线播放| 国产精品区一区二区三| 欧美日韩综合在线| 欧美午夜精品理论片a级按摩| 欧美日韩亚洲高清| 欧美日韩亚洲激情| 欧美视频中文在线看| 欧美日韩一区二区在线观看| 欧美日韩在线免费观看| 欧美日韩国产天堂| 欧美日韩久久精品| 欧美亚男人的天堂| 国产精品日韩在线一区| 国产九九精品| 国产亚洲欧美一区二区| 国产综合在线看| 在线看片日韩| 亚洲精品久久久久| 制服诱惑一区二区| 亚洲欧美日韩国产中文在线| 欧美一区二区在线免费观看| 欧美一区二区三区另类| 久久国产精品99国产精| 亚洲国产高潮在线观看| 亚洲精品在线视频观看| 一本色道久久99精品综合| 亚洲在线视频观看| 久久成人18免费观看| 噜噜噜在线观看免费视频日韩 | 一区二区三区 在线观看视| 一本一本久久| 性一交一乱一区二区洋洋av| 久久久久高清| 欧美国产综合视频| 欧美日一区二区在线观看| 国产乱肥老妇国产一区二| 黄色成人av网站| 亚洲国产精品久久久久秋霞影院| 日韩视频久久| 午夜国产精品视频| 亚洲国产精品一区二区尤物区| 亚洲精品系列| 亚洲欧美成人在线| 久久亚洲欧洲| 欧美日韩视频在线观看一区二区三区| 国产精品一区二区三区四区五区| 在线不卡免费欧美| 一区二区三区欧美成人| 久久精品人人做人人爽| 一个色综合导航| 久久精品亚洲| 欧美日韩不卡视频| 国产一区二区三区精品欧美日韩一区二区三区 | 国产伦理精品不卡| 亚洲国产精品99久久久久久久久| 99精品免费网| 欧美一区二区免费观在线| 一二三四社区欧美黄| 久久久精品2019中文字幕神马| 欧美日韩成人综合天天影院| 国产色综合天天综合网| 亚洲精品视频在线| 欧美专区一区二区三区| 一卡二卡3卡四卡高清精品视频 | 欧美日韩国产综合一区二区| 国产午夜一区二区三区| 亚洲精品综合| 亚洲国产精品久久久久婷婷884 | 亚洲日韩中文字幕在线播放| 午夜视频在线观看一区二区| 欧美电影免费观看高清| 国产亚洲精品久久飘花| 一道本一区二区| 91久久夜色精品国产九色| 亚洲欧美日韩综合一区| 欧美激情第1页| 国产一区二区剧情av在线| 一区电影在线观看| 亚洲精品国产无天堂网2021| 久久国产视频网| 欧美性大战久久久久久久蜜臀| 1024亚洲| 欧美自拍丝袜亚洲| 香蕉av777xxx色综合一区| 欧美日韩成人在线播放| 在线观看日韩专区| 欧美专区一区二区三区| 午夜在线精品偷拍| 欧美日韩一区二区精品| 91久久国产精品91久久性色| 亚洲电影免费观看高清完整版在线观看| 小黄鸭精品aⅴ导航网站入口| 欧美日韩午夜| 亚洲人成在线影院| 亚洲欧洲在线播放| 久久综合福利| 国产有码在线一区二区视频| 亚洲欧美日韩成人高清在线一区| 亚洲午夜在线观看视频在线| 欧美连裤袜在线视频| 亚洲国产成人一区| 99国内精品久久久久久久软件| 久久在线免费| 国产日韩精品视频一区| 亚洲无玛一区| 亚洲夜晚福利在线观看| 欧美激情第9页| 亚洲福利视频免费观看| 91久久黄色| 免费成人黄色av| 在线观看欧美一区| 亚洲高清一区二区三区| 久久久久国产精品厨房| 国产一区二区三区在线观看免费视频| 午夜电影亚洲| 久久不射2019中文字幕| 国产亚洲成人一区| 欧美伊人久久久久久久久影院| 久久成人这里只有精品| 国产一区91| 亚洲二区在线视频| 久久综合伊人| 亚洲国产视频直播| 一区二区三区|亚洲午夜| 欧美三级特黄| 亚洲一区二区三区欧美| 午夜精品久久久久99热蜜桃导演| 国产精品美女诱惑| 亚洲欧美日韩国产另类专区| 久久国产精品电影| 韩国精品一区二区三区| 亚洲国产成人91精品| 欧美电影免费观看大全| 99国产精品| 亚洲欧美激情视频在线观看一区二区三区 | 欧美精品一区在线发布| 日韩视频一区| 亚洲尤物在线视频观看| 国产欧美日韩精品a在线观看| 久久福利影视| 欧美激情一区二区三区在线视频 | 亚洲欧美国产不卡| 国产日韩欧美一区二区三区四区| 久久激情五月激情| 欧美激情一区二区三区成人| 99在线|亚洲一区二区| 午夜在线精品偷拍| 激情婷婷久久| 一区二区三区日韩在线观看| 国产精品日日摸夜夜摸av| 久久不射网站| 欧美激情综合色| 亚洲私人影院在线观看| 久久久久久久久久久成人| 亚洲国产高清在线观看视频| 亚洲免费在线观看| 一区二区视频免费完整版观看| 一区二区免费在线观看| 国产毛片精品视频| 亚洲精选成人| 国产精品丝袜91| 亚洲国产人成综合网站| 欧美午夜理伦三级在线观看| 久久都是精品| 欧美日韩在线免费视频| 久久精品99国产精品日本| 欧美日韩精品一区二区三区| 亚欧美中日韩视频| 欧美另类一区| 欧美一区二区黄| 欧美激情一区二区三区在线视频| 亚洲欧美国产高清va在线播| 牛牛国产精品| 亚洲一区美女视频在线观看免费| 免费看亚洲片| 亚洲在线播放电影| 欧美电影免费观看高清| 午夜精品久久久| 欧美美女视频| 欧美一区二区三区久久精品茉莉花 | 欧美日韩视频在线一区二区| 久久精品官网| 欧美视频在线观看免费网址| 亚洲福利电影| 国产精品乱码久久久久久| 亚洲黄色在线观看| 国产精品自拍视频| 一区二区三区欧美成人| 狠狠色狠狠色综合日日tαg| 亚洲欧美精品在线| 亚洲人成在线影院| 猫咪成人在线观看| 午夜精品成人在线视频| 欧美视频网站| 日韩午夜免费视频| 伊人久久久大香线蕉综合直播|