首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 电视机电路
用PIC单片机模拟PT2262软件编码方法
来源:本站整理  作者:佚名  2011-01-20 15:45:00



三、编码程序(以下图无线遥控应用电路为例)

tmpEQU0x07;20

txbufEQU0x08;22

txcntEQU0x09;23

keyvalueEQU0x0a;24

keylastEQU0xob;25

keytmpEQU0x0c;26

tmr_keyEQU0x0d;27

temp2EQU0x0e;28

teMP3EQU0x0f;29

tmpcntEQU0x10;2A

FLAGEQUOx11;2B

#defineB_keyonFLAG,2

#defineB_keyexecFLAG,0

org0

MOVWFOSCCAL

gotoReset

Readaddr0

retlw0x01

Readaddr1

retlw0x02

;子程序区

Delay9msmovlw.44

goto+2

Delay4ms5movlw.22

movwftemp3

callDelay200us

decfsztemp3,f

goto-2

RETURN;

Delay560usmovlw,138

goto+2

Delay_200usmovlw.48

movwftemp2

nop

nop

deefsztemp2,f

goto-2

nop

RETURN;reflw0

send_byte;发射一个字节

movwftxbuf

movlw.8

movwftxent

send_looprrftxbuf,f;DO先出

bffssSTATUS.C

gotoNow_txbit0

callTx_bitl

goto+2

Nowtxbit0callTx_bit0

deefsztxcnt,f

gotosend_loop

RETURN:retlw0

Tx_bitObsfGPIO.2

callDelay_560as

bcfGPl0.2

callDelay_560us

RETURN;reflw0

Tx_bitl;bit1--高560μs,低

560μs×3

callDelay560us

bcfGPIO,2

callDelay_560us

callDelay_560us

callDelay_560us

RErURN;retlw0

ResetbcfSTATUS,5MOVLWB'00111111’

OPTION

clrfGPJ0

movlwB'00110011'

TRISGPIO

MOVWFGPI0

MOVLWB'00000011'

movwfGPIO

clrfkeylast

bsfGPIO,2

main_loopcallKey_drv;按键驱动

gotomain_loop;按键扫描和处理,有效的按键键值1~4

Key_drvMOVFGPIO,W

clrfkeyvalue

movfwGPIO

andlwB'00111111';读入按键状态,取GPI05,4,1,0

movwftmp

xorlwB'00011111'

btfscSTATUS,Z

gotoGet_key_LON;GPI05压下了

movfwtmp

xorlwB'00010111'

btfscSTATUS,Z

gotoGet_key_LOFF;GPI04压下了

movfwtmp

xorlwB'00111101

btfscSTATUS,Z

gotoGet_key_RON;GPI01压下了

movfwtmp

xorlwB00111110

btfseSTATUS,Z

gotoGet_key_ROFF;GPIO0压下了

movfwtmp

xorlwB'00111111'

btfscSTATUS,Z

gotoNo_key;没有按键压下

incfkeyvalue,f;超过一个键按下,键值=5

Get_key_RON;keyRON键值=4

incfkeyvalue,f

Get_key_ROFF;keyROFF键值=3

incfkeyvalue;f

Get_kty_LON;keyLON键值=2

incfkeyvalue,f

Get_key_LOFF;KeyLOFF键值=1

incfkeyvalue,f

Nokeymovfwkeylast

xorwfkeyvalue,w

btfseSTATUS,Z

gotoValid_key

New_key;前后两次按键不同,把新的按键记下来

movfkeyvalue,w

movwfkeylast

gotoKey_exit

Validkeymovfwkeyvalue

btfscSTATUS,Z

gotokey_release

keyactivexorlw5

bffscSTATUS,Z

gotoKey_exit:键值=5,是多个按键按下,不处理

bsfB_keyon

gotoTx_frame

keyrelease;两次发现无键,是键释放

bcfB_keyon;清键按下标志

bcfB_keyexec:清键处理过标志

clrftmr_key

gotoKey_exit;退出

Key_exitRETURN;retlw0

Tx_framebsfGPIO,5

bsfGPIO,4;

callDelay_9ms

bcfGPIO,4

callDelay_4ms5

callRead_addr0;发地址字节0

callsend_byte

callRead_addr1;发地址字节1

callsend_byte

movfkeyvalue,w;发按键数据

callsend_byte

movfkeyvalue,w

xorlwOxff

callsend_byte;发按键数据补码

callTx_bit1:发结束位

bcfGPIO,5

gotoKey_exit

end

  四、硬件抗干扰
  
  在无线通讯中使用单片机,若设计不当。会对诵讯系统造成严重的干扰,相信许多技术人员一定有过同样的苦恼。如果硬件设计不当,会造成原先硬件解码时通讯距离为200米,而用软件编码后可能只有十几米,因此解决硬件抗干扰问题在很大程度上可减少软件解码的误码率。

  1.收发模块:早期常用的频率为47MHz,在此频率下,很难有好的解决方法。建议采用目前国家允许无线遥控使用的频率315MHz或433MHz。

  2.单片机振荡频率:由于编码或发射电路比较简单,所选用单片机通常为小型单片机,为了节省单片机I/O口,解决单片机运行速度与电磁干扰的矛盾,建议采用芯片内部振荡。

  3.屏蔽:为了有效抑制单片机对接收模块的电磁干扰,建议采用屏蔽的方法,让其振荡与发射电路避免外界干扰。

  五、结束语
  
  PT2262的软件编码有较好的用武之地。采用软件编码的系统,厂家无须对收发设备进行配套,有利于生产和保管。对客户来说,使用软件编码,厂家只需在软件中加入自动学习功能,用户便可自行使用该功能:只需轻按学习键即可学习新的通讯设备,如遥控器等。目前,该软件编码已经在众多手持遥控设备中采用,客户反映使用简便,效果良好。

上一页  [1] [2] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:3,242.18800 毫秒