亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于I2C總線電子萬年歷的設(shè)計與實現(xiàn)

        2011-03-16 06:17:02王文卿李鐘慎
        電子測試 2011年3期
        關(guān)鍵詞:微控制器子程序按鍵

        王文卿, 李鐘慎

        (華僑大學(xué) 機電及自動化學(xué)院, 福建 廈門 361021)

        0 引言

        機械時鐘工藝復(fù)雜,且壽命短,誤差大。本文基于I2C總線(一種簡單的雙向二線制串行通信總線,由數(shù)據(jù)線SDA和時鐘SCL構(gòu)成。允許多個符合I2C總線標(biāo)準(zhǔn)的器件通過同一條I2C總線進行通信,而不需要增加額外的地址譯碼器[1]),設(shè)計并實現(xiàn)了電子萬年歷計時系統(tǒng)。該系統(tǒng)不但具有更高的直觀性和精確性,而且整個系統(tǒng)簡單實用,可操作性高。在家庭居室、學(xué)校、車站和廣場得到了廣泛的使用,給人們的生活、學(xué)習(xí)、工作帶來極大的方便。

        1 系統(tǒng)整體設(shè)計及其工作原理

        圖1為系統(tǒng)的整體結(jié)構(gòu)圖,主要由電源模塊、時鐘模塊、顯示模塊、鍵盤模塊、鬧鈴模塊和單片機模塊組成。P89V51RB2微控制器是整個系統(tǒng)的核心部分,它來控制整個系統(tǒng)的工作流程。

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

        系統(tǒng)的工作原理為微控制器通過時鐘線SCL和數(shù)據(jù)線SDA將鍵盤模塊、時鐘模塊和顯示模塊連接。時鐘模塊提供時間、日期信息,由微控制器控制顯示模塊顯示這些信息。鍵盤模塊有4個按鍵,來校正當(dāng)前時間和日期,鬧鈴模塊由微控制器控制,實現(xiàn)定點鬧鈴功能。

        2 硬件電路設(shè)計

        2.1 基于PCF8563的時鐘電路

        PCF8563是Philips生產(chǎn)的一款時鐘芯片,帶有400KHz的I2C總線接口,能提供年、月、日、時、分、秒信息,采用I2C總線協(xié)議(從機地址:讀,0A3H;寫,0A2H)設(shè)計,與單片機的連接非常的方便,因此時鐘電路利用該芯片,為系統(tǒng)提供精確的時間信息[2]。圖2所示為PCF8563構(gòu)成的典型時鐘電路。

        圖2 時鐘電路圖

        圖2中,PCF8563的SCL和SDA引腳內(nèi)部漏極開路,因此使用時需要外接阻值為5.1kΩ的上拉電阻。

        2.2 顯示與按鍵模塊電路

        ZLG7290是周立功公司生產(chǎn)的一款專用控制顯示與按鍵的芯片。它能夠直接驅(qū)動8位共陰式數(shù)碼管(或64只獨立的LED),同時還可以掃描管理多達64只按鍵[3]。其內(nèi)部有8個顯示緩沖寄存器DpRam0~DpRam7,它們直接決定數(shù)碼管顯示的內(nèi)容;2個命令緩沖寄存器 CmdBuf0和 CmdBuf1,通過向命令緩沖寄存器寫入相關(guān)的控制命令可以實現(xiàn)段尋址、下載顯示數(shù)據(jù)、控制閃爍等功能。ZLG7290采用I2C總線與微控制器的連接,僅需兩根信號線,簡單明了,ZLG7290的I2C總線器件地址是70H(寫操作)和71H(讀操作)。此電路中就是通過I2C總線將時鐘模塊的信息經(jīng)由微控制器送到ZLG7290命令緩沖寄存器,控制顯示緩沖寄存器顯示時間信息。

        圖3 顯示與按鍵模塊電路原理圖

        圖3為顯示與按鍵模塊電路的原理圖。其中芯片ZLG7290工作所需晶振的頻率為11.0592MHz,驅(qū)動兩個4位數(shù)碼管顯示時間、日期等。SDA和SCL分別為I2C總線的數(shù)據(jù)線和時鐘,通過這兩根信號線與主控制器通信。ZLG7290同時還控制四個按鍵S3(SET):設(shè)置時間日期的啟動鍵,按下開始設(shè)置;S4(NEXT):在各個數(shù)位之間切換;S5(ADD):對某一位的值進行加一操作;S6(SUB):對某一位的值進行減一操作[4]。通過這4個按鍵就可以方便地,任意地調(diào)節(jié)時間和日期。

        2.3 單片機電路(單片機最小系統(tǒng))

        單片機最小系統(tǒng)由P89V51RB2單片機,復(fù)位電路以及振蕩電路組成。復(fù)位電路采用電阻電容式復(fù)位電路,簡單易行,實現(xiàn)手動復(fù)位。振蕩電路使用11.0592MHz的晶振起振。P89V51RB2是一款80C51微控制器,包含16kB Flash 和 1024字節(jié)的數(shù)據(jù) RAM。

        圖4 單片機最小系統(tǒng)

        最小系統(tǒng)如圖4所示,P1.6和P1.7分別為I2C總線的時鐘信號線SCL和數(shù)據(jù)傳輸線SDA,使得P89V51RB2,ZLG7290以及PCF8563通過I2C總線進行通信;P1.0用于對ZLG7290進行軟件復(fù)位;P1.1用于控制蜂鳴器的通斷,實現(xiàn)鬧鐘功能;Reset為系統(tǒng)硬件復(fù)位;中斷INT0與時鐘芯片相連。

        圖5為RS232通信接線方式。其中RXD為串行通信RS232的輸入端,TXD為串行通信RS232的輸出端。本系統(tǒng)中單片機輸入輸出電平為TTL電平,而PC配置的是RS232標(biāo)準(zhǔn)串行接口,二者之間的電氣規(guī)范不一致,因此必須通過MAX232把SCM的信號電平(TTL電平)轉(zhuǎn)換為RS232電平。實際應(yīng)用中只用該串口的接收(RXD)、發(fā)送(TXD)和地線(GND)3個管腳[5-6]進行通信。

        圖5 RS232通信接線

        3 軟件設(shè)計

        3.1 主程序設(shè)計

        主程序?qū)崿F(xiàn)系統(tǒng)所需的所有功能,是一個無限循環(huán)程序。在循環(huán)體中,調(diào)用顯示子程序顯示當(dāng)前時間和日期;調(diào)用按鍵子程序掃描鍵盤,返回按鍵值,根據(jù)不同的鍵值進行相應(yīng)的按鍵處理[7]。

        3.2 顯示子程序設(shè)計

        顯示子程序主要完成在兩個4位LED數(shù)碼管組成的顯示屏上顯示時間或日期。如圖6顯示子程序的流程圖所示,顯示子程序主要由ZLG7290_SendBuf,ZLG7290_ SendCmd,ISendStr等3個主要的子函數(shù)構(gòu)成。其中ZLG7290_SendBuf的功能是向顯示緩沖區(qū)發(fā)送數(shù)據(jù),將時間的十進制數(shù)值轉(zhuǎn)化為ZLG7290的控制命令格式放入到disp_buf數(shù)組中,將其作為參數(shù)傳遞給ZLG7290_ SendCmd進 行 處 理;ZLG7290_SendCmd功 能 是 向ZLG7290的子地址07H和08H(ZLG7290的命令緩沖區(qū))發(fā)送控制命令,將從ZLG7290_SendBuf傳來的命令傳遞給函數(shù)ISendStr進行處理;ISendStr的功能是從啟動總線到發(fā)送地址,子地址,數(shù)據(jù),結(jié)束總線的全過程。此處通過I2C總線將由ZLG7290_SendCmd傳來的命令傳至ZLG7290的命令緩沖區(qū),控制數(shù)碼管的亮與滅,從而實現(xiàn)時間與日期的顯示[4]。

        3.3 按鍵子程序設(shè)計

        按鍵子程序?qū)崿F(xiàn)讀取按鍵鍵值,按鍵處理以及具體的時間、日期設(shè)置。主要由ZLG7290_GetKey,Process_ Key,Set_Date和Set_Time_Alarm等4個 函 數(shù) 組 成。ZLG7290_GetKey功能是當(dāng)有按鍵按下時,通過I2C總線操作讀取存放在ZLG7290鍵值寄存器中的鍵值,鍵值儲存在變量Key中,并返回鍵值;Process_Key的功能是根據(jù)系統(tǒng)現(xiàn)在所處的模式,調(diào)用相應(yīng)的處理子程序。當(dāng)Sysmod=1時,調(diào)用函數(shù)Set_Date完成日期設(shè)置;當(dāng)Sysmod=2、3時,調(diào)用函數(shù)Set_Time_Alarm完成時間及鬧鈴時間設(shè)置;當(dāng)Sysmod=4時,實現(xiàn)按任意鍵停止報警功能;Set_Date功能是根據(jù)接收的按鍵值,對日期設(shè)置作相應(yīng)的處理,主要檢測輸入數(shù)值是否合法;Set_ Time_Alarm功能是用來設(shè)置系統(tǒng)時間及鬧鈴時間。若Tmode=2,該函數(shù)用來設(shè)置系統(tǒng)時間;Tmode=3,用來設(shè)置系統(tǒng)的鬧鈴時間[4,8]。

        圖6 顯示子程序流程圖

        4 實驗結(jié)果及結(jié)論

        根據(jù)上述軟件和硬件的設(shè)計,結(jié)合各種相關(guān)元器件實現(xiàn)了電子萬年歷計時系統(tǒng)。由于手機的時間精確,可以作為標(biāo)準(zhǔn)。現(xiàn)通過反復(fù)的實驗測試,將系統(tǒng)時鐘行走一天的時間與手機時鐘行走一天的時間進行比較并修正,得出如表1和表2所示的兩組數(shù)據(jù):

        表1 外接電容為22pf時的測試數(shù)據(jù)

        表1是圖2中的電容C11和C12選取22pf時測得的數(shù)據(jù)。從表中可以看出系統(tǒng)時鐘一天的誤差比較大,平均超過6s/天。由于負載電容過大會使晶振的振蕩頻率降低,使振蕩頻率偏離它的標(biāo)稱值(32.768kHz),并最終導(dǎo)致時鐘走的偏慢[10]。因此,將C11與C12換成15pf的電容后又進行了一次測試。得到了如表2中所示的數(shù)據(jù)。

        表2 外接電容為15pf時的測試數(shù)據(jù)

        由表2可以看出,系統(tǒng)時鐘的計時小于1s/天,計時精準(zhǔn),滿足設(shè)計要求,并能應(yīng)用于我們的日常生活中。

        [1] 魏芬. I2C總線協(xié)議應(yīng)用指導(dǎo)書[M]. 南京:航空工業(yè)出版社,2010:17-22.

        [2] 周立功. 單片機實驗與實踐教程[M]. 北京:北京航空航天大學(xué)出版社,2008:68.

        [3] 李長林. Visual Basic串口通信技術(shù)與典型實例[M].北京: 清華大學(xué)出版社, 2006: 23-26.

        [4] 劉坤. 51單片機C語言應(yīng)用開發(fā)技術(shù)大全[M]. 北京:人民郵電出版社,2008: 581-582.

        [5] 徐永洪,符影,杰江峰. 基于VB 6.0的串口通信實現(xiàn)[J].儀器儀表用戶, 2004( 1) : 46-48.

        [6] 張毅剛,彭喜元,姜守達,喬立巖. 新編MCS-51單片機應(yīng)用設(shè)計[M]. 3版.哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2008:257-258.

        [7] 王懷平. Proteus仿真設(shè)計基于單片機AT89C51的電子萬年歷[J]. 科技廣場,2008(10):197-198.

        [8] 求是科技. 8051系列單片機C程序設(shè)計完全手冊[M].北京:人民郵電出版社,2006.

        [9] 白延敏. 51單片機典型系統(tǒng)開發(fā)實例精講[M].北京:電子工業(yè)出版社,2009:113-117.

        [10] 趙聲衡,趙英. 晶體振蕩器[M].北京:科學(xué)出版社,2008.

        猜你喜歡
        微控制器子程序按鍵
        基于有限狀態(tài)機的按鍵檢測程序設(shè)計
        電子制作(2021年3期)2021-06-16 03:14:26
        物聯(lián)網(wǎng)技術(shù)在微控制器實驗教學(xué)中的應(yīng)用
        電子制作(2017年14期)2017-12-18 07:07:58
        一種多方向?qū)Ч獍存I結(jié)構(gòu)設(shè)計
        電子制作(2016年1期)2016-11-07 08:43:05
        淺談子程序在數(shù)控車編程中的應(yīng)用
        子程序在數(shù)控車加工槽中的應(yīng)用探索
        西門子840D系統(tǒng)JOG模式下PLC調(diào)用并執(zhí)行NC程序
        Atmel針對新一代物聯(lián)網(wǎng)應(yīng)用發(fā)布全新32位微控制器
        最新STM32設(shè)計工具增加對混合信號微控制器的支持
        意法半導(dǎo)體(ST)推出世界首款基于ARM Cortex-M7的STM32 F7系列微控制器
        按鍵的多種狀態(tài)檢測及消抖處理方法
        家電科技(2013年4期)2013-07-09 10:55:08
        久久99热精品这里久久精品| 日本亲近相奷中文字幕| 人妻中文字幕无码系列| 亚洲av久久无码精品九九| 成人无码无遮挡很H在线播放| 国产少妇露脸精品自拍网站| 国产精品国产三级国产av品爱| 痉挛高潮喷水av无码免费| 久草国产视频| 青青草视频在线播放81| av大全亚洲一区二区三区| 日本人与黑人做爰视频网站| 久久国产亚洲高清观看5388| 性色av一区二区三区四区久久| 性人久久久久| 天干天干啦夜天干天2017| 日韩精品一区二区三区毛片| 亚洲成在人线天堂网站| 亚洲人成网线在线播放va蜜芽| 亚洲暴爽av人人爽日日碰| 一区二区三无码| 久久久麻豆精亚洲av麻花| 久久香蕉国产线看观看精品yw| 亚洲va在线va天堂va手机| 丰满人妻一区二区三区免费| 国产精品主播在线一区二区 | 亚洲欧美一区二区三区| 久久婷婷国产精品香蕉| 日韩精品免费视频久久| 国产在线精品一区二区三区直播| 狠狠久久亚洲欧美专区| 亚洲一区精品一区在线观看| 日本一级特黄aa大片| 国産精品久久久久久久| 亚洲av在线播放观看| 精品一区二区三区国产av| 日产精品久久久一区二区| 91av小视频| 日韩美女人妻一区二区三区| 国产女人18毛片水真多18精品| 少妇寂寞难耐被黑人中出|