欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
PIC16F639單片機(jī)的PKE方案源程序 3D天線可低頻(125K)喚醒,空中高頻端數(shù)據(jù)采用滾...
[打印本頁(yè)]
作者:
lddjss
時(shí)間:
2020-6-28 15:12
標(biāo)題:
PIC16F639單片機(jī)的PKE方案源程序 3D天線可低頻(125K)喚醒,空中高頻端數(shù)據(jù)采用滾...
PIC16F639單片機(jī)C語(yǔ)言代碼,附件完整工程MPLAB IDE可直接打開,主要功能:3D天線可低頻(125K)喚醒,空中高頻端數(shù)據(jù)采用滾碼方式加密,PIC內(nèi)部硬件加密沒(méi)用。。。
單片機(jī)源程序如下:
#include <pic.h>
#include <string.h>
#include"Keeloq.h"
__CONFIG(0x1004); //0001 0000 0000 0100
#define LED RC0
#define AFECS RC1 // CS
#define AFESCLK RC2 // SCLK
#define AFESDI RC3 // SDI
bit Wake_flag = 0; //休眠、工作標(biāo)志位
/*******************************************************************************************/
/*void write_byte(unsigned char com,unsigned char addr,unsigned char byte) */
/*com命令 addr為地址 byte要寫入寄存器的數(shù)據(jù) */
/*寫命令0x07 讀命令0x06 */
/*******************************************************************************************/
void write_byte(unsigned char com,unsigned char addr,unsigned char byte)
{
unsigned char i,temp;
unsigned char dat;
unsigned char crc;
TRISC = 0x00; //RC0.1.2.3.4.5輸出
asm("nop");
asm("nop");
AFESCLK = 0;
AFESDI = 0;
AFECS = 0; //使能SPI
com = com << 4; //0000 0111
temp = addr|com; //0111 xxxx
temp = temp << 1; //將高位移除
for(i=0;i<7;i++) //寫命令加地址
{
dat = temp&0x80;
temp = temp << 1;
if(dat==0x80)
AFESDI = 1;
else
AFESDI = 0;
AFESCLK = 1; //產(chǎn)生上升沿
asm("nop");
asm("nop");
asm("nop");
asm("nop");
AFESCLK = 0;
//AFESDI = 0;
}
crc = 0; //用于數(shù)據(jù)位1的個(gè)數(shù)
temp = byte;
for(i=0;i<8;i++)
{
dat = temp&0x80;
temp = temp <<1;
if(dat==0x80)
{
AFESDI = 1;
crc ++;
}
else
AFESDI = 0;
AFESCLK = 1; //進(jìn)行數(shù)據(jù)采樣
asm("nop");
asm("nop");
asm("nop");
asm("nop");
AFESCLK = 0;
//AFESDI = 0;
}
if(crc%2==0) //偶數(shù)個(gè)1
{
AFESDI = 1;
AFESCLK = 1; //進(jìn)行數(shù)據(jù)采樣
asm("nop");
asm("nop");
asm("nop");
asm("nop");
AFESCLK = 0;
AFESDI = 0;
}
else
{
AFESDI = 0;
AFESCLK = 1; //進(jìn)行數(shù)據(jù)采樣
asm("nop");
asm("nop");
asm("nop");
asm("nop");
AFESCLK = 0;
AFESDI = 0;
}
TRISC = 0x08;
AFECS = 1;
}
/*******************************************************************************************/
/*unsigned char read_byte(unsigned char addr) */
/*addr為地址 返回讀到數(shù)據(jù) */
/*先寫入命令+地址+無(wú)效數(shù)據(jù)(合計(jì)16位)拉高CS 再拉低CS 發(fā)送SCLK時(shí)鐘讀出數(shù)據(jù) */
/*******************************************************************************************/
unsigned char read_byte(unsigned char addr)
{
unsigned int temp = 0;
unsigned char i;
write_byte(0x06,addr,0x00); //先寫入命令和地址和無(wú)效數(shù)據(jù)
TRISC = 0x00; //0000 0100
asm("nop");
asm("nop");
asm("nop");
asm("nop");
AFECS = 0;
for(i=0;i<16;i++) // 1010 0000 1
{
AFESCLK = 1;
if(AFESDI) temp = temp|0x01;
temp = temp<<1;
AFESCLK = 0;
asm("nop");
asm("nop");
asm("nop");
asm("nop");
asm("nop");
asm("nop");
asm("nop");
asm("nop");
}
TRISC = 0x08;
AFECS = 1;
temp = temp>>1;
return temp;
}
/*******************************************************************************************/
/*void LF_Configuration(void) */
/*低頻配置 */
/*寫命令0x07 讀命令0x06 */
/*******************************************************************************************/
void LF_Configuration(void)
{
//const unsigned char AFEConfig[6]={0x00,0x00,0x00,0x00,0x00,0x30};//解調(diào)輸出無(wú)喚醒
const unsigned char AFEConfig[6]={0xa0,0x00,0x00,0x00,0x00,0x00};//解調(diào)輸出喚醒序列
unsigned char i,j,k; //0xa0,0x00,0x00,0x00,0x00,0x10
unsigned char AFEConfig6 = 0; //列校驗(yàn)
for(i=0;i<8;i++) //校驗(yàn)數(shù)據(jù),生成列校驗(yàn)寄存器的值
{
j = 0;
AFEConfig6 = AFEConfig6 <<1;
for(k=0;k<6;k++)
{
switch(i)
{
case 0: j = j^(AFEConfig[k]&0x80);
break;
case 1: j = j^(AFEConfig[k]&0x40);
break;
case 2: j = j^(AFEConfig[k]&0x20);
break;
case 3: j = j^(AFEConfig[k]&0x10);
break;
case 4: j = j^(AFEConfig[k]&0x08);
break;
case 5: j = j^(AFEConfig[k]&0x04);
break;
case 6: j = j^(AFEConfig[k]&0x02);
break;
case 7: j = j^(AFEConfig[k]&0x01);
break;
}
}
if(j==0) AFEConfig6 = AFEConfig6 | 0x01;
}
/* while(1)
{
write_byte(0x07,0x00,AFEConfig[0]);
Delay_1ms(5);
} */
write_byte(0x07,0x00,AFEConfig[0]);
write_byte(0x07,0x01,AFEConfig[1]);
write_byte(0x07,0x02,AFEConfig[2]);
write_byte(0x07,0x03,AFEConfig[3]);
write_byte(0x07,0x04,AFEConfig[4]);
write_byte(0x07,0x05,AFEConfig[5]);
write_byte(0x07,0x06,AFEConfig6);
}
/*******************************************************************************************/
/*初始化時(shí)鐘、IO、中斷 */
/*******************************************************************************************/
void InIt(void)
{
TRISC = 0x00; //0000 0000 //RC0.1.2.3.4.5輸出
OSCCON = 0x71; //0110 0001 //內(nèi)部振蕩器用于系統(tǒng)時(shí)鐘:8MHz
PCON = 0x00; //0000 1011 //電源控制
T1CON=0x00;
EECON1=0x00;
CMCON0 = 0x07; //關(guān)閉引腳比較器功能、模擬端口轉(zhuǎn)入數(shù)字端口
……………………
…………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
key-pic16f639.rar
(132.86 KB, 下載次數(shù): 50)
2020-6-28 15:11 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
philix
時(shí)間:
2020-11-4 14:53
實(shí)際量產(chǎn)過(guò)嗎?
作者:
chscn
時(shí)間:
2021-1-25 10:13
不全,只是鑰匙部分的低頻喚醒
作者:
peishuaihua
時(shí)間:
2024-1-8 09:18
IMMO功能無(wú)線充電這塊做過(guò)嗎
作者:
keyway
時(shí)間:
2024-9-15 08:36
樣品1顆不到5元,量產(chǎn)后1顆漲到100元,microchip我好怕喔.
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1