首页 用于汽车遥控的Ev1527的pic单片机软件接收解码程序,密

用于汽车遥控的Ev1527的pic单片机软件接收解码程序,密

举报
开通vip

用于汽车遥控的Ev1527的pic单片机软件接收解码程序,密用于汽车遥控的Ev1527的pic单片机软件接收解码程序,密 ÓÃÓÚÆû?µÒ??صÄEv1527µÄpicµ?Æ??úÈí?þ?ÓÊÕ?âÂë?ÌÐò??ÃÜÂë?ÉÓÃI2C×ÜÏß?? Ê??æÔÚEEPROMÖÐ LIST P=16f57 #INCLUDE "p16F5X.INC" __CONFIG _CP_OFF&_WDT_OFF&_XT_OSC ;˵Ã??ºSCL?Óµ?Æ??ú RC0 ; : SDA?Óµ?Æ??ú RC1 ;-----------------------------...

用于汽车遥控的Ev1527的pic单片机软件接收解码程序,密
用于汽车遥控的Ev1527的pic单片机软件接收解码程序,密 ÓÃÓÚÆû?µÒ??صÄEv1527µÄpicµ?Æ??úÈí?þ?ÓÊÕ?âÂë?ÌÐò??ÃÜÂë?ÉÓÃI2C×ÜÏß?? Ê??æÔÚEEPROMÖÐ LIST P=16f57 #INCLUDE "p16F5X.INC" __CONFIG _CP_OFF&_WDT_OFF&_XT_OSC ;˵Ã??ºSCL?Óµ?Æ??ú RC0 ; : SDA?Óµ?Æ??ú RC1 ;------------------------------------------------------------ ;?Ä?æÆ???Òå ;------------------------------------------------------------ BY_COUNT EQU 14H ;I2C COUNT_T0 EQU 12H COUNT_T1 EQU 13H COUNT EQU 11H STATUS EQU 3H PORTB EQU 6H PORTC EQU 7H EEPROM EQU 08H ADDR EQU 09H BUFIN EQU 0AH BUFOUT EQU 0BH SLAVE EQU 0CH TXBUF EQU 0DH BIT EQU 0EH DLY1 EQU 0FH DLY2 EQU 10H ;****************************************** FLAG EQU 20H IN_DATA_0 EQU 19H IN_DATA_1 EQU 1AH IN_DATA_2 EQU 1BH COUNTER0 EQU 15H ;?ÆÊýÆ? COUNTER1 EQU 16H COUNTER2 EQU 17H COUNTER3 EQU 18H CAR_STATUS EQU 1CH ; W_SHADOW EQU 1DH ;º?Êýµ?ÓÃÊ???ËÍ?ÎÊý COUNTER EQU 1EH DATA1 EQU 1FH ;??ÁôËÄÎ????üÐÅÏ? DEVICE_W EQU B'10100000' ; DEVICE_R EQU B'10100001' ; ADR_LOCK EQU 0x00 ;?æ??Æ?ËøÃÅÖ?ÁîÈë?Ú ADR_UNLOCK EQU 0x10 ;?æ??Æ??ªÃÅÖ?ÁîÈë?Ú DATA_2 EQU B'11001111' DATA_1 EQU B'00100111' DATA_U EQU B'10111000' DATA_L EQU B'10110100' ;??Ϊ??Âë ÓëÉÏÎ??úÍ?ÐÅ COMC_LOCK EQU B'11110111' ;?ªËøÖ?Áî 00001000B COMC_UNLOCK EQU B'11110001' ;ËøÃÅÖ?Áî 00001110B COMC_RELAY EQU B'11110010' ;?̵çÆ?Ö?Áî 00001101B PORTA_S EQU B'11110001' DI EQU 7 DO EQU 6 SDA EQU 1 SCL EQU 0 ACKF EQU 0 ;-------------------------------------------------------------- ;??Òå?Ü?Å ;------------------------------------------------------------- #define STUDY PORTC,6 #define SIGNAL PORTC,3 #define LIGHT PORTC,5 ORG 00H GOTO INT_INIT ;********************** BSTART BSF PORTC,SDA BSF PORTC,SCL MOVLW B'11001000' TRIS PORTC NOP NOP NOP NOP NOP NOP BCF PORTC,SDA NOP NOP NOP NOP NOP BCF PORTC,SCL NOP NOP RETLW 0 ;********************** BSTOP BCF PORTC,SDA MOVLW B'11001000' TRIS PORTC BCF PORTC,SDA NOP NOP NOP BSF PORTC,SCL NOP NOP NOP BSF PORTC,SDA NOP NOP BCF PORTC,SCL NOP NOP RETLW 0 ;********************** TX MOVLW D'8' MOVWF BIT TXLP BCF EEPROM,DO BT BSF EEPROM,DO CALL BITOUT RLF TXBUF,1 DECFSZ BIT,1 GOTO TXLP CALL BITIN BTFSC EEPROM,DI BSF PORTC,ACKF RETLW 0 ;************************ RX CLRF BUFIN MOVLW D'8' MOVWF BIT BCF STATUS,0 RXLP RLF BUFIN,1 BCF BUFIN,0 CALL BITIN BTFSC EEPROM,DI BSF BUFIN,0 DECFSZ BIT GOTO RXLP NOP RETLW 0 ;********************** BITOUT MOVLW B'11001000' tris PORTC BTFSS EEPROM,DO GOTO BITLOW BSF PORTC,SDA GOTO CLKOUT BITLOW BCF PORTC,SDA CLKOUT BSF PORTC,SCL NOP NOP NOP NOP BCF PORTC,SCL RETLW 0 ;********************** BITIN BSF EEPROM,DI MOVLW B'11001010' TRIS PORTC BSF PORTC,SCL NOP NOP NOP NOP NOP BTFSS PORTC,SDA BCF EEPROM,DI BCF PORTC,SCL RETLW 0 ;--------------------------------- ;ÑÓÊ?1s ;---------------------------------` DELAY_1S: ;ÑÓÊ?1s MOVLW 04H ;3+1 MOVWF COUNTER1 MOVLW 0AH ;10 MOVWF COUNTER2 MOVLW 031H ;49 MOVWF COUNTER3 ;49*5+(256*5+5)*10+[(256*5+5)*256+5]*3+10=1,000,000us DELAY_1S_WAIT NOP NOP DECFSZ COUNTER3,F GOTO DELAY_1S_WAIT NOP NOP DECFSZ COUNTER2,F GOTO DELAY_1S_WAIT NOP CLRWDT DECFSZ COUNTER1,F GOTO DELAY_1S_WAIT ;DECFSZ COUNTER0,F ;GOTO DELAY_WAIT DELAY_RET RETLW 0 ;**************************************** DELAY_10MS MOVLW D'13' MOVWF DLY1 MOVLW 0FFH MOVWF DLY2 LP0 DECFSZ DLY2,1 GOTO $-1 DECFSZ DLY1,1 GOTO $-5 RETLW 0 ;******************************************** WR_EEPROM BTFSC FLAG,1 GOTO OUT1 MOVLW B'00000000' TRIS PORTC CLRF PORTC CLRF PORTC MOVLW B'10100000' MOVWF SLAVE MOVLW 13H MOVWF FSR ;IN_DATA_0µØÖ? MOVLW B'10101100' MOVWF BUFOUT CLRF ADDR CALL BSTART MOVF SLAVE,0 MOVWF TXBUF CALL TX MOVF ADDR,0 MOVWF TXBUF CALL TX MOVF INDF,0 MOVWF TXBUF CALL TX INCF FSR MOVF INDF,0 MOVWF TXBUF CALL TX INCF FSR MOVF INDF,0 MOVWF TXBUF CALL BSTOP OUT1 RETLW 0 ;***************************************** XIANSHI MOVLW 08H MOVWF COUNT LOOP BTFSC BUFIN,7 BSF PORTC,5 CALL BCF PORTC,5 CALL DELAY_1S RLF BUFIN,1 DECFSZ COUNT,1 GOTO LOOP BCF PORTC,5 RETLW 0 ;******************************** ;------------------------------------------------------------ ;25ms?ÆÊ?×Ó?ÌÐò ;------------------------------------------------------------ DELAY_25 MOVLW 20H MOVWF COUNT_T0 DELAY CLRWDT MOVLW 0FFH MOVWF COUNT_T1 DELAY1 DECFSZ COUNT_T1,1 GOTO DELAY1 DECFSZ COUNT_T0,1 GOTO DELAY RETLW 0 ;------------------------------------------------------------ ;250ms?ÆÊ?×Ó?ÌÐò ;------------------------------------------------------------ DELAY_250 MOVLW 0F2H MOVWF COUNT_T0 DELAY2 CLRWDT MOVLW 0FFH MOVWF COUNT_T1 DELAY21 NOP ;ÄÚ?ãÑ,??1024us DECFSZ COUNT_T1,1 GOTO DELAY21 DECFSZ COUNT_T0,0 GOTO DELAY2 RETLW 0 ;------------------------------------------------------------- ;Ö??ÌÐò?ªÊ? ;------------------------------------------------------------- ORG 100H INT_INIT BANKSEL PORTC MOVLW B'11001000' TRIS PORTC CLRF PORTC CLRF FLAG MOVLW 00H MOVWF IN_DATA_0 MOVWF IN_DATA_1 MOVWF IN_DATA_2 MOVWF COUNTER MOVWF COUNTER0 MOVWF COUNTER1 MOVWF COUNTER2 SIGNAL_SERVICE ;COUNTERX ?ÆÊýÆ??ÖÅä?ìÂÒ??ÐèÒªµ?Õû BTFSS SIGNAL GOTO SIGNAL_RET CLRF COUNTER0 SIGNAL_SYN_HIGH CLRWDT BTFSS SIGNAL GOTO SIGNAL_SYN_HIGH_TEST INCF COUNTER0,F BTFSS STATUS,Z GOTO SIGNAL_SYN_HIGH GOTO SIGNAL_RET SIGNAL_SYN_HIGH_TEST ;210us MOVLW D'30' ;30??Õâ?öÈ?ÖµÐèÒªÖØÐÂ?ÆËã SUBWF COUNTER0,W BNC SIGNAL_RET CLRF COUNTER1 SIGNAL_SYN_LOW GOTO $+1 GOTO $+1 GOTO $+1 GOTO $+1 GOTO $+1 GOTO $+1 CLRWDT BTFSC SIGNAL GOTO SIGNAL_RET DECFSZ COUNTER1,F GOTO SIGNAL_SYN_LOW SIGNAL_SYN_LOW_WAIT CLRWDT BTFSS SIGNAL GOTO SIGNAL_SYN_LOW_WAIT MOVLW D'24' MOVWF COUNTER2 SIGNAL_PERIOD_START CLRF COUNTER0 CLRF COUNTER3 SIGNAL_PERIOD_LOW_WAIT CLRWDT GOTO $+1 BTFSC SIGNAL GOTO SIGNAL_PERIOD_HIGH INCFSZ COUNTER0,F GOTO SIGNAL_PERIOD_LOW_WAIT GOTO SIGNAL_RET SIGNAL_PERIOD_HIGH ;6?öÊ?ÖÓÖÜÆÚ CLRWDT BTFSS SIGNAL GOTO SIGNAL_PERIOD_VALUE_JUDGE INCFSZ COUNTER3,F GOTO SIGNAL_PERIOD_HIGH GOTO SIGNAL_RET SIGNAL_PERIOD_VALUE_JUDGE MOVLW D'20' ;?ßµçÆ?Ð?ÓÚ120us ÍË?ö SUBWF COUNTER3,W BNC SIGNAL_RE BCF FLAG,0 MOVLW D'80' ;?ßµçÆ??óÓÚ120us Ð?ÓÚ480usÅÐ?ÏΪ??0?? SUBWF COUNTER3,W ; ?óÓÚ480us ÅÐ?ÏΪ??1?? BNC SIGNAL_PERIOD_VALUE_SAVE BSF FLAG,0 SIGNAL_PERIOD_VALUE_SAVE RLF IN_DATA_0,F RLF IN_DATA_1,F RLF IN_DATA_2,F BCF IN_DATA_0,0 BTFSC FLAG,0 BSF IN_DATA_0,0 DECFSZ COUNTER2,F GOTO SIGNAL_PERIOD_START BSF LIGHT ;ÊÕµ?ÐźÅ??ÉÁ3Ï CALL DELAY_1S BCF LIGHT CALL DELAY_1S BSF LIGHT CALL DELAY_1S BCF LIGHT CALL DELAY_1S BSF LIGHT CALL DELAY_1S BCF LIGHT CALL DELAY_1S MOVLW 0FH ANDWF IN_DATA_0,W MOVWF DATA1 ;ÆÁ?εÍ4Î?,??ÁôµØÖ?ÂëÖµ MOVLW 0F0H ANDWF IN_DATA_0,F ;ÆÁ?Î?ß4Î?,??Áô?üÂëÖµ ;----------------------------------------------------------------- -------------------------- ;?Ô?ÓÊÕµ?µÄÊý?Ý?øÐÐ??Àí??ÈôΪ?õÊ?????Ñ?Ï?????Ôò??Êý?Ý?æÈëEEPROM??? ñÔò???ø?ö?ªËø?òÕßÉÏËøÐźŠ;----------------------------------------------------------------- ------------------------- SIGNAL_PROCESSING BCF PORTC,0 BCF PORTC,1 ;BTFSC STUDY ;GOTO WRITE MOVLW 40H MOVWF FSR MOVLW 03H ;3?Î?Á MOVWF BY_COUNT CLRF PORTC MOVLW B'10100000' MOVWF SLAVE CLRF ADDR CALL BSTART MOVF SLAVE,0 MOVWF TXBUF CALL TX MOVF ADDR,0 MOVWF TXBUF CALL TX CALL BSTART MOVLW B'10100001' MOVWF TXBUF CALL TX RBYTE CALL RX MOVF BUFIN,0 MOVWF INDF INCF FSR DECFSZ BY_COUNT,1 GOTO LOWACK BSF EEPROM,DO CALL BITOUT CALL BSTOP GOTO OUT2 LOWACK BCF EEPROM,DO CALL BITOUT CALL XIANSHI GOTO RBYTE NOP OUT2 MOVLW B'11001000' TRIS PORTC BSF LIGHT ;?ÁÍêÉÁ1?Î CALL DELAY_1S BCF LIGHT GOTO CHECK_AD WRITE CALL WR_EEPROM BSF FLAG,1 BSF LIGHT CALL DELAY_250 BCF LIGHT ;?øÈëÐ?EEPROM GOTO EXIT ;----------------------------------------------------------- ;?È?ϵØÖ?Âë ;----------------------------------------------------------- CHECK_AD MOVLW 40H MOVWF FSR MOVF IN_DATA_0,0 XORWF INDF,0 BTFSS STATUS,Z GOTO EXIT INCF FSR,1 MOVF IN_DATA_1,0 XORWF INDF,0 BTFSS STATUS,Z GOTO EXIT INCF FSR,1 MOVF IN_DATA_2,0 XORWF INDF,0 BTFSS STATUS,Z GOTO EXIT ;µØÖ?Âë???Ô??Ìø?ö ;----------------------------------------------------------------- - ;?ì?éÖ?Áî ;----------------------------------------------------------------- -- GOTO OPEN DONE MOVF DATA1,0 XORLW 00H BTFSS STATUS,Z GOTO OPEN GOTO EXIT OPEN BSF PORTC,5 CALL DELAY_250 BCF PORTC,5 CALL DELAY_250 BSF PORTC,5 CALL DELAY_250 BCF PORTC,5 EXIT NOP SIGNAL_RET GOTO SERVICE_END SERVICE_END NOP NOP BTFSC SIGNAL ;SIGNAL =1Íâ??ÓÐÐźÅÊäÈë GOTO SIGNAL_SERVICE NOP NOP NOP NOP NOP NOP GOTO SERVICE_END END
本文档为【用于汽车遥控的Ev1527的pic单片机软件接收解码程序,密】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_358746
暂无简介~
格式:doc
大小:41KB
软件:Word
页数:21
分类:生活休闲
上传时间:2017-09-17
浏览量:39