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

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

?? fr_driver.asm

?? PTR8000的一個調試程序
?? ASM
?? 第 1 頁 / 共 2 頁
字號:
//============================================================
//	文件名稱:	FR_Driver.asm
//	功能描述:	FR底層驅動程序
//	維護記錄:	2006-8-15	v1.0		Edit by 兩蚊雞 
//============================================================

//=========================================================================
//標準定義
//=========================================================================
	.DEFINE		P_IOA_Data				0x7000
	.DEFINE		P_IOA_Buffer			0x7001
	.DEFINE		P_IOA_Dir				0x7002
	.DEFINE		P_IOA_Attrib			0x7003
	.DEFINE		P_IOA_Latch				0x7004

	.DEFINE		P_IOB_Data				0x7005
	.DEFINE		P_IOB_Buffer			0x7006
	.DEFINE		P_IOB_Dir				0x7007
	.DEFINE		P_IOB_Attrib			0x7008
	.DEFINE     P_WatchDog_Clear        0x7012
//**************************************************************************	
// 定義用于與FR接口的端口是哪一組,便于修改端口
    .DEFINE	Port_Data	P_IOB_Data
    .DEFINE Port_Buffer	P_IOB_Buffer
    .DEFINE Port_Dir	P_IOB_Dir
    .DEFINE	Port_Attrib	P_IOB_Attrib    
//=================================================================
//端口定義:
//  IOB0  TXEN   輸出口   
//  IOB1  TRX_EN 輸出口    
//  IOB2  PWR    輸出口    
//
//  IOB3  CSN    輸出口    低電位有效
//  IOB4  SCK    輸出口    
//  IOB5  MOSI   輸出口   
//  IOB6  MISO   輸入口
//
//  IOB7  CD     輸入口
//  IOB8  AM     輸入口
//  IOB9  DR     輸入口
//
//========================================================================
    .DEFINE TXEN     0x0100//0x0001
    .DEFINE TRX_EN   0x0001//0x0002
    .DEFINE PWR      0x0200// 0x0004

    .DEFINE CSN      0x2000//0x0008
    .DEFINE SCK      0x0010//0x0010
    .DEFINE MOSI     0x1000//0x0020
    .DEFINE MISO     0x0008//0x0040

    .DEFINE CD       0x0400//0x0080
    .DEFINE AM       0x0004//0x0100
    .DEFINE DR       0x0800//0x0200

//============================================================
//PTR8000 命令配置
//============================================================
    .DEFINE WC        0x00            // 寫配置寄存器 Write configuration register command
    .DEFINE RC        0x10            // 讀配置寄存器 Read  configuration register command
    .DEFINE WTP       0x20            // 寫TX有效數據 Write TX Payload  command
    .DEFINE RTP       0x21            // 讀TX有效數據 Read  TX Payload  command
    .DEFINE WTA       0x22            // 寫TX地址     Write TX Address  command
    .DEFINE RTA       0x23            // 讀TX地址     Read  TX Address  command
    .DEFINE RRP       0x24            // 讀RX有效數據 Read  RX Payload  command
    
//=================================================================
//PTR8000配置寄存器宏定義
//PTR8000配置寄存器
//工作頻率f=(422.4+CH_NO/10)*(1+HFREQ_PLL)MHz
//=================================================================
    .DEFINE RX_ADDRESS           0x00000001               //接收有效地址(本方)
    .DEFINE TX_ADDRESS           0x12345678               //發送有效地址(對方)

    .DEFINE CH_NO_FREQ_422_4MHz  0x000                     //工作頻率422.4MHz(433MHz頻段最低頻率)
    .DEFINE CH_NO_FREQ_422_5MHz  0x001                     //工作頻率422.5MHz
    .DEFINE CH_NO_FREQ_425_0MHz  0x01a                     //工作頻率425.0MHz
    .DEFINE CH_NO_FREQ_427_5MHz  0x033                     //工作頻率427.5MHz

    .DEFINE CH_NO_FREQ_430_0MHz  0x04c                     //工作頻率430.0MHz
    .DEFINE CH_NO_FREQ_433_0MHz  0x06a                     //工作頻率433.0MHz(433MHz頻段基準頻率)
    .DEFINE CH_NO_FREQ_433_1MHz  0x06b                     //工作頻率433.1MHz
    .DEFINE CH_NO_FREQ_433_2MHz  0x06c                     //工作頻率433.2MHz
    .DEFINE CH_NO_FREQ_434_7MHz  0x07b                     //工作頻率434.7MHz
    .DEFINE CH_NO_FREQ_473_5MHz  0x1ff                     //工作頻率473.5MHz(433MHz頻段最高頻率)

    .DEFINE CH_NO_FREQ_844_8MHz  0x000                     //工作頻率844.8MHz(868MHz頻段最低頻率)

    .DEFINE CH_NO_FREQ_862_0MHz  0x056                     //工作頻率862.0MHz
    .DEFINE CH_NO_FREQ_868_0MHz  0x074                     //工作頻率868.0MHz(868MHz頻段基準頻率)
    .DEFINE CH_NO_FREQ_868_2MHz  0x075                     //工作頻率868.2MHz
    .DEFINE CH_NO_FREQ_868_4MHz  0x076                     //工作頻率868.4MHz
    .DEFINE CH_NO_FREQ_869_8MHz  0x07d                     //工作頻率869.8MHz
    .DEFINE CH_NO_FREQ_895_8MHz  0x0ff                     //工作頻率895.8MHz
    .DEFINE CH_NO_FREQ_896_0MHz  0x100                     //工作頻率896.0MHz
    .DEFINE CH_NO_FREQ_900_0MHz  0x114                     //工作頻率900.0MHz
    .DEFINE CH_NO_FREQ_902_2MHz  0x11f                     //工作頻率902.2MHz
    .DEFINE CH_NO_FREQ_902_4MHz  0x120                     //工作頻率902.4MHz
    .DEFINE CH_NO_FREQ_915_0MHz  0x15f                     //工作頻率915.0MHz(915MHz頻段基準頻率)
    .DEFINE CH_NO_FREQ_927_8MHz  0x19f                     //工作頻率927.8MHz

    .DEFINE CH_NO_FREQ_947_0MHz  0x1ff                     //工作頻率947.0MHz(915MHz頻段最高頻率)

    .DEFINE CH_NO_FREQ           CH_NO_FREQ_430_0MHz       //工作頻率433.0MHz


    .DEFINE CH_NO_BYTE           CH_NO_FREQ & 0xff         //工作頻率低8位       Byte0       01101100

    .DEFINE AUTO_RETRAN          0x20                      //重發數據包          Byte1.5     0
    .DEFINE RX_RED_PWR           0x10                      //接收低功耗模式      Byte1.4     0
    .DEFINE PA_PWR__10dBm        0x00                      //輸出功率-10dBm      Byte1.3~2   00
    .DEFINE PA_PWR_2dBm          0x04                      //輸出功率+2dBm       Byte1.3~2
    .DEFINE PA_PWR_6dBm          0x08                      //輸出功率+6dBm       Byte1.3~2
    .DEFINE PA_PWR_10dBm         0x0c                      //輸出功率+10dBm      Byte1.3~2   
    .DEFINE HFREQ_PLL_433MHz     0x00                      //工作在433MHz頻段    Byte1.1     0
    .DEFINE HFREQ_PLL_868MHz     0x02                      //工作在868MHz頻段    Byte1.1
    .DEFINE HFREQ_PLL_915MHz     0x02                      //工作在915MHz頻段    Byte1.1
    .DEFINE CH_NO_BIT8           CH_NO_FREQ >> 8           //工作頻率第9位       Byte1.0     0

    .DEFINE TX_AFW_1BYTE         1 * 16                    //發送地址寬度1字節   Byte2.7~4
    .DEFINE TX_AFW_2BYTE         2 * 16                    //發送地址寬度2字節   Byte2.7~4
    .DEFINE TX_AFW_3BYTE         3 * 16                    //發送地址寬度3字節   Byte2.7~4
    .DEFINE TX_AFW_4BYTE         4 * 16                    //發送地址寬度4字節   Byte2.7~4   100
    .DEFINE RX_AFW_1BYTE         1                         //接收地址寬度1字節   Byte2.3~0
    .DEFINE RX_AFW_2BYTE         2                         //接收地址寬度2字節   Byte2.3~0
    .DEFINE RX_AFW_3BYTE         3                         //接收地址寬度3字節   Byte2.3~0
    .DEFINE RX_AFW_4BYTE         4                         //接收地址寬度4字節   Byte2.3~0   100

    .DEFINE RX_PW_1BYTE          1                         //接收數據寬度1字節   Byte3.5~0
    .DEFINE RX_PW_32BYTE         32                        //接收數據寬度32字節  Byte3.5~0   00100000
    .DEFINE TX_PW_1BYTE          1                         //發送數據寬度1字節   Byte4.5~0 
    .DEFINE TX_PW_32BYTE         32                        //發送數據寬度32字節  Byte4.5~0   00100000

    .DEFINE RX_ADDRESS_0         RX_ADDRESS >> 24          //接收有效地址第1字節 Byte5       11100111
    .DEFINE RX_ADDRESS_1         (RX_ADDRESS >> 16) & 0xff //接收有效地址第2字節 Byte6       11100111 
    .DEFINE RX_ADDRESS_2         (RX_ADDRESS >> 8) & 0xff  //接收有效地址第3字節 Byte7       11100111
    .DEFINE RX_ADDRESS_3         RX_ADDRESS & 0xff         //接收有效地址第4字節 Byte8       11100111
       
    .DEFINE CRC_MODE_16BIT       0x80                      //CRC16模式           Byte9.7     1
    .DEFINE CRC_MODE_8BIT        0x00                      //CRC8模式            Byte9.7     
    .DEFINE CRC_EN               0x40                      //CRC使能             Byte9.6     1
    .DEFINE CRC16_EN             0xc0                      //CRC16模式使能       Byte9.7~6   11
    .DEFINE CRC8_EN              0x40                      //CRC8模式使能        Byte9.7~6
    .DEFINE XOF_20MHz            0x20                      //晶體振蕩器頻率20MHz Byte9.5~3
    .DEFINE XOF_16MHz            0x18                      //晶體振蕩器頻率16MHz Byte9.5~3   100
    .DEFINE XOF_12MHz            0x10                      //晶體振蕩器頻率12MHz Byte9.5~3
    .DEFINE XOF_8MHz             0x08                      //晶體振蕩器頻率8MHz  Byte9.5~3
    .DEFINE XOF_4MHz             0x00                      //晶體振蕩器頻率4MHz  Byte9.5~3
    .DEFINE UP_CLK_EN            0x40                      //輸出時鐘使能        Byte9.2     1
    .DEFINE UP_CLK_FREQ_500kHz   0x03                      //輸出時鐘頻率500kHz  Byte9.1~0   11
    .DEFINE UP_CLK_FREQ_1MHz     0x02                      //輸出時鐘頻率1MHz    Byte9.1~0
    .DEFINE UP_CLK_FREQ_2MHz     0x01                      //輸出時鐘頻率2MHz    Byte9.1~0
    .DEFINE UP_CLK_FREQ_4MHz     0x00                      //輸出時鐘頻率4MHz    Byte9.1~0

    .DEFINE UP_CLK_EN_500kHz     0x43                      //輸出時鐘頻率500kHz  Byte9.2~0   111
    .DEFINE UP_CLK_EN_1MHz       0x42                      //輸出時鐘頻率1MHz    Byte9.2~0
    .DEFINE UP_CLK_EN_2MHz       0x41                      //輸出時鐘頻率2MHz    Byte9.2~0
    .DEFINE UP_CLK_EN_4MHz       0x40                      //輸出時鐘頻率4MHz    Byte9.2~0

    .DEFINE TX_ADDRESS_0         TX_ADDRESS >> 24          //發送有效地址第1字節
    .DEFINE TX_ADDRESS_1         (TX_ADDRESS >> 16) & 0xff //發送有效地址第2字節
    .DEFINE TX_ADDRESS_2         (TX_ADDRESS >> 8) & 0xff  //發送有效地址第3字節
    .DEFINE TX_ADDRESS_3         TX_ADDRESS & 0xff         //發送有效地址第4字節

.CODE
//========================================================
//	匯編格式:	_FR_Portini
//	C格式:		void FR_Portini(void)
//	實現功能:	初始化端口
//	入口參數:	無
//	出口參數:	無
//	破壞寄存器:r1
//            
//    TXEN    110
//    TRX_EN  110
//    PWR     110
//
//    CSN     111
//    SCK     110
//    MOSI    110
//    MISO    000
//
//    CD      000
//    AM      000
//    DR      000
//========================================================
.public delay1
delay1:
    push r2,r3 to [sp]
    r2=10
    nop
    nop
    nop
    nop
    r2=r2-1
    r3=1
    [P_WatchDog_Clear]=r3
    jnz delay1
    
    pop r2,r3 from [sp]
    retf
    
.public _delay
_delay:
    push r2,r3 to [sp]
    r2=10
    call delay1
    r2=r2-1
    r3=1
    [P_WatchDog_Clear]=r3    
    jnz _delay
    
    pop r2,r3 from [sp]
    retf
    
    
.PUBLIC _FR_Portini
_FR_Portini:
	r1 = [Port_Dir]
	//r1=0x002f
	r1 = r1|(TXEN+TRX_EN+PWR+CSN+SCK+MOSI)			             //TXEN,TRX_EN,PWR,CSN,SCK,MOSI           1
	r1 = r1&(~(MISO+CD+AM+DR))	                                 //MISO,CD,AM,DR                          0
	[Port_Dir] = r1
	
	r1 = [Port_Attrib]
	//r1=0x002f
	r1 = r1|(TXEN+TRX_EN+PWR+CSN+SCK+MOSI)			             //TXEN,TRX_EN,PWR,CSN,SCK,MOSI           1
	r1 = r1&(~(MISO+CD+AM+DR))	                                 //MISO,CD,AM,DR                          0
	[Port_Attrib] = r1
	
	r1 = [Port_Data]
	//r1=0x0008
	r1 = r1|(CSN)			                                     //CSN                                    1
    r1 = r1&(~(TXEN+TRX_EN+PWR+SCK+MOSI+MISO+CD+AM+DR))	         //TXEN,TRX_EN,PWR,SCK,MOSI,MISO,CD,AM,DR 0	
    [Port_Data] = r1
    
    retf
//========================================================
//	匯編格式:	_FR_R
//	C格式:		unsigned int FR_R(void)
//	實現功能:	讀一個字節(8位)
//	入口參數:	無
//	出口參數:	無
//	破壞寄存器:r1
//========================================================
.PUBLIC _FR_R
_FR_R:
	push r2,r5 to [sp]                  //保護現場
	
	r2 = [Port_Buffer]					//注意,所有輸入操作全是Buffer寄存器
	r2 = r2|SCK                         //設置SCK為高電平            
	r3 = r2&(~(SCK))                      //r2為SCK的高電平為,r3為SCK的低電平
	r4 = 8								//R4置8,循環8次
	
red:
	[Port_Buffer] = r2					//SCK置高
	r1 = r1 lsl 1						//抽個空先把r1左移一位
	[Port_Buffer] = r3					//SCK置低
	r5 = [Port_Data]					//讀取端口信號
	r5 = r5&MOSI                        //屏蔽MOSI以外的其他值
	test r5,MOSI						//判斷MOSI的當前位是否為0
	jz FR_DataLow					    //為零則跳轉
	r1 = r1|0x0001						//否則就將r1最低位置1
FR_DataLow:
	r4 = r4-1							
	jnz red
	r1 = r1&0x00ff                      //屏蔽返回值的高八位
	pop r2,r5 from [sp]                 //恢復現場
    retf

//========================================================
//	匯編格式:	_FR_W
//	C格式:		void FR_W(unsigned int)
//	實現功能:	寫一個字節
//	入口參數:	無
//	出口參數:	無
//	破壞寄存器:r1
//========================================================

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
最新不卡av在线| 欧美一区二区精品| 亚洲综合激情网| 欧美三级电影精品| 欧美96一区二区免费视频| 日韩精品综合一本久道在线视频| 久久精品99国产精品| 精品剧情v国产在线观看在线| 国产一区二区三区精品视频| 国产欧美日韩精品a在线观看| 成人激情视频网站| 亚洲制服丝袜一区| 精品国产百合女同互慰| 成人av在线资源网| 亚洲成人免费在线| 欧美精品一区二区久久久| 高清国产午夜精品久久久久久| 亚洲人精品午夜| 国产毛片精品一区| 另类小说图片综合网| 久久久噜噜噜久久中文字幕色伊伊| 国产成人在线影院| 亚洲自拍偷拍欧美| 久久网站热最新地址| 91网站最新地址| 久久疯狂做爰流白浆xx| 国产精品久久看| 91麻豆精品国产91久久久久久| 国产精品亚洲专一区二区三区| 一区二区三区在线观看动漫| 日韩一级二级三级精品视频| 国产精品一色哟哟哟| 亚洲一区二区综合| 国产女人18水真多18精品一级做| 欧美色视频一区| 国产福利一区二区三区| 亚洲国产精品麻豆| 国产精品护士白丝一区av| 91精品国产综合久久精品| 99久久精品国产毛片| 黑人精品欧美一区二区蜜桃 | 欧美精品一区二| 欧美视频日韩视频| 成人黄色av网站在线| 日本vs亚洲vs韩国一区三区二区| 国产精品丝袜一区| 精品美女被调教视频大全网站| 欧美影视一区二区三区| 成人午夜免费电影| 激情五月激情综合网| 亚洲成人在线网站| 有码一区二区三区| 国产精品日韩成人| 欧美精品一区二区久久久| 欧美一区午夜视频在线观看| 欧美中文字幕一区| 91欧美一区二区| 99精品久久免费看蜜臀剧情介绍| 国产九九视频一区二区三区| 奇米精品一区二区三区在线观看一 | 国产亚洲欧美日韩日本| 91麻豆精品国产91久久久久久| 欧美在线短视频| 91蜜桃免费观看视频| 成人精品视频一区| 国产999精品久久久久久| 久久99精品国产91久久来源| 日韩电影在线观看一区| 亚洲大尺度视频在线观看| 亚洲欧美国产高清| 亚洲精选视频在线| 亚洲三级免费电影| 亚洲色图欧洲色图| 亚洲免费观看高清完整版在线观看熊| 中文字幕免费观看一区| 中文字幕精品在线不卡| 中文字幕av资源一区| 中文字幕av一区 二区| 国产农村妇女精品| 国产精品久久久久婷婷| 国产精品高潮呻吟久久| 国产精品久久久一本精品| 中文字幕一区二区三区四区不卡 | 国产精品国模大尺度视频| 国产日产精品一区| 26uuu国产在线精品一区二区| 日韩三级中文字幕| 久久你懂得1024| 中文字幕乱码亚洲精品一区| 国产精品麻豆99久久久久久| 综合久久国产九一剧情麻豆| 亚洲精品免费在线播放| 亚洲欧美日韩国产综合| 亚洲成人777| 精品一二线国产| 成人午夜电影网站| 在线日韩av片| 日韩一区二区免费在线电影| 久久综合给合久久狠狠狠97色69| 国产色综合一区| 一区二区三区在线视频观看58| 日韩精品电影在线| 国产一区二区三区最好精华液| 国产99久久久国产精品潘金| 在线一区二区三区| 欧美一区国产二区| 亚洲国产成人午夜在线一区| 亚洲靠逼com| 激情六月婷婷综合| 在线观看一区日韩| 精品国产免费一区二区三区四区| 国产精品素人视频| 日韩精品免费视频人成| 成人性色生活片| 欧美日韩国产一级二级| 国产蜜臀97一区二区三区| 亚洲国产另类av| 成人综合激情网| 91精品中文字幕一区二区三区| 亚洲国产高清不卡| 青青草成人在线观看| 成人aaaa免费全部观看| 日韩欧美亚洲国产精品字幕久久久 | 美女一区二区久久| 日本久久一区二区三区| 久久久精品日韩欧美| 亚洲大片在线观看| 成人福利视频网站| 精品蜜桃在线看| 亚洲午夜激情网页| 成人激情免费网站| 欧美成人精品3d动漫h| 一区二区成人在线视频| 国产一区二区免费视频| 欧美日韩国产另类不卡| 亚洲欧洲三级电影| 国产成人自拍网| 精品欧美久久久| 日本不卡免费在线视频| 日本高清不卡视频| 国产精品欧美精品| 精品无人区卡一卡二卡三乱码免费卡 | 在线观看欧美精品| 欧美国产精品中文字幕| 久久精品二区亚洲w码| 欧美影片第一页| 一区二区在线观看不卡| 国产成人精品影视| 精品国产第一区二区三区观看体验| 亚洲成av人**亚洲成av**| av高清久久久| 国产精品私房写真福利视频| 国产一区视频在线看| 日韩欧美一二三四区| 日本中文在线一区| 欧美巨大另类极品videosbest | 欧美吻胸吃奶大尺度电影| 国产精品久久久久毛片软件| 国产精品911| 久久人人爽爽爽人久久久| 精品一区精品二区高清| 日韩精品一区二区三区中文不卡| 天堂精品中文字幕在线| 欧美日韩三级视频| 日韩va亚洲va欧美va久久| 欧美挠脚心视频网站| 日日夜夜免费精品| 91精品中文字幕一区二区三区| 日韩激情av在线| 欧美大片在线观看一区| 九九精品一区二区| 2023国产精品| 国产不卡高清在线观看视频| 国产精品女人毛片| 91免费看`日韩一区二区| 亚洲精品综合在线| 欧美日韩免费高清一区色橹橹| 亚洲一级二级在线| 欧美一级理论性理论a| 国产主播一区二区| 中文字幕欧美三区| 欧美在线不卡视频| 麻豆一区二区三| 国产视频不卡一区| 99久久99久久精品免费看蜜桃| 一区二区在线观看免费 | 日韩欧美一级二级三级久久久| 久久99国产精品久久99果冻传媒| 久久久久久久国产精品影院| 成人毛片在线观看| 一区二区三区四区高清精品免费观看| 欧美视频在线不卡| 激情五月激情综合网| 国产精品日产欧美久久久久| 91理论电影在线观看| 日本不卡123| 中文字幕中文字幕一区二区| 欧美日韩国产首页在线观看| 久久国产尿小便嘘嘘尿| 国产精品久久久久影院亚瑟|