91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

stc12c5a60s2 51單片機作為i2c從設備,加密芯片+紅外+串口

資源截圖

代碼片段和文件信息

/*****************************************************************************
程序名:??
編寫人:dragon101788

I2C協(xié)議具體描述:
0x50 開始算密碼
0x51 密碼第1字節(jié)
0x52 密碼第2字節(jié)
0x53 密碼第3字節(jié)
0x54 密碼第4字節(jié)
0x55 密碼第5位
0x56 密碼第6位
0x57 密碼第7位
0x58 密碼第8位
*****************************************************************************/
#include??//?包含頭文件??
#include?
#include?

unsigned?char?code?secret_key[8]={‘1‘‘9‘‘8‘‘8‘‘1‘‘0‘‘1‘‘7‘};
unsigned?char??random[8]={0x55‘2‘};

sbit?IR_INT=P3^2;
sbit?LED=P3^4;
sbit?LED2=P3^5;
//#define?I2C_TIMEOUT?200
unsigned?int?i2c_timeout;//超時時間
#define?I2C_TIMEOUT (i2c_timeout*2+5)

unsigned?char?I2CsADDR=0x17;
sbit?I2CsCLK=P1^1;
sbit?I2CsDAT=P1^0;

unsigned?char?dat[4]?=?{0000};?//用于存放按鍵碼值,初始化為?0000?0000

void?RSHash()
{
char?i;
unsigned?char?a=0;
unsigned?char?hash=0;
for(i?=?0;?i? {

a?=?random[i]+hash;
hash?+=?a;
random[i]=secret_key[hash%8]*hash;
}
}

/*****************************************************************************
UART?串口初始化函數(shù)?
振蕩晶體為?12MHz,PC?串口端設置?[?4800,8,無,1,無?]?
*****************************************************************************/
void?UART_Init?(void)?
{
?EA?=?1;?????//允許總中斷(如不使用中斷,可用//屏蔽)?
?ES?=?1;?????//允許UART?串口的中斷?
?TMOD?=?0x20;???//定時器?T/C1?工作方式?2?
?SCON?=?0x50;??????//串口工作方式?1,允許串口接收?
?TL1??=?0xF9;??????//定時器初值低?8?位設置,修改此處的值來修改波特率?
?TH1??=?0xF3;???//定時器初值高?8?位設置,修改此處的值來修改波特率?
?PCON?=?0x80;??????//波特率倍頻?
?TR1??=?1;????//定時器啟動?????
}?


/*****************************************************************************
UART?串口接收中斷處理函數(shù)?
*****************************************************************************/
void?UART_R?(void)?interrupt?4??using?1?
{
?unsigned?char?ch;??//定義串口接收數(shù)據(jù)變量?
?//LED=!LED;


?RI?=?0;?????????//令接收中斷標志位為?0(軟件清零)?
?ch?=?SBUF;???//將接收到的數(shù)據(jù)送入變量?UART_data?
?putchar(ch);

}

int?i2s_wait_low()
{
int?i;
for(i=0;i {
if(I2CsCLK==0)
{
i2c_timeout=i;
return?i;
}
}
return?-1;
}


int?i2s_wait_high()
{
int?i;
for(i=0;i {
if(I2CsCLK==1)
{
return?i;
}
}
return?-1;
}

int?i2s_send_ack()
{

//int?i;

//低電平變化
i2s_wait_low();
I2CsDAT=0;

//高電平穩(wěn)定
i2s_wait_high();

return?0;
}

int?i2s_read_ack()
{

//int?i;

//低電平變化
i2s_wait_low();

//高電平穩(wěn)定
i2s_wait_high();

return?(I2CsDAT==0);
}


void?i2s_stop()
{
int?i;
i2s_wait_high();
for(i=0;i {
if(I2CsCLK==0)
{
LED=0;
I2CsDAT=1;
return;
}
}
}
char?i2s_read_byte(unsigned?char?*?pbyte)
{
char?i;
//int?ret;
unsigned?char?byte;
for(i=0;i<8;i++)
{
if(i2s_wait_low()<0)
{//STOP位
I2CsDAT=1;
return?-1;
}
I2CsDAT=1;

if(i2s_wait_high()<0)
{
return?-1;
}
byte<<=1;
byte|=I2CsDAT;



}
*pbyte=byte;
return?0;
}

char?i2s_send_byte(unsigned?char?*?pbyte)
{
char?i;
//int?

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????15744??2013-06-13?11:35??加密+i2c\dragon

?????文件???????7030??2013-06-13?11:35??加密+i2c\dragon.hex

?????文件?????????76??2013-06-13?11:35??加密+i2c\dragon.lnp

?????文件??????23834??2013-06-13?11:35??加密+i2c\dragon.M51

?????文件??????26568??2013-05-22?12:22??加密+i2c\dragon.plg

?????文件??????73540??2013-06-09?17:37??加密+i2c\dragon.uvgui.Administrator

?????文件??????73521??2013-06-08?09:23??加密+i2c\dragon.uvgui_Administrator.bak

?????文件???????6386??2013-06-09?17:37??加密+i2c\dragon.uvopt

?????文件??????13777??2013-05-22?19:31??加密+i2c\dragon.uvproj

?????文件???????6389??2013-06-08?09:23??加密+i2c\dragon_uvopt.bak

?????文件??????13622??2013-05-21?22:24??加密+i2c\dragon_uvproj.bak

?????文件???????7715??2013-06-13?11:35??加密+i2c\main.c

?????文件??????15238??2013-06-13?11:35??加密+i2c\main.LST

?????文件??????14625??2013-06-13?11:35??加密+i2c\main.OBJ

?????文件???????4800??2013-06-13?11:35??加密+i2c\PUTCHAR.lst

?????文件???????1093??2013-06-13?11:35??加密+i2c\PUTCHAR.obj

?????文件???????6376??2009-05-07?14:37??加密+i2c\STARTUP.A51

?????文件??????14048??2013-06-13?11:35??加密+i2c\STARTUP.LST

?????文件????????749??2013-06-13?11:35??加密+i2c\STARTUP.OBJ

?????目錄??????????0??2013-06-13?11:53??加密+i2c

-----------?---------??----------?-----??----

???????????????325131????????????????????20


評論

共有 條評論