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

正文內(nèi)容

用單片機(jī)c語(yǔ)言實(shí)現(xiàn)多功能電能表通信協(xié)議電能表端(編輯修改稿)

2025-07-04 03:07 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 多的微控制器中,MCS51系列單片機(jī)通用性強(qiáng),價(jià)格便宜,實(shí)用型強(qiáng),其內(nèi)部帶有一個(gè)可用于異步通訊的全雙工的串行通訊接口,可以很方便地構(gòu)成一個(gè)主從式多機(jī)系統(tǒng)來(lái)模擬電能表和數(shù)據(jù)終端設(shè)備。經(jīng)過綜合考慮,本文采用MCS51單片機(jī)模擬電能表的微控制器芯片以及數(shù)據(jù)終端設(shè)備C語(yǔ)言作為MCS一51單片機(jī)程序的開發(fā)語(yǔ)言已經(jīng)成為一種趨勢(shì),單片機(jī)C語(yǔ)言具有一系列優(yōu)點(diǎn)決定:(1)C語(yǔ)言是一種編譯型程序設(shè)計(jì)語(yǔ)言,兼顧了多種高級(jí)語(yǔ)言的特點(diǎn),并具備匯編語(yǔ)言的功能;(2)C語(yǔ)言有功能豐富的庫(kù)函數(shù)、運(yùn)行速度快、編譯效率高、有良好的可移植性,并且可以直接實(shí)現(xiàn)對(duì)系統(tǒng)硬件的控制;(3)C語(yǔ)言是一種結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言,它支持當(dāng)前程序設(shè)計(jì)中廣泛采用的自頂向下結(jié)構(gòu)化程序設(shè)計(jì)技術(shù);(4)C語(yǔ)言程序具有完善的模塊程序結(jié)構(gòu),從而為軟件開發(fā)中采用模塊化程序設(shè)計(jì)方法提供了有力的保障;(5)用C語(yǔ)言來(lái)編寫目標(biāo)系統(tǒng)軟件,會(huì)大大縮短開發(fā)周期,且明顯的增加軟件的可讀性,便于改進(jìn)和擴(kuò)充,從而研制出規(guī)模更大、性能更完備的系統(tǒng)。單片機(jī)C語(yǔ)言具有的一系列優(yōu)點(diǎn),以及使用C語(yǔ)言進(jìn)行程序設(shè)計(jì)已成為軟件開發(fā)的一個(gè)主流。C語(yǔ)言程序具有操作簡(jiǎn)單,可移植性強(qiáng),能很好的滿足該協(xié)議,用單片機(jī)C語(yǔ)言實(shí)現(xiàn)多功能電能表通信協(xié)議具有相當(dāng)實(shí)用的價(jià)值。本文采用C語(yǔ)言編程開發(fā)實(shí)現(xiàn)DL/T6452007《多功能電能表的通信協(xié)議》。方案論證 第三章 方案論證 DL/T6452007《多功能電能表通信協(xié)議》介紹DL/T645于1997年發(fā)布第一版,2007年經(jīng)過修訂發(fā)布第二版。兩版標(biāo)準(zhǔn)從結(jié)構(gòu)上差別不大,主要是控制命令、通信項(xiàng)的擴(kuò)充和數(shù)據(jù)標(biāo)識(shí)的重新梳理,下面以DL/T 6452007為例作個(gè)簡(jiǎn)單介紹。該標(biāo)準(zhǔn)適用于本地系統(tǒng)中多功能電能表與手持單元或其他數(shù)據(jù)終端設(shè)備進(jìn)行點(diǎn)對(duì)點(diǎn)的或一主多從的數(shù)據(jù)交換方式,是主從結(jié)構(gòu)的半雙工通信。標(biāo)準(zhǔn)根據(jù)簡(jiǎn)易開放系統(tǒng)互聯(lián)模型分為物理層、數(shù)據(jù)鏈路層、應(yīng)用層。物理層部分定義了三種通信接口:接觸式紅外接口、調(diào)制型紅外接口和RS485電氣接口,接觸式紅外接口和調(diào)制型紅外接口用于在實(shí)驗(yàn)室或現(xiàn)場(chǎng)環(huán)境下一對(duì)一的電能表抄設(shè),RS485電氣接口可通過總線連接實(shí)現(xiàn)一主多從的通信。通信鏈路的建立與解除均由主站發(fā)出的信息幀來(lái)控制。每幀由幀起始符、從站地址域、控制碼、數(shù)據(jù)域長(zhǎng)度、數(shù)據(jù)域、幀信息縱向校驗(yàn)碼及幀結(jié)束符7個(gè)域組成。每部分由若干字節(jié)組成。每字節(jié)含8位二進(jìn)制碼,傳輸時(shí)加上一個(gè)起始位(0)、一個(gè)偶校驗(yàn)位和一個(gè)停止位(1), 共 11位。其傳輸序列如圖31。D0 是字節(jié)的最低有效位,D7 是字節(jié)的最高有效位。先傳低位,后傳高位。字節(jié)格式如圖1所示。圖1 字節(jié)格式幀是傳送信息的基本單元。幀格式如圖2 所示。說 明代 碼幀起始符68H地址域A0A1A2A3A4A5幀起始符68H控制碼C數(shù)據(jù)域長(zhǎng)度L數(shù)據(jù)域DATA校驗(yàn)碼CS結(jié)束符16H圖2 幀格式幀是由十六進(jìn)制字節(jié)數(shù)組組成,每個(gè)字節(jié)在傳輸時(shí)加上1個(gè)起始位(0),1個(gè)偶校驗(yàn)位和一個(gè)停止位(1)。1)幀起始符和幀結(jié)束符顧名思義分別代表一幀信息的開始和結(jié)束。主站在下發(fā)命令幀時(shí)需要在第一個(gè)幀起始符前加上三個(gè)FEH,起到喚醒電能表的作用,以便使電能表處于接收狀態(tài)。2)地址域地址域代表從站的通信地址,位于兩個(gè)68H之間,由6個(gè)字節(jié)12位十進(jìn)制數(shù)表示。當(dāng)?shù)刂酚驗(yàn)椤?99999999999時(shí)代表廣播地址,在總線方式下可以下發(fā)廣播命令,從站收到命令無(wú)需應(yīng)答。地址域還支持AAH通配符,方便現(xiàn)場(chǎng)維護(hù)工人輸入通信地址。3)控制碼控制碼用1字節(jié)十六進(jìn)制編碼,該標(biāo)準(zhǔn)定義了12個(gè)控制命令,包括讀數(shù)據(jù)、讀后續(xù)數(shù)據(jù)、讀通信地址、寫數(shù)據(jù)、寫通信地址、廣播校時(shí)、凍結(jié)、更改通信速率、修改密碼、最大需量清零、電表清零、事件清零,控制碼格式見圖3。圖3 控制碼結(jié)構(gòu)4)數(shù)據(jù)域長(zhǎng)度數(shù)據(jù)域長(zhǎng)度用一字節(jié)表示,它的數(shù)值即為數(shù)據(jù)域的字節(jié)數(shù)量。5)數(shù)據(jù)域數(shù)據(jù)域是主從站傳遞數(shù)據(jù)的區(qū)域,在標(biāo)準(zhǔn)中數(shù)據(jù)域可包含數(shù)據(jù)標(biāo)識(shí)、密碼、操作者代碼、數(shù)據(jù)、幀序號(hào)等,具體內(nèi)容根據(jù)控制碼不同而不同。為防止出現(xiàn)連續(xù)多個(gè)“1’’或“0”,在發(fā)送前數(shù)據(jù)域每個(gè)字節(jié)要做加33H處理,并且要將字節(jié)順序顛倒傳輸。而接收方應(yīng)該將數(shù)據(jù)域按字節(jié)減33H處理,然后顛倒順序進(jìn)行解析。數(shù)據(jù)域的字節(jié)數(shù)也有限制,讀數(shù)據(jù)時(shí)不應(yīng)超過200字節(jié),寫數(shù)據(jù)時(shí)不應(yīng)超過50字節(jié)。6)校驗(yàn)碼DL/T6452007采取的校驗(yàn)方式為累加校驗(yàn)和,即從第一個(gè)幀起始符開始到校驗(yàn)碼之前的所有各字節(jié)的模256的和。通信時(shí)標(biāo)準(zhǔn)要求收到命令幀后的響應(yīng)延時(shí)為20ms~500ms,字節(jié)間的停頓延時(shí)應(yīng)小于500ms。標(biāo)準(zhǔn)為每個(gè)通信的數(shù)據(jù)項(xiàng)都定義了一個(gè)數(shù)據(jù)標(biāo)識(shí)與之對(duì)應(yīng),數(shù)據(jù)標(biāo)識(shí)用4字節(jié)表示,分七大類:電能量、最大需量及發(fā)生時(shí)間、變量、事件記錄、參變量、凍結(jié)量、負(fù)荷記錄。數(shù)據(jù)項(xiàng)采用壓縮BCD碼或ASCII表示。 整體設(shè)計(jì)思想本設(shè)計(jì)研究電能表端如何實(shí)現(xiàn)該協(xié)議,該協(xié)議中手持單元或其它數(shù)據(jù)終端為主站,多功能電能表為從站,為實(shí)現(xiàn)這一協(xié)議,必須有電能表的微控制器芯片以及相應(yīng)的數(shù)據(jù)終端。MCS51系列單片機(jī)由于內(nèi)部帶有一個(gè)可用于異步通訊的全雙工的串行通訊接口,因此可以很方便地構(gòu)成一個(gè)主從式多機(jī)系統(tǒng)來(lái)模擬電能表和數(shù)據(jù)終端來(lái)實(shí)現(xiàn)該協(xié)議。本文使用MCS51單片機(jī)模擬多功能電能表的微控制器,模擬成從站,即單片機(jī)多機(jī)通信系統(tǒng)中的從站,使用相同的單片機(jī)模擬數(shù)據(jù)終端設(shè)備作為主站,即單片機(jī)多機(jī)通信系統(tǒng)中的主站。所以本設(shè)計(jì)的總體思想即用MCS51單片機(jī)的多機(jī)通信系統(tǒng)模擬實(shí)現(xiàn)多功能電能表的通信協(xié)議,設(shè)計(jì)重點(diǎn)在電能表微控制器部分的實(shí)現(xiàn),也就是MCS51單片機(jī)的多機(jī)通信系統(tǒng)中從機(jī)部分。本設(shè)計(jì)以C語(yǔ)言作為單片機(jī)開發(fā)語(yǔ)言,利用Proteus軟件做電路仿真,利用keil軟件做程序設(shè)計(jì),結(jié)合兩個(gè)軟件運(yùn)行。該協(xié)議物理層部分定義了三種通信接口:接觸式紅外接口、調(diào)制型紅外接口和RS485電氣接口,接觸式紅外接口和調(diào)制型紅外接口用于在實(shí)驗(yàn)室或現(xiàn)場(chǎng)環(huán)境下一對(duì)一的電能表抄設(shè),RS485電氣接口可通過總線連接實(shí)現(xiàn)一主多從的通信。因?yàn)楸驹O(shè)計(jì)模擬實(shí)現(xiàn)一主多從的通信,所以采用RS485接口通信方式。 單片機(jī)的串行口簡(jiǎn)介 單片機(jī)概述單片微型計(jì)算機(jī)(Single Chip Microputer)簡(jiǎn)稱單片機(jī),又稱MCU(Micro Controller Unit),是將計(jì)算機(jī)的基本部分微型化,、ROM、RAM、并行I/O、串行I/O、定時(shí)器/計(jì)數(shù)器、中斷控制、系統(tǒng)時(shí)鐘及系統(tǒng)總線等。 現(xiàn)代的單片機(jī)普遍具備通信接口,可以很方便地與計(jì)算機(jī)進(jìn)行數(shù)據(jù)通信,為在計(jì)算機(jī)網(wǎng)絡(luò)和通信設(shè)備間的應(yīng)用提供了極好的物質(zhì)條件,現(xiàn)在的通信設(shè)備基本上都實(shí)現(xiàn)了單片機(jī)智能控制,從手機(jī),電話機(jī)、小型程控交換機(jī)、樓宇自動(dòng)通信呼叫系統(tǒng)、列車無(wú)線通信、再到日常工作中隨處可見的移動(dòng)電話,集群移動(dòng)通信,無(wú)線電對(duì)講機(jī)等。本文在研究傳統(tǒng)的多機(jī)通信系統(tǒng)的基礎(chǔ)上,設(shè)計(jì)了一種基于MCS-51系列單片機(jī)AT89S52 的多機(jī)通信系統(tǒng),模擬多功能電能表以及數(shù)據(jù)終端設(shè)備來(lái)實(shí)現(xiàn)多功能電能表的通信協(xié)議。 單片機(jī)的串行口的結(jié)構(gòu)MCS51單片機(jī)內(nèi)部有一個(gè)全雙工的串行通信口,即串行接收和發(fā)送緩沖器(SBUF),這兩個(gè)在物理上獨(dú)立的接發(fā)送器,既可以接收數(shù)據(jù)也可以發(fā)送數(shù)據(jù)。但接收緩沖器只能讀出不能寫入,而發(fā)送緩沖器剛只能寫入不能讀出。這個(gè)通信口既可以用于網(wǎng)絡(luò)通信,亦可以實(shí)現(xiàn)串行異步通信,還可以構(gòu)成同步移位寄存器使用。如果在傳行口的輸入輸出引腳上加上電平轉(zhuǎn)換器,就可以方便地構(gòu)成標(biāo)準(zhǔn)的RS232接口。80C51單片機(jī)的串行口的結(jié)構(gòu)如圖4所示。圖4 80C51單片機(jī)的串行口的結(jié)構(gòu)串行口有兩個(gè)物理上獨(dú)立的接收、發(fā)送緩沖器SBUF,它們占用同一地址99H ;接收器是雙緩沖結(jié)構(gòu);發(fā)送緩沖器,因?yàn)榘l(fā)送時(shí)CPU是主動(dòng)的,不會(huì)產(chǎn)生重疊錯(cuò)誤。 80C51串行口的控制寄存器1.特殊功能寄存器SCON SCON 是一個(gè)特殊功能寄存器,用以設(shè)定串行口的工作方式、接收/發(fā)送控制以及設(shè)置狀態(tài)標(biāo)志,字節(jié)地址為98H。SCON寄存器的各位定義如表1所示。位76543210 字節(jié)地址:98HSM0SM1SM2RENTB8RB8TI RISCON 表1 SCON寄存器SM0和SM1為工作方式選擇位,可選擇四種工作方式,如表2所示。SM0SM1方式說明波特率000移位寄存器fosc/1201110位異步收發(fā)器(8位數(shù)據(jù))可變10211位異步收發(fā)器(9位數(shù)據(jù))fosc/64或fosc/3211311位異步收發(fā)器(9位數(shù)據(jù))可變表2 串口通信4種工作方式SM2為多機(jī)通信控制位,主要用于方式2和方式3。當(dāng)接收機(jī)的SM2=1時(shí)可以利用收到的RB8來(lái)控制是否激活RI(RB8=0時(shí)不激活RI,收到的信息丟棄;RB8=1時(shí)收到的數(shù)據(jù)進(jìn)入SBUF,并激活RI,進(jìn)而在中斷服務(wù)中將數(shù)據(jù)從SBUF讀走)。當(dāng)SM2=0時(shí),不論收到的RB8為0和1,均可以使收到的數(shù)據(jù)進(jìn)入SBUF,并激活RI(即此時(shí)RB8不具有控制RI激活的功能)。通過控制SM2,可以實(shí)現(xiàn)多機(jī)通信。在方式0時(shí),SM2必須是0。在方式1時(shí),若SM2=1,則只有接收到有效停止位時(shí),RI才置1。REN為允許串行接收位。由軟件置REN=1,則啟動(dòng)串行口接收數(shù)據(jù);若軟件置REN=0,則禁止接收。TB8用在方式2或方式3中,是發(fā)送數(shù)據(jù)的第九位,可以用軟件規(guī)定其作用??梢杂米鲾?shù)據(jù)的奇偶校驗(yàn)位,或在多機(jī)通信中,作為地址幀/數(shù)據(jù)幀的標(biāo)志位(在方式0和方式1中,該位未用) 。RB8用在方式2或方式3中,是接收到數(shù)據(jù)的第九位,作為奇偶校驗(yàn)位或地址幀/數(shù)據(jù)幀的標(biāo)志位。在方式1時(shí),若SM2=0,則RB8是接收到的停止位。TI,發(fā)送中斷標(biāo)志位。在方式0時(shí),當(dāng)串行發(fā)送第8位數(shù)據(jù)結(jié)束時(shí),或在其它方式,串行發(fā)送停止位的開始時(shí),由內(nèi)部硬件使TI置1,向CPU發(fā)中斷申請(qǐng)。在中斷服務(wù)程序中,必須用軟件將其清0,取消此中斷申請(qǐng)。RI,接收中斷標(biāo)志位。在方式0時(shí),當(dāng)串行接收第8位數(shù)據(jù)結(jié)束時(shí),或在其它方式,串行接收停止位的中間時(shí),由內(nèi)部硬件使RI置1,向CPU發(fā)中斷申請(qǐng)。也必須在中斷服務(wù)程序中,用軟件將其清0,取消此中斷申請(qǐng)[7]。2.特殊功能寄存器PCONPCON的字節(jié)地址為87H,它的第7位SMOD是與串口通信波特率的設(shè)置有關(guān)的選擇位。SMOD()為波特率倍增位。在串行口方式方式方式3時(shí),波特率與SMOD有關(guān),當(dāng)SMOD=1時(shí),波特率提高一倍。復(fù)位時(shí),SMOD=0。 80C51單片機(jī)串行口的工作方式 設(shè)置SCON寄存器的SM0、SM1=0 0時(shí),串行口工作于方式0。此時(shí),串行口為同步移位寄存器的輸入輸出方式。主要用于擴(kuò)展并行輸入或輸出口。數(shù)據(jù)由RXD()引腳輸入或輸出,同步移位脈沖由TXD()引腳輸出。發(fā)送和接收均為8位數(shù)據(jù),低位在先,高位在后。波特率固定為fosc/12。其中fosc為時(shí)鐘頻率。 設(shè)置SCON寄存器的SM0、SM1=0 1時(shí),串行口工作于方式1。方式1是10位數(shù)據(jù)的異步通信口。TXD為數(shù)據(jù)發(fā)送引腳,RXD為數(shù)據(jù)接收引腳,傳送一幀數(shù)據(jù)的格式如圖所示。其中1位起始位,8位數(shù)據(jù)位,1位停止位。 用軟件置REN為1時(shí),接收器以所選擇波特率的16倍速率采樣RXD引腳電平,檢測(cè)到RXD引腳輸入電平發(fā)生負(fù)跳變時(shí),則說明起始位有效,將其移入輸入移位寄存器,并開始接收這一幀信息的其余位。接收過程中,數(shù)據(jù)從輸入移位寄存器右邊移入,起始位移至輸入移位寄存器最左邊時(shí),控制電路進(jìn)行最后一次移位。當(dāng)RI=0,且SM2=0(或接收到的停止位為1)時(shí),將接收到的9位數(shù)據(jù)的前8位數(shù)據(jù)裝入接收SBUF,第9位(停止位)進(jìn)入RB8,并置RI=1,向CPU請(qǐng)求中斷。方式一的輸入輸出圖如圖6所示。圖5 方式1輸入圖6 方式1輸出設(shè)置SCON寄存器的SM0、SM1=1 0時(shí),串行口工作于方式2,當(dāng)SM0、SM1=1 1時(shí),串行口工作于方式3。方式2或方式3為11位數(shù)據(jù)的異步通信口。TXD為數(shù)據(jù)發(fā)送引腳,RXD為數(shù)據(jù)接收引腳 。方式2和方式3時(shí)起始位1位,數(shù)據(jù)9位(含1位附加的第9位,發(fā)送時(shí)為SCON中的TB8,接收時(shí)為RB8),停止位1位,一幀數(shù)據(jù)為11位。方式2的波特率固定為晶振頻率的1/64或1/32,方式3的波特率由定時(shí)器T1的溢出率決定。 方式2和方式3輸出:發(fā)送開始時(shí),先把起始位0輸出到TXD引腳,然后發(fā)送移位寄存器的輸出位(D0)到TXD引腳。每一個(gè)移位脈沖都使輸出移位寄存器的各位右移一位,并由TXD引腳輸出。第一次移位時(shí),停止位“1”移入輸出移位寄存器的第9位上 ,以后每次移位,左邊都移入0。當(dāng)停止位移至輸出位時(shí),左邊其余位全為0,檢測(cè)電路檢測(cè)到這一條件時(shí),使控制電路進(jìn)行最后一次移位,并置TI=1,向CPU請(qǐng)求中斷。發(fā)送時(shí)序圖如下圖7所示。圖7 方式2或方式3的發(fā)送時(shí)序圖方式2和方式3輸入:接收時(shí),數(shù)據(jù)從右邊移入輸入移位寄存器,在起始位0移到最左邊時(shí),控制電路進(jìn)行最后一次移位。當(dāng)RI=0,且SM2=0(或接收到的第9位數(shù)據(jù)為1)時(shí),接收到的數(shù)據(jù)裝入接收緩沖器SBUF和RB8(接收數(shù)據(jù)的第9位),置RI=1,向CPU請(qǐng)求中斷。如果條件不滿足,則數(shù)據(jù)丟失,且不置位RI,繼續(xù)搜索RXD引腳的負(fù)跳變。接收時(shí)序圖如圖8所示。圖8 方式2或方式3的接收時(shí)序圖在串行通信中,收發(fā)雙方對(duì)發(fā)送或接收數(shù)據(jù)的速率要有約定。通過軟件可對(duì)單片機(jī)串行口編程為四種工作方式,其中方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可變的,由定時(shí)器T1的溢出率來(lái)決定。串行口的四種工作方式對(duì)應(yīng)三種波特率。由于輸入的移位時(shí)鐘的來(lái)源不同,所以,各種方式的波特率計(jì)算公式也不相同。方式0的波特率 =
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1