【正文】
本文主要介紹了單片機和時鐘芯片 DS1302組成的時鐘控制部分和鍵盤對 DS1302的對時部分,使控制器實現(xiàn)精確的時間控制,主要功能和特性如下: 1.根據(jù)經(jīng)緯度,對不同地區(qū)、不同地點準確自動的時間控制,日出關(guān)燈,日落開燈; 2.隨時可進行對時操作,外部中斷進入對時子程序,使 CPU高效率使用,不會因鍵盤掃描浪費 CPU效率,也不會因長時間不使用,鍵盤故障而使程序進入死循環(huán); 3.有看門狗芯片 X25045進行看護,不會因常時間無。單片機、 IC芯片等技術(shù)的大 力發(fā)展給智能路燈控制發(fā)展提供了前提和基礎(chǔ)。 34 結(jié) 論 隨著現(xiàn)代化建設(shè)的迅速發(fā)展,市政建設(shè)取得的極大發(fā)展進步。 由于黃昏、黎明的存在,因此不能將日出日落時刻直接作為路燈開關(guān)的時間,需要對日出日落時刻進行修正,這有利于降低電能消耗,節(jié)約運行成本。航海黃昏是指天已比較黑,能夠看到明亮的星星,但還能看到地平線,這段時間一直持續(xù)到太陽位置為負 12度,天文黃昏是 指天空還比較亮,不能進行可靠的天文觀測,這段時間一直持續(xù)到太陽位置為負 18度。黃昏可分為三段,民間黃昏、航海黃昏和天文黃昏。 (12) 上面的計算以度為單位,即 180度 =12小時,因此需要轉(zhuǎn)化為以小時表示的時間,在加上所在的時區(qū)數(shù) Zone,即要計算地的日落時間為: / 15T UT Zone?? =+7 = 即 6月 20日的日落時間為 8點零 8秒。呼和浩特的地理位置,經(jīng)度 ,緯度 ,時區(qū)東 7區(qū), 0UT 為上次計算的日出日落時間,第一次計算時 0UT =180。 (1) 先計算出從格林威治時間公元 2021年 1月 1日到計算日的天數(shù) days; (2) 計算從格林威治時間公元 2021年 1月 1日到計算日的世紀數(shù) t ,則 t =( days+ 0UT /360) /36525 (3) 計算太陽的平黃徑 L=+? t (4) 計算太陽的平近點角 G=+? t (5) 計算太陽的黃道經(jīng)度 ? =L+? sinG +? sin(2 )G (6) 計算地球的傾角 ? =? t (7) 計算太陽的偏差 ? = arcsi n( si n si n )??? (8) 計算格林威治時間的太陽時間角 GHA GHA= 0UT si n 0. 02 0 si n( 2 ) 2. 46 6 si n( 2 ) 0. 05 3 si n( 4 )GG ??? ? ? ? ? ? ? (9) 計算修正值 e s in h s in ( ) s ina r c c o s ( )c o s ( ) c o sG la te G la t ????? ? 31 (10) 計算新的日出日落時間 UT = 0 ()U T G H A lon g e? ? ?;其中“十”表示計算日出時間,“一”表示計算日落時間; (11) 比較 0UT 和 UT 之差的絕對值,如果大于 ,把 UT作為新的日出日落時間值,重新從第 (2)步開始進行迭代計算,如果 0UT 和 UT 之差的絕對值小于0007小時,則 UT 即為所求的格林威治日出日落時間; (12) 上面的計算以度為單位,即 180度 =12小時,因此需要轉(zhuǎn)化為以小時表示的時間,在加上所在的時區(qū)數(shù) Zone,即要計算地的日出日落時間為 / 15T UT Zone?? 上面的計算日出日落時間方法適用于小于北緯 60度和南緯 60度之間的區(qū)域,如果計算位置為西半球時,經(jīng)度 Long為負數(shù)。具體算法 [2]: 已知:日出日落時太陽的位置 h = 。 日出日落時間是指假設(shè)地球為球形,并允許大氣折射影響存在的條件下,圓盤形太陽的上沿剛好到達地平線的時刻,這相當(dāng)于以觀察者所處的地平面為參考平面太陽處在 (計算時間時按角度計算, 180度 =12小時 )。 30 第四章 日出日落時間的確定 日出日落時間計算算法 日出日落時間計算 由于地理 位置 (即經(jīng)緯度 )不同,而且地球自轉(zhuǎn)軸相對于地球和太陽平面傾斜,加之地球公轉(zhuǎn)作用,各地日出日落時間有別。 圖 323 電源電路 圖中 C2用于抵消輸入線較長時的電感效應(yīng),以防止電路產(chǎn)生自激振蕩,其容量較小。 圖 322 電源濾波電路原理 29 經(jīng)整流和濾波后的電壓已很平滑,在要求 不高時可作為直流電源使用。 單相全波橋式整流電路的結(jié)構(gòu)及輸出波形如圖 321所示其負載電阻上的電壓平均值 Uo 與變壓器副邊電壓 U2 的關(guān)系為 Uo= 圖 321 電源整流電路原理 實際的濾波電路種類很多,它們一般都是由具有儲能特性的電容及電感構(gòu)成的使用時一般直接接在整流電路的輸出端。具體變換過程是先用變壓器從電網(wǎng)上獲得一定大小的交流電壓,然后利用二極管的單向?qū)щ娦詫⒔涣麟妷鹤儞Q成一個單方向的脈動電壓,再通過濾波電路濾掉其中的脈動成分從而得到比較平穩(wěn)的直流電壓。 圖 320 MAX232的引腳和原理電路 28 控制器供電電源的設(shè)計 電子設(shè)備中所用的電源絕大部分是直流電源,而電網(wǎng)所提供的是交流電源,因此需要把交流電變換成直流電。 C1C4及電壓 V+、V為電源變換部分,器件對電源噪聲敏感。所以,采用此芯片接口的串行通信系統(tǒng)只需要單一的 +5V電源就可以了。 27 圖 319 MAX232與單片機的連接電路 MAX232芯片內(nèi)部有一個電源電壓變換器,可以把輸入的 +5V電源電壓變換成為RS232C輸出電平所需的 177。 MAX232與單片機的連接電路如圖 319示。還有一路也有輸出用以必要時的擴展使用 [6]。 接觸器使用的是 CJX112交流接觸器,額定電流 12A。 所說的過零電壓并不是指的零伏,而是正負 10V— 正負 20V的區(qū)域內(nèi)。過零電路保證使輸入信號在開關(guān)器件兩端電壓為零時瞬間觸發(fā)開關(guān)器件,從而完成電壓過零條件下的通斷動作,減少干擾。 圖 317 單片機于反向器 74HC14和 MC1416連接電路 26 選用的繼電器與接觸器 繼電器使用的是固態(tài)繼電器 JGX10F,工作原理圖如圖 318所示 [10]。 單片機于反向器 74HC14和 MC1416連接電路如圖 317。達林頓晶體管陣列在每一個封裝中有七個各自獨立的管對,在工作時可以只有一個管對導(dǎo)通工作,也可以有幾個管對同時 導(dǎo)通工作,但每一塊電路的總的輸出電流不能超過規(guī)定值 (扁平封裝時不得超過 500mA,雙列直插式封裝時不得超過 ),否則不能保證電路正常工作。在輸入端加有兩個輸出鉗位二極管,這兩個二極管中,上面一個是用于鉗制高電位,抑制在高電平上發(fā)生的正向過沖;下面一個是用于鉗制低電位,抑制在低電平上發(fā)生的負向過沖,從而對輸出管起到保護作用。 圖 316 MC1416單路原理圖 25 工作原理: MC1416達林頓 反向緩沖器陣列都是由七個達林頓管對組成。特別適合于驅(qū)動繼電器 MC1416邏輯圖和外引線功能端排列如圖 315。有輸出鉗位保護二極管 集電極電流可達 500mA 一般負載電壓可接 5~30V。 圖 314 開關(guān)量輸出電路結(jié)構(gòu) 當(dāng)單片機上電后,各個輸出口都是高電平,所以加了 74HC14反向器,采用低電平控制,防止上電時輸出的 電平閃動影響控制。 23 單片機 74HC14 MC1416 繼電器 接觸器 三相四線電網(wǎng)電路 圖 313 X25045與單片機的連接電路 控制路燈開關(guān)的開關(guān)量輸出部分 開關(guān)量輸出電路的結(jié)構(gòu) 控制路燈開關(guān)的開關(guān)量由單片機的 ~~,經(jīng)過反向器 74HC14與大功率驅(qū)動芯片 MC1416連接用以驅(qū)動繼電器,再驅(qū)動接觸器來控制三相四線的電網(wǎng)電路。 WRSR 0000 0001 寫狀態(tài)寄存器(塊鎖定位) READ 0000 A8001 從開始于所選地址的存儲器陣列中讀數(shù)。 WRDI 0000 0100 復(fù)位寫使能鎖存器 (禁止寫操作 ) 。X25045與單片機的連接電路如圖 313所示。讀和寫指令的指令格式中均包含有地址高位 A8。芯片的指令及其操作碼列于表 35。在整個工作時間 , CS 必須保持低電平 , 同時 WP 輸入必須為高電平。 22 X25045 的工作原理 X25045具有 512 8 的 2EPROM 陣列 , 設(shè)計成與許多常用的微控制器系列的同步串行外設(shè)接口直接相連接。 RESET (復(fù)位 ): 芯片的復(fù)位輸出端。但若芯片內(nèi)部寫周期已經(jīng)開始時 ,WP 變?yōu)榈碗娖綄⒉挥绊懫洳僮?。?dāng) WP 保持高電平時 , 所有的寫功能均正常。 WP (寫保護 ): 寫保護輸入。 CS 為低電平時, X25045工作。操作碼、地址或出現(xiàn)在 SI引腳上的數(shù) 據(jù)在時鐘輸入的上升沿鎖存 , SO引腳上的數(shù)據(jù)在時鐘輸入的下降沿之后發(fā)生改變。 SCK(串行時鐘 ): 串行時鐘輸入引腳。 SI (串行輸入 ): 串行數(shù)據(jù)輸入引腳。 引腳功能如圖 312 圖 312 X25045 引腳圖 SO(串行輸出 ): 串行數(shù)據(jù)輸出引腳。 X25045 的特點是可以執(zhí)行簡單的三總線工作的串行外設(shè)接口和軟件協(xié)議。當(dāng) Vcc 降低到Vccmin 以下時 ,系統(tǒng)自動復(fù)位 ,并一直保持到 Vcc 返回到正常值且達 到穩(wěn)定狀態(tài)為止。應(yīng)用系統(tǒng)設(shè)計時可以從三個可選的預(yù)置值中選定一個合適的超時周期。 看門狗定時器可對微控制器提供獨立的保護系統(tǒng)。 圖 310 三八譯碼器與單片機的連接 電路 20 顯示環(huán)節(jié)與單片機的連接如圖 311。反向驅(qū)動器 ULN2803與單片機和顯示 LED的連接電路如圖 39。 單片機 P0口做字型的輸出口,經(jīng)上拉電阻接到反向驅(qū)動芯片 ULN2803上。 18 圖 38 鍵盤分析流程圖 N N N N N N N N N Y N N K2 N N N N N N N N N N N N N N N Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y K3 Y Y Y Y N N N Y Y K5 按下 掃描鍵盤 K1 K3 K2 K4 對 DS1302寫入初值顯示延時 校秒 中斷返回 讀日期值顯示延時 掃鍵盤 K3 K4 K2 中斷返回 校分 讀秒 加 1寫入 顯示 掃鍵盤 K3 K4 K2 中斷返回 校時 讀分 加 1寫入 顯示 掃鍵盤 K4 K2 中斷返回 校日 讀時 加 1寫入 顯示 掃鍵盤 K3 K4 中斷返回 校月 LED 管顯示日月年。各鍵作用: K5開啟 0INT 外部中斷; K1對 DS1302寫入初值; K2日期 /時間顯示切換,增加數(shù)值; K3時間 /經(jīng)緯度位切換; K4中斷返回。 圖 36 輸出開關(guān)量及中斷顯示流程圖 17 鍵 盤環(huán)節(jié) 鍵盤是智能路燈控制器中一個重要的部件,它向單片機輸入數(shù)據(jù),發(fā)出外部中斷,進行對時狀態(tài)和工作狀態(tài)的切換并對 DS1302進行設(shè)定時間和校正時間的操作。 DS1302芯片具有功耗小、功能強、計時精度高等突出優(yōu)點 ,且它的體積小 ,成本低 ,已被成功地廣泛應(yīng)用。 (3)注意 DS1302的硬時鐘與處理器工作時鐘之間的同步問題