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

正文內(nèi)容

畢業(yè)設(shè)計(jì)--基于at89c51單片機(jī)的遠(yuǎn)程智能電表抄表系統(tǒng)設(shè)計(jì)(參考版)

2024-12-07 20:22本頁面
  

【正文】 ( 2)數(shù)據(jù)雙備份。若正確,寫入;否則退出。每一部分設(shè)置一寫入口令。慢上下電對(duì)微處理器是致命的,這時(shí)不但程序指針 PC 出錯(cuò),還會(huì)產(chǎn)生掉電信號(hào),這極易寫入錯(cuò)誤的數(shù)據(jù)。但在程序指針 PC 出錯(cuò)時(shí)若改變電能數(shù)據(jù)寄存器并把錯(cuò)誤的數(shù)據(jù)寫入 EEPROM 中,這是不允許的。具體措施是,在 N 字節(jié)指令后加 N1 個(gè)空操作指令; 其次,在非程序區(qū),設(shè)置 LJMP0000 的陷阱,使程序能軟件復(fù)位。所以,針 對(duì)以上兩種情況,分別采取不同的方法解決。在本系統(tǒng)中,采取以下幾個(gè)措施: 程序出錯(cuò)時(shí)能自動(dòng)納入正軌 當(dāng)微處理器受到各種干擾時(shí),程序指針 PC 可能出錯(cuò)。本系統(tǒng)中采用光電耦合器既實(shí)現(xiàn)了傳輸信號(hào) ,又隔離了干擾的作用。 電隔離技術(shù) 光電隔離技術(shù)是通過光電耦合器將信號(hào)輸入通道或信號(hào)輸出通道與中央處理單元進(jìn)行隔離 ,光電耦合器將輸入信號(hào)通過內(nèi)部發(fā)光二極管變成光信號(hào) ,然后再由內(nèi)部光敏三極管轉(zhuǎn)變成電信號(hào) ,將輸入均輸出完全實(shí)現(xiàn)了電隔離 ,因而也就完全隔離了輸入和輸出間的各種干擾。一般思路是考慮 24XX 系列,寫入次數(shù)允許 10 萬次,在掉電時(shí)存儲(chǔ),可使用 50 年之久。 5V 采用阻容分壓即可滿足要求,其具體電路見本文相關(guān)部分。通信模塊亦采用線性穩(wěn)壓電源。 5V 供電能采集模塊; +5V 供通信模塊單片機(jī)對(duì)電源要求最高,采用線性穩(wěn)壓電源。 本章小結(jié) 本章詳細(xì)介紹了在整個(gè)底層硬件的基礎(chǔ)上,為了能夠正確實(shí)現(xiàn)遠(yuǎn)程抄表,必要的軟件流程,并且對(duì)相應(yīng)的硬件芯片中的驅(qū)動(dòng)程序也給出了詳細(xì)的說明同時(shí)定義了系統(tǒng)的通信協(xié)議。 字節(jié)之間停頓時(shí)間 Th:Th≤ 500ms。 每次通信都是由主站向按信息幀地址域選擇的從站發(fā)出請(qǐng)求命令幀開始,被請(qǐng)求的從站根據(jù)命令幀中的控制碼的要求作出響應(yīng)。 在發(fā)送幀信息之前,先發(fā)送 1~ 4 個(gè)字節(jié) FEH,以喚醒接收方。 CS:從幀起始符開始到校驗(yàn)碼之前的所有各字節(jié)的模 256 的和,即各字節(jié)二進(jìn)制算術(shù)和,不計(jì)超過 256 的溢出值 。 DATA:數(shù)據(jù)域包括數(shù)據(jù)標(biāo)識(shí)和數(shù)據(jù)、密碼等,其結(jié)構(gòu)隨控制碼的功能而改變。 控制碼 C:控制碼的格式如圖 所示 圖 控制碼格式 D7 O:由主站發(fā)出的命令幀 D7 l:由從站發(fā)出的應(yīng)答幀 D6 0:從站正確應(yīng)答 D6 1:從站對(duì)異常信息的應(yīng)答 DS O:無后續(xù)數(shù)據(jù)幀 DS l:有后續(xù)數(shù)據(jù)幀 D4~ DO:請(qǐng)求及應(yīng)答功能碼 00000:保留 00001:讀數(shù)據(jù) 00010:讀后續(xù)數(shù)據(jù) 00011:重讀數(shù)據(jù) 00100:寫數(shù)據(jù) 01000:廣播校時(shí) 01010:寫設(shè)備地址 01100:更改通信速率 01111:修改密碼 10000:最大需量清零 L:L 為數(shù)據(jù)域的字節(jié)數(shù)。低地址位在先,高地址位在后。地址長(zhǎng)度可達(dá)12 位十進(jìn)制數(shù),可以為表號(hào)、資產(chǎn)號(hào)、用戶號(hào)、設(shè)備號(hào)等。幀格式如表 所示。 D0 是字節(jié)的最低有效位, D7 是字節(jié)的最高有效位,先傳低位,后傳高位。每幀起始符、從站地址域、控制碼、數(shù)據(jù)長(zhǎng)度、數(shù)據(jù)域、幀信息縱向校驗(yàn)碼及幀結(jié)束符等 7 個(gè)部分組成,每部分由若干字節(jié)組成。每個(gè)集中器和采集器均有各自的地址編碼。上位機(jī) PC 與各集中器通信時(shí),集中器為從站 。通信采用的是 USART 口帶有校驗(yàn)位的通信模式,即傳輸 8 位數(shù)據(jù)和第 9 位校驗(yàn)位,波特率設(shè)置為 9600bps,采用中斷查詢方式。 RS 一 485 總線用于多站互連十分方便,用一對(duì)雙絞線即可實(shí)現(xiàn),由于采用平衡發(fā)送和差分接收,即在發(fā)送端,驅(qū)動(dòng)器將竹 L 電平信號(hào)轉(zhuǎn)換成差分信號(hào)輸出 。本系統(tǒng)在采集器與集中器、集中器與上位機(jī)之間的通信都采用 RS 一 485 總線方式設(shè)計(jì)。由于串行通訊方式具有使用線路少、成本低,特別是在遠(yuǎn)程傳輸時(shí),避免了多條線路特性的不一致而被廣泛采用。調(diào)用寫入數(shù)據(jù)子程序 當(dāng)命令字節(jié)為 BE 或 BF 時(shí), DSI302 工作在多字節(jié)傳送模式 8 個(gè)時(shí)鐘舊歷寄存器,從寄存器 0 地址開始連續(xù)讀寫從 0 位開始的數(shù)據(jù),當(dāng)命令字節(jié)為 FE 或FF 時(shí), DSI302 工作在多字節(jié) RAM 傳送模式, 31 個(gè) RAM 寄存器從 0 地址開始連續(xù)讀寫從 0 位開始的數(shù)據(jù)。數(shù)據(jù)地址賦給 RO MOV XmtDat, 80h 。命令字節(jié)為 80 MOV ByteCnt, x 。數(shù)據(jù)內(nèi)容為 0 振蕩工作允許 ACALL Send_Byte 。多字節(jié)傳送模式 MOV RO, XmtDat 。返回調(diào)用本子程序 當(dāng)把秒寄存器的第 7 位時(shí)鐘停止位設(shè)置為 0 時(shí)啟動(dòng)時(shí)鐘開始 : MOV Command, 80H 。數(shù)據(jù)內(nèi)容為 80h 禁止寫入 ACALL Send_Byte 。多字節(jié)傳送 MOV RO, XmtDat 。返回調(diào)用本子程序處 當(dāng)寫保護(hù)寄存器的最高為為 1 時(shí),禁止數(shù)據(jù)寫入寄存器, : MOV Commend, 8EH 。調(diào)用寫數(shù)據(jù)子程序 ACALL SendByte 。多字節(jié)傳送模式 MOV RO, XMTDAT 。 : MOV Command, 8Eh 。 當(dāng)寫保護(hù)寄存器的最高為為 0 時(shí),允許數(shù)據(jù)寫入寄存器,寫保護(hù)寄存器可以通過命令字節(jié) SE、 SF 來規(guī)定禁止寫沁讀出。開中斷 RETI 。等待發(fā)送 CLR TI PO PA 。接收 PC 機(jī)發(fā)送的數(shù)據(jù) MOV SBUF, A 。清串行口中斷標(biāo)志 PUSH DPL 。轉(zhuǎn)主程序 主程序略 ?? INTS: CLR EA 。串行口初始化 MOV PCON 80H SETB EA 。設(shè)置預(yù)置值 MOV THI, OF3H SETB TRI 。轉(zhuǎn)串行口中斷程序 ORG 0050H CSH: MOV THOD, 2OH 。 程序參考如下 : ORG 0000H UMP CSH 。否則信息將丟失。 ?接收 接收時(shí),由 REN 置 1 允許接收,串行口采樣 RXD,當(dāng)采樣 1 到 0 的跳變時(shí),確認(rèn)是起始位“ 0’’,就開始接收一幀數(shù)據(jù)。當(dāng)發(fā)送完一幀數(shù)據(jù)后,置終端標(biāo)志 Tl 為 1。溢出周期為 :12?? 256?X /fosc溢出率為溢出周期的倒數(shù),所以 CPU 通過中斷方式接收 PC 機(jī)發(fā)送的數(shù)據(jù),并回送。設(shè)計(jì)數(shù)的預(yù)置值 初始值 為 X,那么超過 256?X 個(gè)機(jī)器周期,定時(shí)器溢出一次。計(jì)數(shù)速率與 TMOD 寄存器中的 C/T 位有關(guān),當(dāng) C/T 0 時(shí),計(jì) 數(shù)速率為 fosc/l2,當(dāng) C/T 1 時(shí),計(jì)數(shù)速率為外部輸入計(jì)時(shí)頻率。即 :方式 1 和方式 3 的波特率 2SMOD??Tl 溢出率 /32。即波特率 2SMOD??fosc/64。 0 和方式 2 在方式 0 中,波特率 為時(shí)鐘頻率的 1/12,即 fosc/12,固定不變。通過上一小節(jié)的論述,我們已經(jīng)知道, 51 單片機(jī)的串行口通過編程可以有 4 種工作方式。 信設(shè)計(jì) 為了實(shí)現(xiàn)數(shù)據(jù)的傳輸,即能夠從能量采集模塊芯片 AD7755 中,把采集的消耗電能上傳到集中控制器的中心 CPU,則應(yīng)該按照 485 芯片與單片機(jī)的連接進(jìn)行程序控制。單片機(jī)輸入一個(gè)字節(jié)即等同于從 X5045 讀出一個(gè)字節(jié)。 Unsigned . Void //讀狀態(tài)寄存器 。 .4 .2 .3 .5 所針對(duì)的每個(gè)子程序 復(fù)位、計(jì)數(shù)看 門狗 Void RESWDI void if es 0 ?? //則喂狗 If es l ?? //則復(fù)位 void //寫使能復(fù)位 禁止寫 。使其能夠正確的通信。每個(gè)模塊的算法也是本軟件涉及的重要部分,下面對(duì)部分芯片的初始化做一些介紹。 圖 數(shù)據(jù)傳送子程序 軟件初使化設(shè)計(jì) 以上給出了系統(tǒng)中所涉及到的子程序流程框架,顯然每個(gè)部分的正確運(yùn)行對(duì)整個(gè)系統(tǒng)的性能的調(diào)試起到至關(guān)重要的作用。程序流程如圖 所示。 圖 脈沖采集子程序 電表在運(yùn)行的過程中,各個(gè)用戶的電量在不斷的累計(jì)相加,并且進(jìn)入存儲(chǔ)器的電量?jī)?chǔ)存單元中,根據(jù)程序的設(shè)計(jì)要求,每隔一段時(shí)間顯示模塊就顯示用戶的信息,諸如用戶號(hào),用電量等。這樣數(shù)據(jù)的采集就需要一個(gè)個(gè)的去看 PC 機(jī)發(fā)送的什么命令,根據(jù)命令的不同來分支一步一步的處理,如圖 所示。這個(gè)時(shí)候主程序就處于延遲狀態(tài),等待采集程序處理,如圖 所示。 圖 清零子程序的設(shè)計(jì) 主程序中的串行中斷打開,使它處于 PC 機(jī)的接收狀態(tài),還要用中斷的模式來定時(shí)的收集數(shù)據(jù)采集模塊中的能量數(shù)據(jù)。運(yùn)算單元的清零 。 圖 整個(gè)抄表系統(tǒng)的主流程圖 序的設(shè)計(jì) 在整個(gè)抄表系統(tǒng)中,一開始處于運(yùn)行的時(shí)候,為了避免 誤操作而使得電表中保存的數(shù)據(jù)丟失,所以清零程序應(yīng)該在整個(gè)系統(tǒng)的波特率設(shè)置之后就該有效,即通電前按住清零鍵,液晶顯示清零并且開始閃爍,之后松開清零鍵,整個(gè)系統(tǒng)就開始正常運(yùn)行。它是整個(gè)電表的設(shè)計(jì)主線。當(dāng)向 PC 機(jī)應(yīng)答完成后,又返回主程序等待接收 PC 機(jī)的命令。當(dāng)需要集中器進(jìn)一步將 PC 及其發(fā)來的命令向采集器轉(zhuǎn)發(fā)時(shí),則調(diào)用集中器向采集器發(fā)命令子程序;當(dāng)延時(shí)時(shí)間到卻不成功的時(shí)候,就認(rèn)為此次向采集器發(fā)送不成功,則再次向采集器發(fā)送,如果發(fā)送再 次失敗的話,則做故障處理。在主程序中,當(dāng)檢測(cè)到這個(gè)標(biāo)志時(shí),調(diào)用相應(yīng)子程序。當(dāng) PC 機(jī)發(fā)命令時(shí),集中器中斷接收。所以,本文將定時(shí)時(shí)間設(shè)定為半個(gè)小時(shí)。另外,它還要用定時(shí)中斷方式來定時(shí)抄取采集器中儲(chǔ)存的能耗等信息,定時(shí)時(shí)間約半個(gè)小時(shí),之所以將定時(shí)時(shí)間設(shè)定為半個(gè)小時(shí),主要是基于以下考慮 :這里可以簡(jiǎn)單地計(jì)算一下,假設(shè)用戶的月用電量為 200 度,平均每天 7 度、每小時(shí)不到 度,對(duì)于一小時(shí)用戶的電能耗而言,其在采集器中儲(chǔ)存的對(duì)應(yīng)電能耗數(shù)據(jù)變化很小。 表主程序的設(shè)計(jì) 在整個(gè)遠(yuǎn)程抄表系統(tǒng)中,集中器的主要作用是通信,它是采集器和上位微機(jī)PC 之間進(jìn)行信息交換的橋梁和紐帶。 在采集器中,采集器既要接收集中器轉(zhuǎn)發(fā)的命令、進(jìn)行處理,又要進(jìn)行能耗、參數(shù)的預(yù)置和抄取,進(jìn)行預(yù)置時(shí)要寫入存儲(chǔ)器,抄取時(shí)要讀取存儲(chǔ)器 。 其它命令的執(zhí)行路徑與上述命令的執(zhí)行路徑基本相似,不再贅述。第二是在環(huán)境惡劣、干擾嚴(yán)重的情況下,軟件必須保證系統(tǒng)也能可靠地運(yùn)行,這對(duì)系統(tǒng)的整體可靠運(yùn)行尤為重要。 。它是檢測(cè)系統(tǒng)的普遍要求,即要求系統(tǒng)及時(shí)響應(yīng)外部時(shí)間的發(fā)生,并及時(shí)給出處理結(jié)果。因此,在算法選擇和位數(shù)選擇方面要滿足實(shí)際要求、運(yùn)算結(jié)構(gòu)要符合國(guó)家相關(guān)的技術(shù)標(biāo)準(zhǔn)。 。系統(tǒng)軟件的可測(cè)試性有兩方面含義 :其一是較容易制定出 測(cè)試,并據(jù)此對(duì)軟件進(jìn)行測(cè)試 。即使有問題也可以根據(jù)問題的種類和現(xiàn)象來進(jìn)一步判斷是哪一部分出了問題,也為系統(tǒng)功能的擴(kuò)充和移植提供了很大的方便。這樣,不但使得設(shè)計(jì)目標(biāo)明確、思路清晰,而且在檢錯(cuò)和系統(tǒng)聯(lián)機(jī)調(diào)試時(shí)也較為方便。在此過程中可能會(huì)有一些問題逐步暴露,這就要求軟件易被修改,那么,結(jié)構(gòu)化設(shè)計(jì)就是最好的設(shè)計(jì)方法。在軟件的設(shè)計(jì)方法中,結(jié)構(gòu)化程序設(shè)計(jì)就是最好的設(shè)計(jì)方法之一,這種設(shè)計(jì)方法是由整體到局部,再由局部到細(xì)節(jié) 。這通常是指軟件系統(tǒng)容易被發(fā)現(xiàn)和糾正錯(cuò)誤,容易修改和補(bǔ)充。對(duì)高可靠性要求的遠(yuǎn)程抄表系統(tǒng)的設(shè)計(jì)就更是如此。如果說硬件是軀體,那么軟件則是靈魂;如果說硬件決定了產(chǎn)品的造價(jià),那么在硬件設(shè)計(jì)合理的前提下,軟件在很大程度上就決定了產(chǎn)品的性能。 第 4 章 抄表系統(tǒng)軟件設(shè)計(jì) 在微機(jī)測(cè)量和控制系統(tǒng)中,軟件的重要性與硬件同樣重要。 圖 顯示電路連接圖 工作原理 DIN 是串行數(shù)據(jù)的輸入端,在 CLK 上升沿,一位數(shù)據(jù)被加載到內(nèi)部 16 位寄存 器中, CKL 的最高時(shí)鐘頻率可達(dá) 500KHz,在輸入時(shí)鐘信號(hào)的每上上升沿均有一位數(shù)據(jù)由 DIN 移入到內(nèi)部寄存器中 LOAD 來卸載數(shù)據(jù),在 LOAD 上升沿, 16 位串行數(shù)據(jù)被鎖存到數(shù)字或控制器中, LOAD必須在 16個(gè)時(shí)鐘上升沿的同時(shí)或者之后,在下一個(gè)時(shí)鐘上升沿到來之前變高,否則數(shù)據(jù)將會(huì)丟失。在 CLK 的下降沿,數(shù)據(jù)被移入到內(nèi)部移位寄存器,在時(shí)鐘下降沿,數(shù)據(jù)從 DOUT 輸出; DIGI8: 8 位數(shù)字驅(qū)動(dòng)線它從顯示器吸入電流; GND:接地: CON:顯示控制器,低電平選通,高電平顯示無效: DOUT:串行數(shù)據(jù)輸出,輸入到 D
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1