项目3 C51程序设计基础.pptxVIP

  • 0
  • 0
  • 约1.9千字
  • 约 106页
  • 2026-03-04 发布于陕西
  • 举报

;

知识点:1.C语言基本结构;

2.常量,变量,流程控制;

3、指针,数组,结构体;

能力要求:能用C语言编写基本程序,完成单片机相应基本功能。

;目录;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;参考方案1;voidmain() //主函数

{

bitleft,right; //定义位变量left、right表示左、右状态

while(1)

{ //while循环语句,由于条件一直为真,该语句为无限循环

left=P3_0; //读取P3.0引脚的(左转向灯)状态并赋值给left

right=P3_1; //读取P3.1引脚的(右转向灯)状态并赋值给right

P1_0=left; //将left的值送至P1.0引脚

P1_1=right; //将right的值送至P1.1引脚

delay(200); //调用延时函数,实际参数为200

P1_0=1; //将P1.0引脚置1输出(熄灭LED)

P1_1=1; //将P1.1引脚置1输出(熄灭LED)

delay(200); //调用延时函数,实际参数为200

}

};//函数名:delay

//函数功能:实现软件延时

//形式参数:unsignedchari;

//i控制空循环的外循环次数,共循环i*255次

//返回值:无

voiddelay(unsignedchari) //延时函数,无符号字符型变量i为形式参数

{

unsignedcharj,k; //定义无符号字符型变量j和k

for(k=0;ki;k++) //双重for循环语句实现软件延时

for(j=0;j255;j++);

};引入相关流程控制语句;voidmain()

{

while(1)

{

if(left==0)

led_L=0;

if(right==0)

led_R=0;

elseled_R=1;

;2)if—else—if:

if(P3_0==0P3_1==0)//如果P3.0和P3.1状态都为0

{P1_0=0; //则点亮左转灯和右转灯

P1_1=0;

delay(200);

P1_0=1;//左转灯回到熄灭状态

P1_1=1; //右转灯回到熄灭状态

delay(200);

}

elseif(P3_0==0)//如果P3.0(左转向灯)状态为1

{P1_0=0; //则点亮左转灯

delay(200);

P1_0=1; //左转灯回到熄灭状态

delay(200);

}

;ledctr=P3; //读P3口的状态送到ledctr

ledctr=ledctr0x03; //与操作,屏蔽掉高6位无关位,取出P3.0和P3.1引脚的状态(0x03即二进制)

switch(ledctr)

{

case0:P1_0=1;P1_1=0;break;//如P3.0、P3.1都为0则点亮左、右灯

case1:P1_1=0;break;//如果P3.1(右转向灯)为0则点亮右灯

case2:P1_0=0;break;//如果P3.0(左转向灯)为0则点亮左灯

default:; //空语句,什么都不做

}

delay(200); //延时

P1_0=1;//左转灯回到熄灭状态

P1_1=1; //右转灯回到熄灭状态

delay(200); //延时;;THANKYOU.

文档评论(0)

1亿VIP精品文档

相关文档