沈樵综合在线,一区二区三区乱码,免费资源一区二区三区,91超碰碰,av极品一线天,日韩免费高清一区二区,国产蜜尤福利在线,嗯啊91在线观看,精品一区二三

產品推薦:水表|流量計|壓力變送器|熱電偶|液位計|冷熱沖擊試驗箱|水質分析|光譜儀|試驗機|試驗箱


儀表網>技術中心>應用設計>正文

歡迎聯系我

有什么可以幫您? 在線咨詢

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

   2012年03月29日 17:41  
  摘要:利用單片機的串行口、定時器/計數器T0、定時器/計數器T1、紅外發(fā)射管和紅外接收管等簡單的軟硬件就可靠地實現了多費率電能表的紅外通信功能。本設計詳細介紹了串行口紅外通信的軟硬件設計方法,并給出了具體的電路原理圖、波形圖和51單片機程序。
  
  引言
  
  多費率電能表是我國目前節(jié)約用電和計劃用電政策下*的電能計量產品,多費率電能表的通信接口一般兼有紅外接口和RS485接口。紅外通信具有直觀、操作簡便、可靠性高等優(yōu)點,是電能表中使用zui為普遍的一種通信方式,是電能表和掌機之間實現抄表、編程、校時、數據管理等功能的有效手段。采用新茂單片機SSU7301(51系列)、日本光電子公司的紅外發(fā)射管SE303和紅外接收管PIC12043,以及單片機串行口、2個定時器/計數器可以有效地實現紅外通信功能。
  
  1、紅外通信原理
  
  紅外通信是利用波長為900nm~1000nm的紅外波作為信息的載體,發(fā)射裝置把二進制信號經過高頻調制后發(fā)送出去,接收裝置把接收的紅外高頻信號進行解調為原來信息的一種通信傳輸方式。其中調制方式有脈寬調制(通過改變脈沖寬度調制信號PWM)和脈時調制(通過改變脈沖串之間時間間隔調制信號PPM)兩種,本文采用PPM脈時調制方式。
  
  2、串行口紅外通信硬件設計
  
  多費率電能表的紅外發(fā)射和紅外接收電路主要包括新茂單片機SSU7301、日本光電子公司的紅外發(fā)射管SE303和紅外接收管PIC12043,以及驅動三極管8550、電阻和電容,紅外通信硬件原理圖見圖1。
  
  2.1紅外發(fā)射硬件設計
  
  紅外發(fā)射是利用單片機SSU7301的串行數據發(fā)送口TXD(P3.1)控制驅動三極管BG1進行二進制數據“0”和“1”的傳輸(數據由串行發(fā)送緩沖器SBUF中送出),以及利用P3.4口控制驅動三極管BG2進行高頻38.4kHz調制(高頻驅動信號由定時器/計數器T0的方式2自動重裝模式產生),從而可靠地實現了紅外發(fā)射管D1在傳輸數據“0”時進行高頻紅外發(fā)射和數據“1”時被截止的發(fā)射功能。狀態(tài)關系見表1,波形見圖2。
  
  2.2紅外接收硬件設計
  
  紅外接收是利用紅接收管PIC12034收到高頻信號輸出低電平確定為數據“0”,而沒收到高頻信號輸出高電平確定為數據“1”的方式經過解調,把數據通過單片機SSU7301的串行數據接收口RXD(P3.0)進行串行方式接收(接收數據存儲在串行口緩沖器SBUF中)。
  
  3、紅外通信軟件設計
  
  DL/T645-1997《多功能電能表通信》中規(guī)定電能表的紅外載波頻率為38kHz±1kHz;初始速率為1200bps;通信的字節(jié)格式為8位二進制碼D0~D7,傳輸時加上一個起始位(0),一個偶校驗位P和一個停止位(1),共11位,傳輸時先傳低位,后傳高位,傳輸序列見圖3。根據以上要求,本設計中紅外載波頻率采用38.4kHz,波特率為1200bps,串行口采用模式3為9位異步通信方式,加1位起始位和1位結束位,傳送一個字節(jié)數據為11位。
  
  3.1紅外載波和定時器/計數器T0設置
  
  紅外載波頻率f2為38.4kHz,當定時器/計數器T0模式控制器TMOD中C/T=0和M1M0=10時,SSU7301的定時器/計數器T0設置成模式2方式。此時,TL0和TH0預置成1個可以自動重裝的8位的定時器/計數器。用軟件將TL0和TH0預置相同的初值后,當TL0計數值增1溢出時,一方面使TF0置1,申請中斷;另一方面產生的溢出脈沖將TH0的數據值自動打入到TL0中去,不需要用軟件對TL0重新置初值。系統(tǒng)的晶振f1為11.0592MHz,則TL0和TH0的初值計算如下:
  
  f2=38.4kHz得T=1/f2=1/38.4k≈26×10-6=26μs
  
  所以高頻調制反轉的周期TC=T/2=26/2=13μs
  
  即定時器/計數器T0的初值TL0=TH0=28-(TC×f1)/12=256-(13×10-6×11.0592×106)/12=256-11.9808≈244=0F4H
  
  在定時器/計數器T0的中斷服務程序中只用兩條指令即可實現高頻調制,即CPLP3.4和RETI。
  
  3.2串行口和定時器/計數器T1波特率發(fā)生器設置
  
  串行口采用模式3為9位異步通信方式,波特率為1200bps。由串行口控制寄存器SCON的操作模式選擇位SM0、SM1都置1設置為模式3,當定時器/計數器T1模式控制器TMOD中C/T=0和M1M0=10時,SSU7301的定時器/計數器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
  
  得:定時器/計數器T1初值
  
  TL1=TH1=28-(f1×2SMOD)/(12×32×波特率)
  
  =256-(11.0592×106)/(12×32×1200)
  
  =256-24=232=0E8H
  
  3.3程序設計
  
  根據以上兩點參數的設置,51系列單片機SSU7301的匯編語言程序設計如下:
  
  ;以下為參數設置程序
  
  MOVTMOD,#22H;定時器/計數器T0方式2自動重裝模式用于PWM38.4KHZ調
  
  ;制用,定時器/計數器T1方式2自動重裝模式用于串行口通訊波特率發(fā)生器
  
  MOVTH1,#0E8H;波特率1200時,定時器/計數器T1自動重裝初值
  
  MOVTL1,#0E8H
  
  MOVTH0,#0F4H;38.4KHz高頻頻調制時,定時器/計數器T0自動重裝初值
  
  MOVTL0,#0F4H
  
  SETBET0;定時器/計數器T0溢出中斷允許位
  
  SETBTR1;定時器/計數器T1開始定時控制位
  
  SETBTR0;定時器/計數器T0開始定時控制位
  
  MOVPCON,#00H;SMOD為0不倍增模式
  
  MOVSCON,#0D0H;串行口設置為模式3,允許接收
  
  SETBES;串行口允許中斷
  
  SETBEA;開總中斷允許位
  
  ;以下為定時器/計數器T0中斷溢出服務程序
  
  ORG000BH;定時器/計數器T0中斷入口地址
  
  T0SERVE:CPLP3.4;定時器/計數器T0定時取反P3.4口進行高頻調制
  
  RETI;中斷返回
  
  ;以下為串行口中斷服務程序,以接收一個字節(jié)數據為例,多字節(jié)以此類推
  
  ORG0023H;串行口中斷入口地址
  
  SENDSERVE:NOP
  
  NOP
  
  MOVA,SBUF;把接收緩沖器的數據送到A寄存器
  
  …;進行數據處理及其它功能操作
  
  RETI;中斷返回
  
  ;以下為串行口發(fā)送程序,以發(fā)送一個字節(jié)數據為例,多字節(jié)以此類推
  
  COMSEND:MOVA,#DATAH;把數據送到A寄存器
  
  MOVC,P;根據A中數據產生的偶校驗位送到進位標志位
  
  MOVTB8,C;送偶校驗位到發(fā)送的第9位數據
  
  MOVSBUF,A;送數據到發(fā)送緩沖器
  
  JNBTI,$;以查詢方式等待發(fā)送結束
  
  CLRTI;清發(fā)送中斷標志位
  
  …;繼續(xù)發(fā)送或其它功能操作
  
  RET子程序返回
  
  4、結束語
  
  本設計的zui大特點在于省略了脈沖振蕩器,而僅僅利用多費率電能表上所帶單片機的串行口和2個定時器/計數器,這不僅使多費率電能表在硬件設計上更加簡單、成本更加低廉,而且在軟件上也更加方便、可靠。同時這種紅外通信方式也可以應用在帶串行口和定時器/計數器的單片機應用領域。

免責聲明

  • 凡本網注明“來源:儀表網”的所有作品,均為浙江興旺寶明通網絡有限公司-儀表網合法擁有版權或有權使用的作品,未經本網授權不得轉載、摘編或利用其它方式使用上述作品。已經本網授權使用作品的,應在授權范圍內使用,并注明“來源:儀表網”。違反上述聲明者,本網將追究其相關法律責任。
  • 本網轉載并注明自其它來源(非儀表網)的作品,目的在于傳遞更多信息,并不代表本網贊同其觀點或和對其真實性負責,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網站或個人從本網轉載時,必須保留本網注明的作品第一來源,并自負版權等法律責任。
  • 如涉及作品內容、版權等問題,請在作品發(fā)表之日起一周內與本網聯系,否則視為放棄相關權利。
聯系我們

客服熱線: 18758282240(同微信)

加盟熱線: 18758282240(同微信)

媒體合作: 0571-87759945

投訴熱線: 0571-87759942

關注我們
  • 下載儀表站APP

  • Ybzhan手機版

  • Ybzhan公眾號

  • Ybzhan小程序

溫馨提示

該企業(yè)已關閉在線交流功能

德清县| 图木舒克市| 韶关市| 阿尔山市| 桂林市| 鹿邑县| 通渭县| 凤山市| 固安县| 衢州市| 兴和县| 安顺市| 新昌县| 盐源县| 栾城县| 丰原市| 尼玛县| 文登市| 安吉县| 曲阜市| 临城县| 巴南区| 黄大仙区| 临桂县| 孝昌县| 黄梅县| 万年县| 江北区| 筠连县| 托克逊县| 中阳县| 杨浦区| 农安县| 裕民县| 阆中市| 安岳县| 仙游县| 上林县| 盐山县| 富平县| 赞皇县|