當(dāng)前位置:首頁 > 工業(yè)控制 > 工業(yè)控制
[導(dǎo)讀]在日常工作和學(xué)習(xí)中,經(jīng)常需要對作息時(shí)間進(jìn)行控制,以規(guī)范工作、學(xué)習(xí)、休息等作息秩序,本文采用51系列單片機(jī)機(jī)實(shí)現(xiàn)對校園作息時(shí)間的控制設(shè)計(jì),已完成對每天對作息最多40次打鈴控制,同時(shí)具有對控制器日常時(shí)間調(diào)整及

在日常工作和學(xué)習(xí)中,經(jīng)常需要對作息時(shí)間進(jìn)行控制,以規(guī)范工作、學(xué)習(xí)、休息等作息秩序,本文采用51系列單片機(jī)機(jī)實(shí)現(xiàn)對校園作息時(shí)間的控制設(shè)計(jì),已完成對每天對作息最多40次打鈴控制,同時(shí)具有對控制器日常時(shí)間調(diào)整及顯示、打鈴時(shí)間設(shè)置、掉電數(shù)據(jù)不丟失等功能。

  系統(tǒng)硬件結(jié)構(gòu)組成

  為實(shí)現(xiàn)上述功能,硬件方面主要采用AT89C52單片機(jī)實(shí)現(xiàn)對整個(gè)系統(tǒng)控制,采用DS1302時(shí)鐘芯片完成對控制器時(shí)間的計(jì)時(shí)控制,同時(shí)采用24C02串行存儲(chǔ)芯片保存打鈴時(shí)間控制參數(shù)以免掉電丟失,設(shè)計(jì)8個(gè)按鍵分別用于對時(shí)間調(diào)整和打鈴時(shí)間的設(shè)置和調(diào)整,并采用靜態(tài)顯示方法對6個(gè)數(shù)碼管控制已完成對時(shí)間及打鈴時(shí)間點(diǎn)等參數(shù)的設(shè)置和調(diào)整顯示,采用繼電器控制電路完成弱電對強(qiáng)電220V控制以完成對電鈴的通斷電控制從而控制鈴聲。具體電路圖如圖1所示。

  

 

  圖1 作息打鈴控制器硬件原理圖

  MCS-51模擬IIC總線

  本設(shè)計(jì)為防止掉電后所設(shè)置電鈴時(shí)間點(diǎn)數(shù)據(jù)丟失,特用一片IIC協(xié)議串行通信的含有256字節(jié)的EEPROM芯片CAT24WC02作為存儲(chǔ)芯片。IIC協(xié)議允許系統(tǒng)設(shè)計(jì)者只用兩根線就可以將多達(dá)128個(gè)不同的設(shè)備連接在一起,極大的節(jié)省了單片機(jī)接口線,只需在這兩根線上分別加一個(gè)10kΩ的上拉電阻,即可解決阻抗匹配問題。IIC器件通過各自的硬件連線方式來確定自己的地址,如本設(shè)計(jì)中CAT24WC02芯片地址為0000。對于沒有IIC總線接口的單片機(jī)來說,使用任何兩根線均可模擬IIC總線時(shí)序。在本設(shè)計(jì)中采用P3.3、P3.4分別來模擬SCL和SDA線,當(dāng)SCL處于高電平時(shí),SDA由高電平變成低電平時(shí)構(gòu)成一個(gè)開始條件,對IIC總線的所有操作均須由開始條件開始;當(dāng)SCL處于高電平時(shí),SDA由低電平變成高電平時(shí)構(gòu)成一個(gè)停止條件,此時(shí)IIC總線的所有操作均停止;當(dāng)SCL為低電平且SDA線電平變化時(shí),則數(shù)據(jù)由CPU輸出到IIC總線;當(dāng)SCL為高電平且SDA線電平不變時(shí),則CPU讀取IIC總線上的數(shù)據(jù);當(dāng)SCL為高電平且SDA電平變化時(shí),IIC總線上位開始條件或停止條件;數(shù)據(jù)傳輸以8為序列進(jìn)行,IIC器件在第9個(gè)時(shí)鐘周期時(shí)將SDA置位為低電平,即送出一個(gè)確認(rèn)(應(yīng)答)信號ACK,表明數(shù)據(jù)已經(jīng)被其收到。這里使用到以下4個(gè)公用函數(shù):

  void I2cStart(); //產(chǎn)生開始信號

  void I2cStop(); //產(chǎn)生停止信號

  void I2cSendByte(uchar ByteData) ;//發(fā)送一個(gè)字節(jié)數(shù)據(jù)

  uchar I2cReceiveByte(); //接收一個(gè)字節(jié)數(shù)據(jù)

  DS1302時(shí)鐘電路

  DS1302是美國Dallas公司推出的一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘芯片,它可以對年、月、日、星期、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,工作電壓寬達(dá)2.5V~5.5V。采用三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號或RAM數(shù)據(jù)。DS1302內(nèi)部有一個(gè)31字節(jié)用于臨時(shí)性存放數(shù)據(jù)的RAM寄存器。DS1302控制電路圖如圖1所示,VCC1為后備電源, VCC2為主電源,在主電源關(guān)閉的情況下,也能保持時(shí)鐘連續(xù)運(yùn)行。DS1302由VCC1或VCC2兩者中的電壓較大者供電,當(dāng)VCC2大于VCC1+0.2V時(shí),VCC2給DS1302供電,當(dāng)VCC2小于VCC1時(shí),DS1302由VCC1供電。X1、X2為振蕩源,外接32.768kHz晶振。RST是復(fù)位/片選線,通過把RST輸入驅(qū)動(dòng)置高電平來啟動(dòng)所有的數(shù)據(jù)傳送。RST輸入有兩種功能:1、RST接通控制邏輯,允許地址/命令序列送入移位寄存器;2、RST提供了終止單字節(jié)或多字節(jié)數(shù)據(jù)的的傳送手段,當(dāng)RST為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對DS1302進(jìn)行操作。如果在傳送工程中置RST為低電平,則會(huì)終止此次數(shù)據(jù)傳送,并且I/O引腳為高阻態(tài)。上電運(yùn)行時(shí),在 VCC≥2.5V之前,RST必須保持低電平。

  DS1302的控制字如圖2所示,字節(jié)的最高位(第7位)必須是邏輯1,如為0則不能報(bào)數(shù)據(jù)寫入到DS1302,位6如為0,則表示存取日歷時(shí)鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);為5為至位1指示操作單元的地址,最低位(第0位)為0則表示要進(jìn)行寫操作,為1表示進(jìn)行讀操作,控制字節(jié)是從最低未開始輸出。在控制指令字輸入后的下一個(gè)SCLK時(shí)鐘的上升沿時(shí)數(shù)據(jù)寫入DS1302,數(shù)據(jù)輸入從低位開始,同樣,在緊跟8位控制指令字后的下一個(gè)SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)是從低位至高位。

  DS1302共有12個(gè)寄存器,其中7個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式,其日歷、時(shí)間寄存器如圖3所示。 DS1302還有年份寄存器、充電寄存器、時(shí)鐘突發(fā)寄存器與RAM等相關(guān)寄存器。時(shí)鐘突發(fā)寄存器可一次性順序讀寫充電寄存器外的所有寄存器內(nèi)容。DS1302與RAM相關(guān)的寄存器分為兩類,一類是單個(gè)RAM單元,共31個(gè),每個(gè)單元組態(tài)為一個(gè)8位的字節(jié),其命令控制字為C0H~FDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;另一類為突發(fā)方式下的RAM寄存器,此方式下可以一次性讀寫所有RAM的31個(gè)字節(jié),命令控制字地址寫操作時(shí)為FEH,讀操作時(shí)為FFH。

  

 

  圖2 DS1320命令控制字

  

 

  圖3 DS1320時(shí)鐘、日歷寄存器及控制字系統(tǒng)軟件實(shí)現(xiàn)

 

  主程序流程

  本系統(tǒng)主程序在考慮可設(shè)置每天最多40個(gè)打鈴時(shí)間點(diǎn),而時(shí)間點(diǎn)精確的分鐘,因此每個(gè)時(shí)間點(diǎn)信息包括時(shí)、分兩個(gè)字節(jié)存儲(chǔ),共需80字節(jié)作為打鈴時(shí)間點(diǎn)存儲(chǔ)緩沖區(qū),此緩沖區(qū)在AT89C52內(nèi)存中采用數(shù)組的形式定義,同時(shí)當(dāng)打鈴時(shí)間點(diǎn)設(shè)置好時(shí),將此數(shù)據(jù)保存到CAT24WC02串行芯片中以防止掉電丟失,在下次啟動(dòng)首先從CAT24WC02芯片中讀取數(shù)據(jù)保存到對應(yīng)數(shù)據(jù)緩沖區(qū)中。運(yùn)行主程序是首先讀取時(shí)鐘芯片時(shí)間數(shù)據(jù)并在數(shù)碼管顯示相關(guān)信息,隨后將當(dāng)前時(shí)間與各打鈴時(shí)間點(diǎn)相比較看是否需要打鈴,最后進(jìn)行鍵盤信息處理,分別完成時(shí)間設(shè)定和打鈴時(shí)間點(diǎn)設(shè)定等相關(guān)操作,具體流程如圖4所示。

  

 

  圖4 主程序流程圖

  鬧鈴時(shí)間設(shè)置程序設(shè)計(jì)

  本設(shè)計(jì)中共采用8個(gè)按鍵,其中時(shí)間設(shè)置按鍵和鬧鈴設(shè)置按鍵為復(fù)用鍵,由圖4可知當(dāng)運(yùn)行主程序時(shí),按下相應(yīng)鍵則程序進(jìn)入時(shí)間設(shè)置或鬧鈴時(shí)間設(shè)置程序處理中,在鬧鈴時(shí)間設(shè)置程序中,此二鍵亦分別用于添加鬧鈴和刪除鬧鈴設(shè)置,當(dāng)6位數(shù)碼管顯示信息均處于閃爍狀態(tài)時(shí),此時(shí)按下添加鍵,則表示新添加一鬧鈴時(shí)間點(diǎn),按下刪除鍵則表示刪除對應(yīng)鬧鈴時(shí)間點(diǎn),如6位數(shù)碼管顯示信息不全閃爍,則此二鍵不起作用。左移和右移按鍵則分別用來選擇所要設(shè)置數(shù)據(jù)位(時(shí)或分),選擇對應(yīng)位后相應(yīng)數(shù)據(jù)進(jìn)入閃爍狀態(tài),此時(shí)操作增加或減小鍵進(jìn)入相應(yīng)數(shù)值設(shè)置,當(dāng)僅鬧鈴時(shí)間序號閃爍時(shí),增加和減小鍵同時(shí)有依次進(jìn)行查詢所有鬧鈴時(shí)間點(diǎn)的功能。信息設(shè)置完后當(dāng)按下確認(rèn)鍵則表示信息設(shè)置完成,此時(shí)所設(shè)置鬧鈴信息會(huì)統(tǒng)一進(jìn)行從小到大排序(用于查詢時(shí)從小到大顯示),然后分別保存到單片機(jī)相應(yīng)內(nèi)存和CAT24WC02串行EEPROM中以防掉電丟失。如按下取消鍵,則表示放棄所設(shè)置信息,此時(shí)重新從CAT24WC02串行EEPROM中讀取原鬧鈴時(shí)間信息到單片機(jī)相應(yīng)內(nèi)存相應(yīng)緩沖區(qū)。具體流程圖如圖5所示。

  

 

  圖5 主程序流程圖

  鬧鈴時(shí)間信息顯示程序則由顯示程序void Display專門負(fù)責(zé),鬧鈴設(shè)置時(shí)的數(shù)據(jù)分別放在臨時(shí)顯示緩沖區(qū),結(jié)合其閃爍狀態(tài)值一起傳遞給顯示程序進(jìn)一步處理,從而決定哪位數(shù)碼管顯示信息進(jìn)行閃爍,閃爍狀態(tài)值FlagBit共有5個(gè)取值參數(shù),分別為0、1、2、3、4,其中0表示不閃爍, 1表示鬧鈴時(shí)間分值閃爍,2表示鬧鈴時(shí)間時(shí)值閃爍,3表示鬧鈴時(shí)間序號閃爍,4表示全部顯示數(shù)值一起閃爍。具體閃爍控制則由定時(shí)中斷服務(wù)程序里對閃爍標(biāo)志不斷取反,顯示程序里根據(jù)此標(biāo)志位的變化進(jìn)行閃爍控制。

  時(shí)間設(shè)置處理程序則主要是通過按鍵設(shè)置好時(shí)間后對DS1302進(jìn)行數(shù)據(jù)更新, 具體過程與鬧鈴設(shè)置程序類似,篇幅原因不在多述。

  結(jié)語

  實(shí)驗(yàn)初期本設(shè)計(jì)主要通過仿真軟件完成,由于受實(shí)驗(yàn)條件影響,數(shù)碼管顯示部分采用靜態(tài)顯示方法完成,如考慮節(jié)約成本,在實(shí)際電路中本設(shè)計(jì)亦可采用動(dòng)態(tài)顯示電路或串行顯示電路完成。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉