在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 多費率電能表中基于51單片機串行口紅外通信的設計

            多費率電能表中基于51單片機串行口紅外通信的設計

            作者: 時間:2011-11-04 來源:網(wǎng)絡 收藏

            3 紅外通信軟件設計

            DL/T645-1997《多功能電能表通信》中規(guī)定電能表的紅外載波頻率為38kHz±1kHz;初始速率為1200 bps;通信的字節(jié)格式為8位二進制碼D0~D7,傳輸時加上一個起始位(0),一個偶校驗位P和一個停止位(1),共11位,傳輸時先傳低位,后傳高位,傳輸序列見圖3。根據(jù)以上要求,本設計中紅外載波頻率采用38.4kHz,波特率為1200bps,串行口采用模式3為9位異步通信方式,加1位起始位和1位結(jié)束位,傳送一個字節(jié)數(shù)據(jù)為11位。

            多費率電能表中基于51單片機串行口紅外通信的設計

            3.1 紅外載波和定時器/計數(shù)器T0設置

            紅外載波頻率f2為38.4kHz,當定時器/計數(shù)器T0模式控制器TMOD中C/T=0和M1M0=10時,SSU7301的定時器/計數(shù)器T0設置成模式2方式。此時,TL0和TH0預置成1個可以自動重裝的8位的定時器/計數(shù)器。用軟件將TL0和TH0預置相同的初值后,當TL0計數(shù)值增1溢出時,一方面使TF0置1,申請中斷;另一方面產(chǎn)生的溢出脈沖將TH0的數(shù)據(jù)值自動打入到TL0中去,不需要用軟件對TL0重新置初值。系統(tǒng)的晶振f1為11.0592MHz,則TL0和TH0的初值計算如下:

            f2=38.4kHz 得T=1/f2=1/38.4k≈26×10-6=26 μs
            所以高頻調(diào)制反轉(zhuǎn)的周期TC=T/2=26/2=13μs

            即定時器/計數(shù)器T0的初值TL0=TH0=28-(TC×f1)/12=256-(13×10-6×11.0592×106)/12=256-11.9808≈244=0F4H
            在定時器/計數(shù)器T0的中斷服務程序中只用兩條指令即可實現(xiàn)高頻調(diào)制,即 CPL P3.4和RETI。

            3.2 串行口和定時器/計數(shù)器T1波特率發(fā)生器設置

            串行口采用模式3為9位異步通信方式,波特率為1200bps。由串行口控制寄存器SCON的操作模式選擇位SM0、SM1都置1設置為模式3,當定時器/計數(shù)器T1模式控制器TMOD中C/T=0和M1M0=10時,SSU7301的定時器/計數(shù)器T1設置成模式2方式作為波特率發(fā)生器,其波特率表示為:

            波特率=(T1的溢出率)/ n
            當SMOD=0時,n=32;當SMOD=1時,n=16,(本設計中SMOD=0)則
            波特率=(T1的溢出率)×2SMOD / 32
            T1的溢出率=(f1/12)/(28-T1初值)
            得:波特率=(T1的溢出率)×2SMOD / 32
            =[(f1/12)/(28- T1初值)] ×2SMOD / 32
            得:定時器/計數(shù)器T1初值
            TL1=TH1=28-(f1×2SMOD )/(12×32×波特率)
            =256-(11.0592×106)/( 12×32×1200)
            =256-24=232=0E8H

            3.3 程序設計

            根據(jù)以上兩點參數(shù)的設置,51系列單片機SSU7301的匯編語言程序設計如下:
            ;以下為參數(shù)設置程序
            MOV TMOD, #22H ;定時器/計數(shù)器T0方式2自動重裝模式用于PWM38.4KHZ調(diào)
            ;制用 , 定時器/計數(shù)器T1方式2自動重裝模式用于串行口通訊波特率發(fā)生器
            MOV TH1,#0E8H ;波特率1200時,定時器/計數(shù)器T1自動重裝初值
            MOV TL1,#0E8H
            MOV TH0,#0F4H ;38.4KHz高頻頻調(diào)制時, 定時器/計數(shù)器T0自動重裝初值
            MOV TL0,#0F4H
            SETB ET0 ; 定時器/計數(shù)器T0溢出中斷允許位
            SETB TR1 ; 定時器/計數(shù)器T1開始定時控制位
            SETB TR0 ; 定時器/計數(shù)器T0 開始定時控制位
            MOV PCON,#00H ;SMOD為0不倍增模式
            MOV SCON,#0D0H ;串行口設置為模式3,允許接收
            SETB ES ;串行口允許中斷
            SETB EA ;開總中斷允許位
            ;以下為定時器/計數(shù)器T0中斷溢出服務程序
            ORG 000BH; 定時器/計數(shù)器T0中斷入口地址
            T0SERVE:CPL P3.4 ; 定時器/計數(shù)器T0定時取反P3.4口進行高頻調(diào)制
            RETI ;中斷返回
            ;以下為串行口中斷服務程序,以接收一個字節(jié)數(shù)據(jù)為例,多字節(jié)以此類推
            ORG 0023H;串行口中斷入口地址
            SENDSERVE:NOP
            NOP
            MOV A,SBUF ;把接收緩沖器的數(shù)據(jù)送到A寄存器
            … ;進行數(shù)據(jù)處理及其它功能操作
            RETI ;中斷返回
            ;以下為串行口發(fā)送程序,以發(fā)送一個字節(jié)數(shù)據(jù)為例, 多字節(jié)以此類推
            COMSEND: MOV A,#DATAH ;把數(shù)據(jù)送到A寄存器
            MOV C,P ;根據(jù)A中數(shù)據(jù)產(chǎn)生的偶校驗位送到進位標志位
            MOV TB8,C ;送偶校驗位到發(fā)送的第9位數(shù)據(jù)
            MOV SBUF,A ;送數(shù)據(jù)到發(fā)送緩沖器
            JNB TI,$ ;以查詢方式等待發(fā)送結(jié)束
            CLR TI ;清發(fā)送中斷標志位
            … ;繼續(xù)發(fā)送或其它功能操作
            RET 子程序返回

            4 結(jié)束語

            本設計的最大特點在于省略了脈沖振蕩器,而僅僅利用上所帶單片機的串行口和2個定時器/計數(shù)器,這不僅使在硬件設計上更加簡單、成本更加低廉,而且在軟件上也更加方便、可靠。同時這種紅外通信方式也可以應用在帶串行口和定時器/計數(shù)器的單片機應用領域。

            電能表相關文章:電能表原理

            上一頁 1 2 下一頁

            評論


            相關推薦

            技術(shù)專區(qū)

            關閉