作者Email: 3-14159265@163.com
摘要:利用單片機的串行口、定時器/計數器T0、定時器/計數器T1、紅外發射管和紅外接收管等簡單的軟硬件就可靠地實現了多費率電能表的紅外通信功能。本設計詳細介紹了串行口紅外通信的軟硬件設計方法,并給出了具體的電路原理圖、波形圖和51單片機程序。
0 引言
多費率電能表是我國目前節約用電和計劃用電政策下不可缺少的電能計量產品,多費率電能表的通信接口一般兼有紅外接口和RS485接口。紅外通信具有直觀、操作簡便、可靠性高等優點,是電能表中使用最為普遍的一種通信方式,是電能表和掌機之間實現抄表、編程、校時、數據管理等功能的有效手段。采用新茂單片機SSU7301(51系列)、日本光電子公司的紅外發射管SE303和紅外接收管PIC12043,以及單片機串行口、2個定時器/計數器可以有效地實現紅外通信功能。
1 紅外通信原理
紅外通信是利用波長為900nm~1000nm的紅外波作為信息的載體,發射裝置把二進制信號經過高頻調制后發送出去,接收裝置把接收的紅外高頻信號進行解調為原來信息的一種通信傳輸方式。其中調制方式有脈寬調制(通過改變脈沖寬度調制信號PWM)和脈時調制(通過改變脈沖串之間時間間隔調制信號PPM)兩種,本文采用PPM脈時調制方式。
2 串行口紅外通信硬件設計
多費率電能表的紅外發射和紅外接收電路主要包括新茂單片機SSU7301、日本光電子公司的紅外發射管SE303和紅外接收管PIC12043,以及驅動三極管8550、電阻和電容,紅外通信硬件原理圖見圖1。
2.1 紅外發射硬件設計
紅外發射是利用單片機SSU7301的串行數據發送口TXD(P3.1)控制驅動三極管BG1進行二進制數據“0”和“1”的傳輸(數據由串行發送緩沖器SBUF中送出),以及利用P3.4口控制驅動三極管BG2進行高頻38.4kHz調制(高頻驅動信號由定時器/計數器T0的方式2自動重裝模式產生),從而可靠地實現了紅外發射管D1在傳輸數據“0”時進行高頻紅外發射和數據“1”時被截止的發射功能。狀態關系見表1,波形見圖2。

2.2 紅外接收硬件設計
紅外接收是利用紅接收管PIC12034收到高頻信號輸出低電平確定為數據“0”,而沒收到高頻信號輸出高電平確定為數據“1”的方式經過解調,把數據通過單片機SSU7301的串行數據接收口RXD(P3.0)進行串行方式接收(接收數據存儲在串行口緩沖器SBUF中)。
3 紅外通信軟件設計
DL/T645-1997《多功能電能表通信》中規定電能表的紅外載波頻率為38kHz±1kHz;初始速率為1200 bps;通信的字節格式為8位二進制碼D0~D7,傳輸時加上一個起始位(0),一個偶校驗位P和一個停止位(1),共11位,傳輸時先傳低位,后傳高位,傳輸序列見圖3。根據以上要求,本設計中紅外載波頻率采用38.4kHz,波特率為1200bps,串行口采用模式3為9位異步通信方式,加1位起始位和1位結束位,傳送一個字節數據為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重新置初值。系統的晶振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的中斷服務程序中只用兩條指令即可實現高頻調制,即 CPL P3.4和RETI。
3.2 串行口和定時器/計數器T1波特率發生器設置
串行口采用模式3為9位異步通信方式,波特率為1200bps。由串行口控制寄存器SCON的操作模式選擇位SM0、SM1都置1設置為模式3,當定時器/計數器T1模式控制器TMOD中C/T=0和M1M0=10時,SSU7301的定時器/計數器T1設置成模式2方式作為波特率發生器,其波特率表示為:
波特率=(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的匯編語言程序設計如下:
;以下為參數設置程序
MOV TMOD, #22H ;定時器/計數器T0方式2自動重裝模式用于PWM38.4KHZ調
;制用 , 定時器/計數器T1方式2自動重裝模式用于串行口通訊波特率發生器
MOV TH1,#0E8H ;波特率1200時,定時器/計數器T1自動重裝初值
MOV TL1,#0E8H
MOV TH0,#0F4H ;38.4KHz高頻頻調制時, 定時器/計數器T0自動重裝初值
MOV TL0,#0F4H
SETB ET0 ; 定時器/計數器T0溢出中斷允許位
SETB TR1 ; 定時器/計數器T1開始定時控制位
SETB TR0 ; 定時器/計數器T0 開始定時控制位
MOV PCON,#00H ;SMOD為0不倍增模式
MOV SCON,#0D0H ;串行口設置為模式3,允許接收
SETB ES ;串行口允許中斷
SETB EA ;開總中斷允許位
;以下為定時器/計數器T0中斷溢出服務程序
ORG 000BH; 定時器/計數器T0中斷入口地址
T0SERVE:CPL P3.4 ; 定時器/計數器T0定時取反P3.4口進行高頻調制
RETI ;中斷返回
;以下為串行口中斷服務程序,以接收一個字節數據為例,多字節以此類推
ORG 0023H;串行口中斷入口地址
SENDSERVE:NOP
NOP
MOV A,SBUF ;把接收緩沖器的數據送到A寄存器
… ;進行數據處理及其它功能操作
RETI ;中斷返回
;以下為串行口發送程序,以發送一個字節數據為例, 多字節以此類推
COMSEND: MOV A,#DATAH ;把數據送到A寄存器
MOV C,P ;根據A中數據產生的偶校驗位送到進位標志位
MOV TB8,C ;送偶校驗位到發送的第9位數據
MOV SBUF,A ;送數據到發送緩沖器
JNB TI,$ ;以查詢方式等待發送結束
CLR TI ;清發送中斷標志位
… ;繼續發送或其它功能操作
RET 子程序返回
4 結束語
本設計的最大特點在于省略了脈沖振蕩器,而僅僅利用多費率電能表上所帶單片機的串行口和2個定時器/計數器,這不僅使多費率電能表在硬件設計上更加簡單、成本更加低廉,而且在軟件上也更加方便、可靠。同時這種紅外通信方式也可以應用在帶串行口和定時器/計數器的單片機應用領域。
本文所附 SCH 圖 由下下載:http://www.51eda.com/Soft/singlechip/referrence/200411/776.html
- 多費率電(5312)
51單片機的串行口擴展方法
51單片機的串行口是什么
89C51單片機異步串行口的通信原理和編程
單片機--串行口實驗 精選資料下載
單片機串行口通信程序設計
單片機串行口的相關資料下載
單片機串行口的相關資料分享
單片機教程(22)串行口通信程序設計
單片機的串行口及應用通信方式
電能表是什么?
電能表的分類以及命名規則
紅外串行通信接口在單片機的應用
uart串行口通信的相關資料推薦
其幫助,畢業設計基于C51單片的DLT/645-2007多功能電能表通...
基于單片機的數字電能表設計
基于PIC單片機的復費率電能表時鐘誤差分析儀系統
復費率電能表中 鋰電池的使用一般應考慮哪些因素
如何使用單片機串行口通信
常用的電能表主要分為哪些
感應系電能表的結構
請問電能表有哪些類型及型號含義?
跪求《基于單片機的電能表自動管理系統設計》硬件設計 急急急 在線等
跪求《基于單片機的電能表自動管理系統設計》硬件設計 急急急 在線等
多費率電能表中基于單片機串行口紅外通信的設計
45用插值調整法設計單片機串行口波特率
19基于單片機紅外無線通信的抄表系統
3551單片機的串行口擴展方法
33基于MSP430單片機的多功能復費率三相電能表
42一款三相預付費復費率電能表的設計
24單片機串行口應用舉例
105單片機多機通信網絡改進及數據通信容錯技術
35一款三相預付費復費率電能表的設計
32一種新型多費率單相電能表設計
57單片機串行口
32用純軟件擴展單片機串行口的一種方法
33基于單片機的串行通信
52多功能電能表通信規約
46FM3116 鐵電存儲器在復費率電能表中的應用
1228
應用M68HC908LJ12設計單相復費率電能表?
1193
單片機教程二十一:單片機串行口通信程序設計
1096MSP430單片機的多功能復費率三相電能表
1419關于單片機串行口紅外通信的設計
3570基于單片機的多機并行通信設計
2486
單片機串行口的并行通信技術
103多費率電能表設計策略分析
1911
ade7758讀寫程序
416522課:單片機串行口通信程序設計
832
8031單片機多機系統的實時通信
0單片機遠距離多機串行通信應用
10688
單片機串行口介紹,8051單片機的通信方式
17486
MSP430單片機的智能型復費率單相電能表設計詳析
11PICmicro中檔單片機系列之基本同步串行口(BSSP)
6【新專利介紹】一種多費率電能表
1116
采用AT89S52單片機與AD7755電能計量芯片設計多費率單相電能表
6912
51單片機教程之80C51單片機的串行口介紹及如何進行串行總線的擴展
2751單片機教程之51單片機的串行口應用舉例資料說明
18F系列復費率多功能電力儀表電能表的用戶手冊免費下載
5單片機的串行口詳細資料介紹及串行通信的詳細說明
4單片機串行口的詳細資料介紹
1單片機教程之串行口與串行通信的詳細資料說明
15AT89S52單片機的串行口教程課件免費下載
11如何設計新型多參數電能表詳細資料說明
1AT89S51單片機的串行口學習課件免費下載
9應用在復費率電能表中的紅外通信接口的應用方案
2866
80C51單片機串行通信講解
3151單片機串行通信原理
2單片機--串行口實驗
10【STC8A8K64S4A12開發板】— 單片機串行口知識點講解
103uart串行口通信(一)
9單片機基礎(八):單片機串行口結構與工作方式及應用
13基于單片機的數字電能表設計
14
電子發燒友App








評論