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

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

?? fr_driver.asm

?? PTR8000的一個(gè)調(diào)試程序
?? ASM
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
.PUBLIC _FR_W
_FR_W:
//	PUSH BP TO [SP]                     //提取參數(shù)到R1
//	BP = SP + 1
//	R1 = [BP+3]
//	POP BP FROM [SP]

	r1 = r1 lsl 4
	r1 = r1 lsl 4                            //把低八位左移到高八位
	r1 = r1&0xff00                      //屏蔽掉低八位
	
	push r2,r5 to [sp]                  //保護(hù)現(xiàn)場(chǎng)
	
	r2 = [Port_Data]					//注意,所有輸入操作全是Buffer寄存器
	r2 = r2|SCK                         //設(shè)置SCK為高電平            
	r3 = r2&(~SCK)                      //r2為SCK的高電平為,r3為SCK的低電平
	r4 = 8								//R4置8,循環(huán)8次
	
?loopw:
    r5 = r1&0x8000                      //取最高位給R5
    r1 = r1 lsl 1                            //R1左移一位
    test r5,0x8000
    jz ?FR_DL
    r5 = [Port_Data]
	r5 = r5|MOSI                          //MOSI置1
	jmp ?write
?FR_DL:
	r5 = [Port_Data]                      //獲取端口信息
	r5 = r5&(~MOSI)                       //把MOSI位置0
?write:
	[Port_Data] = r2					  //CLK置高
    nop
	[Port_Data] = r3					  //CLK置低
    [Port_Data] = r5					  //寫入一個(gè)位
	//call delay
	r4 = r4-1
	jnz ?loopw

	pop r2,r5 from [sp]                   //恢復(fù)現(xiàn)場(chǎng)
    retf
//========================================================
//	匯編格式:	_CLR
//	C格式:		void CLR(unsigned int)
//	實(shí)現(xiàn)功能:	位置清零
//	入口參數(shù):	無(wú)
//	出口參數(shù):	無(wú)
//	破壞寄存器:r1
//========================================================
.PUBLIC _CLR
_CLR:
    PUSH BP TO [SP]                     //提取參數(shù)到R1
	BP = SP + 1
	R1 = [BP+3]
	POP BP FROM [SP]
	
	push r2 to [sp]                     //保護(hù)現(xiàn)場(chǎng)
	
	r2 = [Port_Data]					//讀取DATA值(僅是一位)
	r1^=0xffff                          //置反
	r1&=r2
                                        //位置清零    
	[Port_Data] = r1                    //把數(shù)據(jù)返回端口
	
	pop r2 from [sp]                    //恢復(fù)現(xiàn)場(chǎng)
	retf
    
//========================================================
//	匯編格式:	_SET
//	C格式:		void SET(unsigned int)
//	實(shí)現(xiàn)功能:	位置置一
//	入口參數(shù):	無(wú)
//	出口參數(shù):	無(wú)
//	破壞寄存器:r1
//========================================================
.PUBLIC _SET
_SET:
    PUSH BP TO [SP]                     //提取參數(shù)到R1
	BP = SP + 1
	R1 = [BP+3]
	POP BP FROM [SP]
	
	push r2 to [sp]                     //保護(hù)現(xiàn)場(chǎng)
	
	r2 = [Port_Data]					//讀取DATA值(僅是一位)
	r1|=r2                              //位置置一
	[Port_Data] = r1                    //把數(shù)據(jù)返回端口
	
	pop r2 from [sp]                    //恢復(fù)現(xiàn)場(chǎng)
	retf

//========================================================
//	匯編格式:	_FR_DataReady
//	C格式:		unsigned int FR_DataReady(void)
//	實(shí)現(xiàn)功能:	數(shù)據(jù)準(zhǔn)備好了或者數(shù)據(jù)發(fā)送完成了,循環(huán)等待數(shù)據(jù)完成
//	入口參數(shù):	無(wú)
//	出口參數(shù):	無(wú)
//	破壞寄存器:r1
//========================================================
.PUBLIC _FR_DataReady
_FR_DataReady:
loopr:
    push r2 to [sp]

    r2=1
    [P_WatchDog_Clear]=r2
        
    r1 = [Port_Data]
    r1 = r1&DR                  
    cmp r1,DR
    jnz loopr 
    
    pop r2 from [sp]
    retf    
 
//待機(jī)模式   
.public _FR_StandBy
_FR_StandBy:
    r1 = [Port_Data]
    r1|=(PWR+TXEN)
    r1&=~TRX_EN
    [Port_Data]=r1
    
    retf
    
//發(fā)射模式    
.public _FR_TxOn
_FR_TxOn:
    r1=[Port_Data]
    r1|=(PWR+TXEN+TRX_EN)
    [Port_Data]=r1

    retf

//開始啟動(dòng)發(fā)送   
.public _FR_TxSend
_FR_TxSend:
    r1=[Port_Data]
    r1|=TRX_EN         //TRX_EN置一
    [Port_Data]=r1
    //call _FR_DataReady //檢測(cè)數(shù)據(jù)是否OK
    r1=[Port_Data]
    r1&=~TRX_EN
    [Port_Data]=r1     //TRX_EN置零
    
    retf


//接收模式開啟
.public _FR_RxOn
_FR_RxOn:
    r1=[Port_Data]
    r1|=(PWR+TRX_EN)
    r1&=~TXEN
    [Port_Data]=r1
    
    retf
//配置FR    
.public _FR_Config
_FR_Config:
    r1=[Port_Data]
    r1&=~CSN                                  // Spi 片選開
    [Port_Data]=r1
    
    r1=WC                                     // 寫配置命令
    call _FR_W 
    r1=CH_NO_BYTE                             //中心頻率低8位
    call _FR_W
    r1=PA_PWR_10dBm | HFREQ_PLL_433MHz        //發(fā)射+10dBm,發(fā)射頻率433MHz,中心頻率第9位=0
    call _FR_W    
    r1=TX_AFW_4BYTE | RX_AFW_4BYTE            //接收地址寬度4字節(jié),發(fā)送地址寬度4字節(jié)
    call _FR_W 
    r1=RX_PW_32BYTE                           //接收數(shù)據(jù)寬度32字節(jié)
    call _FR_W
    r1=TX_PW_32BYTE                           //發(fā)送數(shù)據(jù)寬度32字節(jié)
    call _FR_W
    r1=RX_ADDRESS_0                           //接收有效地址第1字節(jié)
    call _FR_W
    r1=RX_ADDRESS_1                           //接收有效地址第2字節(jié)
    call _FR_W
    r1=RX_ADDRESS_2                           //接收有效地址第3字節(jié)
    call _FR_W
    r1=RX_ADDRESS_3                           //接收有效地址第4字節(jié)
    call _FR_W
    r1=CRC16_EN | XOF_16MHz                   //CRC16模式使能,晶體振蕩器頻率16MHz
    call _FR_W
    
    r1=[Port_Data]
    r1|=CSN                                   // Spi 片選關(guān)
    [Port_Data]=r1
    
    retf
    
    
    
//掉電模式 PwrDown
.public _FR_Off
_FR_Off:
    r1=[Port_Data]
    r1&=~PWR                                  
    [Port_Data]=r1
    
    retf

//寫Tx地址
.public _FR_SetTxAddr
_FR_SetTxAddr:
    r1=[Port_Data]
    r1&=~CSN                                  // Spi 片選開
    [Port_Data]=r1
    
    r1=WTA                                    //寫Tx地址的命令 
    call _FR_W
    r1=TX_ADDRESS_0                           //接收有效地址第1字節(jié)
    call _FR_W
    r1=TX_ADDRESS_1                           //接收有效地址第2字節(jié)
    call _FR_W
    r1=TX_ADDRESS_2                           //接收有效地址第3字節(jié)
    call _FR_W
    r1=TX_ADDRESS_3                           //接收有效地址第4字節(jié)
    call _FR_W
    
    r1=[Port_Data]
    r1|=CSN                                   // Spi 片選關(guān)
    [Port_Data]=r1
    
    retf
    
//寫入發(fā)送的內(nèi)容
   
.PUBLIC _FR_SetData
_FR_SetData:
    PUSH BP TO [SP]                           //提取參數(shù)到R1
 	BP = SP + 1
 	R1 = [BP+3]
 	POP BP FROM [SP]
 	
 	PUSH R2 TO [SP]                           //保護(hù)R2內(nèi)容
 	R2=R1                                     //參數(shù)轉(zhuǎn)移到R2
 	
    r1=[Port_Data]
    r1&=~CSN                                  // Spi 片選開
    [Port_Data]=r1
    
    r1=WTP                                    //寫TxPayload  
    call _FR_W
    r1=r2                                     //這里的R2是要傳送的參數(shù)
    call _FR_W
    
    r1=[Port_Data]
    r1|=CSN                                   // Spi 片選關(guān)
    [Port_Data]=r1
    
    retf
    
//讀出接收到的數(shù)據(jù)    
.public _FR_ReadData
_FR_ReadData:
    push r2 to [sp]                           //保護(hù)現(xiàn)場(chǎng)
    
    r1=[Port_Data]
    r1&=~CSN                                  // Spi 片選開
    [Port_Data]=r1
    
    call _FR_DataReady                        //等待數(shù)據(jù)準(zhǔn)備完畢
    
    r1=RRP                                    //讀RxPayload 
    call _FR_W
    call _FR_R                                //開始真正讀數(shù)據(jù),數(shù)據(jù)讀到R1里面
    r2=r1                                     //數(shù)據(jù)傳到R2里面
    
    r1=[Port_Data]
    r1|=CSN                                   // Spi 片選關(guān)
    [Port_Data]=r1
    
    r1=r2                                     //數(shù)據(jù)恢復(fù)到r1
    
    pop r2 from [sp]                          //恢復(fù)現(xiàn)場(chǎng)
    retf    

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文av字幕一区| 自拍偷拍亚洲综合| 91在线云播放| 免费成人小视频| 亚洲激情图片小说视频| 精品国产a毛片| 欧美日韩综合在线| 成人性生交大片免费| 美腿丝袜在线亚洲一区| 亚洲国产视频网站| 国产精品九色蝌蚪自拍| 久久免费视频一区| 日韩一级片在线播放| 在线免费不卡电影| 91在线观看下载| 国产成人亚洲精品狼色在线| 麻豆成人91精品二区三区| 亚洲大片一区二区三区| 亚洲私人黄色宅男| 亚洲国产精品精华液2区45| 精品日韩在线一区| 欧美一区二区在线视频| 欧美性猛交xxxx黑人交| 色欧美日韩亚洲| 99久久久国产精品免费蜜臀| 国产69精品一区二区亚洲孕妇| 久久精品国产久精国产| 日本中文字幕一区二区视频| 亚洲成人激情社区| 一区二区三区日韩精品| 亚洲日本护士毛茸茸| 中文字幕中文乱码欧美一区二区| 久久亚洲综合av| 精品剧情v国产在线观看在线| 91精品国产综合久久福利软件| 欧美老人xxxx18| 6080午夜不卡| 日韩欧美中文一区| 欧美xxxx老人做受| 久久久久国产精品麻豆| 国产亚洲视频系列| 国产精品欧美综合在线| 国产精品国产三级国产a| 国产视频一区不卡| 中文字幕欧美激情一区| 国产精品欧美一级免费| 日韩毛片精品高清免费| 一区二区激情小说| 亚洲高清在线精品| 日韩黄色免费电影| 国产又黄又大久久| 丰满放荡岳乱妇91ww| 99这里只有久久精品视频| 色网站国产精品| 欧美精品一区视频| 国产日韩欧美一区二区三区乱码| 国产日产欧美一区| 亚洲欧洲日韩在线| 亚洲国产精品久久久男人的天堂| 日本美女一区二区| 国产一区二区成人久久免费影院 | 看片网站欧美日韩| 韩国精品在线观看| 成人激情开心网| 91美女在线视频| 日本美女一区二区| 中文字幕一区三区| 亚洲欧洲日韩av| 国产日产欧美一区| 在线一区二区三区做爰视频网站| 欧美日韩小视频| 精品国产91乱码一区二区三区| 国产欧美精品一区二区三区四区| 亚洲日本成人在线观看| 日日骚欧美日韩| 国产99久久精品| 欧美影院一区二区| 精品国产一区二区精华| 亚洲日韩欧美一区二区在线| 欧美aaaaaa午夜精品| 不卡视频在线观看| 日韩视频一区二区三区| 国产精品你懂的在线欣赏| 香蕉久久一区二区不卡无毒影院 | 成人免费看的视频| 欧美日韩成人一区| 久久精品男人的天堂| 亚洲高清不卡在线观看| 国产风韵犹存在线视精品| 欧美亚洲国产bt| 国产嫩草影院久久久久| 亚洲午夜电影在线观看| 成人性生交大片免费看中文| 日韩欧美一区二区在线视频| 亚洲天堂2016| 国产久卡久卡久卡久卡视频精品| 精品视频在线看| 亚洲视频网在线直播| 久久精品国产99久久6| 在线亚洲免费视频| 国产欧美精品一区aⅴ影院| 日韩精品视频网| 色婷婷综合视频在线观看| 精品成人私密视频| 日韩成人午夜精品| 色国产精品一区在线观看| 久久精品一区四区| 天堂在线亚洲视频| 91麻豆国产福利在线观看| 久久久影视传媒| 美女脱光内衣内裤视频久久网站| 欧美日韩一区二区在线观看| 亚洲欧美自拍偷拍色图| 国产精品亚洲一区二区三区妖精 | 久久国产综合精品| 欧美日韩美女一区二区| 亚洲视频每日更新| 成人美女在线视频| 精品国产乱码久久久久久闺蜜| 五月婷婷久久综合| 欧美自拍丝袜亚洲| 亚洲欧美日韩国产综合| 成人高清免费观看| 国产欧美一区二区精品性色| 久久成人免费电影| 欧美变态口味重另类| 免费国产亚洲视频| 4438x成人网最大色成网站| 一区二区日韩电影| 91久久线看在观草草青青| 亚洲免费观看高清完整版在线观看熊| 处破女av一区二区| 中文字幕免费不卡| 成人丝袜高跟foot| 国产精品久久毛片av大全日韩| 成人性视频网站| 日韩码欧中文字| 色久综合一二码| 一区二区三区免费在线观看| 色婷婷精品久久二区二区蜜臀av | 激情综合色综合久久综合| 日韩免费观看2025年上映的电影| 麻豆免费精品视频| 欧美本精品男人aⅴ天堂| 国产一区91精品张津瑜| 中文字幕免费一区| 色综合久久久久久久久| 一个色妞综合视频在线观看| 在线播放日韩导航| 蜜臀a∨国产成人精品| 精品国产一区二区三区四区四| 国产麻豆成人传媒免费观看| 欧美国产一区在线| 91在线观看一区二区| 亚洲一区二区三区自拍| 制服丝袜亚洲网站| 精东粉嫩av免费一区二区三区| 久久精品一区蜜桃臀影院| 91网站视频在线观看| 亚洲图片欧美视频| 精品女同一区二区| av中文字幕亚洲| 婷婷成人综合网| ww久久中文字幕| 91视频国产观看| 日韩av在线播放中文字幕| wwww国产精品欧美| 色综合天天在线| 免费观看在线综合色| 中文一区一区三区高中清不卡| 日本电影欧美片| 免费成人美女在线观看| 国产精品短视频| 欧美日韩国产美| 处破女av一区二区| 天天综合色天天| 欧美激情一区二区三区全黄| 91激情五月电影| 激情综合色综合久久| 亚洲综合丝袜美腿| 久久影音资源网| 91精品福利在线| 豆国产96在线|亚洲| 亚洲gay无套男同| 国产精品色一区二区三区| 欧美精品乱人伦久久久久久| 成人国产精品视频| 免费高清不卡av| 亚洲综合一区二区三区| 国产欧美日韩卡一| 欧美精品一级二级三级| 97se狠狠狠综合亚洲狠狠| 免费成人在线视频观看| 亚洲精品免费看| 国产三级一区二区三区| 日韩午夜激情av| 在线亚洲+欧美+日本专区| 国产成人av一区二区三区在线 | 午夜激情久久久| 亚洲男人电影天堂|