⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 菜鸟,详细NRF24E1运用,程序,电路
💻 C
字号:
/*源代码部分*/
#include "reg24le1.h"
#define LED P00
/*定义一些函数*/

/*延时函数*/
void delay(unsigned int x)
{
unsigned int dy;
  for(;x>0;x--)
    for(dy=1000;dy>0;dy--)
	  {
	  ;
	  }

}

/*I/O配置函数*/
void IO_CONFIG()
{
P0DIR&=0XFE;	//设置成输出
LED=0;

}
/*配置电压报警寄存器*/
void PWR_CONFIG()
{
POFCON|=0X80;//使能供电失败报警,配置比较电压为2.1v
}

/*读取电源失败的原因*/
unsigned char RD_POF()
{
return (POFCON&=0X10) ;	//如果是0就是高,如是去1就是电压低于比较值
}

/***串口初始化函数***/
/***函数名称: uart_init();传递的参数无,用于串口的初始化*/

void uart_init()
{
    CLKCTRL = 0x28;			   // 设置主时钟源为XCOSC 16MHz  	
	CLKLFCTRL = 0x01; 

	P0DIR &= 0xF7;				// P0.3 (TxD) 发送
  	P0DIR |= 0x10;     			// P0.4 (RxD) 接收
	P0|=0x18;	 
		
	S0CON = 0x50;  
   	PCON |= 0x80; 				// 比特率倍增
  	WDCON |= 0x80;   			// 选用内部波特率发生器
	
	S0RELL = 0xFB; 	
  	S0RELL = 0xF3;              // 设置波特率为38400	 
}

/*通过串口发送一个字符到串口终端*/

void send(char ch)				//通过串口发送一个字符
{
S0BUF=ch;
while(!TI0);					//等待发送完成
TI0=0;
}

/*发送一个字符串的函数*/
void puts(char *str)
{
while(*str!='\0')
{
send(*str++);
}

}

/*主函数部分*/

void main()
{
uart_init();
PWR_CONFIG();
IO_CONFIG();
puts("power checking test!");     //打印提示信息
send('\n');
while(1)
{
 if(RD_POF())					 //检测反馈当前的供电的电压情况
 puts("power votage is below 2.1");
 else
 puts("power votage is above 2.1");	
 send('\n');
 delay(1000);                   	
  }

}

⌨️ 快捷键说明

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