<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

          多費(fèi)率電能表中基于51單片機(jī)串行口紅外通信的設(shè)計(jì)

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

          3 紅外通信軟件設(shè)計(jì)

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

          多費(fèi)率電能表中基于51單片機(jī)串行口紅外通信的設(shè)計(jì)

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

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

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

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

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

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

          3.3 程序設(shè)計(jì)

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

          4 結(jié)束語

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

          電能表相關(guān)文章:電能表原理

          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();