谁帮我为下面一个51单片机c语言解析一下,每一句都要解释,重赏

#include <reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
#define led_port P1
void delay_1ms(uchar x)
{
uchar j;
while(x--)
{
for(j=0;j<125;j++)
{;}
}
}
void main()
{
while(1){
led_port = 0xaa;
delay_1ms(200);
delay_1ms(200);
delay_1ms(200);
delay_1ms(200);
led_port = 0x55;
delay_1ms(200);
delay_1ms(200);
delay_1ms(200);
delay_1ms(200);
}
}

#include <reg52.h>//包涵51单片机的头文件
#include <intrins.h>//包涵循环、空操作等的头文件
#define uint unsigned int//定义uint为unsigned int无符号整型数据类型
#define uchar unsigned char//定义unchar为unsigned char无符号字符型数据类型
#define led_port P1//定义led_port的控制口P1
void delay_1ms(uchar x)//延时子函数
{
uchar j;//定义2个无符号字符型数据
while(x--)//循环语句,x--=0时跳出
{
for(j=0;j<125;j++)//内循环,当j=125时跳出
{;}
}
}
void main()
{
while(1){
led_port = 0xaa;//led8个灯间隔点亮1010 1010
delay_1ms(200);//延时200毫秒
delay_1ms(200);
delay_1ms(200);
delay_1ms(200);
led_port = 0x55;//led8个灯间隔点亮0101 0101
delay_1ms(200);
delay_1ms(200);
delay_1ms(200);
delay_1ms(200);
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-02
#include <reg52.h>//必选的,需要引用51内部寄存器及RAM地址

#include <intrins.h>//内联函数

#define uint unsigned int//符号定义

#define uchar unsigned char//符号定义
#define led_port P1//符号定义,P1口

void delay_1ms(uchar x)//延时程序

{
uchar j;
while(x--)
{
for(j=0;j<125;j++)
{;}
}
}
void main()
{
while(1){
led_port = 0xaa;//如果是点亮灯的话,是全点亮

delay_1ms(200);
delay_1ms(200);
delay_1ms(200);
delay_1ms(200);//延时

led_port = 0x55;//灯间隔一亮一灭

delay_1ms(200);
delay_1ms(200);
delay_1ms(200);
delay_1ms(200);//延时

}
}
第2个回答  2013-04-02
void main()
{
while(1){//无限循环
led_port = 0xaa; //P1口出0xAA;
delay_1ms(200);// 延时200MS 跟具 实际晶振而定;
delay_1ms(200);
delay_1ms(200);
delay_1ms(200);
led_port = 0x55; //p1口输出0x55
delay_1ms(200);
delay_1ms(200);
delay_1ms(200);
delay_1ms(200);
}
}
第3个回答  2013-04-02
就是用延时控制led_port追问

能不能每一句都解释一下,重谢

追答

建议学点基础

第4个回答  2013-04-02
灯闪灯灭么??delay_1ms是用来延时的,不然闪的太快看不出来
相似回答