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

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

?? ch375hft.asm

?? USB接口芯片文件接口模塊CH375EVT
?? ASM
?? 第 1 頁 / 共 2 頁
字號:
					JZ      COPY_INFO_END
					INC     R7
					CJNE    R7,#0FFH,COPY_INFO_CHAR	; 文件字符計數
COPY_INFO_END:		CLR  	A
					MOV  	OldSize+03H,A
					MOV  	OldSize+02H,A
					MOV  	OldSize+01H,A
					MOV  	OldSize,A
					MOV  	NewSize,A
					MOV  	NewSize+01H,R7		; 新文件的長度
					MOV  	SecCount,#01H		; 新文件只占用1個扇區, (NewSize+511)/512
					LJMP 	CREATE_NEW_FILE
; 找到原文件
FOUND_SOURCE_FILE:	LCALL	CH375FileQuery		; 查詢其信息,包括長度,日期時間,屬性等
					LCALL	_mStopIfError
					MOV  	R0,#LOW (mCmdParam)	; mCmdParam.Modify.mFileSize
					MOV     A,@R0
					MOV     OldSize,A
					INC     R0
					MOV     A,@R0
					MOV     OldSize+01H,A
					INC     R0
					MOV     A,@R0
					MOV     OldSize+02H,A
					INC     R0
					MOV     A,@R0
					MOV     OldSize+03H,A		; 保存原文件的長度到OldSize變量中
					MOV     A,OldSize
					JNZ     SOURCE_FILE_LONG	; 由于演示板用的62256只有32K字節,其中CH375子程序用512字節,所以只讀取不超過63個扇區
					MOV     A,OldSize+01H
					JNZ     SOURCE_FILE_LONG	; 由于RAM緩沖區有限,所以限制一次讀寫操作的長度不超過32256字節
					MOV     A,OldSize+02H
					CLR     C
					SUBB    A,#HIGH (FILE_DATA_BUF_LEN)
					JC      SOURCE_FILE_SHORT	; 小于RAM緩沖區的長度
					JNZ     SOURCE_FILE_LONG	; 大于RAM緩沖區的長度
					MOV     A,OldSize+03H
					CLR     C
					SUBB    A,#LOW (FILE_DATA_BUF_LEN)
					JC      SOURCE_FILE_SHORT	; 一次讀寫操作的長度未操作RAM緩沖區的長度
SOURCE_FILE_LONG:	MOV  	SecCount,#(FILE_DATA_BUF_LEN/512)	; 限制為RAM文件讀寫緩沖區的長度
					MOV  	NewSize,#HIGH (FILE_DATA_BUF_LEN)
					MOV  	NewSize+01H,#LOW (FILE_DATA_BUF_LEN)
					SJMP 	READ_SOURCE_FILE
SOURCE_FILE_SHORT:	MOV  	A,OldSize+03H		; 如果原文件較小,那么使用原長度
					MOV     NewSize+01H,A		; NewSize=OldSize
					ADD  	A,#0FFH
					MOV  	A,OldSize+02H
					MOV     NewSize,A			; SecCount = (NewSize+511)/512
					ADDC 	A,#01H
					MOV  	R6,A
					CLR  	A
					ADDC 	A,OldSize+01H
					RRC     A
					MOV     A,R6
					RRC     A
					MOV  	SecCount,A			; 計算新文件的長度對應的扇區數,因為讀寫是以扇區為單位的
; 從原文件中讀取數據到FILE_DATA_BUF中,以扇區為單位進行讀寫,所以速度較快,適用于數據量較大的情況
READ_SOURCE_FILE:	MOV  	R0,#LOW (mCmdParam)	; 讀操作要指定讀出數據的長度,以扇區為單位,mCmdParam.Read.mSectorCount
					MOV  	@R0,SecCount		; 指定讀取扇區數, 本例子中是讀取全部數據,如果超過63個扇區則只讀取63個扇區
					LCALL	CH375FileRead		; 從文件讀取數據
					LCALL	_mStopIfError		; 如果文件數據的復制方式為"外部子程序",那么由_xWriteToExtBuf子程序讀出數據,否則自動讀到FILE_DATA_BUF中
					MOV  	R0,#LOW (mCmdParam)	; mCmdParam.Close.mUpdateLen
					MOV     @R0,#00H
					LCALL	CH375FileClose		; 關閉文件, 用完后需要關閉文件
					LCALL	_mStopIfError
; 將FILE_DATA_BUF中的原文件字符轉換為大寫
					MOV     DPTR,#FILE_DATA_BUF
					MOV     R6,#00H
					MOV     R7,#00H				; 計數
CONVERT_CHAR_NEXT:	CLR     C
					MOV  	A,R7
					SUBB 	A,NewSize+01H
					MOV  	A,R6
					SUBB 	A,NewSize
					JNC  	CONVERT_CHAR_END	; 原文件字符已經處理完畢
					MOVX 	A,@DPTR
					MOV  	R5,A
					CLR  	C
					SUBB 	A,#061H
					JC   	CONVERT_CHAR_SKIP	; 不是小寫字符
					MOV  	A,R5
					SETB 	C
					SUBB 	A,#07AH
					JNC  	CONVERT_CHAR_SKIP	; 不是小寫字符
					MOV  	A,R5
					ANL  	A,#0DFH
					MOVX 	@DPTR,A				; 將原小寫字符轉換為大寫后寫回FILE_DATA_BUF中
CONVERT_CHAR_SKIP:	INC     DPTR				; 指向緩沖區中的下一個字符
					INC  	R7
					CJNE 	R7,#00H,CONVERT_CHAR_NEXT	; 計數
					INC  	R6
					SJMP 	CONVERT_CHAR_NEXT
CONVERT_CHAR_END:

; 在根目錄下創建新文件NEWFILE.TXT,以扇區為單位進行讀寫,所以速度較快,適用于數據量較大的情況
CREATE_NEW_FILE:	CLR     LED_WR				; 寫操作
					MOV  	R0,#LOW (mCmdParam)	; 命令參數,mCmdParam.Create.mPathName
					MOV  	DPTR,#NEW_NAME		; 指向新文件名
					LCALL	_mCopyStringToIRAM	; 復制文件名作為調用子程序的參數
					LCALL	CH375FileCreate		; 新建文件并打開,如果文件已經存在則先刪除后再新建
					LCALL	_mStopIfError
					MOV  	R0,#LOW (mCmdParam)	; 寫操作要指定寫入數據的長度,以扇區為單位,mCmdParam.Write.mSectorCount
					MOV  	@R0,SecCount		; 寫入所有扇區的數據
					LCALL	CH375FileWrite		; 向文件寫入數據
					LCALL	_mStopIfError		; 如果文件數據的復制方式為"外部子程序",那么由_xReadFromExtBuf子程序寫入數據,否則自動將FILE_DATA_BUF中的數據寫入
					MOV     A,#0FFH
					MOV  	R0,#LOW (mCmdParam+08H)	; 輸入參數mCmdParam.Modify.mFileAttr: 新的文件屬性,為0FFH則不修改
					MOV  	@R0,A
					MOV  	R0,#LOW (mCmdParam+06H)	; 輸入參數mCmdParam.Modify.mFileTime: 新的文件時間,為0FFFFH則不修改,使用新建文件產生的默認時間
					MOV  	@R0,A
					INC  	R0
					MOV  	@R0,A
					MOV  	R0,#LOW (mCmdParam+04H)	; 輸入參數mCmdParam.Modify.mFileDate: 新的文件日期: 2004.05.18 */
					MOV  	@R0,#030H			; 日期產生方法是 Date = ((Year-1980)<<9) + (Month<<5) + Day
					INC  	R0
					MOV  	@R0,#0B2H
					MOV  	R0,#LOW (mCmdParam)	; 輸入參數mCmdParam.Modify.mFileSize: 如果原文件較小,那么新的文件長度與原文件一樣長,否則被RAM所限
					MOV     @R0,#00H
					INC     R0
					MOV     @R0,#00H			; 如果文件長度大于64KB,那么該單元應該寫入文件長度的高23-16位
					INC     R0
					MOV  	@R0,NewSize
					INC     R0
					MOV  	@R0,NewSize+01H		; 指定新的文件長度
					LCALL	CH375FileModify		; 修改當前文件的信息,修改日期和長度
					LCALL	_mStopIfError
					MOV  	R0,#LOW (mCmdParam)	; 命令參數, mCmdParam.Close.mUpdateLen
					MOV  	@R0,#00H			; 不要自動計算文件長度,如果自動計算,那么該長度總是512的倍數
					LCALL	CH375FileClose		; 關閉文件
					LCALL	_mStopIfError

; 在根目錄下創建第二個新文件MY_FILE2.TXT,以字節為單位進行讀寫,所以速度較慢,適用于RAM較少、數據量較小的情況
					MOV  	R0,#LOW (mCmdParam)	; 命令參數,mCmdParam.Create.mPathName
					MOV  	DPTR,#NEW_NAME_2	; 指向新文件名
					LCALL	_mCopyStringToIRAM	; 復制文件名作為調用子程序的參數
					LCALL	CH375FileCreate		; 新建文件并打開,如果文件已經存在則先刪除后再新建
					LCALL	_mStopIfError
; 以字節為單位寫入幾十個字節的數據
					MOV  	R0,#LOW (mCmdParam+01H)	; 命令參數,mCmdParam.ByteWrite.mByteBuffer
					MOV  	DPTR,#DATA_FOR_FILE2	; 指向準備寫入新文件中的數據
					LCALL	_mCopyStringToIRAM	; 將準備寫入新文件中的數據復制到參數結構中
					MOV  	R0,#LOW (mCmdParam)	; 寫操作要指定寫入數據的長度,以扇區為單位,mCmdParam.ByteWrite.mByteCount
					MOV  	@R0,#18H			; 本次寫入的字節數24,不能大于MAX_BYTE_IO
					LCALL	CH375ByteWrite		; 向文件寫入數據,如果還有數據需要繼續寫入,那么可以再調用CH375ByteWrite,接著剛才的寫入
					LCALL	_mStopIfError		; 以字節為單位寫文件不需要使用FILE_DATA_BUF緩沖區,所以與復制方式無關
					MOV  	R0,#LOW (mCmdParam)	; 命令參數, mCmdParam.Close.mUpdateLen
					MOV  	@R0,#01H			; 以字節為單位寫入文件后,應該自動計算文件長度
					LCALL	CH375FileClose		; 關閉文件
					LCALL	_mStopIfError

					SETB    LED_WR
; 演示處理完畢, 等待U盤拔出
					SETB 	LED_RUN
WAIT_DISK_OUT:		MOV  	A,CH375DiskStatus	; 查詢CH375中斷并更新中斷狀態,等待U盤拔出
					XRL  	A,#01H
					JZ   	DISK_OUT_NOW
					LCALL	xQueryInterrupt
					SJMP 	WAIT_DISK_OUT
DISK_OUT_NOW:		SETB 	LED_OUT				; LED滅
					LCALL	mDelay100mS
					LCALL	mDelay100mS
					LJMP 	WAIT_DISK_IN		; 主循環
;
END

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美综合在线| 亚洲三级在线播放| 亚洲免费观看高清完整| 欧美96一区二区免费视频| 99久久久无码国产精品| 日韩久久久久久| 亚洲第一av色| 色综合久久久久综合体桃花网| 欧美成人官网二区| 性做久久久久久| 日本高清无吗v一区| 国产精品免费网站在线观看| 青青青爽久久午夜综合久久午夜| 一本到不卡免费一区二区| 久久久久久麻豆| 激情五月婷婷综合网| 欧美一区二区视频观看视频| 亚洲电影中文字幕在线观看| 91小视频免费看| 国产精品麻豆视频| 成人免费va视频| 国产欧美一区二区在线观看| 国内精品视频一区二区三区八戒| 欧美一区二区高清| 亚洲bt欧美bt精品777| 欧美曰成人黄网| 一区二区三区日韩| 91黄色免费观看| 亚洲成人av免费| 欧美怡红院视频| 视频一区国产视频| 91精品国产综合久久婷婷香蕉| 香蕉av福利精品导航| 欧美日韩亚洲综合在线| 一级做a爱片久久| 欧美色图12p| 久久精品国产一区二区三区免费看| 7777精品伊人久久久大香线蕉经典版下载| 亚洲尤物视频在线| 欧美精品一卡二卡| 另类小说图片综合网| 欧美va在线播放| 成人永久免费视频| 亚洲欧美一区二区久久| 在线国产电影不卡| 日本中文在线一区| 2024国产精品视频| aaa亚洲精品| 亚洲一区二区三区不卡国产欧美| 欧美日韩大陆在线| 蜜臀久久99精品久久久久宅男| 日韩免费一区二区三区在线播放| 国内成+人亚洲+欧美+综合在线| 久久久久国产成人精品亚洲午夜| 不卡欧美aaaaa| 亚洲福利视频一区二区| 欧美刺激午夜性久久久久久久| 国产成人亚洲综合色影视| 国产精品精品国产色婷婷| 欧美在线看片a免费观看| 免费在线看一区| 欧美国产成人在线| 欧美片网站yy| 国产91精品在线观看| 亚洲欧美自拍偷拍| 欧美一区二区在线视频| 成人中文字幕合集| 日本中文字幕一区二区视频| 国产片一区二区| 欧美日韩国产高清一区二区| 国产精品一区二区无线| 亚洲一区二区三区中文字幕| 欧美精品一区二区三区四区 | 欧美色图片你懂的| 日韩高清不卡一区二区| 国产精品不卡在线观看| 制服.丝袜.亚洲.另类.中文| 成人国产精品免费观看动漫| 日韩制服丝袜先锋影音| 中文字幕一区二区三区色视频| 欧美电影一区二区| 大尺度一区二区| 久久66热偷产精品| 亚洲一区二区中文在线| 国产欧美一区二区精品忘忧草| 制服丝袜日韩国产| 色婷婷综合激情| 成人黄色一级视频| 韩国女主播成人在线观看| 亚洲图片自拍偷拍| 综合久久久久久| 日本一区免费视频| 精品久久久网站| 日韩免费观看高清完整版 | 国产成人av一区二区| 天天爽夜夜爽夜夜爽精品视频| 亚洲私人黄色宅男| 国产欧美综合在线观看第十页 | 奇米色一区二区| 国产日韩欧美精品综合| 日韩午夜精品视频| 欧美精品久久99久久在免费线 | 五月综合激情日本mⅴ| 亚洲日本成人在线观看| 国产精品卡一卡二| 亚洲国产精品v| 亚洲国产精品t66y| 精品国产3级a| 欧美v日韩v国产v| 欧美成人女星排名| 欧美变态口味重另类| 日韩精品中文字幕在线不卡尤物| 这里只有精品电影| 91精品国产色综合久久ai换脸| 欧美日韩在线亚洲一区蜜芽| 色婷婷激情久久| 欧美色男人天堂| 欧美日韩卡一卡二| 欧美精选在线播放| 日韩欧美色电影| 久久综合久久久久88| 久久久精品日韩欧美| 欧美激情在线一区二区| 国产精品免费免费| 亚洲欧洲精品一区二区三区不卡| 中文字幕日韩一区| 亚洲激情校园春色| 五月婷婷久久综合| 日韩av午夜在线观看| 激情五月播播久久久精品| 国产成人精品三级麻豆| 99视频一区二区三区| 欧美在线影院一区二区| 在线播放日韩导航| 精品国产乱码久久久久久久久| 国产喂奶挤奶一区二区三区| 国产精品女主播av| 亚洲成人自拍一区| 激情综合色播五月| 99久久国产综合精品麻豆| 色偷偷一区二区三区| 91精品久久久久久久99蜜桃| 久久久久国产精品人| 一区二区高清免费观看影视大全| 日韩不卡一区二区三区| 高清视频一区二区| 欧美日韩免费电影| 国产欧美一区二区三区沐欲| 亚洲精品高清在线| 九九视频精品免费| 一本色道a无线码一区v| 日韩丝袜美女视频| 最新国产成人在线观看| 日本美女一区二区三区视频| 波多野结衣精品在线| 91精选在线观看| 中文字幕一区二区日韩精品绯色| 亚洲国产精品久久人人爱 | 国产精品久久久久久久久免费相片 | 日韩欧美激情一区| 亚洲视频在线一区观看| 老司机午夜精品99久久| 99久久婷婷国产精品综合| 日韩一卡二卡三卡国产欧美| 中文字幕视频一区| 国内成+人亚洲+欧美+综合在线| 在线精品视频一区二区三四| 欧美—级在线免费片| 人禽交欧美网站| 欧亚洲嫩模精品一区三区| 国产清纯美女被跳蛋高潮一区二区久久w| 亚洲mv在线观看| 一本到不卡免费一区二区| 久久久777精品电影网影网| 五月婷婷激情综合| 欧美性videosxxxxx| 亚洲日本va在线观看| 国产aⅴ综合色| 精品99一区二区| 蜜臀va亚洲va欧美va天堂| 在线观看成人免费视频| 综合色天天鬼久久鬼色| 国产成a人亚洲| 久久久久久久久伊人| 乱一区二区av| 91精品欧美久久久久久动漫| 亚洲综合激情网| 色婷婷av久久久久久久| 国产精品亲子乱子伦xxxx裸| 国产黑丝在线一区二区三区| 日韩欧美久久久| 麻豆精品一二三| 日韩精品一区二区三区中文精品 | 欧美性大战久久| 一区二区三区在线视频播放| 91在线免费视频观看| 亚洲欧美在线高清| 色综合色狠狠天天综合色| 亚洲精品视频在线观看网站| 色88888久久久久久影院按摩|