用PIC单片机模拟PT2262软件编码方法

[09-13 23:36:14]   来源:http://www.88dzw.com  电视机电路   阅读:8773

文章摘要:goto-2nopRETURN;reflw0send_byte;发射一个字节movwftxbufmovlw.8movwftxentsend_looprrftxbuf,f;DO先出bffssSTATUS.CgotoNow_txbit0callTx_bitlgoto+2Nowtxbit0callTx_bit0deefsztxcnt,fgotosend_loopRETURN:retlw0Tx_bitObsfGPIO.2callDelay_560asbcfGPl0.2callDelay_560usRETURN;reflw0Tx_bitl;bit1--高560μs,低560μs×

用PIC单片机模拟PT2262软件编码方法,标签:电视机电路,电路设计,http://www.88dzw.com
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] 


Tag:电视机电路电视机电路,电路设计家电维修 - 单元电路介绍 - 电视机电路