#include "REG52.H"
void initial_myself(); //初始化单片机的寄存器及个别IO口,如继电器等等。
void initial_peripheral(); /*初始化上电不立即处理的外围芯片和模块,
如液晶模块,AT24C02存储芯片,DS1302时钟芯片 */
void delay_short(unsigned int uiDelayshort); //小延时,参数取10~100,专门用于时序延时。
void delat_long(unsigned int uiDelaylong); //大延时,参数取多少,表示多少个500条空指令。
void led_flicker();
void initial_peripheral(); /*初始化上电不立即处理的外围芯片和模块,
如液晶模块,AT24C02存储芯片,DS1302时钟芯片 */
void delay_short(unsigned int uiDelayshort); //小延时,参数取10~100,专门用于时序延时。
void delat_long(unsigned int uiDelaylong); //大延时,参数取多少,表示多少个500条空指令。
void led_flicker();
/************************
输出后缀_dr,输入后缀_sr
dr代表drive驱动,sr代表sensor传感器
************************/
输出后缀_dr,输入后缀_sr
dr代表drive驱动,sr代表sensor传感器
************************/
sbit led_dr = P3^5;
void main()
{
initial_myself();
delay_long(100);
initial_peripheral();
while(1)
{
led_flicker();//LED闪烁应用程序
}
{
initial_myself();
delay_long(100);
initial_peripheral();
while(1)
{
led_flicker();//LED闪烁应用程序
}
}
void led_flicker()
{
led_dr=1;//LED亮
delay_short(50000);//延时50000个空指令的时间
led_dr=0;
delay_long(100); //延时50000个空指令的时间,因为内部嵌套了500次for循环
}
{
led_dr=1;//LED亮
delay_short(50000);//延时50000个空指令的时间
led_dr=0;
delay_long(100); //延时50000个空指令的时间,因为内部嵌套了500次for循环
}
void delay_short(unsigned int uiDelayShort)
{
unsigned int i;
for(i=0;i<uiDelayShort;i++)
{
;//一个;相当于一个空语句
}
}
{
unsigned int i;
for(i=0;i<uiDelayShort;i++)
{
;//一个;相当于一个空语句
}
}
void delay_long(unsigned int uiDelayLong)
{
unsigned int i;
unsigned int j;
for(i=0;i<uiDelayLong;i++)
{
for(j=0;j<500;j++)
{
;
}
}
}
{
unsigned int i;
unsigned int j;
for(i=0;i<uiDelayLong;i++)
{
for(j=0;j<500;j++)
{
;
}
}
}
void initial_myself() //初始化单片机
{
led_dr=0;//LED灭
}
{
led_dr=0;//LED灭
}
void initial_peripheral() //初始化外围
{
; //本例为空
} //之后程序均从吴坚鸿所写的PDF文件中选取,任何法律责任均无本人无关
{
; //本例为空
} //之后程序均从吴坚鸿所写的PDF文件中选取,任何法律责任均无本人无关