#include <reg51.h>//包含头文件reg51.h,定义了51单片机的专用寄存器//符号常量OFF,表示灯灭 #define OFF 1 #define ON 0 //符号常量ON,表示灯亮 sbit light=P1^0;//台灯灯泡连接P1.0引脚 sbit light_up=P0^0; //亮度加强按键连接PO.0引脚 sbit light_down=P0^1;//亮度减弱按键连接PO.1引脚 void delay (unsigned int i) { unsigned int k; for(k=0;k<i;k++); } void main() { int i,j; i=0; j=500; while(1) { light=ON; delay(i); light=OFF; delay(j); if(light_up==0) { delay(100); if(light_up==0) { j--; i++; if(j==0) j=500; i=0; } } if(light_down==0) { delay(100); if(light_up==0) { j++; i--; if(j==0) i=500; j=0; } } } }
时间: 2023-12-06 08:02:23 浏览: 65
51单片机头文件reg51.h详解
这是一段51单片机的程序,实现了一个台灯的控制,通过按下亮度加强或减弱按键,来改变灯的亮度。程序中使用了延时函数来控制灯的亮灭。具体实现过程是:当灯亮时,延时一定时间后将灯灭掉,再延时一定时间后将灯亮起来,然后进行判断按键是否按下,如果按下了亮度加强按键,则将延时时间减少,亮度减弱按键则将延时时间增加。循环执行以上步骤。
阅读全文