您的位置 首页 芯闻

根据PIC单片机对SC1621摇控器的操控

基于PIC单片机对SC1621摇控器的控制-;*APPLICATION NOTE E6000 ICEXPLORER ******************

;* Title: ;

;SC6121的遥控器发射码依次为:同步头(引导码)+32位数据码 ;

;(用户码低8位+用户码高8位+键码+键码的反码) ;

;引导码是由9MS的高电平加4.5MS的低电平构成, ;

;我们接收到的刚好反相为9MS的低电平加4.5MS的高电平。 ;

;*APPLICATION NOTE E6000 ICEXPLORER ******************

;* TItle: ;

;SC6121的遥控器发射码依次为:同步头(引导码)+32位数据码 ;

;(用户码低8位+用户码高8位+键码+键码的反码) ;

;引导码是由9MS的高电平加4.5MS的低电平构成, ;

;咱们接纳到的刚好反相为9MS的低电平加4.5MS的高电平。 ;

;数据码‘0’是由560US的高电平加560US的低电平构成 ;

;接纳时反相为560US的低电平加560US的高电平构成=1.125mS ;

;数据码‘1’是由560US的高电平加1.69MS的高电平构成 ;

;接纳时反相为560US的低电平加1.69MS的高电平构成=2.25mS ;

;* Version: 00 ;

;* Last Updated: 2006.06.09 ;

;* MCUPIC16C74 ;

;* FOR: www.picavr.com ;

;******************************************************

;***ROM PCLATH.D3=0 000H-7FFH ;

; PCLATH.D3=1 800H-FFFH ;

;******************************************************

;** RAM BANK0=20H—7FHSTATUS RP0=0,RP1=0 ;

;** BANK1=A0H—FFHSTATUS RP0=1,RP1=0 ;

;** BANK2=100H–17FH STATUS RP1=1,RP0=0 ;

;** BANK3=180H–1FFH STATUS RP1=1,RP0=1 ;

;******************************************************

; ________________

; MCLR/VPP/TH-| 1 40 |-RB7/PGD

; RA0/AN0-| 2 39 |-RB6/PGC

; RA1/AN1-| 3 38 |-RB5

; RA2/AN2/VRref–| 4 37 |-RB4

; RA3/AN3/VRref+-| 5 36 |-RB3/PGM

; RA4/TOCKI-| 6 35 |-RB2

; RA5/AN4/SS-| 7 34 |-RB1

; RE0/RD/AN5-| 8 33 |-RB0/INT

; RE1/WR.AN6-| 9 32 |-VDD

; RE2/CS/AN7-| 10 31 |-VSS

; VDD-| 11 30 |-RD7/PSP7

;VSS-| 12 29 |-RD6/PSP6

; OSC1/CLKIN-| 13 28 |-RD5/PSP5

; OSC2/CLKOUT-| 14 27 |-RD4/PSP4

; RC0/TISO/TICKI-| 15 26 |-RC7/RX/DT

; RC1/T1OSI/CCP2-| 16 25 |-RC6/TX/CK

;RC2/CCP1-| 17 24 |-RC5/SDO

; RC3/SCK/SCL-| 18 23 |-RC4/SDA

; RD0/PSP0-| 19 22 |-RD3/PSP3

; RD1/PSP1-| 20 21 |-RD2/PSP2

;~~~~~~~~~~~~~~~

; 16F74A

;****************************************************

RMT EQU 0 ;遥控接纳输入脚位地址(RB。0)

;————————————————-

BITIN EQU 7 ;遥控接纳数据位位标志

;————————————————-

CNT0 EQU 20H ;用户暂时寄存器1

CNT1 EQU 21H ;用户暂时寄存器2

CNT2 EQU 22H ;用户暂时寄存器3

CNT3 EQU 23H ;用户暂时寄存器4

TABADD EQU 24H ;数码管显现码取码用寄存器

FLAGS EQU 25H ;显现位选标志位

DISPBUF_H EQU 26H ;显现器高位

DISPBUF_L EQU 27H ;显现器低位

FLAGS2 EQU 28H ;暂时寄存器

W_TEMP EQU 2AH ;W现场维护寄存器

STATUS_TEMP EQU 2BH ;STATUS现场维护寄存器

CSR0 EQU 2CH ;遥控键码反码寄存器

CSR1 EQU 2DH ;遥控器键码寄存器

CSR2 EQU 2EH ;遥控器用户码高8位寄存器

CSR3 EQU 2FH ;遥控器用户码低8位寄存器

CSR0A EQU 30H ;遥控接纳32位数据暂存寄存器

CSR1A EQU 31H ;遥控接纳32位数据暂存寄存器

CSR2A EQU 32H ;遥控接纳32位数据暂存寄存器

CSR3A EQU 33H ;遥控接纳32位数据暂存寄存器

;**************************************************

CONT1 EQU 7FH ;

;**************************************************

ORG 0000H

GOTO MAIN

ORG 0004H

RETFIE ;

ORG 0008H

;************************************************

MAIN:

CALL RESET_ ;BANK0–BANK1清0

CLRFSTATUS ;清状况寄存器口

BSF STATUS,RP0 ;BANK-1

;————————————————

MOVLW 0FH ;00001111设定:RB口不用上拉,分频器配给WDT

MOVWF OPTION_ ;分频比设为1:256

MOVLW 02H ;00000010转化成果左对齐,只选3个A/D通道RA0/AN0,RA1,RA3

MOVWF ADCON1 ;挑选VDD和VSS作参阅源

;————————————————

MOVLW 00H

MOVWF TRISC ;PORTC一切管脚设为输出

MOVLW 01H ;

MOVWF TRISB ;RB0=输入

MOVLW 0FFH ;

MOVWF TRISA ;

;————————————————

BCF STATUS,RP0 ;BANK-0

;————————————————

MOVLW 01001001B ;01001001挑选:时钟时钟源为FOSC/8,答应ADC作业

MOVWF ADCON0 ;通道AN1,暂时不发动转化进程

BCF PIR1, ADIF ;铲除A/D中止标志位

;————————————————

MOVLW 00H ;

MOVWF PORTC ;

MOVLW 0FFH ;

MOVWF PORTB ;

;*****************************************************

LOOP:

NOP ;

NOP ;

;*****************************************************

RCV:

BTFSC PORTB,RMT

GOTO LOOP ;是搅扰退出

MOVLW 4

MOVWF CNT1 ;4*256*10us

CLRF CNT2

CLRF CNT0

RCV1: ;先检测引导码的9MS低电平

GOTO $+1 ;每一个循环10US

NOP ;

BTFSC PORTB,RMT ;

INCF CNT2,1 ;

BTFSS PORTB,RMT ;

CLRF CNT2 ;

BTFSC CNT2,3 ;高电平大于8*10US=80US则为有用高电平,否则是一些搅扰信号

GOTO RCV2 ;

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/news/xinwen/347088.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部