基于MSP430單片機的電子時鐘設計
摘要
多功能數字鐘的應用非常普遍,由單片機作為數字鐘的核心控制器, 通過它的時鐘信號 進行實現計時功能,將其時間數據經單片機輸出,利用顯示器顯示出來。通過鍵盤可以進行 校時,定時等功能。本系統利用單片機實現其具有計時、校時等功能的數字時鐘. 是以單片機MSP430F149為核心元件同時采用LCD12864同時顯示“時、分、秒、星期、年、月、日、溫度”的現代計時裝置。顯示極具人性化,另外具有校時功能,鬧鐘功能和節電保護功能。利用單片機實現的數字時鐘具有編程靈活,便于功能的擴充等優點,如在電路板上預留有電源輸出,溫度傳感 插座等插座,便于功能擴展。
一、實驗目的
1、基礎部分:電子鐘能夠直觀、人性化顯示:時間、日期、星期,能夠按鍵校時(用獨立的LED燈做流水燈裝飾)。
2、提升部分:①帶有鬧鐘功能,能夠根據需要定時,②能夠測量并顯示當前環境的溫度。
二、總體電路設計與時鐘實現
此次設計主要是應用單片機來設計電子時鐘,硬件部分主要分以下電路模塊:MCU(F149)模塊、獨立按鍵模塊、、OLED液晶顯示模塊、校時和鬧鐘設計模塊、蜂鳴器報時模塊。
總體框圖如下圖所示:
1、MCU(F149)模塊
MSP430F149中有兩個16位定時器,還可以利用看門狗定時器, MSP430F149中的定時器的比較模式產生PWM波形,再經過低通濾波器產生任意函數的波形, 可以通過定時器的比較模式實現數模轉換功能。另外,定時器還具有捕獲模式,我們可以通過定時器的捕獲功能實現各種測量,比如脈沖寬度測量,如果和比較器結合,還可以測量電阻、電容、電壓、電流、溫度等。可以這樣說,只要能通過傳感轉換為時間長度的,都可以通過定時器的捕獲定時功能實現值的測量 MSP430F149單片機中集成了14路12位A/D轉換,其中8路屬于外部的信號轉換,3路是對內部參考電壓的檢測轉換,1路是接溫控的傳感電壓轉換,每一路轉換都有一個可控制的轉換存儲器,而且,參考電平和時鐘源都是可選擇的,可以外部提供的.這給使用上帶來了很大的靈活性。
圖2 MSP430F149原理圖
2、液晶顯示模塊
方案一:數碼管是利用發光二極管的特性組合而成的數字顯示器件,通過控制相應的二極管的狀態顯示相應的數字。要使數碼管正常顯示就要驅動電路驅動相應的段碼,數碼管的顯示方式可分為靜態顯示和動態顯示,靜態顯示的方式只適合顯示單個的數字,因此本設計動態顯示方式。由于動態顯示方式利用的是人眼視覺暫留的特性,掃描的時間應不大于20毫秒,占用的系統資源大,而且顯示的個數和字形有限,在本設計中不易使用。
方案二:1602液晶顯示屏是一種專門顯示字符、數字、符號等的點陣型液晶模塊,它有若干個5×7和5×11等點陣字符位組成,每個點陣字符都可以顯示一個字符,每位之間都有一個點距的間隔,起到了字符間距和行間距的作用。1602的驅動電路帶有11個指令,可以很方便的控制液晶的顯示效果如:清屏、左移右移、光標顯示。
方案三:12864液晶顯示是128×64點陣的漢字圖形型液晶顯示模塊,可顯示漢字及圖形,內置8192個中文漢字(16X16點陣)、128個字符(8X16點陣)及64X256點陣顯示RAM(GDRAM)。可與CPU直接接口,提供兩種界面來連接微處理機:8-位并行及串行兩種連接方式。具有多種功能:光標顯示、畫面移位、睡眠模式等。
方案四:OLED顯示屏又稱有機電激發光二極管,由于同時具備自發光,不需背光源、對比度高、厚度薄、視角廣、反應速度快、可用于撓曲性面板、使用溫度范圍廣、構造及制程較簡單等優異之特性,被認為是下一代的平面顯示器新興應用技術。由于OLED具有很好的人性化設計,所以受到人們的青睞
綜上所述,由于該實驗中要顯示時間、日期、星期,而且要顯示當前溫度,所以本實驗選用OLED顯示屏。
圖二 OLED 顯示屏電路圖
3、溫度采集模塊
方案一:熱敏電阻是開發早、種類多、發展比較成熟的熱敏感元器件,熱敏電阻由半導體陶瓷材料組成,利用的原理是溫度引起電阻的變化。通過一定的電路可以將周圍環境溫度的變化轉化為電壓的變化,通過AD轉化器將信號傳輸給單片機進行分析,從而檢測出當前溫度,但是誤差大,不穩定,對環境溫度要求比較高。
方案二:DS18B20數字溫度傳感器,采用單總線的接口方式與微處理器鏈接時僅需一條口線即可實現微處理器與DS18B20的雙向通訊。單總線具有經濟型好,抗干擾能力強,適合于惡劣環境的現場溫度測量,使用方便等優點,使用戶可輕松的組建傳感器網絡,為測量系統的構建引入全新概念。溫度測量范圍廣,測量精度高,在使用中不需要任何外圍元件,支持多點組網功能,供電方式靈活。因此,當數據線上的時序滿足一定的要求時,可以不接外部電源,從而使系統結構更趨簡單,可靠性高。
圖三 DS18B20原理圖
綜上所述,溫度采集模塊采用結構較為簡單,可靠性較高的DA18B20數字溫度傳感器來測量當前環境的溫度。
DS18B20單線數字溫度傳感器,具有以下的特點:具有單總線的接口方式與微處理器連接時,僅需要一條口線即可實現微處理器與DS18B20的雙向通訊。單總線具有經濟性好、抗干擾能力強、適合于惡劣環境的現場溫度檢測,使用方便等優點;測量溫度范圍廣、測量精度高;支持多點組網功能,多個DS18B20可以并聯在惟一的單線上,實現多點測量。
DS18B20內部結構主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發的溫度報警TH和TL、配置寄存器。
一般時序流程:
初始化—ROM操作指令—存儲器操作指令—數據傳輸
4、獨立按鍵模塊
單片機檢測按鍵的原理:單片機的I/O既可作為輸出也可作為輸入使用,當檢測按鍵時用的是它的輸入功能,我們把按鍵的一端接地,另一端與單片機的某一個I/O口相接,開始時先給I/O口一個高電平,然后讓單片機不斷檢測該I/O口是否變成低電平,當按鍵閉合時,即相當于該I/O口通過按鍵與地相接,變成低電平,程序一旦檢測到I/O口變為低電平說明該案件被按下,然后執行相應的指令。按鍵要進行去抖操作才可以正常的工作。該實驗中用到了兩個按鍵,當第一個按鍵第一次按下時,進入到校時和鬧鐘的選擇主菜單程序中,當第一個按鍵第二次按下時進入到了校時,第一個鍵第三次按下時進入到鬧鐘。如果在第一個鍵按下的前提下,第二個鍵按下,則說明要對當前的按鍵或者校時選擇進行保存,使程序能更的運行。
圖四 獨立按鍵模塊電路圖
5、蜂鳴器模塊
在該實驗中,定時部分靠蜂鳴器來實現的,一般先在軟件部分先設置鬧鐘,然后到了時鐘所設定的時間后,蜂鳴器發出聲響。一以此來實現鬧鐘。
圖六 無源蜂鳴器原理圖
6、DS1302定時模塊
方案一:MSP430單片機內部帶有定時和計數功能,此定時功能是通過對外部晶振的脈沖進行計數,從而達到計時功能。只要使用11.0592的晶振就能實現零誤差的計時,因此可以利用此功能實現計時,但因為只有單一的計使功能要實現“萬年歷”的功能需要較為復雜的程序,而且如果單片機掉電無法繼續進行計時,所以使用不便。
方案二:DS1302是通過三根口線實現與單片機的通信,因DS1302功耗很小,即使電源掉電后通過3V的紐扣電池仍能維持DS1302精確走時。DS1302是一種高性能、低功耗的實時時鐘芯片,附加31字節靜態RAM,采用SPI三線接口與CPU進行通信,并可采用突發方式一次傳送多個字節的時鐘信號和RAM數據。實時時鐘可提供秒、分、時、日、星期、月和年,一個月小于31天時可以自動調整,且具有閏年補償功能。工作電壓寬達2.5-5.5V。采用雙電源供電(主電源和備用電源),可設置備用電源充電方式,提供了對后備電源進行涓細電流充電的能力。
綜上兩種方案所述,應該選用DS1302實現計時功能。
DS1302芯片的引腳圖如下圖所示:
圖七 DS1302引腳圖
各引腳功能為:
8、VCC1:備用電池端;
1、VCC2:5V電源,當VCC2>VCC1+0.2V時,由VCC2向DS1302供電,當VCC2<VCC1時,由VCC1向DS1302供電;
7、SCLK:串行時鐘,輸入;
6、I/O:數據輸入輸出端口;
5、CE/RET:復位腳;
2、3、X1、X2是外接晶振腳(32.768KHZ的晶振);
4、接地端(GND);
DS1302的數據讀寫是通過I/O串行進行的,當進行一次讀寫操作時最少得讀操作時最少得讀兩個字節,就是一個命令,告訴DS1302是讀還是寫操作,是對RAM還是對CLOK寄存器操作,以及操作的址,第二個字節就是要讀或者寫的數據了。我們先看單字節:在進行操作之前先得將CE(也可以說是RST)置高電平,然后單片機將控制字符的位0放在I/O上,當I/O的數據穩定后,將SCLK置高電平,DS1302檢測到SCLK上升沿后就將I/O上的數據讀取,然后單片機將SCLK置為低電平,再將控制字的位1放在I/O上。讀與寫操作的不同就在于寫操作是在SCLK低電平時單片機將數據放到I/O上,當SCLK上升沿時,DS1302讀取。而讀操作是在SCLK高電平時DS1302放數據到IO上,將SCLK置為低電平后,單片機就可以從IO上讀取數據。
圖八 DS1302時鐘原理圖
三、系統軟件設計
軟件設計是本設計的關鍵,軟件程序編寫的好壞直接影響著系統進行情況的好壞。因為本程序設計的模塊比較多,所以程序編寫也采用模塊化設計,C語言具有編寫靈活、移植方便、便于模塊化設計的特點,所以本系統的軟件采用MSP430進行編寫。IAR Systems是全球領先的嵌入式系統開發工具和服務的供應商,提供的產品和服務涉及到嵌入式系統的設計、開發和測試的每一個階段,包括:帶有C/C++編譯器和調試器的集成開發環境 (IDE)、實時操作系統和中間件、開發套件、硬件仿真器以及狀態機建模工具。
系統的程序框圖如下所示:
圖九 系統軟件程序圖
四、實物圖
五、小結
本次設計的重點是應用MSP430單片機,來實現基本的時分秒及調時調分
調秒的功能,首先從單片機的的發展歷程入手,了解單片機的基本功能,結合本文實現功能的要求,基于MSP430單片機實現,通過對430系類單片機的認識,我們選用了MSP430F149單片機。我們進行了程序設計,通過調試,我們得到了基本的功能,可以正確的顯示時間,包括時、分、秒;為了滿足我們的日常要求,我們設置了調時、調分、調秒的功能。
六、器件清單
七、參考文獻 1、張靖武、周靈彬《單片機原理、應用與PROTEUS仿真》。 2、沈建華、楊艷琴《MSP430系列16位超低功耗單片機原理及應用》。 3、童詩白、華成英《模擬電子技術基礎》。
|