有什么给C语言加注释的软件,{求助}求大佬帮我给程序加个注释,有偿

本文介绍了一段使用C语言实现的嵌入式程序,通过外部中断和定时器控制,实现了启动/换向开关控制LED灯的亮度变化,并利用加速/减速按钮调节速度。核心内容包括中断服务函数和定时器的使用,展示了嵌入式控制中的基本逻辑和硬件交互。
摘要由CSDN通过智能技术生成

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

#include

#define uint unsigned int

sbit k1=P3^4; //启动开关

sbit k2=P3^5; //换向开关

sbit s2=P3^2; //加速按钮

sbit s3=P3^3; //减速按钮

void isr_int0(void);//外部中断0中断服务函数声明

void isr_int1(void);

void zd_t0ist(void);

uint speed,count,r1,i,t,k;

main()

{k=0;

t=0;

r1=0x11 ;

speed=0;

count=1;

TMOD=0x01;

ET0=1;

EA=1;

EX0=1;

EX1=1;

TH0=0xcf;

TL0=0x2c;

for(;;)

{if(k1==0)

{P0=0xff;

P2=0xff;

speed=0;

TR0=0;

}

else

{

if(k2==0)

P0=0xbf;

else P0=0xf9;

if(speed==0)

{P2=0xc0;

TR0=0;

}

else TR0=1;

}

}

}

void isr_int0(void) interrupt 0

{

if(speed<7)

speed=speed+1;

while(s2==0)

{for(i=0;i<10;i++);}

}

void isr_int1(void) interrupt 2

{

if(speed>0)

speed=speed-1;

while(s3==0)

{for(i=0;i<10;i++);}

}

void zd_t0ist(void) interrupt 1

{

TH0=0xd8;

TL0=0xf0;

switch(speed)

{

case 0:P2=0xc0;count=0;break;

case 1:P2=0xf9;count=60;break;

case 2:P2=0xa4;count=40;break;

case 3:P2=0xb0;count=35;break;

case 4:P2=0x99;count=30;break;

case 5:P2=0x92;count=28;break;

case 6:P2=0x82;count=25;break;

case 7:P2=0xf8;count=21;break;

default :break;

}

if(t==0)

t=count;

if(t>0)

t=t-1;

if(k2==0)

{

if(t==0)

{

switch(k)

{

case 0:P1=0x01;break;

case 1:P1=0x02;break;

case 2:P1=0x04;break;

case 3:P1=0x08;break;

default :break;

}

k=k+1;

if(k==4)

k=0;

}

}

else

{

if(t==0)

{

switch(k)

{

case 0:P1=0x08;break;

case 1:P1=0x04;break;

case 2:P1=0x02;break;

case 3:P1=0x01;break;

default :break;

}

k=k+1;

if(k==4)

k=0;

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值