日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀] #i nclude#i nclude#define uchar unsigned char#define uint unsigned intstatic volatile unsigned char aCC@ 0x20; //發(fā)收數(shù)據(jù)暫存器static volatile bit acc0 @ (unsigned)&acc*8+0; //接收stati

#i nclude
#i nclude
#define uchar unsigned char
#define uint unsigned int

static volatile unsigned char aCC@ 0x20; //發(fā)收數(shù)據(jù)暫存器

static volatile bit acc0 @ (unsigned)&acc*8+0; //接收
static volatile bit acc7 @ (unsigned)&acc*8+7; //發(fā)送
static volatile unsigned char err @ 0x21; //
static volatile bit err0 @ (unsigned)&err*8+0;
static volatile bit err3 @ (unsigned)&err*8+3;
static volatile bit err6 @ (unsigned)&err*8+6;
static volatile bit err7 @ (unsigned)&err*8+7; //應(yīng)答位暫存位


void Cack(); //應(yīng)答位檢查
void Mnack(); //發(fā)送非應(yīng)答位
void Mack(); //發(fā)送應(yīng)答位
void Stop(); //停止IC總線
void Sta(); //啟動(dòng)IC總線
void Wrbyt (uchar x) ; //寫(xiě)一字節(jié)
uchar Rdbyt( ); //讀一字節(jié)
void Rdnbyt (); //讀n個(gè)數(shù)據(jù)
void Wrnbyt(uchar SLAwtemp ); //寫(xiě)n個(gè)數(shù)據(jù)
void initial(); //I/O初始化子程序
voidLED();//
void delay(uint a);
void delay1();


#define SCL RB4 //4 ;24C01-6
#define SDA RB5 //5 ;24C01-5
#define SCLIO TRISB4 //4
#define SDAIO TRISB5 //5
#define SLAW 0x0A0//尋址字節(jié)寫(xiě)
#define SLAR 0x0A1//尋址字節(jié)讀
uchar numer=1; //數(shù)碼管數(shù)據(jù)暫存區(qū)


unsigned char sun[10] ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

//////////////24C01/////////////////
//--------應(yīng)答位檢查---------
void Cack()
{
SCL=1;
SDAIO=1;//輸入1
SCLIO=0;
delay1();
err7=SDA;//c=1錯(cuò)誤ERR
SCL=0;
}
///--------發(fā)送非應(yīng)答位----------
void Mnack()
{
SDA=1;
SCLIO=0;
SDAIO=0;//輸出
SCL=1;
delay1();
SCL=0;
SDA=0;
}
//-------發(fā)送應(yīng)答位---------------
void Mack()
{
SDA=0;
SCLIO=0;
SDAIO=0;//輸出
SCL=1;
delay1();
SCL=0;
SDA=1;
}
//--------停止IC總線---------------
void Stop()
{
SDAIO=0;//輸出
SCLIO=0;
SDA=0;
delay1();
SCL=1;
delay1();
SDA=1;
delay1();
}
//--------;啟動(dòng)IC總線-------------
void Sta()
{
SDAIO=0;//輸出
SCLIO=0;
SDA=1;
delay1();
SCL=1;
delay1();
SDA=0;
delay1();
SCL=0;
}
//--------寫(xiě)一字節(jié)------------------------
void Wrbyt(uchar x)
{
uchar i;
acc=x;
SCLIO=0;
SDAIO=0;
for(i=8;i>0;i--)
{
SDA=acc7;
SCL=1;
delay1();
SCL=0;
SDA=0;
acc=acc<<1;
}
}
//---------讀一字節(jié)-----------------
uchar Rdbyt( )
{
uchar i;
SCLIO=0;
SDAIO=1;//;輸入
for(i=8;i>0;i--)
{
acc=acc<<1;//接收數(shù)據(jù)左移寄存器
SCL=1;
delay1();
acc0=SDA;
SCL=0;
delay1();
}
return(acc);
}
////---------讀n個(gè)數(shù)據(jù)----------------
void Rdnbyt () //傳送數(shù)據(jù)個(gè)
{
Sta(); //啟動(dòng)IC總線
delay1();
numer = Rdbyt();///讀一字節(jié)
delay1();
Stop(); //停止IC總線
}
//---------寫(xiě)n個(gè)數(shù)據(jù)---------------
void Wrnbyt(uchar SLAwtemp )
{

err7=1;
if(err7==1)///c=1E0,ERR
{
Sta(); //啟動(dòng)IC總線
delay1();
Wrbyt(SLAwtemp); //寫(xiě)一字節(jié)
delay1();
Cack();//應(yīng)答位檢查-
}
delay1();
while(err7==1);
Stop(); //停止IC總線
}

//*************************************//
//系統(tǒng) 各I/O初始化子程序
void initial()
{
TRISC=0;
TRISA=0;
TRISB1=1;
TRISB2=1;
}

//LED

void LED ()
{
PORTA=0X1f;
PORTC=sun[numer];
}

void delay(uint a)
{
uint b=100;
while(a--)
{
while(b--);
}
}

void delay1()
{
NOP();
NOP();
NOP();
NOP();
}

void main()
{
initial();//系統(tǒng) 各I/O初始化子程序
LED();
delay(100);
Wrnbyt (SLAW);//尋址字節(jié)寫(xiě)#0A0
delay1();
Wrnbyt (0x05);//寫(xiě)地址0x05
delay1();
Wrnbyt (0x06);//寫(xiě)數(shù)據(jù)0x06
delay1();
Wrnbyt (SLAR);//尋址字節(jié)讀#0A1
delay1();
Wrnbyt (0x05);//讀地址0x05
delay1();
Rdnbyt (); //讀數(shù)據(jù)
delay(5);
while(1)
{LED();}
}


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉