從圖1(a)中可以看出,如果實時時間同時大于,或同時小于開機(jī)時間和關(guān)機(jī)時間,則系統(tǒng)開機(jī);如果實時時間大于關(guān)機(jī)時間且小于開機(jī)時間,則系統(tǒng)關(guān)機(jī)。
從圖1(b)中可以看出,如果實時時間同時大于,或同時小于開機(jī)時間和關(guān)機(jī)時間,則系統(tǒng)關(guān)機(jī);如果實時時間大于關(guān)機(jī)時間且小于開機(jī)時間,則系統(tǒng)開機(jī)。其結(jié)果正好和圖1(a)相反。
實際上,系統(tǒng)是否需要開機(jī)由以下3個時間的比較結(jié)果共同決定:實時時間與開機(jī)時間、實時時間與關(guān)機(jī)時間、開機(jī)時間與關(guān)機(jī)時間。這3種比較結(jié)果共有8種組合可能。根據(jù)以上分析即可得到表1,用O和1來表示它們之間的邏輯關(guān)系。
經(jīng)過分析,表1出現(xiàn)了無關(guān)項(x),序號2和5所對應(yīng)的比較結(jié)果是不會出現(xiàn)的。可以根據(jù)表1編制出適合不同單片機(jī)的程序表格(如MCS51,Tabl:db O,1,55h,O,1,55h,0,1)。其中無關(guān)項對應(yīng)的結(jié)果可以用特定數(shù)值(如55h)表示出錯,由上層應(yīng)用程序處理。在程序編制時,只需要將3種時間相互比較的結(jié)果經(jīng)過組合,就可以通過查表得到結(jié)果。開機(jī)時間與關(guān)機(jī)時間的比較結(jié)果在設(shè)定時即可確定并預(yù)先保存,在實際運(yùn)行時只需要比較實時時間與開機(jī)時間、實時時間與關(guān)機(jī)時間。
2 24小時內(nèi)多次定時開關(guān)機(jī)及其他情況
如圖2所示,24小時內(nèi)設(shè)定了4組開關(guān)機(jī)時間。圖中陰影部分為關(guān)機(jī)的時間段。根據(jù)不同開、關(guān)機(jī)時間組,分別按照上述方法根據(jù)表1進(jìn)行查表,將得到的所有結(jié)果相與,以決定開機(jī)或關(guān)機(jī)。只有實時時間滿足所有的開機(jī)時間條件時,系統(tǒng)才可以開機(jī)。
在某個非循環(huán)的固定時間段內(nèi)(如2009-10-1 06:00至2009-10-8 23:00)開機(jī),實際上只需判斷實時時間是否在時間段內(nèi),該情況默認(rèn)關(guān)機(jī)時間大于開機(jī)時間。參考文獻(xiàn)中的應(yīng)用即此種情況。
以某個固定周期為循環(huán)(如每周、每月等)時,只需在3種時間相互比較大小時改變算法,仍可以根據(jù)三者的比較結(jié)果,通過查表得到系統(tǒng)的輸出。
結(jié)語
本文提出一種利用查表法解決單片機(jī)應(yīng)用系統(tǒng)中在一定循環(huán)周期內(nèi)定時開關(guān)機(jī)判斷問題的方法。將實時時問、開機(jī)時間、關(guān)機(jī)時間三者相互比較,根據(jù)比較結(jié)果進(jìn)行查表并確定控制結(jié)果。該方法簡單、實用,也可以用于其他嵌入式系統(tǒng)或控制系統(tǒng)中。
北京2022年10月18日 /美通社/ -- 10月14日,國際數(shù)據(jù)公司(IDC)發(fā)布《2022Q2中國軟件定義存儲及超融合市場研究報告》,報告顯示:2022年上半年浪潮超融合銷售額同比增長59.4%,近5倍于...
關(guān)鍵字: IDC BSP 數(shù)字化 數(shù)據(jù)中心東京2022年10月18日 /美通社/ -- NIPPON EXPRESS HOLDINGS株式會社(NIPPON EXPRESS HOLDINGS, INC.)旗下集團(tuán)公司上海通運(yùn)國際物流有限公司(Nipp...
關(guān)鍵字: 溫控 精密儀器 半導(dǎo)體制造 BSPLua RTOS 是一個實時操作系統(tǒng),設(shè)計在嵌入式系統(tǒng)上運(yùn)行,對 FLASH 和 RAM 內(nèi)存的要求最低。目前 Lua RTOS 可用于 ESP32, ESP8266 和 PIC32MZ 平臺,并可以輕松移植到其他32位...
關(guān)鍵字: Lua RTOS 操作系統(tǒng) 嵌入式系統(tǒng)