亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? spi.c

?? 單片機C源程序souce
?? C
字號:
/**************************************
File          :  SPI.C
Project       :  BDTRV20_MCU_V07
Description   :  
Created       :  2004
Last updata   :  2004
Author        :  wangwenyu
Compile Tool  :  Keil
Target Device :  SST89V564RD
Circuit Board :  7700
************************************
Modification History
************************************
 Version      : v1.4
 Date         : MM/DD/YYYY
 Modifier     :
 Description  :

 **********************************
 -- Copyright (c)
*************************************/

#include <SST89V564.H>
sbit WSCK = 0x97;  //P17
sbit WSI  = 0x95;  //P15
sbit WSO  = 0x96;  //P16
sbit WCS  = 0x91;  //P11
sbit AD7  = ACC^7;
sbit AD6  = ACC^6;
sbit AD5  = ACC^5;
sbit AD4  = ACC^4;
sbit AD3  = ACC^3;
sbit AD2  = ACC^2;
sbit AD1  = ACC^1;
sbit AD0  = ACC^0;

extern wdt(void);
/*unsigned char MasterIO(unsigned char SPI_out)
{
unsigned char temp;
SPDR = SPI_out;
do	{temp = SPSR & 0x80;}
while(temp != 0x80);
SPSR = 0x00;
return SPDR;
}*/


void WREN(void)//寫允許
{
ACC=0x06;		//Write enable instruction.

WCS=0;		//Chip selected.

WSCK=0;			//Bit 7.
WSI=AD7;
WSCK=1;
WSCK=0;			//Bit 6.
WSI=AD6;
WSCK=1;
WSCK=0;			//Bit 5.
WSI=AD5;
WSCK=1;
WSCK=0;			//Bit 4.
WSI=AD4;
WSCK=1;
WSCK=0;			//Bit 3.
WSI=AD3;
WSCK=1;
WSCK=0;			//Bit 2.
WSI=AD2;
WSCK=1;
WSCK=0;			//Bit 1.
WSI=AD1;
WSCK=1;
WSCK=0;			//Bit 0.
WSI=AD0;
WSCK=1;

WCS=1;		//Disable chip select.
}

/*void WRDI(void)//寫禁止
{
ACC=0x04;		//Write disable instruction.

WCS=0;		//Chip select.

WSCK=0;			//Bit 7.
WSI=AD7;
WSCK=1;
WSCK=0;			//Bit 6.
WSI=AD6;
WSCK=1;
WSCK=0;			//Bit 5.
WSI=AD5;
WSCK=1;
WSCK=0;			//Bit 4.
WSI=AD4;
WSCK=1;
WSCK=0;			//Bit 3.
WSI=AD3;
WSCK=1;
WSCK=0;			//Bit 2.
WSI=AD2;
WSCK=1;
WSCK=0;			//Bit 1.
WSI=AD1;
WSCK=1;
WSCK=0;			//Bit 0.
WSI=AD0;
WSCK=1;

WCS=1;		//Disable chip select.
}*/
/*
unsigned char SDSR(void)//讀狀態寄存器
{
ACC = 0x05;		//Read Instruction 0x03.
WCS=0;			//Chip select.
				//Send read Instruction (0x03).
WSCK=0;			//Bit 7.
WSI=AD7;
WSCK=1;
WSCK=0;			//Bit 6.
WSI=AD6;
WSCK=1;
WSCK=0;			//Bit 5.
WSI=AD5;
WSCK=1;
WSCK=0;			//Bit 4.
WSI=AD4;
WSCK=1;
WSCK=0;			//Bit 3.
WSI=AD3;
WSCK=1;
WSCK=0;			//Bit 2.
WSI=AD2;
WSCK=1;
WSCK=0;			//Bit 1.
WSI=AD1;
WSCK=1;
WSCK=0;			//Bit 0.
WSI=AD0;
WSCK=1;

				//Read data from X5045.
WSCK=0;			//Bit 7.
AD7=WSO;
WSCK=1;
WSCK=0;			//Bit 6.
AD6=WSO;
WSCK=1;
WSCK=0;			//Bit 5.
AD5=WSO;
WSCK=1;
WSCK=0;			//Bit 4.
AD4=WSO;
WSCK=1;
WSCK=0;			//Bit 3.
AD3=WSO;
WSCK=1;
WSCK=0;			//Bit 2.
AD2=WSO;
WSCK=1;
WSCK=0;			//Bit 1.
AD1=WSO;
WSCK=1;
WSCK=0;			//Bit 0.
AD0=WSO;
WSCK=1;

WCS=1;			//Chip select disable.

return(ACC);	//Return the data having read.
}

void WRSR(unsigned char byte)//寫狀態寄存器(看門狗和塊鎖定)
{
ACC=0x01;		//Write instruction.
WCS=0;			//Chip select.

WSCK=0;			//Bit 7.
WSI=AD7;
WSCK=1;
WSCK=0;			//Bit 6.
WSI=AD6;
WSCK=1;
WSCK=0;			//Bit 5.
WSI=AD5;
WSCK=1;
WSCK=0;			//Bit 4.
WSI=AD4;
WSCK=1;
WSCK=0;			//Bit 3.
WSI=AD3;
WSCK=1;
WSCK=0;			//Bit 2.
WSI=AD2;
WSCK=1;
WSCK=0;			//Bit 1.
WSI=AD1;
WSCK=1;
WSCK=0;			//Bit 0.
WSI=AD0;
WSCK=1;

ACC= byte;	//Write 1st byte.
WSCK=0;			//Bit 7.
WSI=AD7;
WSCK=1;
WSCK=0;			//Bit 6.
WSI=AD6;
WSCK=1;
WSCK=0;			//Bit 5.
WSI=AD5;
WSCK=1;
WSCK=0;			//Bit 4.
WSI=AD4;
WSCK=1;
WSCK=0;			//Bit 3.
WSI=AD3;
WSCK=1;
WSCK=0;			//Bit 2.
WSI=AD2;
WSCK=1;
WSCK=0;			//Bit 1.
WSI=AD1;
WSCK=1;
WSCK=0;			//Bit 0.
WSI=AD0;
WSCK=1;

WCS=1;		//Chip unselected.
}
*/
unsigned char READ(unsigned char CMD,unsigned char addr)
{
//unsigned int j = 0x0200;
//while(j!=0){j--;}
wdt();
ACC = CMD;		//Read Instruction 0x03.
WCS=0;			//Chip select.
				//Send read Instruction (0x03).
WSCK=0;			//Bit 7.
WSI=AD7;
WSCK=1;
WSCK=0;			//Bit 6.
WSI=AD6;
WSCK=1;
WSCK=0;			//Bit 5.
WSI=AD5;
WSCK=1;
WSCK=0;			//Bit 4.
WSI=AD4;
WSCK=1;
WSCK=0;			//Bit 3.
WSI=AD3;
WSCK=1;
WSCK=0;			//Bit 2.
WSI=AD2;
WSCK=1;
WSCK=0;			//Bit 1.
WSI=AD1;
WSCK=1;
WSCK=0;			//Bit 0.
WSI=AD0;
WSCK=1;

ACC=addr;
WSCK=0;			//Bit 7.
WSI=AD7;
WSCK=1;
WSCK=0;			//Bit 6.
WSI=AD6;
WSCK=1;
WSCK=0;			//Bit 5.
WSI=AD5;
WSCK=1;
WSCK=0;			//Bit 4.
WSI=AD4;
WSCK=1;
WSCK=0;			//Bit 3.
WSI=AD3;
WSCK=1;
WSCK=0;			//Bit 2.
WSI=AD2;
WSCK=1;
WSCK=0;			//Bit 1.
WSI=AD1;
WSCK=1;
WSCK=0;			//Bit 0.
WSI=AD0;
WSCK=1;

				//Read data from X5045.
WSCK=0;			//Bit 7.
AD7=WSO;
WSCK=1;
WSCK=0;			//Bit 6.
AD6=WSO;
WSCK=1;
WSCK=0;			//Bit 5.
AD5=WSO;
WSCK=1;
WSCK=0;			//Bit 4.
AD4=WSO;
WSCK=1;
WSCK=0;			//Bit 3.
AD3=WSO;
WSCK=1;
WSCK=0;			//Bit 2.
AD2=WSO;
WSCK=1;
WSCK=0;			//Bit 1.
AD1=WSO;
WSCK=1;
WSCK=0;			//Bit 0.
AD0=WSO;
WSCK=1;

WCS=1;			//Chip select disable.

return(ACC);	//Return the data having read.
}


/*void WRITE(unsigned char CMD,unsigned char addr,unsigned char byte)//向選定的開始地址單元中寫入數據
{
unsigned int j = 0x0600;//5ms
//while(j!=0){j--;}
WREN();

ACC=CMD;		//Write instruction.

WCS=0;			//Chip select.

WSCK=0;			//Bit 7.
WSI=AD7;
WSCK=1;
WSCK=0;			//Bit 6.
WSI=AD6;
WSCK=1;
WSCK=0;			//Bit 5.
WSI=AD5;
WSCK=1;
WSCK=0;			//Bit 4.
WSI=AD4;
WSCK=1;
WSCK=0;			//Bit 3.
WSI=AD3;
WSCK=1;
WSCK=0;			//Bit 2.
WSI=AD2;
WSCK=1;
WSCK=0;			//Bit 1.
WSI=AD1;
WSCK=1;
WSCK=0;			//Bit 0.
WSI=AD0;
WSCK=1;

ACC=addr;		//Write address.
WSCK=0;			//Bit 7.
WSI=AD7;
WSCK=1;
WSCK=0;			//Bit 6.
WSI=AD6;
WSCK=1;
WSCK=0;			//Bit 5.
WSI=AD5;
WSCK=1;
WSCK=0;			//Bit 4.
WSI=AD4;
WSCK=1;
WSCK=0;			//Bit 3.
WSI=AD3;
WSCK=1;
WSCK=0;			//Bit 2.
WSI=AD2;
WSCK=1;
WSCK=0;			//Bit 1.
WSI=AD1;
WSCK=1;
WSCK=0;			//Bit 0.
WSI=AD0;
WSCK=1;

ACC= byte;	//Write 1st byte.
WSCK=0;			//Bit 7.
WSI=AD7;
WSCK=1;
WSCK=0;			//Bit 6.
WSI=AD6;
WSCK=1;
WSCK=0;			//Bit 5.
WSI=AD5;
WSCK=1;
WSCK=0;			//Bit 4.
WSI=AD4;
WSCK=1;
WSCK=0;			//Bit 3.
WSI=AD3;
WSCK=1;
WSCK=0;			//Bit 2.
WSI=AD2;
WSCK=1;
WSCK=0;			//Bit 1.
WSI=AD1;
WSCK=1;
WSCK=0;			//Bit 0.
WSI=AD0;
WSCK=1;

WCS=1;		//Chip unselected.
j = 0x0600;
while(j!=0){wdt();j--;}
}*/
/*
void ReadCont(unsigned char CMD,unsigned char addr,unsigned char NoBytes,unsigned char DataArray[],unsigned char ArrayStart)
{
unsigned char i;
unsigned int j = 0x0200;
while(j!=0){j--;}
ACC = CMD;		//Read Instruction 0x03.
WCS=0;			//Chip select.
				//Send read Instruction (0x03).
WSCK=0;			//Bit 7.
WSI=AD7;
WSCK=1;
WSCK=0;			//Bit 6.
WSI=AD6;
WSCK=1;
WSCK=0;			//Bit 5.
WSI=AD5;
WSCK=1;
WSCK=0;			//Bit 4.
WSI=AD4;
WSCK=1;
WSCK=0;			//Bit 3.
WSI=AD3;
WSCK=1;
WSCK=0;			//Bit 2.
WSI=AD2;
WSCK=1;
WSCK=0;			//Bit 1.
WSI=AD1;
WSCK=1;
WSCK=0;			//Bit 0.
WSI=AD0;
WSCK=1;

ACC=addr;
WSCK=0;			//Bit 7.
WSI=AD7;
WSCK=1;
WSCK=0;			//Bit 6.
WSI=AD6;
WSCK=1;
WSCK=0;			//Bit 5.
WSI=AD5;
WSCK=1;
WSCK=0;			//Bit 4.
WSI=AD4;
WSCK=1;
WSCK=0;			//Bit 3.
WSI=AD3;
WSCK=1;
WSCK=0;			//Bit 2.
WSI=AD2;
WSCK=1;
WSCK=0;			//Bit 1.
WSI=AD1;
WSCK=1;
WSCK=0;			//Bit 0.
WSI=AD0;
WSCK=1;

				//Read data from X5045.
for (i=0;i<NoBytes;i++)
	{	
	WSCK=0;			//Bit 7.
	AD7=WSO;
	WSCK=1;
	WSCK=0;			//Bit 6.
	AD6=WSO;
	WSCK=1;
	WSCK=0;			//Bit 5.
	AD5=WSO;
	WSCK=1;
	WSCK=0;			//Bit 4.
	AD4=WSO;
	WSCK=1;
	WSCK=0;			//Bit 3.
	AD3=WSO;
	WSCK=1;
	WSCK=0;			//Bit 2.
	AD2=WSO;
	WSCK=1;
	WSCK=0;			//Bit 1.
	AD1=WSO;
	WSCK=1;
	WSCK=0;			//Bit 0.
	AD0=WSO;
	WSCK=1;
	DataArray[i+ArrayStart] = ACC;
	}

WCS=1;			//Chip select disable.

}*/

void WriteCont(unsigned char CMD,unsigned char addr,unsigned char DataArray[],unsigned char offset)
{
unsigned char i;
unsigned int j = 0x0600;//5ms
//while(j!=0){j--;}
//j = 0xffff;
//while(j!=0){j--;}
WREN();

ACC=CMD;		//Write instruction.

WCS=0;			//Chip select.

WSCK=0;			//Bit 7.
WSI=AD7;
WSCK=1;
WSCK=0;			//Bit 6.
WSI=AD6;
WSCK=1;
WSCK=0;			//Bit 5.
WSI=AD5;
WSCK=1;
WSCK=0;			//Bit 4.
WSI=AD4;
WSCK=1;
WSCK=0;			//Bit 3.
WSI=AD3;
WSCK=1;
WSCK=0;			//Bit 2.
WSI=AD2;
WSCK=1;
WSCK=0;			//Bit 1.
WSI=AD1;
WSCK=1;
WSCK=0;			//Bit 0.
WSI=AD0;
WSCK=1;


ACC=addr;		//Write address.
WSCK=0;			//Bit 7.
WSI=AD7;
WSCK=1;
WSCK=0;			//Bit 6.
WSI=AD6;
WSCK=1;
WSCK=0;			//Bit 5.
WSI=AD5;
WSCK=1;
WSCK=0;			//Bit 4.
WSI=AD4;
WSCK=1;
WSCK=0;			//Bit 3.
WSI=AD3;
WSCK=1;
WSCK=0;			//Bit 2.
WSI=AD2;
WSCK=1;
WSCK=0;			//Bit 1.
WSI=AD1;
WSCK=1;
WSCK=0;			//Bit 0.
WSI=AD0;
WSCK=1;


for(i=0;i<16;i++)
	{
	ACC=DataArray[i+offset];	//Write 1st byte.
	WSCK=0;			//Bit 7.
	WSI=AD7;
	WSCK=1;
	WSCK=0;			//Bit 6.
	WSI=AD6;
	WSCK=1;
	WSCK=0;			//Bit 5.
	WSI=AD5;
	WSCK=1;
	WSCK=0;			//Bit 4.
	WSI=AD4;
	WSCK=1;
	WSCK=0;			//Bit 3.
	WSI=AD3;
	WSCK=1;
	WSCK=0;			//Bit 2.
	WSI=AD2;
	WSCK=1;
	WSCK=0;			//Bit 1.
	WSI=AD1;
	WSCK=1;
	WSCK=0;			//Bit 0.
	WSI=AD0;
	WSCK=1;
	}

WCS=1;		//Chip unselected.
j = 0x0600;
while(j!=0){wdt();j--;}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品一区在线观看| 99re这里只有精品视频首页| 欧美性大战久久| 樱花草国产18久久久久| 欧洲精品视频在线观看| 午夜精品一区二区三区电影天堂| 精品1区2区3区| 久久精品72免费观看| 久久久亚洲午夜电影| 成人国产亚洲欧美成人综合网| 国产精品久久久久9999吃药| 色狠狠色噜噜噜综合网| 天堂久久久久va久久久久| 欧美刺激午夜性久久久久久久| 国产一区二区电影| 亚洲免费视频成人| 欧美电影一区二区三区| 国产一区二区免费看| 一区在线观看免费| 欧美日韩国产高清一区二区三区 | 在线观看欧美精品| 爽爽淫人综合网网站| 精品国一区二区三区| 成人免费观看av| 亚洲成人免费电影| 久久久久久97三级| 欧美午夜精品电影| 精品一区二区三区不卡| 亚洲视频一区在线| 日韩一级视频免费观看在线| 成人妖精视频yjsp地址| 婷婷久久综合九色综合绿巨人| 久久久不卡影院| 欧美三级日韩三级国产三级| 国产一区二区电影| 视频一区视频二区中文| 中文字幕av资源一区| 欧美网站大全在线观看| 国产精品一区二区男女羞羞无遮挡 | 亚洲欧美日韩国产成人精品影院| 欧美人妇做爰xxxⅹ性高电影| 国产一区二区0| 亚洲国产视频一区| 国产精品天天看| 精品国产制服丝袜高跟| 欧美无砖专区一中文字| 成人av网站在线| 久久精品国产一区二区| 亚洲综合男人的天堂| 欧美激情一区二区三区不卡| 欧美一区二区性放荡片| 91视频精品在这里| 国产黄色精品视频| 美腿丝袜在线亚洲一区| 亚洲国产精品嫩草影院| 国产精品素人视频| 26uuu精品一区二区三区四区在线| 欧美影片第一页| 91在线视频18| 菠萝蜜视频在线观看一区| 韩国三级中文字幕hd久久精品| 亚洲国产精品尤物yw在线观看| 国产精品国产三级国产aⅴ入口| 日韩免费视频线观看| 欧美日本一道本在线视频| 91极品美女在线| 91麻豆视频网站| 97久久超碰国产精品| 成人黄色电影在线| 成人av网站大全| av动漫一区二区| 成人高清在线视频| 成人亚洲一区二区一| 岛国精品一区二区| av电影在线观看不卡| 91免费版在线| 色999日韩国产欧美一区二区| 99精品欧美一区| 色国产综合视频| 在线视频一区二区三| 欧美丝袜第三区| 欧美精品电影在线播放| 欧美日韩国产小视频| 欧美日韩久久久| 欧美一区二区啪啪| 日韩午夜三级在线| 日韩精品在线网站| 国产午夜精品久久久久久久| 国产精品萝li| 夜夜亚洲天天久久| 亚洲成a人片在线不卡一二三区 | 毛片基地黄久久久久久天堂| 麻豆一区二区在线| 精品在线免费视频| 国产成人免费xxxxxxxx| 床上的激情91.| 91玉足脚交白嫩脚丫在线播放| 91官网在线免费观看| 欧美老肥妇做.爰bbww| 日韩欧美一级二级三级| 久久精品视频免费观看| 中文字幕五月欧美| 亚洲香蕉伊在人在线观| 蜜臀久久99精品久久久久宅男| 国内精品伊人久久久久av影院| 成人免费视频一区二区| 在线观看国产91| 日韩色在线观看| 国产午夜精品久久| 一区二区成人在线| 久久激情五月激情| 99久久免费国产| 欧美精品v日韩精品v韩国精品v| 欧美刺激脚交jootjob| 国产精品人成在线观看免费| 亚洲成在人线免费| 国产馆精品极品| 欧美三级电影网| 久久久久久久久久电影| 夜夜嗨av一区二区三区中文字幕 | 九九九精品视频| 色婷婷久久久综合中文字幕| 日韩视频不卡中文| 亚洲一区二区在线播放相泽| 国产一区二区三区国产| 在线观看三级视频欧美| 久久久久久黄色| 偷窥少妇高潮呻吟av久久免费| 国产精品99久久久久久似苏梦涵 | 久久99最新地址| 99久久国产免费看| 2021国产精品久久精品| 亚洲福利国产精品| 97se狠狠狠综合亚洲狠狠| 日韩午夜激情免费电影| 亚洲一区中文在线| 不卡的av电影在线观看| 欧美成人激情免费网| 亚洲综合在线免费观看| 国产91丝袜在线播放0| 日韩一级二级三级| 亚洲第一久久影院| 色丁香久综合在线久综合在线观看| 久久久久免费观看| 蜜桃视频在线观看一区| 欧美日韩aaaaaa| 亚洲一二三专区| 在线观看一区日韩| 国产精品久久久久久久久免费丝袜 | 亚洲色图丝袜美腿| 国产精品 日产精品 欧美精品| 欧美一区二区视频在线观看2022 | 2020国产精品久久精品美国| 亚洲一区二三区| 色久综合一二码| 亚洲素人一区二区| 99re成人在线| 中文av字幕一区| 成人午夜免费视频| 国产精品视频yy9299一区| 国产乱码精品1区2区3区| 91精品国产91久久综合桃花 | 91在线国产福利| 欧美国产精品劲爆| 粉嫩在线一区二区三区视频| 精品久久国产字幕高潮| 美女一区二区在线观看| 欧美成人国产一区二区| 久久国产福利国产秒拍| 日韩女优视频免费观看| 老司机精品视频在线| 日韩一级欧美一级| 国内外成人在线| 国产三级欧美三级| 成人性生交大片免费看视频在线| 日本一区二区三区国色天香| 国产iv一区二区三区| 最新日韩av在线| 色成人在线视频| 性做久久久久久| 欧美一级久久久| 国产一区久久久| 国产精品久久久一本精品| 色综合久久久久综合体| 天使萌一区二区三区免费观看| 91麻豆精品国产91久久久使用方法 | 日韩黄色小视频| 亚洲精品一区二区三区香蕉| 国产aⅴ综合色| 亚洲国产精品久久久久婷婷884| 在线播放视频一区| 激情久久五月天| 综合分类小说区另类春色亚洲小说欧美| 91在线精品一区二区| 亚洲成人精品在线观看| 欧美成人精品福利| 99这里都是精品| 亚洲bt欧美bt精品| 精品国产髙清在线看国产毛片 | 亚洲人吸女人奶水|