📄 cc1100.lst
字号:
416 3
417 3 Led_Light();
418 3 }
419 2 }
420 1 return 0; //没有应答
421 1 }
422
423 /*********************************************************/
424 /*函数名字:TX_ACK */
425 /*输入参数:无 */
426 /*输出参数:无 */
427 /*功能描述:接收成功发送应答 */
C51 COMPILER V7.50 CC1100 05/01/2009 21:14:21 PAGE 8
428 /* */
429 /*********************************************************/
430 void TX_ACK(void)
431 {
432 1 unsigned char PA;
433 1
434 1 // PA = Rx_data[4]; //获取功率
435 1 PA=0X17;
436 1
437 1
438 1 Spi_Write_Byte (CC_FREND0,PA); //功率配置
439 1 Spi_Write_Packet(Tx_data,4); //发送应答
440 1 }
441
442 /*********************************************************/
443 /*函数名字:Tx_cc1100 */
444 /*输入参数:无 */
445 /*输出参数:无 */
446 /*功能描述:发送数据,应答失败从发 */
447 /* */
448 /*********************************************************/
449 void Tx_cc1100(void)
450 {
451 1 unsigned char PA;
452 1 unsigned char Tx_Size;
453 1
454 1 Tx_Size = sizeof(Tx_data); //数组长度
455 1
456 1 PA=0X17; //最大功率
457 1
458 1 Spi_Write_Byte (CC_FREND0,PA); //功率配置
459 1 Spi_Write_Packet(Tx_data,Tx_Size); //开始发送
460 1
461 1
462 1
463 1 delay_nms(1);
464 1 Spi_Write_Strobe(CC_SIDLE); //进入空闲
465 1 Spi_Write_Strobe(CC_SRX); //进入接收
466 1 }
467
468 /*********************************************************/
469 /*函数名字:Rx_cc1100 */
470 /*输入参数:无 */
471 /*输出参数:无 */
472 /*功能描述:接收数据,成功发送应答 */
473 /* */
474 /*********************************************************/
475 void Rx_cc1100(void)
476 {
477 1 unsigned char *buffer = Rx_data;
478 1 unsigned char i, size;
479 1
480 1 for (i = 0; i < sizeof(Rx_data); i++)
481 1 {
482 2 buffer[i] = 0;
483 2 }
484 1
485 1 size = sizeof(Rx_data); //最大长度
486 1
487 1 if(Spi_Read_Packet(Rx_data,size)) flag=1;
488 1 delay_nms(1);
489 1 Spi_Write_Strobe(CC_SIDLE); //进入空闲
C51 COMPILER V7.50 CC1100 05/01/2009 21:14:21 PAGE 9
490 1 Spi_Write_Strobe(CC_SRX); //进入接收
491 1 }
492 /*********************************************************/
493 /*函数名字:Init_cc1100 */
494 /*输入参数:无 */
495 /*输出参数:无 */
496 /*功能描述:初始化模块 */
497 /* */
498 /*********************************************************/
499 void Init_cc1100(void)
500 {
501 1 POWER_UP_RESET_CC1100(); //上电复位
502 1 WriteRfSettings(); //写入配置
503 1 Spi_Write_Burst(CC_PATABLE,PaTabel,8); //功率配置
504 1 Spi_Write_Strobe(CC_SIDLE); //进入空闲
505 1 Spi_Write_Strobe(CC_SRX); //进入接收
506 1 }
507
508 unsigned char counter_data;
509 void Int_Series(void)
510 {
511 1
512 1 SCON=0x50;
513 1 PCON=0x00;
514 1 TMOD=0x20;
515 1 TL1 =0xfd;
516 1 TH1 =0xfd;
517 1 IE |=0x90;
518 1 TCON|=0x40;
519 1
520 1 }
521 //***************************通过一个串口返回PC一个字节***************************************************
-*****
522
523 //#define SERIAL
524 #ifdef SERIAL
void Prints(unsigned char * pd)
{
while((*pd)!='\0')
{
Send_char(*pd);
pd++;
}
}
#endif
534 //***************************中断处理程序*****************************************************************
-****
535 void Serial_Int4(void) interrupt 4 //using 3
536 {
537 1 ES=0;
538 1 if(RI)
539 1 {
540 2 ACC=SBUF;
541 2 counter_data=ACC;
542 2 B =ACC;
543 2 }
544 1 RI=0;
545 1 ES=1;
546 1 }
547 /*********************************************************/
548 /*函数名字:nain */
549 /*输入参数:无 */
C51 COMPILER V7.50 CC1100 05/01/2009 21:14:21 PAGE 10
550 /*输出参数:无 */
551 /*功能描述:主程序 */
552 /* */
553 /*********************************************************/
554
555 void main(void)
556 {
557 1 unsigned char i;
558 1 flag=0;
559 1 PORT_Init(); //脚位定义
560 1 Init_cc1100(); //模块设置
561 1 Int_Series();
562 1 Led_Light(); //输出指示
563 1
564 1 while(1) //循环程序
565 1 {
566 2 if (KEY1_DOWN) //按键检测
567 2 {
568 3 delay_nms(20); //防误处理
569 3 if (KEY1_DOWN) //
570 3 {
571 4 LED1_ON; //打开指示
572 4 delay(6000);
573 4 EA=0;
574 4 Tx_cc1100(); //发送数据
575 4 EA=1;
576 4 while(KEY1_DOWN); //等待弹起
577 4 delay(6000);
578 4 LED1_OFF;
579 4 }
580 3 }
581 2
582 2
583 2 if (GDO0_H)
584 2 {
585 3 Rx_cc1100(); //接收数据
586 3 if(flag==1)
587 3 {
588 4 flag=0;
589 4 for(i=0;i<10;i++)
590 4 {
591 5
592 5 Send_char(Rx_data[i]);
593 5 delay(500);
594 5
595 5 }
596 4 LED1_ON; //打开指示
597 4 delay(6000);
598 4 LED1_OFF;
599 4 delay(6000);
600 4 }
601 3 }
602 2
603 2 }
604 1
605 1 }
606 /*********************************************************/
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1178 ----
CONSTANT SIZE = ---- ----
C51 COMPILER V7.50 CC1100 05/01/2009 21:14:21 PAGE 11
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 28 27
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -