freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計-路燈控制系統(tǒng)設(shè)計(參考版)

2025-01-19 23:03本頁面
  

【正文】 從圖中 可以看出 ,MAX485 芯片的結(jié)構(gòu)和引腳都非常簡單 ,內(nèi)部含有一個驅(qū)動器和接收器。它完成將 TTL電平轉(zhuǎn)換為 RS-485電平的功能。 MAX485 MAX485接口芯片是 Maxim公司的一種 RS- 485芯片。時鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器外的所有寄存器內(nèi)容。其日歷、時間寄存器及其控制字見表 2。同樣,在緊 跟 8位的控制指令字后的下一個SCLK脈沖的下降沿讀出 DS1302的數(shù)據(jù),讀出數(shù)據(jù)時從低位 0 位至高位 7,數(shù)據(jù)讀寫時序見圖 12。只有在 SCLK為低電平時,才能將 RST置為高電平。如果在傳送過程中置 為低電平,則會終止此次數(shù)據(jù)傳送,并且 I/O引腳變?yōu)楦咦钁B(tài)。 輸入有兩種功能:首先, 接通控制邏輯,允許地址/命令序列送入移位寄存器;其次, 提供了終止單字節(jié)或多字節(jié) 數(shù)據(jù)的傳送手段。最低有效位(位 0)如為 0表示要進行寫操作,為 1表示進行讀操作 ,控制字節(jié)總是從最低位開始輸出。 控制字節(jié)的最高有效位(位 7)必須是邏輯 1,如果它為 0,則不能把數(shù)據(jù)寫入到 DS1302 中 位 6如果為 0,則表示存取日歷時鐘數(shù)據(jù),為 1表示存取 RAM數(shù)據(jù) 。 引腳功能表及內(nèi)部結(jié)構(gòu)圖 DS1302 的引腳及內(nèi)部結(jié)構(gòu)如圖 10所示。 DS1302內(nèi)部有一個 31 8的用于臨時性存放數(shù)據(jù)的 RAM寄存器。 第 31 頁 圖 9 DS1302 的結(jié)構(gòu)及工作原理 DS1302是美國 DALLAS公司推出的一種高性能、低功耗、帶 RAM的實時時鐘芯片,它可以對年、月、日、周日、時、分、秒進行計時,且具有閏年補償功能,工作電壓寬達 ~ 。這使得基于 PIC16F873 的電機驅(qū)動器具有更大的靈活性和通用性。所以 PIC16F873 芯片就不需要鍵盤輸入和顯示模 塊來修改電機參數(shù)。 單片機 的 RC 端口(11~ 18 引腳 ) 為鍵盤輸入與顯示端口。 單片機 及接口電路 PIC16F873 單片機 為核心的原理圖 ,如圖 9 所示??梢?, PIC16F873 特別適用于步進電機的驅(qū)動控制。 (5) PIC16F873 有 5 路 10 位A/ D 通道 。 (3) 192 字節(jié)數(shù)據(jù)存儲器 。 第 28 頁 圖 7 主 CPU 軟件流程圖 開 始 初 始 化 讀當(dāng)前時間 改變控制狀態(tài)的時間? 接受到 GSM信息? 需要讀照 度 ? 讀取照度 需要測 量溫度? 讀取環(huán)境溫度 需要讀取濕度? 讀取環(huán)境濕度 是控制命令? 是查詢命令? 是下載控制策略? 是校準(zhǔn)時鐘? 是讀取電網(wǎng)參數(shù)? 執(zhí)行該命令 執(zhí)行查詢命令 儲存新的控制策略表 更新時鐘時間 從 cpu 讀取相關(guān)信息 處理時間事件 Y N N Y Y Y Y N N N N Y Y Y Y Y 第 29 頁 圖 8 從 CPU軟件流程圖 開 始 初 始 化 主 CPU有通信請求 ? 讀電網(wǎng)參數(shù)? 讀電源狀態(tài)? 處理其他事件 處理通信事件 讀取電網(wǎng)參數(shù) 讀電源工作狀態(tài) N N N Y Y 第 30 頁 五 硬件設(shè)計 PIC16F873 特點 PIC16F873 單片機 為 28 引腳微處理器 ,除了具有 PIC 系列 單片機 的共同特點外 ,還具有以下特點 : (1) 具有 4KB 的 FLASH 程序存儲器 。主微控制器一方面負責(zé)通過 GSM與照明 管理 計算機 (簡稱上位機)通信,接收、解析和執(zhí)行上位機發(fā)來的各種 命令,并將執(zhí)行結(jié)果發(fā)送給上位機; 另一方面,主控制器在沒有 GSM信息的情況下,完成其它一些任務(wù),軟件流程圖如圖 7所示。組群控制器根據(jù)讀得的日歷信息和時 間信息,對照各種控制策略時間表,發(fā)布開關(guān)燈及調(diào)光控制指令。 24C64是容量為 8KB、支持兩線的 I2C串行通信、 1000000 次擦寫的 E2PROM。組群控制器可以實現(xiàn)遠程時鐘校準(zhǔn)。 I2C串行總線 SCL和 SDA分別需要一個上拉電阻。組群控制器采用 DS1302 時鐘芯片,為系統(tǒng)提供實時時鐘。實際證明該電路是有效的。電阻 R32為上拉電阻,保證 RE2出現(xiàn)三態(tài)時光耦不產(chǎn)生誤導(dǎo)通。保持電路的關(guān)鍵在于 RE0、 RE RE2單個引腳誤動作無法產(chǎn)生有效時鐘和控制指令。因此 “ 鎖定 ” 復(fù)位前狀態(tài),對保證系統(tǒng)可靠性非常重要。固體繼電器為 DC3~ 24V 輸入, AC220V輸出,其輸入由 NPN型三極管 9013驅(qū)動。這里MAX485芯片作為 485 總線接口轉(zhuǎn)換芯片,用 RC2作為 RS485總線通信輸入 /輸出使能控制端,控制信號的讀入和送出。 電能計量模塊為單獨模塊,能夠測量供電線路的電壓、電流、功率 、功率因數(shù)等參數(shù),并具有標(biāo)準(zhǔn)的 RS485接口。 PIC16F873的 SPI接口工作在從模式下, PIC16F877需要選用一個普通 I/O口(這里是RB4)與 PIC16F873 的 SPI 通信控制端 RA4/SS 相連,控制 SI通信的發(fā)起與結(jié)束,如圖 5所示。根據(jù)系統(tǒng)端口配置需要, PIC16F873采 用硬件 SPI接口方式, PIC16F877 采用普通 I/O口 RB1~ RB3來模擬硬件 SPI口,即軟件 第 25 頁 SPI接口。主從 CPU的可靠通信,是組群控制器可靠工作的關(guān)鍵之一。以實現(xiàn)家用電器及樓宇自控系統(tǒng)的網(wǎng)絡(luò)互聯(lián)、互操 ,特別是在樓宇自控領(lǐng)域和多表集抄系統(tǒng)中已經(jīng)得到了實際應(yīng)用 。當(dāng)始載波電路處于發(fā)射狀態(tài)時 ,將 ST7536的第 10引腳 ,即測試引腳接 VCC, 在零線和火線之間連接 ,用示波器觀測零線和火線之間的波形 ,正常應(yīng)為 72KHz、峰峰值大于等于 7V ,若信號失真調(diào)整則調(diào)整相關(guān)電容。 ,頻率偏移調(diào)整 C35C37,每增加 1nF,中心頻率下降 。本系統(tǒng)采用后者。接收靈敏度的均方根值在信道 1和信道 2(600 baud)上是 2mV。 RAI是 ST7536的接收模擬輸入。模擬發(fā)送輸出由自動等級控制輸入電路來調(diào)整。 其中框圖左端包括來自 ST7536的 ATO和 RAI 及 RX/TX, RX/TX是數(shù)字信號 ,控制收發(fā)轉(zhuǎn)換。同樣 ,從電力線來的載波信號又要由 ST7536 接收 , 第 24 頁 而電力線上的干擾信號很不確定且非常復(fù)雜 ,所以需要一個帶通濾波器 ,通過 ~ (本系統(tǒng)采用 72kHz 載頻 ),經(jīng)過預(yù)放大后再送到ST7536的接收端。 從 ST7536輸出 的信號幅度小、驅(qū)動能力弱而且還有各種諧波 ,因此必須經(jīng)過放大和濾波 ,然后才能通過耦合電路將信號調(diào)制到電力線上。另外它無 CSMA(網(wǎng)絡(luò)載波偵聽 )功能 ,這些限制了它的應(yīng)用。目前 ,在國內(nèi)電力線載波通信領(lǐng)域應(yīng)用廣泛 ,只是各公司應(yīng)用水平不同。 ST7536是 STMicroelectronics 公司專為電力線載波通訊而設(shè)計的 modem 芯片。目前 ,有一、兩款電力線載波 modem芯片在一定應(yīng)用領(lǐng)域可勉強使用。各家公司在標(biāo)準(zhǔn)頻率范圍下 ,針對本地區(qū)電網(wǎng)特點 ,采用各種特定專有技術(shù) ,設(shè)計出各己的電力線載波 modem 芯片。 圖 3 通用通信模塊框圖 第 23 頁 圖 4 電力線接口圖 通信模塊電力線接口電路設(shè)計 國外很早對電力線載波通訊技術(shù)進行了研究 ,多家公司推出了自己的電力線載波 modem芯片 ,并制定了電力線載波適用頻率范圍的標(biāo)準(zhǔn)。 AT89S52 和 ST7536均采用外部硬件上電復(fù)位 ,同時使用 AT89S52 的內(nèi)部看門狗功能 ,對 AT89S52和 ST7536進行必要的復(fù)位 ,以防止系統(tǒng)死機造成網(wǎng)絡(luò)通信中斷。這樣 ,通模塊就可以通過軟件及通信協(xié)議實現(xiàn)對多個實際設(shè)備通信與控制。 AT89S52 和 ST7536之間采用通用串行通信接口 ,用 I2C總線和串行 EEPROM通信 ,EEPROM 采用鐵電的 24C02,此芯片具有無限次可擦寫功能。 電力載波通信模塊 電力載波通信模塊框圖如圖 3所示。 GSM 網(wǎng)絡(luò)本身是不完全可靠的,可能會發(fā)生幀發(fā)送錯誤、幀丟失的現(xiàn)象,但是由于重發(fā)、延時重發(fā)機制的存在,程序可以最大程度避免上述情況的發(fā)生。 主函數(shù)、時鐘中斷和串口中斷程序、 SHELL 函數(shù)、 ExecData 函數(shù)是貫穿整個程序的主線和核心部分,對它們的分析可以理解程序的主體思想,這也正是筆者著重介紹的原因所在。 第 22 頁 標(biāo)志位在程序的實現(xiàn)過程中扮演著非常重要的角色,正是依靠這些標(biāo)志位,程序才能很好地實現(xiàn)各個功能之間的切換,而標(biāo)志位的值是通過 GSM 模塊返回的參數(shù)修改的。這種情況 ExecData 函數(shù)處理起來比較簡單,僅僅 將標(biāo)志位 f_sending 置為 1 即可,表明該數(shù)據(jù)幀需要重發(fā)。接下來遍歷 E2PROM,看是否還有數(shù)據(jù)塊需要發(fā)送。幀號正確的應(yīng)答幀,既可能是確認幀,也可能是非確認幀。ExecData 函數(shù)首先判斷幀號是否正確,從而確定該幀是否是本方期待的應(yīng)答幀。搶占總線后需要判斷命令幀的校驗子是否正確,如 果正確表明該幀數(shù)據(jù)無誤,接著將數(shù)據(jù)寫入 E2PROM 的指定區(qū)域,該指定區(qū)域位于 E2PROM 前兩個數(shù)據(jù)塊的 119~ 134 字節(jié)處,如表 6 所示,并修改相應(yīng)的標(biāo)志位f_ack,準(zhǔn)備向上位機模塊發(fā)送確認幀;如果校驗子不正確,則表明該命令幀錯誤,ExecData函數(shù)將丟棄該命令幀,并置位 f_nack,期待對方重發(fā)。 第一種情況,如果接收到的有效幀的幀號為 00H,則表明該幀為命令幀。按照幀的性質(zhì)來劃分,有效幀分為信息幀和應(yīng)答幀,這在 節(jié)有詳細的介紹。判斷的依據(jù)是判斷幀頭是否為規(guī)定的字符“ WQ”。在這種情況下, SHELL函數(shù)需要對短信內(nèi)容進行分析,并根據(jù)短信的內(nèi)容進行不同的處理,負責(zé)完成以上功能的就是 ExecData函數(shù),它是被 SHELL函數(shù)調(diào)用的,用來分析并處理短信數(shù)據(jù)。其二,當(dāng)下位機模塊發(fā)送完數(shù)據(jù)塊后,在等待對方應(yīng)答幀的過程中,如果在最大的延時范圍內(nèi)沒有收到對方的應(yīng)答幀,SHELL函數(shù)也將會呼叫對方號碼,準(zhǔn)備重新發(fā)送上一數(shù)據(jù)塊,超時 重發(fā)機制在這里得到了反映。其一,當(dāng)單片機和模塊初始化完畢后,如果首次遍歷 E2PROM時發(fā)現(xiàn)有數(shù)據(jù)塊需要發(fā)送, SHELL函數(shù)將會呼叫對方號碼,試圖建立連接,準(zhǔn)備發(fā)送數(shù)據(jù)。 SHELL函數(shù)將首先提取短信數(shù)據(jù)在 SIM 卡中的存放序號,并將此序號存放到單片機 2的指定單元中,然后根據(jù)序號發(fā)送閱讀 短信指令。 還有一個返回參數(shù)比較特殊,即在等待接收返回參數(shù)的過程中接收到了+CMTI。 如果操作失敗,模塊返回 ERROR,也有三種可能的情況,分別是發(fā)短信出錯、閱讀短信出錯、刪除短信出錯。需要說明的是,在同一時刻這三個標(biāo)志位只有其中之一等于 1,這是雙方通信的半雙工協(xié)議所強行 約定的。比如,如果某時刻接收 到 ,這表明呼叫對方模塊號碼獲得成功,接下來需要發(fā)送數(shù)據(jù),這時 SHELL函數(shù)將檢查發(fā)送不同數(shù)據(jù)所代表的標(biāo)志位 f_sending、 f_ack、 f_nack,從而決定需要發(fā)送何種類型的數(shù)據(jù)。根據(jù)系統(tǒng)設(shè)計的要求,需要對 GSM 模塊進行下列操作:呼叫對方模塊號碼、發(fā)送數(shù)據(jù)、閱讀短信、刪除短信。按照雙方通信約定的協(xié)議,如果超過了最大延時 T1,下位機模塊 也將重發(fā)上一幀,重發(fā)的過程也是時鐘中斷服務(wù)程序調(diào)用 SHELL函數(shù)的過程。其一,當(dāng)系統(tǒng)啟動時作為下位機模塊的啟動信號;其二,當(dāng)下位機模塊正常運行時,在發(fā)送完短信后,下位機模塊需要判斷上位機模塊是否收到了短信,判斷的依據(jù)就是上位機模塊是否返回應(yīng)答幀。應(yīng)答幀可以是確認幀,也可以是非確認幀,這可以事先約定。另外,主函數(shù)在完成單片機和 GSM 模塊的初始化后,將立即開放串口中斷,實時接收 GSM 模塊返回的參數(shù)以 及上位機模塊發(fā)來的短信數(shù)據(jù)。一旦遍歷到數(shù)據(jù)塊需要發(fā)送,或者實時接收到了上位機模塊發(fā)送來的短信數(shù)據(jù),主函數(shù)將快速轉(zhuǎn)到時鐘中斷服務(wù)程序來調(diào)用SHELL函數(shù),完成數(shù)據(jù)塊或者應(yīng)答幀的發(fā)送。前者是通過不斷遍歷位尋址區(qū)查尋標(biāo)志位f_sending、 f_ack 、 f_nack 是否被置為 1來實現(xiàn)的。為了使模塊能對返回的參數(shù)采取不同步驟,程序設(shè)置了可以位尋址的標(biāo)志位,分布在在單片機 89C52的位尋址區(qū) 2EH和 2FH兩個字節(jié)單元中 ,如表 9所示。單片機的初始化包括設(shè)置串口工作方式、波特率,并初始化變量參數(shù)和標(biāo)志位。然而,對于 T1而言,情況就有所不同,因為下位機模塊先發(fā)送數(shù)據(jù)幀時,利用 T1的間隙時間上位機模塊發(fā)送的命令幀可能較少,因此當(dāng)下位機模塊先發(fā)送數(shù)據(jù)幀時所定義的 T1應(yīng)該小于當(dāng)上位機模塊先發(fā)送命令幀時所定義的T1,因為當(dāng)上位機模塊先發(fā)送命令幀時,利用 T1 的間隙
點擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1