控制亮灭 #include<reg52.h> #define uchar unsigned char #define uint unsigned int sbit dula=P2^6; sbit wela=P2^7; sbit s2=P3^0; sbit s3=P3^1; void delayms(uint xms) { uint i,j; for(i=xms;i>0;i--) for(j=110;j>0;j--); } void main() { uint x=1000; while(1) { wela=1; P0=0xfe; wela=0; dula=1; P0=0xbf; dula=0; delayms(x); dula=1; P0=0x00; dula=0; delayms(x); if(s2==0) {x=x+500; while(!s2); } if(s3==0) { x=x-500; while(!s3); } } }帮我添加注释
时间: 2023-10-27 08:04:49 浏览: 179
// 引入reg52.h头文件
#include<reg52.h>
// 定义uchar为无符号字符型,定义uint为无符号整数型
#define uchar unsigned char
#define uint unsigned int
// 定义引脚P2.6为dula,P2.7为wela,P3.0为s2,P3.1为s3
sbit dula=P2^6;
sbit wela=P2^7;
sbit s2=P3^0;
sbit s3=P3^1;
// 延时函数,参数为需要延时的毫秒数
void delayms(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
void main()
{
uint x=1000;
// 无限循环
while(1)
{
// 将wela置为1,P0口输出0xfe
wela=1;
P0=0xfe;
wela=0;
// 将dula置为1,P0口输出0xbf
dula=1;
P0=0xbf;
dula=0;
// 延时x毫秒
delayms(x);
// 将dula置为1,P0口输出0x00
dula=1;
P0=0x00;
dula=0;
// 延时x毫秒
delayms(x);
// 如果s2为0,x加500并等待s2变为1
if(s2==0)
{
x=x+500;
while(!s2);
}
// 如果s3为0,x减500并等待s3变为1
if(s3==0)
{
x=x-500;
while(!s3);
}
}
}
阅读全文