发送.c

来自「NRF401模块51单片机.里面包含PROTEUS仿真图.发射接受2个程序.已经」· C语言 代码 · 共 82 行

C
82
字号
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int

bit FINT0;//INT0中断标志位
sbit PWR_UP=P3^4;
sbit CS=P3^3;
sbit FS=P3^5;
uchar i;
uint j,q=0;
uchar idata trdata[90]={0xde,0xde,'Z','h','e','-','A','0','0','0','0','8',
						0xde,0xde,'Y','i','-','-','B','2','4','5','8','6',
						0xde,0xde,'L','i','a','o','C','4','5','8','2','1',
						0xde,0xde,'X','i','n','-','D','0','0','7','4','5',
						0xde,0xde,'W','a','n','-','E','2','7','8','2','6',
						0xde,0xde,'L','u','-','-','G','5','5','9','1','4',
						0xde,0xde,'S','u','-','-','R','0','9','4','4','6'

						//,0xde,0xde,
						//'G','u','i','-','P','1','1','7','5','3'
						};

void int0_ini(){
	EA=1;               // CPU所有中断开(IE最高位MSB)
	EX0=1;              // INT0中断开
	IT0=1;              // INT1下降沿触发(为0则为低电平触发)
	
}

void serial_ini()
{
	TMOD=0x20;	
	TL1=0xfd;	//波特率9600b/s
	TH1=0xfd;
	SCON=0x40;  //串口方式1
	PCON=0x00;	//
	TR1=1;
}

void int_0() interrupt 0 using 0
{	
	FINT0=1;   //中断标志
	
	
}

void Delay1ms(unsigned int count)
{
	unsigned int i,j;
	for(i=0;i<count;i++)
	for(j=0;j<120;j++);
}



main()
{
int0_ini();
serial_ini();
	CS=0;
while(1)
	{
	if(FINT0==1)
		{	
			FINT0=0;
			PWR_UP=1;	
			for(q=0;q<100;q++)
			{
			for(i=0;i<12;i++)
				{
				SBUF=trdata[i+j];
				while(TI==0);
				TI=0;
				}
			 }
			 j+=12;
			 if(j==84)j=0;
			PWR_UP=0;		
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?