国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于ATmega8的多功能定時(shí)器設(shè)計(jì)

2016-12-06 08:43吳新杰呂殿基
電子測試 2016年21期
關(guān)鍵詞:液晶屏鬧鐘按鍵

吳新杰,呂殿基

(北京經(jīng)濟(jì)管理職業(yè)學(xué)院,北京,100102)

基于ATmega8的多功能定時(shí)器設(shè)計(jì)

吳新杰,呂殿基

(北京經(jīng)濟(jì)管理職業(yè)學(xué)院,北京,100102)

目前鐘表和定時(shí)器的輸入多采用五個按鍵,顯示采用字段方式,操作繁瑣,人機(jī)界面不友好。本文提出一種采用4×4鍵盤輸入,128×64點(diǎn)陣液晶顯示的多功能定時(shí)器,具有人機(jī)界面友好、使用方便靈活、便于功能拓展的優(yōu)點(diǎn)。文中給出了系統(tǒng)設(shè)計(jì)方案和主要設(shè)計(jì)思路,經(jīng)驗(yàn)證,這種設(shè)計(jì)確實(shí)可行。

ATmega8;單片機(jī);定時(shí)器;相對定時(shí);絕對定時(shí)

0 引言

鐘表和定時(shí)器應(yīng)用極為廣泛,通常采用上下鍵、左右鍵和確認(rèn)鍵五個按鍵作為輸入,在調(diào)整時(shí)間時(shí),需要反復(fù)按鍵選擇功能,然后再逐一改變數(shù)值,操作繁瑣。另外,顯示屏多采用字段顯示,雖然廉價(jià)可靠,但是人機(jī)界面不友好,不便于學(xué)習(xí)使用。

本文提出了采用4×4全數(shù)字鍵盤輸入、128×64液晶點(diǎn)陣顯示的設(shè)計(jì)方案,此方案具有輸入簡單,界面友好,便于擴(kuò)展功能等優(yōu)點(diǎn)。

1 系統(tǒng)結(jié)構(gòu)

本系統(tǒng)由電源模塊、單片機(jī)單元、顯示單元、時(shí)鐘模塊、按鍵單元、繼電器控制單元等組成,系統(tǒng)結(jié)構(gòu)如圖1所示。

系統(tǒng)采用ATmega8單片機(jī)作為核心控制器,通過模擬集成電路總線(IIC)連接數(shù)碼管驅(qū)動及鍵盤控制芯片CH452,當(dāng)有按鍵按下的時(shí)候,CH452觸發(fā)ATmega8外部中斷0(INT0),單片機(jī)對按鍵進(jìn)行讀取、處理。使用CH452的好處是可以擴(kuò)展單片機(jī)輸入輸出端口,單片機(jī)不必時(shí)刻對鍵盤掃描,減少單片機(jī)工作量。因?yàn)镃H452有V1和V2兩個版本,V1版本不支持回送ACK信號,為了提高兼容性,使用ATmega8兩個普通IO口模擬IIC總線。

液晶屏采用具有內(nèi)置字庫的ST7920驅(qū)動芯片128×64點(diǎn)陣液晶屏,通過ATmega8的TWI接口連接。TWI接口與IIC總線兼容,該總線同時(shí)連接DS3231時(shí)鐘模塊。DS3231時(shí)鐘模塊單獨(dú)配備一枚CR2032紐扣電池,在主電源斷電的情況下,DS3231仍然能準(zhǔn)確計(jì)時(shí),并能存儲日期、星期和鬧鐘等信息。單片機(jī)通過地址識別液晶屏和DS3231,寫入DS3231的地址為D0H,從DS3231讀出信息的地址為D1H,向液晶屏寫命令的地址是F8H,寫數(shù)據(jù)的地址是FAH。

本系統(tǒng)采用無源蜂鳴器,由單片機(jī)PB1口輸出約2200Hz的PWM波驅(qū)動發(fā)聲,也可以更換為有源蜂鳴器,這樣只需輸出高電平就能令蜂鳴器發(fā)聲。

單片機(jī)還通過兩個三極管構(gòu)成復(fù)合三級管的形式推動微型直流繼電器,通過該繼電器可以直接控制照明燈、電風(fēng)扇等小電流用電設(shè)備,也可以用來控制交流接觸器,以實(shí)現(xiàn)大功率設(shè)備的控制。

圖1 系統(tǒng)框圖

本系統(tǒng)還設(shè)計(jì)了液晶屏的背光控制電路,分為無、弱、強(qiáng)三檔可調(diào)。系統(tǒng)使用5V電源,可以從USB口取電,也可以用手機(jī)充電器供電,使用方便。

由于系統(tǒng)使用了IIC總線方式連接周邊芯片,節(jié)約了很多IO口資源,再加上CH452拓展的IO口,使得很容易拓展被控制的用電設(shè)備數(shù)量,最多可達(dá)70余個。

2 軟件設(shè)計(jì)

主函數(shù)流程圖如圖2所示。單片機(jī)平時(shí)最主要的工作就是讀取DS3231的鬧鐘匹配位、每秒鐘刷新一次主屏幕、每秒鐘檢查一次定時(shí)器是否匹配。系統(tǒng)設(shè)計(jì)了兩個鬧鐘,鬧鐘時(shí)間存儲在DS3231中,由DS3231負(fù)責(zé)檢查鬧鐘與當(dāng)前時(shí)間是否匹配,如果匹配,則對應(yīng)的寄存器匹配位置1。在響應(yīng)鬧鐘之后,應(yīng)該將DS3231的鬧鐘匹配位清零。定時(shí)器信息并沒有存儲在DS3231中,檢查是否與當(dāng)前時(shí)間匹配的工作也是由單片機(jī)完成的。

平時(shí)屏幕(主顯示屏幕)顯示的信息主要有日期、時(shí)間、星期和溫度,激活的鬧鐘和定時(shí)器都在屏幕有提示,刪除后,在屏幕上的提示消失。時(shí)間顯示可以選擇12小時(shí)或者24小時(shí)模式。

ATmega8中使用了兩個中斷:外部中斷0(INT0)由CH452觸發(fā),中斷服務(wù)程序讀取按鍵代碼;外部中斷1(INT1)由DS3231觸發(fā),每秒觸發(fā)一次,中斷服務(wù)程序置位秒標(biāo)記。秒標(biāo)記用于主屏幕刷新和鬧鐘定時(shí)器處理。

在主顯示屏幕情況下,按下鍵盤的任意按鍵都會進(jìn)入到一級菜單界面,然后等待十秒鐘,如果在這期間沒有按鍵按下,屏幕會自動回到主顯示屏幕;如果按下一級菜單界面中提示的按鍵,則進(jìn)入二級菜單界面。

在二級菜單界面同樣會等待十秒鐘,如無按鍵操作就會自動返回主顯示屏幕。如果按下二級菜單界面中提示的按鍵則執(zhí)行對應(yīng)功能(如對時(shí)間或日期的加1、減1等操作),或者進(jìn)入三級菜單界面(如直接輸入日期、時(shí)間,或者鬧鐘、定時(shí)等功能)。

在三級菜單界面會有輸入格式提示、當(dāng)前輸入內(nèi)容、輸入檢查結(jié)果提示等顯示內(nèi)容。輸入錯誤會有錯誤提示,輸入被拒絕并自動返回主顯示屏幕;輸入正確內(nèi)容會被接收,之后也會自動返回主顯示屏幕。

除中斷服務(wù)程序外,主要的子函數(shù)有:延時(shí)子函數(shù)、讀DS3231子函數(shù)、寫DS3231子函數(shù)、寫液晶屏子函數(shù)、寫CH452子函數(shù)、讀CH452子函數(shù)、鍵值轉(zhuǎn)換子函數(shù)、時(shí)間相加運(yùn)算子函數(shù)、檢查輸入的日期是否合法子函數(shù)、檢查輸入的時(shí)間是否合法子函數(shù)、檢查輸入的星期是否合法子函數(shù)、12小時(shí)/24小時(shí)模式轉(zhuǎn)換子函數(shù)和各級菜單按鍵輸入管理子函數(shù)等。

時(shí)間相加運(yùn)算子函數(shù)主要用于完成相對定時(shí)功能,比如倒計(jì)時(shí)功能:用鍵盤輸入時(shí)分秒信息后,將自動在當(dāng)前時(shí)間加上輸入的時(shí)間,從而實(shí)現(xiàn)了相對定時(shí)功能;再比如定時(shí)器功能:輸入繼電器吸合的絕對時(shí)間后,再輸入吸合的持續(xù)時(shí)間,若干小時(shí)分鐘秒鐘,輸入完成后,程序?qū)⒆詣釉谖系慕^對時(shí)間之后再加上吸合的持續(xù)時(shí)間,從而完成相對定時(shí)。

圖2 主函數(shù)流程圖

3 實(shí)際測試

通過對實(shí)際系統(tǒng)測試,可以確認(rèn)其能夠?qū)崿F(xiàn)預(yù)定功能,計(jì)時(shí)精度±0.432秒/天,測量氣溫精度為±3°C,實(shí)現(xiàn)了三級菜單輸入界面,能夠?qū)崿F(xiàn)倒計(jì)時(shí)和定時(shí)通斷電等相對定時(shí)功能,具有年月日、星期、溫度、時(shí)間的顯示功能,時(shí)間可以選擇12小時(shí)或者24小時(shí)模式。繼電器工作正常,可以對小功率用電設(shè)備進(jìn)行通斷電控制,具備較多的備用端口。

4 結(jié)論

本系統(tǒng)僅用一片8位單片機(jī)ATmega8實(shí)現(xiàn)了良好的人機(jī)界面,易于進(jìn)行輸入、校時(shí)、定時(shí)和鬧鐘等操作。由于菜單系統(tǒng)較為復(fù)雜,8位單片機(jī)實(shí)現(xiàn)確實(shí)較為吃力,尤其是ATmega8程序存儲空間較小,若要在本系統(tǒng)基礎(chǔ)之上再增加功能,建議使用ATmega16以上的兼容單片機(jī)。

[1]吳新杰. AVR單片機(jī)項(xiàng)目教程——基于C語言(第2版)[M].北京:北京航空航天大學(xué)出版社, 2013

[2]許洋洋. 多功能工業(yè)定時(shí)器設(shè)計(jì)[J]. 自動化技術(shù)與應(yīng)用,2015年第34卷第5期,108-110

Design of multi function timer based on ATmega8

Wu Xinjie,Lv Dianji
(Beijing Institute of Economic Management,Beijing,100102)

At present,the clock and the timer input uses five keys,the display uses the seven segment digital tube,the operation is tedious,the man-machine interface is not friendly.This paper presents a multi function timer with 4×4 keyboard input,128×64 dot matrix LCD display.It has the advantages of friendly man-machine interface,convenient and flexible use, and easy to expand.The system design scheme and main design ideas are given in this paper.

ATmega8;MCU;Timer;relative timing;absolute timing

吳新杰(1972-)男,漢族,河北遷安,碩士,講師,研究方向:電子信息與通信工程

呂殿基(1972-)男,漢族,山東青島,碩士,副教授,研究方向:電子信息與通信工程

猜你喜歡
液晶屏鬧鐘按鍵
多彩創(chuàng)意鬧鐘
基于有限狀態(tài)機(jī)的按鍵檢測程序設(shè)計(jì)
基于STM32F4的多通道串口驅(qū)動TFT液晶屏顯示系統(tǒng)設(shè)計(jì)
天然鬧鐘
小鬧鐘的提醒
能幫我設(shè)個鬧鐘不等四則
按鍵消抖在單片機(jī)和FPGA實(shí)驗(yàn)教學(xué)中的應(yīng)用
一種消除液晶屏高溫MURA的工藝研究
基于單片機(jī)的點(diǎn)餐系統(tǒng)硬件設(shè)計(jì)
一種多方向?qū)Ч獍存I結(jié)構(gòu)設(shè)計(jì)