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

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

?? sd_hardware.asm

?? M430SP完整I2C代碼_MSP430控制LED代碼及原理圖(PROTEL格式)_凌陽61A數字電子鐘代碼_凌陽SD卡存儲擴展代碼_.rar
?? ASM
字號:
//======================================================
// 文件名稱:	SD_Hardware.c
// 功能描述:	SD底層驅動文件
// 維護記錄:	2006-8-03	v1.0
//======================================================

.include SD_CFG.inc
.code
.public _SPI_CLOCK
.public _SD_BLOCKSIZE
.public _SD_BLOCKSIZE_NBITS

//	下面三個變量需要用戶自行定義,以配合SD驅動庫

_SD_BLOCKSIZE:
	.DW 1 DUP(512)					//	SD卡塊的長度
_SD_BLOCKSIZE_NBITS:
	.DW 1 DUP(9)					//	與SD卡塊的長度相關 SD_BLOCKSIZE = 2 ^ SD_BLOCKSIZE_NBITS
_SPI_CLOCK:
	.DD 1 DUP(185654)				//	SPI總線的SCLK的頻率
									//	49.152MHz下執行SPI接收/發送字節函數大概需要2118cycles
									//		發送字節需要8clk,大概折合185654Hz
.code
//=============================================================
// 語法格式:	void SPI_SCK_SET(void)
// 實現功能:	拉高SCLK
// 參數:		無
// 返回值:		無
//=============================================================
SPI_SCK_SET:	.macro
	r4 = [SD_BUS_Buffer]
	r4 |= SD_BUS_SCK
	[SD_BUS_Buffer] = r4
	.endm

//=============================================================
// 語法格式:	void SPI_SCK_CLR(void)
// 實現功能:	拉低SCLK
// 參數:		無
// 返回值:		無
//=============================================================
SPI_SCK_CLR:	.macro
	r4 = [SD_BUS_Buffer]
	r4 &= ~SD_BUS_SCK
	[SD_BUS_Buffer] = r4
	.endm

//=============================================================
// 語法格式:	void SPI_DOUT_SET(void)
// 實現功能:	拉高Dout
// 參數:		無
// 返回值:		無
//=============================================================
SPI_DOUT_SET:	.macro
	r4 = [SD_BUS_Buffer]
	r4 |= SD_BUS_Dout
	[SD_BUS_Buffer] = r4
	.endm

//=============================================================
// 語法格式:	void SPI_DOUT_CLR(void)
// 實現功能:	拉低 Dout
// 參數:		無
// 返回值:		無
//=============================================================
SPI_DOUT_CLR:	.macro
	r4 = [SD_BUS_Buffer]
	r4 &= ~SD_BUS_Dout
	[SD_BUS_Buffer] = r4
	.endm

//=============================================================
// 語法格式:	void SD_IOInit(void)
// 實現功能:	SD端口初始化
// 參數:		無
// 返回值:		無
//=============================================================
.public _SD_IOInit
_SD_IOInit:	.proc
	push r1 to [sp]
	r1 = [SD_BUS_Dir]
	r1 |= SD_BUS_Dout + SD_BUS_SCK + SD_BUS_CS
	r1 &= ~(SD_BUS_CardDetect + SD_BUS_WriteProtect + SD_BUS_Din)
	[SD_BUS_Dir] = r1
	r1 = [SD_BUS_Attrib]
	r1 |= SD_BUS_Dout + SD_BUS_SCK + SD_BUS_CS + SD_BUS_Din
	r1 &= ~(SD_BUS_CardDetect + SD_BUS_WriteProtect)
	[SD_BUS_Attrib] = r1
	r1 = [SD_BUS_Buffer]
	r1 |= SD_BUS_Dout + SD_BUS_SCK + SD_BUS_CS + SD_BUS_CardDetect + SD_BUS_WriteProtect + SD_BUS_Din
	[SD_BUS_Buffer] = r1
	pop r1 from [sp]
	retf
	.endp

//=============================================================
// 語法格式:	void SPI_SendByte(unsigned char ucByte)
// 實現功能:	通過SPI總線發送一個字節
// 參數:		ucByte	-	要發送的數據
// 返回值:		無
//=============================================================
.public _SPI_SendByte
_SPI_SendByte:	.proc
	r1 = sp + 3
	r1 = [r1]
	r2 = 8
?L_SPI_SendByte_Lop:
	test r1, 0x0080
	jz ?L_SPI_SendByte_Bit8_0
	SPI_DOUT_SET
	jmp ?L_SPI_SendByte_Bit8_End
?L_SPI_SendByte_Bit8_0:
	SPI_DOUT_CLR
?L_SPI_SendByte_Bit8_End:
	SPI_SCK_CLR
	SPI_SCK_SET
	r1 = r1 lsl 1
	r2 -= 1
	jnz ?L_SPI_SendByte_Lop
	retf
	.endp

//=============================================================
// 語法格式:	unsigned char SPI_RecByte(void)
// 實現功能:	通過SPI總線接收一個字節
// 參數:		無
// 返回值:		接收到的數據
//=============================================================
.public _SPI_RecByte
_SPI_RecByte:	.proc
	r1 = 0
	r2 = 8
?L_SPI_RecByte_Loop:
	SPI_SCK_CLR
	SPI_SCK_SET
	r1 = r1 lsl 1
	r3 = [SD_BUS_Data]
	test r3, SD_BUS_Din
	jz ?L_SPI_RecByte_NoAdd
	r1 += 1
?L_SPI_RecByte_NoAdd:
//	SPI_SCK_CLR
	r2 -= 1
	jnz ?L_SPI_RecByte_Loop
	retf
	.endp

//=============================================================
// 語法格式:	unsigned char SD_ChkCard(void)
// 實現功能:	檢測卡是否完全插入
// 參數:		無
// 返回值:		1:	插入;	0:	未插入
//=============================================================
.public _SD_ChkCard
_SD_ChkCard:	.proc
	r1 = 1
	r2 = [SD_BUS_Data]
	test r2, SD_BUS_CardDetect
	jz ?L_SD_ChkCard_Exit
	r1 = 0
?L_SD_ChkCard_Exit:
	retf
	.endp

//=============================================================
// 語法格式:	unsigned char SD_ChkCardWP(void)
// 實現功能:	檢測卡是否有寫保護
// 參數:		無
// 返回值:		1:	有寫保護;	0:	沒有寫保護
//=============================================================
.public _SD_ChkCardWP
_SD_ChkCardWP:	.proc
	r1 = 0
	r2 = [SD_BUS_Data]
	test r2, SD_BUS_WriteProtect
	jz ?L_SD_ChkCardWP_Exit
	r1 = 1
?L_SD_ChkCardWP_Exit:
	retf
	.endp

//=============================================================
// 語法格式:	void SPI_CS_Assert(void)
// 實現功能:	拉低CS
// 參數:		無
// 返回值:		無
//=============================================================
.public _SPI_CS_Assert
_SPI_CS_Assert:	.proc
	r4 = [SD_BUS_Buffer]
	r4 &= ~SD_BUS_CS
	[SD_BUS_Buffer] = r4
	retf
	.endp

//=============================================================
// 語法格式:	void SPI_CS_Deassert(void)
// 實現功能:	拉高CS
// 參數:		無
// 返回值:		無
//=============================================================
.public _SPI_CS_Deassert
_SPI_CS_Deassert:	.proc
	r4 = [SD_BUS_Buffer]
	r4 |= SD_BUS_CS
	[SD_BUS_Buffer] = r4
	retf
	.endp

//=============================================================
// 語法格式:	void SD_SPIDelay(unsigned char ucTim)
// 實現功能:	SPI總線延時
// 參數:		ucTim	-	延時時長
// 返回值:		無
//=============================================================
.public _SD_SPIDelay
_SD_SPIDelay:	.proc
	r1 = sp + 3
	r1 = [r1]
	jz ?L_SD_SPIDelay_Exit
	SPI_DOUT_SET
?L_SD_SPIDelay_Loop_o:
	r2 = 8
?L_SD_SPIDelay_Loop_i:
	SPI_SCK_CLR
	SPI_SCK_SET
	r2 -= 1
	jnz ?L_SD_SPIDelay_Loop_i
	r1 -= 1
	jnz ?L_SD_SPIDelay_Loop_o
?L_SD_SPIDelay_Exit:
	retf
	.endp

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色88888久久久久久影院野外| 成人看片黄a免费看在线| 欧美综合天天夜夜久久| 亚洲精品国产无套在线观| 91色porny| 亚洲成人中文在线| 日韩欧美一区二区久久婷婷| 经典三级视频一区| 亚洲欧洲av在线| 欧美视频第二页| 免费成人结看片| 欧美国产国产综合| 欧美亚洲国产怡红院影院| 日本不卡123| 亚洲国产精品成人综合| 欧洲一区二区三区免费视频| 蜜臀精品久久久久久蜜臀| 久久久精品黄色| 91福利在线看| 韩国精品主播一区二区在线观看| 中文字幕不卡三区| 欧美午夜理伦三级在线观看| 麻豆91在线看| 尤物在线观看一区| 精品国产一区a| 色哟哟一区二区在线观看 | 国产91对白在线观看九色| 亚洲欧洲另类国产综合| 欧美日韩精品三区| 国产精品1024久久| 亚洲国产精品久久人人爱蜜臀| 欧美mv日韩mv亚洲| 色婷婷av一区二区| 寂寞少妇一区二区三区| 午夜精品一区二区三区电影天堂 | 欧美色倩网站大全免费| 亚洲国产一区二区视频| 在线不卡免费av| 国产激情一区二区三区四区| 欧美一二区视频| 日韩精品一区第一页| 欧美三级在线看| 中文字幕亚洲电影| 国产a久久麻豆| 欧美电影影音先锋| 婷婷激情综合网| 久久久午夜电影| 日韩av中文字幕一区二区| 日韩欧美国产系列| 精品视频一区 二区 三区| 成人精品视频一区| 韩国女主播成人在线观看| 亚洲一二三级电影| 1024精品合集| 国产片一区二区| 26uuu亚洲| 正在播放亚洲一区| 欧美手机在线视频| 99久久777色| 岛国精品在线观看| 久久超级碰视频| 日韩在线观看一区二区| 亚洲精品国产无天堂网2021| 中文字幕在线一区免费| 精品国产免费视频| 日韩一区二区三区在线观看| 精品视频在线免费看| 91精彩视频在线观看| 91首页免费视频| 99久久综合色| 91在线免费播放| k8久久久一区二区三区 | 性感美女极品91精品| 一区二区三区在线视频播放 | 国产日产亚洲精品系列| 精品国产乱码91久久久久久网站| 91精品一区二区三区在线观看| 91福利国产成人精品照片| 91网站视频在线观看| 99久久er热在这里只有精品15 | 日本精品一级二级| 色女孩综合影院| 91浏览器在线视频| 一本到不卡免费一区二区| 欧美性xxxxxxxx| 6080午夜不卡| 337p粉嫩大胆色噜噜噜噜亚洲| 日韩三级视频中文字幕| 精品国产乱码久久久久久影片| 久久综合久久综合久久| 久久精品水蜜桃av综合天堂| 国产精品入口麻豆九色| 亚洲日本va午夜在线影院| 亚洲麻豆国产自偷在线| 亚洲网友自拍偷拍| 免费看欧美美女黄的网站| 毛片不卡一区二区| 91精品欧美一区二区三区综合在| 国产69精品久久久久777| 日本韩国一区二区三区| 欧美激情在线看| 成人免费小视频| 一区二区在线观看av| 亚洲成人一区二区| 午夜私人影院久久久久| 日韩精彩视频在线观看| 亚洲综合色噜噜狠狠| 日韩高清不卡一区二区| 狠狠色狠狠色综合系列| 欧美日韩免费一区二区三区| 国产麻豆91精品| 国产一区二区三区在线观看免费| 国产91精品久久久久久久网曝门| 色噜噜狠狠成人中文综合| 日韩一区二区三免费高清| 久久久精品影视| 亚洲电影一级片| 国产一区美女在线| 色婷婷综合久色| 欧美成人一级视频| 亚洲品质自拍视频网站| 美美哒免费高清在线观看视频一区二区| 国产激情91久久精品导航| 欧美中文字幕不卡| 国产午夜一区二区三区| 亚洲成人精品在线观看| 粉嫩高潮美女一区二区三区| 欧美色区777第一页| 亚洲国产精品高清| 秋霞电影一区二区| 色一情一乱一乱一91av| 精品88久久久久88久久久| 一区二区三区精品在线观看| 国产精品一区久久久久| 在线不卡一区二区| 亚洲裸体在线观看| 福利视频网站一区二区三区| 日韩精品一区二区三区中文不卡 | 国产不卡视频在线播放| 69久久99精品久久久久婷婷| 中文字幕亚洲视频| 国产精品资源站在线| 日韩欧美的一区| 一区二区高清视频在线观看| 成人丝袜高跟foot| 精品国产制服丝袜高跟| 日本女人一区二区三区| 欧美性猛片aaaaaaa做受| 国产精品不卡视频| 成人小视频免费观看| 久久嫩草精品久久久精品一| 免费人成在线不卡| 欧美日韩免费观看一区三区| 亚洲精品乱码久久久久久日本蜜臀| 国产成人在线影院| 久久久www免费人成精品| 卡一卡二国产精品| 欧美一激情一区二区三区| 午夜精品成人在线| 欧美日韩国产一级二级| 亚洲国产欧美一区二区三区丁香婷| 99精品国产热久久91蜜凸| 日本一区二区在线不卡| 国产成人一区二区精品非洲| 久久久久久影视| 国产在线国偷精品免费看| ww久久中文字幕| 国产乱码字幕精品高清av | 久久九九99视频| 久久久久久电影| 欧洲中文字幕精品| 美脚の诱脚舐め脚责91| 欧美激情综合在线| 欧美丰满少妇xxxxx高潮对白 | 欧美最猛性xxxxx直播| 亚洲综合丁香婷婷六月香| 日韩欧美国产一区在线观看| 欧美色图一区二区三区| 国产一区999| 久久亚洲精精品中文字幕早川悠里| 另类人妖一区二区av| 欧美r级在线观看| 国产精品一区二区黑丝| 国产精品天天看| 91久久精品一区二区| 亚洲福利视频一区| 日韩女优制服丝袜电影| 韩日av一区二区| 中文字幕制服丝袜一区二区三区 | 亚洲成人在线网站| 欧美一级在线视频| 国产一区二区三区免费观看| 中文字幕av一区二区三区| 91日韩在线专区| 亚洲成人tv网| 精品国产免费视频| 99久久777色| 日韩电影免费一区| 国产欧美精品一区二区色综合 | 精品久久久久久久久久久久久久久 |