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

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

?? function.asm

?? 利用PWM功能實(shí)現(xiàn)語音播放功能。本系統(tǒng)應(yīng)用于Suplus SPMC65* Series上
?? ASM
字號(hào):
//====================================================================
// Function:	Function.asm
// Data:		2005/1/24
// Author:		yuansheng
//====================================================================
.include  spce.inc
.include  OpMacro.inc
//.external _F_GetAddr;
//.external _F_RdResource
.external _F_Delay
.external _F_DelayLong
.external _G_Data
.external _GB_Flag
.external _GB_Wr_Addr_H
.external _GB_Wr_Addr_L
//.include  Subprogram.c
//.public	_G_Data
.public	_GB_RdData
.ram
.var  GB_Wr_Buf,GB_Rd_Buf,_GB_RdData;
//.iram
//	_GB_RdData:		.dw	 50	dup(0)
	
.code
//========================================================================
//	Function:		F_IO_Init
//	Description:	initialize the I/O and CPU clock
//					PD1(SCL),PD0(SDA) ----->output low
//	Parameters: 	None
//	Returns: 		None
//	Notes:
//========================================================================                       
.PUBLIC			_F_IO_Init
_F_IO_Init:
	//	r1=[P_IOB_Buffer]		
		r1=0x0003
		[P_IOB_Data]=r1
		
	//	r1=[P_IOB_Attrib]		
		r1=0x0003
		[P_IOB_Attrib]=r1		
		
	//	r1=[P_IOB_Dir]		
		r1=0x0003
		[P_IOB_Dir]=r1
		
//		r1=[P_IOB_Data]		
//		r1=0x0000
//		[P_IOB_Data]=r1
		retf
//========================================================================
//	Function:		_F_SCK
//	Description:	initialize the I/O and CPU clock
//					PD1(SCL),PD0(SDA) ----->output low
//	Parameters: 	None
//	Returns: 		None
//	Notes:
//========================================================================                       
.PUBLIC			_F_SCK
_F_SCK:		
		M_ClrSCL();
		M_Delay();
		M_Delay();
		M_SetSCL();
		M_Delay();
		M_Delay();
		M_ClrSCL();
		retf
//========================================================================
//	Function:		_F_ClrWatDog
//	Description:	initialize the I/O and CPU clock
//					PD1(SCL),PD0(SDA) ----->output low
//	Parameters: 	None
//	Returns: 		None
//	Notes:
//========================================================================                       
.PUBLIC			_F_ClrWatDog
_F_ClrWatDog:		
		r1= 0x0001
		[P_Watchdog_Clear]=r1
		retf
//====================================================================================
//	Function:		F_Write1Bit
//	Description:	Write 9 bit data
//	Parameters:		GB_Wr_Buf
//	Returns:		None
//	Notes:			
//====================================================================================
.PUBLIC			_F_Write9Bit
_F_Write9Bit:
		r4=0x09
?L_Loop:
		r1=		[GB_Wr_Buf]					
		r1&=0x0100
		jnz		?L_Set_SDA
		M_ClrSDA//							//SDA export '0'
		jmp		?L_Check
?L_Set_SDA:
		M_SetSDA//							//SDA export '1'
?L_Check:
		r1=		[GB_Wr_Buf]
		r1=		r1 lsl 1
		[GB_Wr_Buf]= r1							//the buffer shift left
		call	_F_SCK		
		r4-=1
		jnz		?L_Loop
		call	_F_ClrWatDog						
		retf		
//====================================================================================
//	Function:		F_Write16Bit
//	Description:	Write 16 bit data
//	Parameters:		GB_Wr_Buf
//	Returns:		None
//	Notes:			
//====================================================================================
.PUBLIC			_F_Write16Bit
_F_Write16Bit:
		r4=0x10
?L_Loop:
		r1=		[GB_Wr_Buf]					
		r1&=0x8000
		jnz		?L_Set_SDA
		M_ClrSDA//							//SDA export '0'
		jmp		?L_Check
?L_Set_SDA:
		M_SetSDA//							//SDA export '1'
?L_Check:
		r1=		[GB_Wr_Buf]
		r1=		r1 lsl 1
		[GB_Wr_Buf]= r1							//the buffer shift left
		call	_F_SCK		
		r4-=1
		jnz		?L_Loop
		call	_F_ClrWatDog						
		retf		
//====================================================================================
//	Function:		F_Write8Bit
//	Description:	Write 8 bit data
//	Parameters:		GB_Wr_Buf
//	Returns:		None
//	Notes:			
//====================================================================================
.PUBLIC			_F_Write8Bit
_F_Write8Bit:
		r4=0x08
?L_Loop:
		r1=		[GB_Wr_Buf]					
		r1&=0x8000
		jnz		?L_Set_SDA
		M_ClrSDA//							//SDA export '0'
		jmp		?L_Check
?L_Set_SDA:
		M_SetSDA//							//SDA export '1'
?L_Check:
		r1=		[GB_Wr_Buf]
		r1=		r1 lsl 1
		[GB_Wr_Buf]= r1							//the buffer shift left
		cmp		r4,1
		je		?L_EndSCK
		call	_F_SCK		
		r4-=1
		jmp		?L_Loop
?L_EndSCK:
		M_ClrSCL();
		M_Delay();
		M_Delay();
		M_SetSCL();
		call	_F_ClrWatDog
		nop					
//		M_SetSDA					
		retf
//====================================================================================
//	Function:		F_Read8Bit
//	Description:	read 8 bit data
//	Parameters:		None
//	Returns:		GB_Rd_Buf
//	Notes:			
//====================================================================================
.PUBLIC			_F_Read8Bit
_F_Read8Bit:
		r1=0x0000
		[GB_Rd_Buf]=r1	
		r4=0x08
		M_SetIO_Input//						//set PB0 input with pull-high
?L_Loop:
		cmp		r4,1
		je		?L_EndSCK_Read		
		call	_F_SCK
		jmp		?L_Read
?L_EndSCK_Read:
		M_ClrSCL();
		M_Delay();
		M_Delay();
		M_SetSCL();		
?L_Read:	
		r1=		[GB_Rd_Buf]
		r1=		r1 lsl 1
		[GB_Rd_Buf]= r1
		r1=		[P_IOB_Data]					//read the data	
		r1&=0x01
		r1|=[GB_Rd_Buf]
		[GB_Rd_Buf]=r1			
		r4-=1
		jnz		?L_Loop	
		M_SetIO_Output						//set PB0 output low 
//		M_ClrSCL();
		call	_F_ClrWatDog
//		M_SetSDA
		retf
//========================================================================
//	Function:		F_ByteWR
//	Description:	Write one byte to 24C01A 
//	Parameters: 	GB_Wr_Addr: address 
//					GB_Data: data to write
//	Returns: 		None
//	Notes:
//========================================================================		
.PUBLIC		_F_ByteWR	
_F_ByteWR:
		M_StartSignal//						//create Start Signal
		r1=0x0000
		[GB_Wr_Buf]=r1				 		//write command 					// + write the address of device and the command(write)				
		call	_F_Write9Bit					
		
		r1=		[_GB_Wr_Addr_L]
		[GB_Wr_Buf]= r1
		call	_F_Write16Bit				//	write the address of data
			
		r1=		[_G_Data]
		[GB_Wr_Buf]= r1
		call	_F_Write8Bit 			//write the data
		call	_F_Delay
		nop			 
		nop	
		M_StopSignal
		nop			
		nop			
?L_Wrend:
		retf
//========================================================================
//	Function:		F_SeqtRD
//	Description:	 read data from 24C01 sequentially
//	Parameters: 	GB_Wr_Addr: address 
//					GB_Rd_Range: the number of one group data
//	Returns: 		GB_Data: the head address of one group data
//	Notes:
//========================================================================		
.PUBLIC		_F_SeqtRD	
_F_SeqtRD:
		M_StartSignal//						//create Start Signal
		r1=0x0100
		[GB_Wr_Buf]=r1						// + write the address of device and the command(write)				
		call	_F_Write8Bit
		
		r1=		[_GB_Wr_Addr_L]
		[GB_Wr_Buf]= r1
		call	_F_Write16Bit				//	write the address of data
		M_Delay
		
		nop
		nop
		call	_F_Read8Bit		
		r1=		[GB_Rd_Buf]
		[_GB_RdData]=r1
//		cmp		r2, 4
//		jne		?L_ReadLoop
		call	_F_Delay
		M_StopSignal//						//create Stop Signal	
		
		retf		








		
//========================================================================
//	Function:		_F_EraseAll
//	Description:	 read data from 24C01 sequentially
//	Parameters: 	GB_Wr_Addr: address 
//					GB_Rd_Range: the number of one group data
//	Returns: 		GB_Data: the head address of one group data
//	Notes:
//========================================================================		
.PUBLIC		_F_EraseAll	
_F_EraseAll:
		nop
		nop
		M_StartSignal//						//create Start Signal
		r1=0x60
		[GB_Wr_Buf]=r1						// + write the address of device and the command(write)				
		call	_F_Write8Bit
				

		r1=		[_GB_Wr_Addr_H]
		[GB_Wr_Buf]= r1
//		call	_F_Write1Bit				//	write the address of data
		
		r1=		[_GB_Wr_Addr_L]
		[GB_Wr_Buf]= r1
		call	_F_Write16Bit				//	write the address of data
		nop
		nop
		call 	_F_DelayLong
		
		M_StopSignal						//create Stop Signal	
		retf
		
//========================================================================
//	Function:		_F_SeqWR
//	Description:	Write one byte to 24C01A 
//	Parameters: 	GB_Wr_Addr: address 
//					GB_Data: data to write
//	Returns: 		None
//	Notes:
//========================================================================		
.PUBLIC		_F_SeqWR	
_F_SeqWR:
		r1=0x00
		[_GB_Wr_Addr_L]=r1
		[_GB_Wr_Addr_H]=r1
//		call	_F_GetAddr;
?L_WrLoop:
		call	_F_ByteWR
		r1=[_GB_Flag]
		jne		?L_SeqWrRts
		r2= [_GB_Wr_Addr_L]
		r2+=1
		[_GB_Wr_Addr_L]=r2
		cmp		r2,0xffff
		jne		?L_WrLoop
//		r2=[_GB_Wr_Addr_L]
//		jnz		?L_WrLoop	
		r1= [_GB_Wr_Addr_H]
		jnz		?L_SeqWrRts
		r1+=1
		[_GB_Wr_Addr_H] =r1
		jmp		?L_WrLoop
?L_SeqWrRts:
		nop
		nop			
		retf

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
1000精品久久久久久久久| 亚洲人一二三区| 奇米综合一区二区三区精品视频| 不卡一区二区中文字幕| 精品国产sm最大网站免费看| 美女视频网站黄色亚洲| 91精品国产欧美一区二区成人| 亚洲成人免费电影| 欧美日韩国产欧美日美国产精品| 一区二区三区日本| 欧美视频三区在线播放| 一区二区免费看| 欧美日韩一区二区三区不卡| 亚洲高清不卡在线观看| 欧美日韩一区三区| 日韩电影免费在线| 欧美一区二区三区视频在线| 蜜桃视频在线观看一区二区| 精品久久人人做人人爰| 国产精品亚洲专一区二区三区 | 在线综合亚洲欧美在线视频| 五月婷婷另类国产| 日韩三级av在线播放| 国产一区二区三区久久悠悠色av | 欧美激情一区二区三区蜜桃视频| 懂色av一区二区三区免费观看| 国产精品无人区| 91网页版在线| 亚洲国产视频一区二区| 欧美电影在线免费观看| 久久国产精品区| 久久精品亚洲国产奇米99| a在线播放不卡| 亚洲激情综合网| 91精品欧美久久久久久动漫 | 免费观看成人鲁鲁鲁鲁鲁视频| 精品久久久久香蕉网| 大桥未久av一区二区三区中文| 亚洲日本青草视频在线怡红院| 在线免费视频一区二区| 日韩高清电影一区| 久久久高清一区二区三区| 91亚洲精品一区二区乱码| 亚洲大片免费看| 日韩免费一区二区| 国产成人夜色高潮福利影视| 亚洲猫色日本管| 日韩午夜电影在线观看| 成人午夜精品在线| 色综合视频在线观看| 亚洲va韩国va欧美va| 精品av综合导航| 91麻豆免费视频| 秋霞电影网一区二区| 中文字幕国产一区二区| 欧美日韩一区二区欧美激情| 国产剧情一区二区三区| 亚洲激情图片一区| 精品播放一区二区| 91国在线观看| 国产乱码精品一区二区三区五月婷 | 99这里只有久久精品视频| 婷婷六月综合网| 亚洲国产成人午夜在线一区| 欧美日韩一区二区不卡| 国产精品一区二区在线观看不卡| 亚洲最大成人综合| 久久久精品国产免大香伊| 欧美午夜一区二区| 国产精品99久久久久久宅男| 亚洲成人福利片| 中文字幕av一区二区三区免费看| 777a∨成人精品桃花网| 99久久99久久综合| 美女一区二区视频| 一区二区三区在线视频观看| 欧美精品一区男女天堂| 欧美四级电影在线观看| 顶级嫩模精品视频在线看| 丝袜亚洲另类丝袜在线| 中文字幕亚洲欧美在线不卡| 精品国精品自拍自在线| 欧美色图免费看| 成人av在线资源网站| 精品一区二区三区欧美| 亚洲一区二区四区蜜桃| 国产精品久久免费看| 欧美xxxxxxxx| 欧美精品久久久久久久多人混战 | 久久综合色8888| 欧美日韩亚洲不卡| av在线播放一区二区三区| 精品一二线国产| 人人精品人人爱| 一区av在线播放| 综合久久综合久久| 国产香蕉久久精品综合网| 日韩一卡二卡三卡国产欧美| 欧美亚洲综合一区| 91视频观看视频| 国产美女在线观看一区| 蜜桃视频在线观看一区| 亚洲成人777| 一区二区三区四区视频精品免费 | 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 在线免费观看一区| 成人av资源下载| 丁香婷婷综合色啪| 国产乱码字幕精品高清av| 毛片av中文字幕一区二区| 天天色天天操综合| 一区二区三区美女| 亚洲精品成人在线| 亚洲色图制服诱惑| 综合分类小说区另类春色亚洲小说欧美| 国产日韩欧美亚洲| 久久影院午夜片一区| 久久亚洲影视婷婷| 精品国产1区二区| 欧美成人精精品一区二区频| 日韩三级在线免费观看| 日韩一区二区在线观看| 在线不卡a资源高清| 7777精品伊人久久久大香线蕉最新版| 欧美性受xxxx| 欧美午夜片在线观看| 91国产精品成人| 欧美在线观看视频一区二区三区| 色综合激情久久| 国产欧美日韩三区| 国产欧美精品一区二区三区四区| 欧美精品一区二区三区在线播放| xnxx国产精品| 国产欧美一区二区精品忘忧草| 欧美国产成人精品| 中文字幕在线观看一区| 18成人在线观看| 亚洲激情校园春色| 性感美女极品91精品| 视频一区二区国产| 久久se精品一区精品二区| 国产露脸91国语对白| 成人激情校园春色| 色婷婷综合五月| 欧美区在线观看| 欧美va亚洲va香蕉在线| 久久久久久亚洲综合影院红桃 | 一区二区三区在线观看欧美| 亚洲国产乱码最新视频 | 91在线视频网址| 欧美亚洲国产一区二区三区va| 欧美女孩性生活视频| 日韩西西人体444www| 国产视频一区二区在线观看| 亚洲欧洲精品一区二区三区| 亚洲综合网站在线观看| 日本va欧美va欧美va精品| 国产精品亚洲综合一区在线观看| 99久久精品国产一区二区三区| 欧美性一区二区| 日韩欧美国产精品一区| 中文字幕欧美日韩一区| 亚洲影视资源网| 久久se精品一区二区| av在线不卡网| 欧美二区在线观看| 国产婷婷色一区二区三区四区| 亚洲男人天堂av网| 日本成人在线电影网| 成人午夜av影视| 欧美视频中文一区二区三区在线观看| 日韩一卡二卡三卡国产欧美| 国产精品私人影院| 亚洲成人精品一区二区| 狠狠色丁香婷综合久久| 一本色道久久综合亚洲aⅴ蜜桃| 51精品视频一区二区三区| 26uuu精品一区二区| 一区二区三区在线高清| 精品一区二区久久久| 色综合久久中文字幕| 日韩精品一区在线观看| 亚洲欧美偷拍三级| 日韩不卡一二三区| 成人av动漫网站| 91精品国产高清一区二区三区 | 欧美不卡123| 亚洲欧美激情插| 韩国精品免费视频| 欧美在线|欧美| 久久久国产一区二区三区四区小说 | 欧美一区二区三区视频在线| 中文字幕 久热精品 视频在线| 亚洲电影一级黄| 国产精品12区| 欧美一区二区三区四区久久| 亚洲图片另类小说| 国产一区二区在线视频| 欧美日韩你懂的| 中文字幕一区二区三区精华液|