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

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

?? ch375hmp.asm

?? USB驅動芯片簡介及驅動源程序
?? ASM
?? 第 1 頁 / 共 2 頁
字號:
; /* 2004.06.05
; ****************************************
; **  Copyright  (C)  W.ch  1999-2004   **
; **  Web:  http://www.winchiphead.com  **
; ****************************************
; **  USB Host File Module      @CH375  **
; ****************************************
; */
; /* U盤文件讀寫模塊, 連接方式: 并口+查詢 */
; /* MCS-51單片機ASM語言示例程序, 僅適用于V2.5及以上版本的模塊 */
; /* 因為使用U盤文件讀寫模塊而不是使用U盤文件級子程序庫,所以占用較少的單片機資源,可以使用89C51單片機測試 */
; 
;$include	(REG51.INC)
$include	(..\CH375HM.INC)

;   電路連接方式
;   單片機    模塊
;    P0    =  D0-D7
;    RD    =  RD#
;    WR    =  WR#
;    ?     =  CS#   如果沒有外部RAM,那么CS#=P26,如果有超過16KB的外部RAM,那么CS#=P27 & ! P26 & ...,所以CS#的片選地址為BXXXH
;    P20   =  A0
;    P15   =  STA#
;    INT0  =  INT#  雖然連接到INT0,但是本程序只是查詢模塊的INT#的狀態,所以可以用P1口等普通I/O引腳代替INT0

CH375HM_INDEX	XDATA	0BCF0H			;CH375模塊的索引端口的I/O地址
CH375HM_DATA	XDATA	0BDF1H			;CH375模塊的數據端口的I/O地址

CH375HM_INT		BIT		INT0			;假定CH375模塊的INT#引腳連接到單片機的INT0引腳
CH375HM_STA		BIT		P1.5			;假定CH375模塊的STA#引腳連接到單片機的P15引腳

LED_OUT			BIT		P1.4			;P1.4 低電平驅動LED顯示,用于監控演示程序的進度

; 假定文件數據緩沖區: ExtRAM: 0000H-7FFFH
DATA_BUF		XDATA	00000H			;外部RAM的文件數據緩沖區,從該單元開始的緩沖區長度不小于一次讀寫的數據長度,最少為512字節

; 命令參數結構, 長度為20到60字節
mCmdParam		DATA	20H				;默認情況下該結構將占用64字節的RAM,可以修改MAX_PATH_LEN常量,當修改為32時,只占用32字節的RAM,并口最大值62
SECTOR_COUNT	DATA	1DH				;文件占用扇區數
NEW_SIZE_HIGH	DATA	1EH				;文件長度的高字節
NEW_SIZE_LOW	DATA	1FH				;文件長度的低字節

				ORG		0000H
				LJMP	MAIN
;
; 程序數據起始地址
				ORG		0100H
STR_FILE_NAME1:	DB		'\C51\CH375HFT.C',00H	;文件名,該文件在C51子目錄下
STR_FILE_DATA:	DB		'Note: ',0DH,0AH
				DB      '原本是打算將/C51/CH375HFT.C文件中的小寫字母轉成大寫后寫入新的文件,但是找不到這個文件',0DH,0AH,00H
STR_FILE_NAME2:	DB		'\雙擊我吧.TXT',00H		;新文件名,在根目錄下

; 從程序空間復制字符串到內部RAM緩沖區,源字符串必須以00H作為結束標志,長度不能超過255
; 入口:   DPTR 指向源字符串的起始地址, R0 目標緩沖區的起始地址
; 出口:   R7 返回字符串的長度(含字符串結束符00H)
; 使用:   DPTR, R0, R7
CopyString:		MOV		R7,#00H
CopyStringChar:	MOV		A,R7
				INC		R7
				MOVC	A,@A+DPTR
				MOV		@R0,A
				INC		R0
				JNZ		CopyStringChar		;不是字符串結束符00H,繼續復制
				RET
;
; 延時100毫秒,不精確
; 使用:   R6, R7
mDelay100mS:	MOV  	R7,#0C8H
mDelay100mS_1:	MOV  	R6,#0C8H
mDelay100mS_2:	NOP
				NOP
				NOP
				DJNZ 	R6,mDelay100mS_2
				DJNZ 	R7,mDelay100mS_1
				RET  	

; 執行命令
; 輸入命令碼和輸入參數長度,返回操作狀態碼,輸入參數和返回參數都在CMD_PARAM結構中
; 入口:   R7 命令碼, R5 參數長度, 對于讀寫文件數據命令, DPTR 為外部RAM緩沖區起始地址
; 出口:   R7 狀態碼, 對于讀寫文件數據命令, DPTR 為數據終止地址
; 使用:   R0, R4, R5, R6, R7
ExecCommand:	MOV     R6,DPH				;對于讀寫文件數據命令,保存外部RAM緩沖區起始地址
				MOV     R4,DPL
				MOV  	DPTR,#CH375HM_INDEX
				CLR  	A
				MOVX 	@DPTR,A				;索引地址為0
				MOV  	DPTR,#CH375HM_DATA
				MOV  	A,R7
				MOVX 	@DPTR,A				;向索引地址0寫入命令碼
;				MOV  	DPTR,#CH375HM_DATA
				MOV  	A,R5
				MOVX 	@DPTR,A				;向索引地址1寫入后續參數的長度
				JZ      ExecCommand_W0		;沒有參數
				MOV     R0,#mCmdParam;		;指向輸入參數的起始地址
;				MOV  	DPTR,#CH375HM_DATA
ExecCommand_WP:	MOV		A,@R0
				MOVX	@DPTR,A				;從索引地址2開始,寫入參數
				INC     R0
				DJNZ    R5,ExecCommand_WP
ExecCommand_W0:	CLR  	CH375HM_STA			;產生下降沿通知模塊,說明命令包已經寫入,請求開始執行命令
ExecCommand_Wait:
				JB		CH375HM_INT,$		;等待模塊完成操作產生低電平中斷,并返回操作狀態
;最佳檢測方式是對模塊的INT#信號進行下降沿邊沿檢測
				MOV  	DPTR,#CH375HM_INDEX
				MOV  	A,#03FH
				MOVX 	@DPTR,A				;寫入索引地址63
				MOV  	DPTR,#CH375HM_DATA
				MOVX 	A,@DPTR				;從索引地址63讀取中斷狀態
				MOV		R7,A				;操作狀態碼
				SETB 	CH375HM_STA			;中斷應答,取消來自模塊的中斷請求
;因為模塊在收到中斷應答后3uS之內才撤消中斷請求,所以,如果是查詢INT#信號的低電平,那么在發出中斷應答后3uS之內不應該再查詢INT#信號的狀態
;但是由于51單片機較慢,下面的處理時間已經超過3uS,所以不必另加延時等待模塊撤消中斷請求
				CJNE    R7,#ERR_SUCCESS,ExecCommand_J0	;不是操作成功的狀態碼
				MOV  	DPTR,#CH375HM_INDEX	;操作成功
				MOV		A,#01H
				MOVX 	@DPTR,A				;索引地址為1
				MOV  	DPTR,#CH375HM_DATA
				MOVX 	A,@DPTR				;從索引地址1讀取返回結果數據的長度
				MOV  	R7,A
				JZ      ExecCommand_R0		;沒有結果數據
				MOV     R0,#mCmdParam;		;指向輸出參數的起始地址
				MOV		R5,#02H				;從索引地址2開始,讀取結果
ExecCommand_RP:	MOV		DPTR,#CH375HM_INDEX
				MOV		A,R5
				MOVX	@DPTR,A				;索引地址
				INC		R5
				MOV  	DPTR,#CH375HM_DATA
				MOVX	A,@DPTR
				MOV		@R0,A
				INC		R0
				DJNZ 	R7,ExecCommand_RP
ExecCommand_R0:	LJMP	ExecCommand_Ret
ExecCommand_J0:	CJNE    R7,#USB_INT_DISK_READ,ExecCommand_J1
				MOV		R5,#00H				;正在從U盤讀數據塊,請求數據讀出
				MOV  	R7,#040H			;一次讀取64個字節
				MOV  	P2,#HIGH (CH375HM_DATA)
				MOV  	R0,#LOW (CH375HM_DATA)
				MOV     DPH,R6
				MOV     DPL,R4				;緩沖區地址
RD_SEC_BYTE:	PUSH	DPH
				PUSH	DPL
				MOV		DPTR,#CH375HM_INDEX
				MOV		A,R5
				MOVX	@DPTR,A				;索引地址
				POP		DPL
				POP		DPH
				MOVX	A,@R0				;依次輸入64字節的數據
				INC		R5
				MOVX    @DPTR,A				;讀取的數據保存到外部緩沖區
				INC     DPTR
				DJNZ    R7,RD_SEC_BYTE		;從索引地址0到63依次讀出64字節的數據
				MOV     P2,#0FFH
				MOV     R6,DPH
				MOV     R4,DPL
				CLR		CH375HM_STA			;產生下降沿通知模塊繼續,說明64字節數據已經讀取完成
				LJMP    ExecCommand_Wait
ExecCommand_J1:	CJNE    R7,#USB_INT_DISK_WRITE,ExecCommand_J2
				MOV  	DPTR,#CH375HM_INDEX	;正在向U盤寫數據塊,請求數據寫入
				CLR		A
				MOVX 	@DPTR,A				;索引地址為0
				MOV  	R7,#040H			;一次寫入64個字節
				MOV  	P2,#HIGH (CH375HM_DATA)
				MOV  	R0,#LOW (CH375HM_DATA)
				MOV     DPH,R6
				MOV     DPL,R4				;緩沖區地址
WR_SEC_BYTE:	MOVX    A,@DPTR				;寫入的數據來自外部緩沖區
				INC     DPTR
				MOVX    @R0,A				;依次輸出64字節的數據
				DJNZ    R7,WR_SEC_BYTE		;向索引地址0到63依次寫入64字節的數據
				MOV     P2,#0FFH
				MOV     R6,DPH
				MOV     R4,DPL
				CLR		CH375HM_STA			;產生下降沿通知模塊繼續,說明64字節數據已經寫入完成
				LJMP	ExecCommand_Wait
ExecCommand_J2:	CJNE    R7,#USB_INT_DISK_RETRY,ExecCommand_J3
				MOV  	DPTR,#CH375HM_INDEX	;讀寫數據塊失敗重試,應該向回修改緩沖區指針
				CLR		A
				MOVX 	@DPTR,A				;索引地址為0
				MOV		DPTR,#CH375HM_DATA
				MOVX	A,@DPTR				;大端模式下為回改指針字節數的高8位,如果是小端模式那么接收到的是回改指針字節數的低8位
				MOV		R7,A
				MOV  	DPTR,#CH375HM_INDEX
				MOV		A,#01H
				MOVX 	@DPTR,A				;索引地址為1
				MOV		DPTR,#CH375HM_DATA
				MOVX	A,@DPTR				;大端模式下為回改指針字節數的低8位,如果是小端模式那么接收到的是回改指針字節數的高8位
				CLR		C
				XCH		A,R4
				SUBB	A,R4
				MOV		R4,A				;這是大端模式下的回改指針
				MOV		A,R6
				SUBB	A,R7
				MOV		R6,A
				CLR		CH375HM_STA			;產生下降沿通知模塊繼續,說明重試狀態碼已經處理完成
				LJMP	ExecCommand_Wait
ExecCommand_J3:								;R7為操作完成狀態,操作出現錯誤
				NOP							;等待模塊將INT#引腳恢復為高電平,撤消中斷
				NOP
ExecCommand_Ret:
;				JNB		CH375HM_INT,$		;等待模塊的中斷撤消
				MOV     DPH,R6				;對于讀寫文件數據命令
				MOV     DPL,R4				;從DPTR返回新的緩沖區地址
				RET
; END OF ExecCommand

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩二区三区在线观看| 中文字幕乱码亚洲精品一区| 亚洲自拍偷拍综合| 欧美丰满一区二区免费视频| 美女视频黄免费的久久| 精品成人在线观看| 99热在这里有精品免费| 夜夜嗨av一区二区三区四季av | 精品国产一区二区三区四区四| 日本系列欧美系列| 久久久精品日韩欧美| 99久久久免费精品国产一区二区| 亚洲欧美日本韩国| 91精品国产麻豆| 国产成人精品1024| 一卡二卡三卡日韩欧美| 欧美一区二区三区视频在线观看| 国内外精品视频| 中文字幕日韩av资源站| 69堂精品视频| 成人一级片在线观看| 亚洲在线观看免费| 2023国产精品| 欧美网站一区二区| 成人午夜免费视频| 天堂一区二区在线| 国产精品护士白丝一区av| 91精品免费在线| 成人av电影免费观看| 日韩激情一区二区| 国产精品你懂的在线欣赏| 欧美日韩成人综合在线一区二区| 国产成人在线免费观看| 无码av免费一区二区三区试看 | 国产精品入口麻豆九色| 欧美色图免费看| 国产aⅴ综合色| 日本sm残虐另类| 亚洲一区在线观看免费观看电影高清 | 欧美电影免费观看高清完整版在线 | 福利一区在线观看| 免费精品99久久国产综合精品| 国产精品久久久久一区二区三区共 | 国产精品一区在线观看你懂的| 一区二区在线看| 久久久国产一区二区三区四区小说 | 91亚洲国产成人精品一区二区三 | 大美女一区二区三区| 日韩精品欧美精品| 亚洲美女偷拍久久| 国产嫩草影院久久久久| 欧美大度的电影原声| 欧美日韩日本视频| 色综合久久中文字幕| 风间由美性色一区二区三区| 蜜臀精品一区二区三区在线观看| 亚洲国产成人精品视频| 自拍偷拍亚洲激情| 欧美国产综合色视频| 国产日韩欧美综合一区| 久久精品在线免费观看| 欧美成人福利视频| 欧美videos大乳护士334| 日韩一级黄色片| 91精品国产综合久久蜜臀| 欧美日韩高清一区| 欧美日韩国产美女| 欧美嫩在线观看| 91 com成人网| 制服丝袜成人动漫| 日韩午夜在线观看视频| 日韩美女在线视频 | 粉嫩一区二区三区性色av| 久久99久久99| 久久99久久久久| 国内成+人亚洲+欧美+综合在线 | 欧美韩国日本综合| 国产精品久久久久久久裸模| 国产精品久久久久7777按摩| 亚洲国产成人自拍| 国产精品久久久久影视| 亚洲蜜桃精久久久久久久| 亚洲激情欧美激情| 五月激情丁香一区二区三区| 日本欧美加勒比视频| 精品一区二区精品| 国产激情视频一区二区在线观看 | 日本一区二区免费在线观看视频 | 欧美成人a视频| 久久精品视频免费| 国产精品久久久久久亚洲毛片| 亚洲蜜臀av乱码久久精品| 五月天中文字幕一区二区| 日韩国产欧美在线播放| 韩国成人福利片在线播放| 成人免费毛片高清视频| 色婷婷久久99综合精品jk白丝| 欧美三级电影在线看| 日韩一区二区三区精品视频| 久久嫩草精品久久久久| 国产精品国产三级国产aⅴ原创| 一区二区在线观看免费| 人人爽香蕉精品| 北条麻妃一区二区三区| 欧美亚洲一区二区三区四区| 日韩欧美一区二区免费| 中文字幕在线观看一区| 香蕉影视欧美成人| 国产乱人伦偷精品视频不卡| 色www精品视频在线观看| 日韩一区二区在线观看视频| 欧美激情一区三区| 午夜av区久久| jiyouzz国产精品久久| 欧美日韩mp4| 国产精品欧美一区二区三区| 亚洲动漫第一页| 国产成a人亚洲精| 欧美日韩视频不卡| 中文字幕一区二区在线播放| 手机精品视频在线观看| 成人性色生活片免费看爆迷你毛片| 在线免费观看日本一区| 国产拍欧美日韩视频二区| 丝瓜av网站精品一区二区| www.欧美色图| 精品国产乱码久久久久久久久| 亚洲日本青草视频在线怡红院| 美腿丝袜在线亚洲一区| 色88888久久久久久影院野外| 精品久久久久久综合日本欧美 | 日韩亚洲国产中文字幕欧美| 亚洲欧美另类久久久精品2019| 精品中文字幕一区二区| 欧美午夜不卡在线观看免费| 国产精品国产三级国产三级人妇| 美女免费视频一区二区| 欧美日韩一区三区| 亚洲色图欧洲色图婷婷| 国产成人午夜高潮毛片| 日韩视频123| 天堂精品中文字幕在线| 色天天综合久久久久综合片| 国产精品视频九色porn| 国产一区二区视频在线播放| 欧美精品777| 亚洲成人精品一区| 日本高清视频一区二区| 中文字幕亚洲综合久久菠萝蜜| 国内成人精品2018免费看| 日韩欧美一区二区视频| 免费美女久久99| 91精品国产美女浴室洗澡无遮挡| 亚洲国产va精品久久久不卡综合| 色老汉av一区二区三区| 亚洲精品菠萝久久久久久久| 91片在线免费观看| 亚洲美女一区二区三区| 色婷婷激情一区二区三区| 亚洲精品国产a久久久久久| 91丨九色丨蝌蚪丨老版| 亚洲欧美一区二区在线观看| 97久久精品人人做人人爽50路| 中文乱码免费一区二区| 国产成人免费9x9x人网站视频| 欧美精品一区二区三区在线| 精品一区二区综合| 欧美精品一区二区三区四区| 国产精品99久久久久久久女警| 久久久久久久久久久久久女国产乱 | 成人不卡免费av| 中文字幕一区二区三区av| 色综合视频在线观看| 一区二区三区在线不卡| 欧美在线观看视频在线| 肉肉av福利一精品导航| 欧美不卡视频一区| 国产激情一区二区三区| 国产精品卡一卡二| 欧美亚一区二区| 美女视频网站久久| 国产丝袜欧美中文另类| 91婷婷韩国欧美一区二区| 亚洲成年人影院| 日韩一级黄色大片| 成人综合婷婷国产精品久久蜜臀| 国产精品的网站| 7777女厕盗摄久久久| 国产一区二区三区精品欧美日韩一区二区三区| 久久亚洲二区三区| 91在线一区二区三区| 首页国产欧美日韩丝袜| 久久嫩草精品久久久久| 91免费看视频| 日本强好片久久久久久aaa| 国产欧美日产一区| 欧美日韩精品免费观看视频| 久久成人久久鬼色| 亚洲欧美乱综合| 欧美tickling网站挠脚心|