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

2.2 紅外接收硬件設(shè)計
紅外接收是利用紅接收管PIC12034收到高頻信號輸出低電平確定為數(shù)據(jù)“0”,而沒收到高頻信號輸出高電平確定為數(shù)據(jù)“1”的方式經(jīng)過解調(diào),把數(shù)據(jù)通過單片機SSU7301的串行數(shù)據(jù)接收口RXD(P3.0)進行串行方式接收(接收數(shù)據(jù)存儲在串行口緩沖器SBUF中)。
3 紅外通信軟件設(shè)計
DL/T645-1997《多功能電能表通信》中規(guī)定電能表的紅外載波頻率為38kHz±1kHz;初始速率為1200 bps;通信的字節(jié)格式為8位二進制碼D0~D7,傳輸時加上一個起始位(0),一個偶校驗位P和一個停止位(1),共11位,傳輸時先傳低位,后傳高位,傳輸序列見圖3。根據(jù)以上要求,本設(shè)計中紅外載波頻率采用38.4kHz,波特率為1200bps,串行口采用模式3為9位異步通信方式,加1位起始位和1位結(jié)束位,傳送一個字節(jié)數(shù)據(jù)為11位。
3.1 紅外載波和定時器/計數(shù)器T0設(shè)置
紅外載波頻率f2為38.4kHz,當定時器/計數(shù)器T0模式控制器TMOD中C/T=0和M1M0=10時,SSU7301的定時器/計數(shù)器T0設(shè)置成模式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ā)生器設(shè)置
串行口采用模式3為9位異步通信方式,波特率為1200bps。由串行口控制寄存器SCON的操作模式選擇位SM0、SM1都置1設(shè)置為模式3,當定時器/計數(shù)器T1模式控制器TMOD中C/T=0和M1M0=10時,SSU7301的定時器/計數(shù)器T1設(shè)置成模式2方式作為波特率發(fā)生器,其波特率表示為:
波特率=(T1的溢出率)/ n
當SMOD=0時,n=32;當SMOD=1時,n=16,(本設(shè)計中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 程序設(shè)計
根據(jù)以上兩點參數(shù)的設(shè)置,51系列單片機SSU7301的匯編語言程序設(shè)計如下:
;以下為參數(shù)設(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 ;串行口設(shè)置為模式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é)束語
本設(shè)計的最大特點在于省略了脈沖振蕩器,而僅僅利用多費率電能表上所帶單片機的串行口和2個定時器/計數(shù)器,這不僅使多費率電能表在硬件設(shè)計上更加簡單、成本更加低廉,而且在軟件上也更加方便、可靠。同時這種紅外通信方式也可以應用在帶串行口和定時器/計數(shù)器的單片機應用領(lǐng)域。
本文所附 SCH 圖 由下下載:http://www.51eda.com/Soft/singlechip/referrence/200411/776.html
- 多費率電(5312)
51單片機的串行口擴展方法
51單片機的串行口是什么
89C51單片機異步串行口的通信原理和編程
單片機--串行口實驗 精選資料下載
單片機串行口通信程序設(shè)計
單片機串行口的相關(guān)資料下載
單片機串行口的相關(guān)資料分享
單片機教程(22)串行口通信程序設(shè)計
單片機的串行口及應用通信方式
電能表與感應電機的磁極結(jié)構(gòu)有哪些不同
電能表是什么?
電能表的分類以及命名規(guī)則
紅外串行通信接口在單片機的應用
uart串行口通信的相關(guān)資料推薦
其幫助,畢業(yè)設(shè)計基于C51單片的DLT/645-2007多功能電能表通...
基于單片機的數(shù)字電能表設(shè)計
基于PIC單片機的復費率電能表時鐘誤差分析儀系統(tǒng)
復費率電能表中 鋰電池的使用一般應考慮哪些因素
如何使用單片機串行口通信
常用的電能表主要分為哪些
怎么實現(xiàn)基于upd78f0485單片機實現(xiàn)單相付費率電能表設(shè)計?
感應系電能表的結(jié)構(gòu)
請問電能表有哪些類型及型號含義?
跪求《基于單片機的電能表自動管理系統(tǒng)設(shè)計》硬件設(shè)計 急急急 在線等
跪求《基于單片機的電能表自動管理系統(tǒng)設(shè)計》硬件設(shè)計 急急急 在線等
多費率電能表中基于單片機串行口紅外通信的設(shè)計
45用插值調(diào)整法設(shè)計單片機串行口波特率
19基于單片機紅外無線通信的抄表系統(tǒng)
3551單片機的串行口擴展方法
33基于MSP430單片機的多功能復費率三相電能表
42一款三相預付費復費率電能表的設(shè)計
24單片機串行口應用舉例
105單片機多機通信網(wǎng)絡(luò)改進及數(shù)據(jù)通信容錯技術(shù)
35一款三相預付費復費率電能表的設(shè)計
32一種新型多費率單相電能表設(shè)計
57單片機串行口
32用純軟件擴展單片機串行口的一種方法
33基于單片機的串行通信
52多功能電能表通信規(guī)約
46FM3116 鐵電存儲器在復費率電能表中的應用
1228
應用M68HC908LJ12設(shè)計單相復費率電能表?
1193
單片機教程二十一:單片機串行口通信程序設(shè)計
1096PIC單片機軟件異步串行口實現(xiàn)方法
1645
MSP430單片機的多功能復費率三相電能表
1419關(guān)于單片機串行口紅外通信的設(shè)計
3570基于單片機的多機并行通信設(shè)計
2486
單片機串行口的并行通信技術(shù)
103單片機系統(tǒng)多串行口設(shè)計分析
55多費率電能表設(shè)計策略分析
1911
ade7758讀寫程序
416522課:單片機串行口通信程序設(shè)計
832
8031單片機多機系統(tǒng)的實時通信
0單片機遠距離多機串行通信應用
10688
單片機串行口介紹,8051單片機的通信方式
17486
MSP430單片機的智能型復費率單相電能表設(shè)計詳析
11PICmicro中檔單片機系列之基本同步串行口(BSSP)
6【新專利介紹】一種多費率電能表
1116
多費率電能表的工作原理及設(shè)計
1858
采用AT89S52單片機與AD7755電能計量芯片設(shè)計多費率單相電能表
6912
51單片機教程之80C51單片機的串行口介紹及如何進行串行總線的擴展
2751單片機教程之51單片機的串行口應用舉例資料說明
18F系列復費率多功能電力儀表電能表的用戶手冊免費下載
5單片機的串行口詳細資料介紹及串行通信的詳細說明
4單片機串行口的詳細資料介紹
1單片機教程之串行口與串行通信的詳細資料說明
15AT89S52單片機的串行口教程課件免費下載
11如何設(shè)計新型多參數(shù)電能表詳細資料說明
1AT89S51單片機的串行口學習課件免費下載
9應用在復費率電能表中的紅外通信接口的應用方案
2866
80C51單片機串行通信講解
3151單片機串行通信原理
2單片機--串行口實驗
10【STC8A8K64S4A12開發(fā)板】— 單片機串行口知識點講解
103uart串行口通信(一)
9單片機基礎(chǔ)(八):單片機串行口結(jié)構(gòu)與工作方式及應用
13基于單片機的數(shù)字電能表設(shè)計
14
電子發(fā)燒友App






評論