📄 main.c
字号:
/***********************************
/源代码部分
***********************************/
#include "reg24le1.h"
/**********************************/
#define true 1
#define false 0
#define Senser P00 /*连接传感器*/
#define BUZZER P01 /*连接蜂鸣器*/
#define LED P02 /*连接LED灯 */
#define Disableint do{EA=0;}while(0)
#define Enableint do{EA=1;}while(0)
typedef unsigned int uint;
typedef unsigned char uchar;
/***********************************
/延时函数
************************************/
void Delay(uint x)
{
uchar l;
for(;x>0;x--)
for(l=120;l>0;l--)
{}
}
/***********************************
/nRF24LE1工作时钟设置
************************************/
void SetWorkClk()
{
CLKCTRL=0X28;
CLKLFCTRL = 0x01;
}
/***********************************
/串口波特率初始化为9600,8-n-1方式
************************************/
void Uartinit(uint baud)
{
P0DIR &= 0xF7; /* P0.3 (TxD)输出*/
P0DIR |= 0x10; /* P0.4 (RxD)输入*/
S0CON = 0x50;
PCON |= 0x80; /* 波特率倍增 */
WDCON |= 0x80; /* 选定内部波特率发生器*/
if(baud==38400)
{
S0RELL = 0xF3; /* 波特率38400 */
S0RELH = 0x03;
}
else if(baud==9600)
{
S0RELL = 0xCC; /* 波特率9600*/
S0RELH = 0x03;
}
}
/***********************************
/nRF24LE1的I/O口初始化
************************************/
void Ioinit()
{
P0DIR|=BIT_0;
Senser=0;
BUZZER=0;
}
/***********************************
/红外初始化函数
************************************/
bit Polling()
{
bit flag=0;
if(Senser)
{
Delay(20);
if(Senser)
{flag=1; }
}
return flag;
}
/**********************************
/定时器0初始化
***********************************/
void Timer0init()
{
TMOD=0X01;
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
ET0=1;
}
/**********************************
/定时器中断服务函数
**********************************/
void TIMERISR() interrupt INTERRUPT_TF0
{
TR0=0;
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
BUZZER=!BUZZER;
TR0=1;
}
/***********************************
/主函数
************************************/
void main()
{
Disableint;
SetWorkClk();
Uartinit(9600);
Ioinit();
Timer0init();
Enableint;
while(1)
{
if(Polling())
TR0=1;
else
TR0=0;
}
}
/********************************
/ 程序到此结束 /
*********************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -