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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? ch375hmp.asm

?? USB驅(qū)動(dòng)芯片簡(jiǎn)介及驅(qū)動(dòng)源程序
?? ASM
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
; 檢查操作狀態(tài),如果錯(cuò)誤則停機(jī),應(yīng)該替換為實(shí)際的處理措施
; 輸入:   R7 為操作狀態(tài)碼
mStopIfError:	MOV		A,R7
				JNZ		mStopIfError_LED	;狀態(tài)碼是錯(cuò)誤
				RET
mStopIfError_LED:							;LED閃爍
				CLR		A
				MOV		C,LED_OUT
				MOV		ACC.0,C
				XRL		A,#01H
				MOV		C,ACC.0
				MOV		LED_OUT,C
				LCALL	mDelay100mS
				SJMP	mStopIfError_LED
;
; 主程序
MAIN:			CLR		A
				MOV		PSW,A
				MOV		IE,A
				MOV		SP,#60H
				MOV		A,#0FFH
				MOV		P0,A
				MOV		P1,A
				MOV		P2,A
				MOV		P3,A
				CLR  	LED_OUT				;開(kāi)機(jī)后LED亮一下以示工作
				LCALL	mDelay100mS			;延時(shí)100毫秒,CH375模塊上電后需要100毫秒左右的復(fù)位時(shí)間
				LCALL	mDelay100mS
				SETB 	LED_OUT
;其它電路初始化
;初始化完成
				NOP
MAIN_LOOP:									;主循環(huán)
;可以在打算讀寫(xiě)U盤(pán)時(shí)再查詢,沒(méi)有必要一直連續(xù)不停地查詢,可以讓單片機(jī)做其它事,沒(méi)事可做就延時(shí)等待一會(huì)再查詢
				MOV		R5,#00H				;沒(méi)有命令參數(shù)
				MOV		R7,#CMD_QueryStatus	;使用查詢方式看U盤(pán)是否連接
				LCALL	ExecCommand			;查詢當(dāng)前模塊的狀態(tài)
				LCALL	mStopIfError		;錯(cuò)誤則停機(jī)
				MOV		A,mCmdParam+1		;Status.mDiskStatus
				XRL		A,#DISK_CONNECT
				JZ		MAIN_CONNECT		;U盤(pán)已經(jīng)連接
				LCALL	mDelay100mS			;可以讓單片機(jī)做其它事,沒(méi)事可做就延時(shí)等待一會(huì)再查詢
				LCALL	mDelay100mS
				SJMP	MAIN_LOOP
MAIN_CONNECT:	LCALL	mDelay100mS			;U盤(pán)已經(jīng)連接,延時(shí),可選操作,有的USB存儲(chǔ)器需要幾十毫秒的延時(shí)
				LCALL	mDelay100mS
				CLR  	LED_OUT				;LED亮說(shuō)明U盤(pán)連接
; 檢查U盤(pán)是否準(zhǔn)備好,大多數(shù)U盤(pán)不需要這一步,但是某些U盤(pán)必須要執(zhí)行這一步才能工作
				MOV		R3,#05H
WAIT_READY:		LCALL	mDelay100mS
				MOV     R5,#00H
				MOV     R7,#CMD_DiskReady
				LCALL   ExecCommand			;查詢磁盤(pán)是否準(zhǔn)備好
				MOV     A,R7
				JZ		DISK_IS_READY
				DJNZ	R3,WAIT_READY		;U盤(pán)尚未準(zhǔn)備好
DISK_IS_READY:
;讀取原文件
				MOV		DPTR,#STR_FILE_NAME1
				MOV		R0,#mCmdParam		;Open.mPathName
				LCALL	CopyString			;復(fù)制文件名
				MOV		A,R7
				MOV		R5,A				;參數(shù)長(zhǎng)度為文件名長(zhǎng)度
				MOV		R7,#CMD_FileOpen	;打開(kāi)文件
				LCALL	ExecCommand			;執(zhí)行打開(kāi)文件操作
				CJNE	R7,#ERR_MISS_DIR,MAIN_OPEN_J1
				SJMP	MAIN_OPEN_MISS		;ERR_MISS_DIR說(shuō)明沒(méi)有找到C51子目錄
MAIN_OPEN_J1:	CJNE	R7,#ERR_MISS_FILE,MAIN_OPEN_J2
MAIN_OPEN_MISS:								;ERR_MISS_FILE說(shuō)明沒(méi)有找到文件
;沒(méi)有原文件則自行產(chǎn)生數(shù)據(jù)
				MOV		DPTR,#DATA_BUF		;因?yàn)闆](méi)有找到源文件,所以自行產(chǎn)生數(shù)據(jù)寫(xiě)入新文件
				MOV		R5,#00H
MAIN_COPY_STR:	PUSH	DPH
				PUSH    DPL
				MOV		DPTR,#STR_FILE_DATA
				MOV		A,R5
				INC		R5
				MOVC	A,@A+DPTR			;從程序空間復(fù)制字符串作為新文件的內(nèi)容
				POP     DPL
				POP     DPH
				MOVX	@DPTR,A
				INC     DPTR
				JNZ		MAIN_COPY_STR		;未到字符串結(jié)束符00H
MAIN_FILL_STR:	MOV		A,#24H				;'$'
				MOVX	@DPTR,A
				INC		DPTR
				MOV		A,DPH
				CJNE	A,#HIGH (DATA_BUF) + 2,MAIN_FILL_STR	;填充滿512字節(jié)(一個(gè)扇區(qū))
				MOV		NEW_SIZE_HIGH,#02H
				MOV		NEW_SIZE_LOW,#00H	;新文件的長(zhǎng)度,512字節(jié)
				MOV		SECTOR_COUNT,#01H	;新文件的長(zhǎng)度只有一個(gè)扇區(qū),計(jì)算文件的扇區(qū)數(shù),因?yàn)樽x寫(xiě)是以扇區(qū)為單位的
				LJMP	MAIN_CREATE_NEW		;創(chuàng)建新文件
MAIN_OPEN_J2:	LCALL	mStopIfError		;源文件成功打開(kāi)
;查詢當(dāng)前文件的信息并計(jì)算長(zhǎng)度
				MOV		R5,#00H
				MOV		R7,#CMD_FileQuery	;查詢當(dāng)前文件的信息,沒(méi)有輸入?yún)?shù)
				LCALL	ExecCommand
				LCALL	mStopIfError
				MOV		NEW_SIZE_HIGH,#10H
				MOV		NEW_SIZE_LOW,#00H	;新文件的長(zhǎng)度不超過(guò)4096,實(shí)際上模塊本身不限制長(zhǎng)度
				MOV		R0,#mCmdParam
				MOV		A,@R0				;Modify.mFileSize.31-24,高字節(jié)在前
				JNZ		MAIN_QUERY_J1		;文件太大
				INC		R0
				MOV		A,@R0				;Modify.mFileSize.23-16
				JNZ		MAIN_QUERY_J1		;文件太大
				INC		R0
				MOV		A,@R0				;Modify.mFileSize.15-8
				CLR		C
				SUBB	A,#10H				;本示例程序?qū)⑽募L(zhǎng)度限制在4096
				JNC		MAIN_QUERY_J1		;文件長(zhǎng)度超過(guò)4096
				MOV		A,@R0				;Modify.mFileSize.15-8
				MOV		NEW_SIZE_HIGH,A
				INC		R0
				MOV		A,@R0				;Modify.mFileSize.7-0
				MOV		NEW_SIZE_LOW,A		;新文件的長(zhǎng)度
MAIN_QUERY_J1:	MOV		A,NEW_SIZE_LOW
				ADD		A,#0FFH
				MOV		A,NEW_SIZE_HIGH
				ADDC	A,#01H
				CLR		C
				RRC		A					;每個(gè)扇區(qū)是512字節(jié),所以高8位除以2
				MOV		SECTOR_COUNT,A		;計(jì)算文件的扇區(qū)數(shù),因?yàn)樽x寫(xiě)是以扇區(qū)為單位的
				JNZ		MAIN_QUERY_J3
				INC		SECTOR_COUNT		;至少一個(gè)扇區(qū)
MAIN_QUERY_J3:
;讀取原文件
				MOV		A,SECTOR_COUNT
				MOV		mCmdParam+0,A		;Read.mSectorCount
				MOV		R5,#01H				;只有一個(gè)輸入?yún)?shù)
				MOV		R7,#CMD_FileRead	;從文件讀取數(shù)據(jù)
				MOV		DPTR,#DATA_BUF		;對(duì)于讀寫(xiě)文件數(shù)據(jù)的操作,指定外部RAM緩沖區(qū),存放數(shù)據(jù)的緩沖區(qū)的起始地址
				LCALL	ExecCommand			;從文件讀取數(shù)據(jù),如果文件比較大,一次讀不完,可以再用命令CMD_FileRead繼續(xù)讀取,文件指針自動(dòng)向后移動(dòng)
				LCALL	mStopIfError
				MOV		A,#00H
				MOV		mCmdParam+0,A		;Close.mUpdateLen
				MOV		R5,#01H				;只有一個(gè)輸入?yún)?shù)
				MOV		R7,#CMD_FileClose	;關(guān)閉文件
				LCALL	ExecCommand			;關(guān)閉文件
				LCALL	mStopIfError
;將源文件中的小寫(xiě)字符轉(zhuǎn)換為大寫(xiě),準(zhǔn)備寫(xiě)入新文件
				MOV  	DPTR,#DATA_BUF
				MOV		R7,NEW_SIZE_HIGH
				MOV		R6,NEW_SIZE_LOW
MAIN_CHAR_CASE:	CJNE	R6,#00H,MAIN_CHAR_CNT1
				CJNE	R7,#00H,MAIN_CHAR_CNT2
				SJMP	MAIN_CHAR_END
MAIN_CHAR_CNT2:	DEC		R7
MAIN_CHAR_CNT1:	DEC		R6					;計(jì)數(shù)
				MOVX 	A,@DPTR
				MOV		R5,A
				CLR  	C
				SUBB 	A,#61H				;'a'
				JC   	MAIN_CHAR_SKIP		;不是小寫(xiě)字母
				MOV  	A,R5
				CLR		C
				SUBB 	A,#7BH				;'z'+1
				JNC  	MAIN_CHAR_SKIP		;不是小寫(xiě)字母
				MOV		A,R5
				ANL		A,#0DFH				;小寫(xiě)轉(zhuǎn)大寫(xiě)字母
				MOVX	@DPTR,A
MAIN_CHAR_SKIP:	INC		DPTR
				SJMP	MAIN_CHAR_CASE
MAIN_CHAR_END:	NOP							;已經(jīng)將小寫(xiě)字母轉(zhuǎn)大寫(xiě)
;產(chǎn)生新文件
MAIN_CREATE_NEW:
				MOV		DPTR,#STR_FILE_NAME2
				MOV		R0,#mCmdParam		;Create.mPathName
				LCALL	CopyString			;復(fù)制文件名
				MOV		A,R7
				MOV		R5,A				;參數(shù)長(zhǎng)度為文件名長(zhǎng)度
				MOV		R7,#CMD_FileCreate
				LCALL	ExecCommand			;新建文件并打開(kāi),如果文件已經(jīng)存在則先刪除后再新建
				LCALL	mStopIfError
				MOV		A,SECTOR_COUNT
				MOV		mCmdParam+0,A		;Write.mSectorCount
				MOV		R5,#01H				;只有一個(gè)輸入?yún)?shù)
				MOV		R7,#CMD_FileWrite	;向文件寫(xiě)入數(shù)據(jù)
				MOV		DPTR,#DATA_BUF		;對(duì)于讀寫(xiě)文件數(shù)據(jù)的操作,指定外部RAM緩沖區(qū),存放數(shù)據(jù)的緩沖區(qū)的起始地址
				LCALL	ExecCommand			;向文件寫(xiě)入數(shù)據(jù),如果文件比較大,一次寫(xiě)不完,可以再用命令CMD_FileWrite繼續(xù)寫(xiě)入,文件指針自動(dòng)向后移動(dòng)
				LCALL	mStopIfError
				MOV		A,#01H				;自動(dòng)計(jì)算文件長(zhǎng)度,長(zhǎng)度總是512的倍數(shù)
				MOV		mCmdParam+0,A		;Close.mUpdateLen
				MOV		R5,#01H				;只有一個(gè)輸入?yún)?shù)
				MOV		R7,#CMD_FileClose	;關(guān)閉文件
				LCALL	ExecCommand			;關(guān)閉文件
				LCALL	mStopIfError
;等待U盤(pán)斷開(kāi),僅作演示,實(shí)際應(yīng)用中不必考慮U盤(pán)是否斷開(kāi)
MAIN_TAKE_OUT:	MOV		R5,#00H				;沒(méi)有命令參數(shù)
				MOV		R7,#CMD_QueryStatus	;使用查詢方式看U盤(pán)是否斷開(kāi)
				LCALL	ExecCommand			;查詢當(dāng)前模塊的狀態(tài)
				LCALL	mStopIfError		;錯(cuò)誤則停機(jī)
				MOV		A,mCmdParam+1		;Status.mDiskStatus
				XRL		A,#DISK_DISCONNECT
				JZ		MAIN_DISCONNECT		;U盤(pán)已經(jīng)斷開(kāi)
				LCALL	mDelay100mS			;延時(shí)等待一會(huì)再查詢
				LCALL	mDelay100mS
				SJMP	MAIN_TAKE_OUT
MAIN_DISCONNECT:	SETB	LED_OUT			;LED滅
				LJMP	MAIN_LOOP			;等待下一個(gè)U盤(pán)連接
; END main
;
END

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品三级av在线播放| 91婷婷韩国欧美一区二区| 中文欧美字幕免费| 欧美电影在哪看比较好| av网站免费线看精品| 麻豆精品视频在线| 亚洲成人av资源| 国产精品久久久久久久久晋中| 欧美一区二区三区不卡| 97se狠狠狠综合亚洲狠狠| 麻豆视频一区二区| 亚洲高清视频的网址| 国产精品美女久久久久久久网站| 精品一区二区三区影院在线午夜| 色综合亚洲欧洲| 久久疯狂做爰流白浆xx| 日韩理论片中文av| 国产亚洲视频系列| 91精品国产乱码久久蜜臀| 色悠悠亚洲一区二区| 成人黄页在线观看| 国产成人高清视频| 精品在线一区二区| 蜜桃一区二区三区四区| 天堂av在线一区| 夜夜操天天操亚洲| 亚洲视频你懂的| 一区二区三区在线视频播放| 中文字幕成人在线观看| 久久精品男人天堂av| xnxx国产精品| 久久只精品国产| 亚洲精品一区二区在线观看| 日韩三级视频中文字幕| 日韩一区二区在线看片| 日韩视频在线观看一区二区| 91精品国产一区二区三区| 国产一区二区三区美女| 欧美影院一区二区| av一区二区三区四区| 国产成人精品亚洲午夜麻豆| 国产一区二区美女| 国产另类ts人妖一区二区| 黄色资源网久久资源365| 久久国产精品99久久久久久老狼| 免费成人性网站| 精品一区二区三区影院在线午夜| 久久国内精品自在自线400部| 毛片不卡一区二区| 韩国一区二区三区| 国产呦萝稀缺另类资源| 国产福利一区二区| www.综合网.com| 色视频成人在线观看免| 欧美视频一区在线| 日韩视频在线永久播放| 久久精品一二三| 中文字幕日韩一区| 亚洲与欧洲av电影| 蜜臀av亚洲一区中文字幕| 狠狠狠色丁香婷婷综合激情| 成人激情免费视频| 精品久久国产字幕高潮| 91精品福利在线| 国产毛片精品国产一区二区三区| 国产一区二区三区黄视频| 成人在线视频首页| 色综合激情五月| 欧美一区二区三区公司| 国产亚洲综合在线| 亚洲一区二区三区四区的| 日韩高清中文字幕一区| 国产精品69毛片高清亚洲| 91丨porny丨最新| 欧美精选一区二区| 久久精品在这里| 亚洲成人激情社区| 国产精品一区二区你懂的| 91丨九色丨蝌蚪富婆spa| 欧美一区二区精品| 亚洲欧美自拍偷拍色图| 天天综合天天综合色| 福利一区二区在线| 91精品欧美综合在线观看最新| 久久久久久久久久久黄色| 一区二区三区**美女毛片| 久久精品72免费观看| 91免费国产在线观看| 欧美一区日韩一区| 日韩理论片在线| 久久er精品视频| 日av在线不卡| 成人国产视频在线观看| 91精品国产色综合久久ai换脸| 国产欧美日韩综合| 日韩精品久久理论片| 成人av在线一区二区三区| 制服丝袜av成人在线看| 国产精品久久久久久亚洲伦| 日韩成人午夜精品| 99免费精品视频| 欧美精品一区二区蜜臀亚洲| 一区二区三区电影在线播| 粉嫩aⅴ一区二区三区四区 | 久久久精品综合| 香蕉成人啪国产精品视频综合网| 懂色av中文一区二区三区| 56国语精品自产拍在线观看| 亚洲精品欧美在线| 丁香另类激情小说| 欧美变态tickle挠乳网站| 亚洲一区免费观看| 成人av电影在线网| 久久久久综合网| 美女国产一区二区三区| 欧美蜜桃一区二区三区| 亚洲三级理论片| 日本三级亚洲精品| 欧美无人高清视频在线观看| 国产精品久久久久久久久快鸭| 国产原创一区二区| 精品国产乱码久久久久久牛牛 | 欧美三级蜜桃2在线观看| 中文幕一区二区三区久久蜜桃| 久久99热这里只有精品| 日韩欧美国产wwwww| 五月天激情小说综合| 欧美日韩在线三级| 亚洲一区精品在线| 欧美军同video69gay| 午夜精品免费在线| 欧美精品久久天天躁| 亚洲第一激情av| 欧美日韩免费观看一区三区| 亚洲一区二区高清| 欧美色精品在线视频| 亚洲一区二区三区四区在线免费观看 | 亚洲成av人片观看| 精品视频在线看| 亚洲电影一级片| 日本高清不卡视频| 裸体歌舞表演一区二区| 欧美色视频一区| 亚洲国产精品视频| 欧美日韩高清不卡| 日韩精品一卡二卡三卡四卡无卡| 欧美一区二区在线视频| 美国欧美日韩国产在线播放| 久久影院视频免费| 成人一区二区三区视频 | 亚洲欧美一区二区视频| 色综合天天综合网国产成人综合天| 中文字幕一区二区视频| 在线亚洲欧美专区二区| 午夜精品久久久久久久久久久| 91精品国产综合久久久久久漫画| 麻豆精品一区二区三区| 欧美激情综合网| 色一情一伦一子一伦一区| 亚洲国产精品久久一线不卡| 欧美一区二区三区啪啪| 国产一区二区不卡老阿姨| 国产精品久久久久久久裸模| 在线视频国产一区| 日本美女一区二区三区视频| 久久亚洲春色中文字幕久久久| 成人免费精品视频| 亚洲国产视频网站| 久久色在线视频| 欧美中文一区二区三区| 婷婷成人综合网| 久久久噜噜噜久久人人看| 成人国产一区二区三区精品| 亚洲自拍偷拍图区| 欧美白人最猛性xxxxx69交| 成人av网在线| 性欧美疯狂xxxxbbbb| 久久精品一区二区| 日本韩国一区二区| 国模冰冰炮一区二区| 亚洲欧美一区二区不卡| 欧美一区二区福利视频| 成人白浆超碰人人人人| 天堂在线亚洲视频| 国产日韩精品一区| 中文字幕在线不卡一区| 九九九精品视频| 国产精品国产自产拍高清av王其| 91免费观看国产| 九九九精品视频| 一区二区欧美在线观看| 久久天天做天天爱综合色| 欧美亚洲日本国产| 国产mv日韩mv欧美| 视频一区二区中文字幕| 亚洲人妖av一区二区| 日韩精品一区国产麻豆| 在线免费不卡电影| 丁香网亚洲国际| 美腿丝袜亚洲综合|