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

📄 ex3_5.c

📁 单片机应用技术(C语言版)程序源代码.rar
💻 C
字号:
//程序:ex3_5.c
//功能:采用switch语句实现的模拟汽车转向灯控制程序
#include <reg51.h>		//包含头文件REG51.H 
sbit P1_0=P1^0;
sbit P1_1=P1^1;
void delay(unsigned char i);	//延时函数声明
void main() 			//主函数
{ 
   unsigned char ledctr;	//定义转向灯控制变量ledctr
   P3=0xff;			//P3口作为输入口,必须先置全1
   while(1) {                
     ledctr=P3;			//读P3口的状态送到ledctr
     ledctr=ledctr&0x03;	//与操作,屏蔽掉高6位无关位,取出P3.0和P3.1引脚的状态(0x03即二进制数00000011B)
     switch (ledctr)          
     { 
        case 0:P1_0=1;P1_1=0;break;  //如P3.0、P3.1都为0则点亮左、右灯
        case 1:P1_1=0; break;        //如果P3.1(右转向灯)为0则点亮右灯
        case 2:P1_0=0; break;        //如果P3.0(左转向灯)为0则点亮左灯
	default: ;		     //空语句,什么都不做
     }          
     delay(200);		     //延时
     P1_0=1;                         //左转灯回到熄灭状态
     P1_1=1;		             //右转灯回到熄灭状态
     delay(200);		     //延时
            }
}
//函数名:delay
//函数功能:实现软件延时
//形式参数:unsigned char i;
//          i控制空循环的外循环次数,共循环i*255次
//返回值:无
void  delay(unsigned char i)	//延时函数,无符号字符型变量i为形式参数
{
    unsigned char j,k;		//定义无符号字符型变量j和k
    for(k=0;k<i;k++)		//双重for循环语句实现软件延时
      for(j=0;j<255;j++);
}

⌨️ 快捷键说明

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