作者Email: 3-14159265@163.com
摘要:利用單片機(jī)的串行口、定時(shí)器/計(jì)數(shù)器T0、定時(shí)器/計(jì)數(shù)器T1、紅外發(fā)射管和紅外接收管等簡(jiǎn)單的軟硬件就可靠地實(shí)現(xiàn)了多費(fèi)率電能表的紅外通信功能。本設(shè)計(jì)詳細(xì)介紹了串行口紅外通信的軟硬件設(shè)計(jì)方法,并給出了具體的電路原理圖、波形圖和51單片機(jī)程序。
0 引言
多費(fèi)率電能表是我國(guó)目前節(jié)約用電和計(jì)劃用電政策下不可缺少的電能計(jì)量產(chǎn)品,多費(fèi)率電能表的通信接口一般兼有紅外接口和RS485接口。紅外通信具有直觀、操作簡(jiǎn)便、可靠性高等優(yōu)點(diǎn),是電能表中使用最為普遍的一種通信方式,是電能表和掌機(jī)之間實(shí)現(xiàn)抄表、編程、校時(shí)、數(shù)據(jù)管理等功能的有效手段。采用新茂單片機(jī)SSU7301(51系列)、日本光電子公司的紅外發(fā)射管SE303和紅外接收管PIC12043,以及單片機(jī)串行口、2個(gè)定時(shí)器/計(jì)數(shù)器可以有效地實(shí)現(xiàn)紅外通信功能。
1 紅外通信原理
紅外通信是利用波長(zhǎng)為900nm~1000nm的紅外波作為信息的載體,發(fā)射裝置把二進(jìn)制信號(hào)經(jīng)過高頻調(diào)制后發(fā)送出去,接收裝置把接收的紅外高頻信號(hào)進(jìn)行解調(diào)為原來(lái)信息的一種通信傳輸方式。其中調(diào)制方式有脈寬調(diào)制(通過改變脈沖寬度調(diào)制信號(hào)PWM)和脈時(shí)調(diào)制(通過改變脈沖串之間時(shí)間間隔調(diào)制信號(hào)PPM)兩種,本文采用PPM脈時(shí)調(diào)制方式。
2 串行口紅外通信硬件設(shè)計(jì)
多費(fèi)率電能表的紅外發(fā)射和紅外接收電路主要包括新茂單片機(jī)SSU7301、日本光電子公司的紅外發(fā)射管SE303和紅外接收管PIC12043,以及驅(qū)動(dòng)三極管8550、電阻和電容,紅外通信硬件原理圖見圖1。
2.1 紅外發(fā)射硬件設(shè)計(jì)
紅外發(fā)射是利用單片機(jī)SSU7301的串行數(shù)據(jù)發(fā)送口TXD(P3.1)控制驅(qū)動(dòng)三極管BG1進(jìn)行二進(jìn)制數(shù)據(jù)“0”和“1”的傳輸(數(shù)據(jù)由串行發(fā)送緩沖器SBUF中送出),以及利用P3.4口控制驅(qū)動(dòng)三極管BG2進(jìn)行高頻38.4kHz調(diào)制(高頻驅(qū)動(dòng)信號(hào)由定時(shí)器/計(jì)數(shù)器T0的方式2自動(dòng)重裝模式產(chǎn)生),從而可靠地實(shí)現(xiàn)了紅外發(fā)射管D1在傳輸數(shù)據(jù)“0”時(shí)進(jìn)行高頻紅外發(fā)射和數(shù)據(jù)“1”時(shí)被截止的發(fā)射功能。狀態(tài)關(guān)系見表1,波形見圖2。
2.2 紅外接收硬件設(shè)計(jì)
紅外接收是利用紅接收管PIC12034收到高頻信號(hào)輸出低電平確定為數(shù)據(jù)“0”,而沒收到高頻信號(hào)輸出高電平確定為數(shù)據(jù)“1”的方式經(jīng)過解調(diào),把數(shù)據(jù)通過單片機(jī)SSU7301的串行數(shù)據(jù)接收口RXD(P3.0)進(jìn)行串行方式接收(接收數(shù)據(jù)存儲(chǔ)在串行口緩沖器SBUF中)。
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位。
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的匯編語(yǔ)言程序設(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é)束語(yǔ)
本設(shè)計(jì)的最大特點(diǎn)在于省略了脈沖振蕩器,而僅僅利用多費(fèi)率電能表上所帶單片機(jī)的串行口和2個(gè)定時(shí)器/計(jì)數(shù)器,這不僅使多費(fèi)率電能表在硬件設(shè)計(jì)上更加簡(jiǎn)單、成本更加低廉,而且在軟件上也更加方便、可靠。同時(shí)這種紅外通信方式也可以應(yīng)用在帶串行口和定時(shí)器/計(jì)數(shù)器的單片機(jī)應(yīng)用領(lǐng)域。
本文所附 SCH 圖 由下下載:http://www.51eda.com/Soft/singlechip/referrence/200411/776.html
- 多費(fèi)率電(5213)
相關(guān)推薦
51 單片機(jī)的串行口擴(kuò)展方法
51單片機(jī)串行口中斷怎么使用
51單片機(jī)雙機(jī)之間的串行通信設(shè)計(jì),求程序
51單片機(jī)的串行口擴(kuò)展方法
51單片機(jī)的串行口是什么
89C51單片機(jī)異步串行口的通信原理和編程
單片機(jī)--串行口實(shí)驗(yàn) 精選資料下載
單片機(jī)串行口 精選資料分享
單片機(jī)串行口通信程序設(shè)計(jì)
單片機(jī)串行口是如何進(jìn)行工作的?有哪些應(yīng)用呢
單片機(jī)串行口的相關(guān)資料下載
單片機(jī)串行口的相關(guān)資料分享
單片機(jī)通信的相關(guān)資料推薦
單片機(jī)教程(21)串行口介紹
單片機(jī)教程(22)串行口通信程序設(shè)計(jì)
單片機(jī)的串行口及應(yīng)用通信方式
多機(jī)通信的相關(guān)資料推薦
電能表
電能表RS485通訊接口專用6KVAC高隔離防靜電DC/DC電源模塊
電能表與感應(yīng)電機(jī)的磁極結(jié)構(gòu)有哪些不同
電能表是什么?
電能表潛動(dòng)現(xiàn)象的原因及判定
電能表的分類以及命名規(guī)則
紅外串行通信接口在單片機(jī)的應(yīng)用
STM32三相電能表的電能參量怎么計(jì)算?
uart串行口通信的相關(guān)資料推薦
其幫助,畢業(yè)設(shè)計(jì)基于C51單片的DLT/645-2007多功能電能表通...
單相單用戶電能表的設(shè)計(jì)課程設(shè)計(jì) 相關(guān)資料分享
基于單片機(jī)的數(shù)字電能表設(shè)計(jì)
基于PIC單片機(jī)的復(fù)費(fèi)率電能表時(shí)鐘誤差分析儀系統(tǒng)
復(fù)費(fèi)率電能表中 鋰電池的使用一般應(yīng)考慮哪些因素
如何使用單片機(jī)串行口通信
如何去實(shí)現(xiàn)51單片機(jī)串行通信呢
如何在嵌入式系統(tǒng)中擴(kuò)展串行口?
常用的電能表主要分為哪些
怎么實(shí)現(xiàn)基于upd78f0485單片機(jī)實(shí)現(xiàn)單相付費(fèi)率電能表設(shè)計(jì)?
感應(yīng)系電能表的結(jié)構(gòu)
請(qǐng)問電能表有哪些類型及型號(hào)含義?
跪求《基于單片機(jī)的電能表自動(dòng)管理系統(tǒng)設(shè)計(jì)》硬件設(shè)計(jì) 急急急 在線等
跪求《基于單片機(jī)的電能表自動(dòng)管理系統(tǒng)設(shè)計(jì)》硬件設(shè)計(jì) 急急急 在線等
郭天祥單片機(jī)串行口調(diào)試
多費(fèi)率電能表中基于單片機(jī)串行口紅外通信的設(shè)計(jì)

HD-3005系列三相國(guó)網(wǎng)智能電能表校驗(yàn)裝置
用插值調(diào)整法設(shè)計(jì)單片機(jī)串行口波特率

51單片機(jī)的串行口擴(kuò)展方法

基于MSP430單片機(jī)的多功能復(fù)費(fèi)率三相電能表

一款三相預(yù)付費(fèi)復(fù)費(fèi)率電能表的設(shè)計(jì)

單片機(jī)串行口應(yīng)用舉例

一款三相預(yù)付費(fèi)復(fù)費(fèi)率電能表的設(shè)計(jì)

一種新型多費(fèi)率單相電能表設(shè)計(jì)

用純軟件擴(kuò)展單片機(jī)串行口的一種方法

基于單片機(jī)的串行通信

FM3116 鐵電存儲(chǔ)器在復(fù)費(fèi)率電能表中的應(yīng)用


應(yīng)用M68HC908LJ12設(shè)計(jì)單相復(fù)費(fèi)率電能表?


單片機(jī)教程二十:單片機(jī)串行口介紹


單片機(jī)教程二十一:單片機(jī)串行口通信程序設(shè)計(jì)

PIC單片機(jī)軟件異步串行口實(shí)現(xiàn)方法


關(guān)于單片機(jī)串行口紅外通信的設(shè)計(jì)

單片機(jī)串行口的并行通信技術(shù)

單片機(jī)系統(tǒng)多串行口設(shè)計(jì)分析

單片機(jī)串行口與PC機(jī)通訊資料

基于51單片機(jī)匯編語(yǔ)言教程:22課單片機(jī)串行口通信程序設(shè)計(jì)

一個(gè)智能電能表的單片機(jī)的應(yīng)用方法

22課:單片機(jī)串行口通信程序設(shè)計(jì)


單片機(jī)串行口通信程序設(shè)計(jì)


單片機(jī)串行口通信程序設(shè)計(jì)


MSP430單片機(jī)的智能型復(fù)費(fèi)率單相電能表設(shè)計(jì)詳析

多費(fèi)率電能表的工作原理及設(shè)計(jì)


51單片機(jī)教程之80C51單片機(jī)的串行口介紹及如何進(jìn)行串行總線的擴(kuò)展

51單片機(jī)教程之51單片機(jī)的串行口應(yīng)用舉例資料說(shuō)明

51單片機(jī)擴(kuò)充串行口的方法


單片機(jī)的串行口詳細(xì)資料介紹及串行通信的詳細(xì)說(shuō)明

單片機(jī)串行口的詳細(xì)資料介紹

單片機(jī)教程之串行口與串行通信的詳細(xì)資料說(shuō)明

AT89S52單片機(jī)的串行口教程課件免費(fèi)下載

單片機(jī)--串行口實(shí)驗(yàn)

【STC8A8K64S4A12開發(fā)板】— 單片機(jī)串行口知識(shí)點(diǎn)講解

【硬見小百科】單片機(jī)串行口介紹

uart串行口通信(一)

評(píng)論