📄 twimain.lis
字号:
009C .dbline 0 ; func end
009C 0895 ret
009E .dbend
009E .dbfunc e PTR8_TX _PTR8_TX fV
.even
009E _PTR8_TX::
009E .dbline -1
009E .dbline 290
009E ; //***************************************************************************
009E ;
009E ; /* 函数名: PTR8_TX
009E ; 功能说明:将PTR8置为发送状态。
009E ; 参数说明:无
009E ; 返回值: 无
009E ; 函数作者:Haibo YU
009E ; 版本号: 1.0
009E ; 创建时间:2005-12-23
009E ; 修改时间:
009E ; 修改内容: */
009E ;
009E ; void PTR8_TX(void)
009E ; {
009E .dbline 291
009E ; PORTD |= BIT(PD0); //TX_EN = 1
009E 909A sbi 0x12,0
00A0 .dbline -2
00A0 .dbline 292
00A0 ; }
00A0 L32:
00A0 .dbline 0 ; func end
00A0 0895 ret
00A2 .dbend
00A2 .dbfunc e PTR8_RX _PTR8_RX fV
.even
00A2 _PTR8_RX::
00A2 .dbline -1
00A2 .dbline 306
00A2 ; //***************************************************************************
00A2 ;
00A2 ; /* 函数名: PTR8_RX
00A2 ; 功能说明:将PTR8置为接收状态。
00A2 ; 参数说明:无
00A2 ; 返回值: 无
00A2 ; 函数作者:Haibo YU
00A2 ; 版本号: 1.0
00A2 ; 创建时间:2005-12-23
00A2 ; 修改时间:
00A2 ; 修改内容: */
00A2 ;
00A2 ; void PTR8_RX(void)
00A2 ; {
00A2 .dbline 307
00A2 ; PORTD &= ~BIT(PD0); //TX_EN = 0
00A2 9098 cbi 0x12,0
00A4 .dbline -2
00A4 .dbline 308
00A4 ; }
00A4 L33:
00A4 .dbline 0 ; func end
00A4 0895 ret
00A6 .dbend
00A6 .dbfunc e Init_PTR8_CR _Init_PTR8_CR fV
.even
00A6 _Init_PTR8_CR::
00A6 .dbline -1
00A6 .dbline 312
00A6 ; //*****************************************************************************
00A6 ;
00A6 ; void Init_PTR8_CR(void)
00A6 ; {
00A6 .dbline 313
00A6 ; PORTB &= ~BIT(PB2); //SS SET LOW, Write Configuration register Start
00A6 C298 cbi 0x18,2
00A8 .dbline 314
00A8 ; SPI_M_Send(WC); //Wirte Configuration Register,Start From 0000
00A8 0027 clr R16
00AA ECDF rcall _SPI_M_Send
00AC .dbline 315
00AC ; SPI_M_Send(RC0); //Write CH_NO [7 : 0]
00AC 00910900 lds R16,_RC0
00B0 E9DF rcall _SPI_M_Send
00B2 .dbline 316
00B2 ; SPI_M_Send(RC1); //Write Byte 2
00B2 00910A00 lds R16,_RC1
00B6 E6DF rcall _SPI_M_Send
00B8 .dbline 317
00B8 ; SPI_M_Send(0x44);
00B8 04E4 ldi R16,68
00BA E4DF rcall _SPI_M_Send
00BC .dbline 318
00BC ; SPI_M_Send(0x01); //RX payload = 1 byte
00BC 01E0 ldi R16,1
00BE E2DF rcall _SPI_M_Send
00C0 .dbline 319
00C0 ; SPI_M_Send(0x01); //TX payload = 1 byte
00C0 01E0 ldi R16,1
00C2 E0DF rcall _SPI_M_Send
00C4 .dbline 320
00C4 ; SPI_M_Send(Add);
00C4 00910B00 lds R16,_Add
00C8 DDDF rcall _SPI_M_Send
00CA .dbline 321
00CA ; SPI_M_Send(Add);
00CA 00910B00 lds R16,_Add
00CE DADF rcall _SPI_M_Send
00D0 .dbline 322
00D0 ; SPI_M_Send(Add);
00D0 00910B00 lds R16,_Add
00D4 D7DF rcall _SPI_M_Send
00D6 .dbline 323
00D6 ; SPI_M_Send(Add);
00D6 00910B00 lds R16,_Add
00DA D4DF rcall _SPI_M_Send
00DC .dbline 324
00DC ; SPI_M_Send(0x58);
00DC 08E5 ldi R16,88
00DE D2DF rcall _SPI_M_Send
00E0 .dbline 325
00E0 ; PORTB |= BIT(PB2); //SS set HIGH,Write Configuration Register Finish
00E0 C29A sbi 0x18,2
00E2 .dbline -2
00E2 .dbline 327
00E2 ;
00E2 ; }
00E2 L34:
00E2 .dbline 0 ; func end
00E2 0895 ret
00E4 .dbend
00E4 .dbfunc e Init_Device _Init_Device fV
.even
00E4 _Init_Device::
00E4 .dbline -1
00E4 .dbline 340
00E4 ; //************************************************************************************
00E4 ; /* 函数名: Init_Device
00E4 ; 功能说明:初始化设备。LED亮一下,蜂鸣器叫一声,初始化串口
00E4 ; 参数说明:无
00E4 ; 返回值: 无
00E4 ; 函数作者:Haibo YU
00E4 ; 版本号: 1.0
00E4 ; 创建时间:2005-12-23
00E4 ; 修改时间:
00E4 ; 修改内容: */
00E4 ;
00E4 ; void Init_Device(void)
00E4 ; {
00E4 .dbline 342
00E4 ; //stop errant interrupts until set up
00E4 ; CLI(); //disable all interrupts
00E4 F894 cli
00E6 .dbline 344
00E6 ;
00E6 ; port_init(); //初始化各控制端口
00E6 8CDF rcall _port_init
00E8 .dbline 345
00E8 ; Uart_Init(); //串口初始化
00E8 B3DF rcall _Uart_Init
00EA .dbline 346
00EA ; SPI_MasterInit();//SPI Master Init
00EA C9DF rcall _SPI_MasterInit
00EC .dbline 347
00EC ; MCUCR = 0x00;
00EC 2224 clr R2
00EE 25BE out 0x35,R2
00F0 .dbline 348
00F0 ; GICR = 0x00;
00F0 2BBE out 0x3b,R2
00F2 .dbline 349
00F2 ; TIMSK = 0x00; //timer interrupt sources
00F2 29BE out 0x39,R2
00F4 .dbline 351
00F4 ;
00F4 ; SEI(); //re-enable interrupts
00F4 7894 sei
00F6 .dbline -2
00F6 .dbline 353
00F6 ; //all peripherals are now initialised
00F6 ; }
00F6 L35:
00F6 .dbline 0 ; func end
00F6 0895 ret
00F8 .dbend
00F8 .dbfunc e main _main fV
00F8 ; dr -> R20
.even
00F8 _main::
00F8 .dbline -1
00F8 .dbline 361
00F8 ;
00F8 ;
00F8 ;
00F8 ;
00F8 ; //****************************** 主函数 ***************************************
00F8 ; //******************************************************************************
00F8 ; void main(void)
00F8 ; {
00F8 .dbline 364
00F8 ;
00F8 ; unsigned char dr;
00F8 ; Init_Device(); //Init All Device
00F8 F5DF rcall _Init_Device
00FA .dbline 366
00FA ;
00FA ; Init_PTR8_CR(); //Set Configuration register
00FA D5DF rcall _Init_PTR8_CR
00FC .dbline 367
00FC ; Delay_1ms();
00FC 8CDF rcall _Delay_1ms
00FE .dbline 369
00FE ;
00FE ; PTR8_RX(); //Set RX mode
00FE D1DF rcall _PTR8_RX
0100 .dbline 370
0100 ; PTR8_TREN(); // TRX_CE = 1 Enable RX
0100 CCDF rcall _PTR8_TREN
0102 .dbline 371
0102 ; Delay_1ms();
0102 89DF rcall _Delay_1ms
0104 14C0 rjmp L38
0106 L37:
0106 .dbline 373
0106 ; while(1)
0106 ; {
0106 .dbline 375
0106 ;
0106 ; dr = (PINC & 0x04);
0106 43B3 in R20,0x13
0108 4470 andi R20,4
010A .dbline 376
010A ; if(dr != 0) //DR置位,无线数据接收成功
010A 89F0 breq L40
010C .dbline 377
010C ; {
010C .dbline 378
010C ; PTR8_Standby(); //TRX_CE = 0,disable RX
010C C4DF rcall _PTR8_Standby
010E .dbline 379
010E ; Delay_1ms();
010E 83DF rcall _Delay_1ms
0110 .dbline 380
0110 ; PORTB &= ~BIT(PB2); //SS = 0
0110 C298 cbi 0x18,2
0112 .dbline 381
0112 ; SPI_M_Send(RRP); //Read RX payload
0112 04E2 ldi R16,36
0114 B7DF rcall _SPI_M_Send
0116 .dbline 384
0116 ;
0116 ;
0116 ; Recv = SPI_M_Recv(0xff);
0116 0FEF ldi R16,255
0118 B9DF rcall _SPI_M_Recv
011A 00930000 sts _Recv,R16
011E .dbline 386
011E ;
011E ; PORTB |= BIT(PB2); //SS = 1
011E C29A sbi 0x18,2
0120 .dbline 399
0120 ;
0120 ; /* if(Recv == 0)
0120 ; {
0120 ; LED(0); //接收到0 LED亮
0120 ; Delay_Nms(1000);
0120 ; }
0120 ; else
0120 ; {
0120 ; LED(1);//接收到1 LED灭
0120 ; Delay_Nms(1000);
0120 ; }*/
0120 ;
0120 ; PTR8_RX(); //Set RX mode
0120 C0DF rcall _PTR8_RX
0122 .dbline 400
0122 ; PTR8_TREN(); // TRX_CE = 1 Enable RX
0122 BBDF rcall _PTR8_TREN
0124 .dbline 401
0124 ; Delay_1ms();
0124 78DF rcall _Delay_1ms
0126 .dbline 403
0126 ;
0126 ; twiWriteByte(0xc0,Recv);
0126 20910000 lds R18,_Recv
012A 00EC ldi R16,192
012C 00D0 rcall _twiWriteByte
012E .dbline 404
012E ; }
012E L40:
012E .dbline 405
012E L38:
012E .dbline 372
012E EBCF rjmp L37
0130 X0:
0130 .dbline -2
0130 .dbline 406
0130 ; }
0130 ; }
0130 L36:
0130 .dbline 0 ; func end
0130 0895 ret
0132 .dbsym r dr 20 c
0132 .dbend
.area bss(ram, con, rel)
0000 .dbfile E:\iccavr\无线+I2C\test1--mt\twimain.c
0000 _Recv::
0000 .blkb 1
0001 .dbsym e Recv _Recv c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -