俩个触摸按键PWM调光 仿真时按键没有用 只有LED闪

2019-07-18 08:50发布

这个是程序,实在是不懂了  哪位大佬帮帮我 谢谢了#include<reg52.h> #define uchar unsigned char#define uint  unsigned intsbit led=P0^0;sbit puls=P0^1;sbit reduce=P0^2;int b=200,c=10;void init(){    led=1;                          //关闭led        puls=0;                          //按键位 置0        reduce=0;}
void delay(int x)                  //延时{   while(x--);}
void scanf()                          //输入{          if(puls==1) {   delay(500);  if(puls==1)  {  c++;  if(c>200)           c=200;  }  }  if(reduce==1)  {  delay(500);  if(reduce==1)  {   c--;   if(c<=0)   c=0;   }  }}


void pwm()                                          //pwm调光{   int i;         for(i=0;i<5;i++)        {    led=0;                                        //开led        delay(c);    led=1;                                        //关led        delay(b-c);        }  }

void main()                                          //主函数{                                                          //寄存器初始化  init();  while(1)   {   scanf();                                         //输入   pwm();                                         //pwm调光  }}
--.PNG
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
1条回答
longrenwenzi
1楼-- · 2019-07-18 12:00
不知道你问题解决了没有,说一下我的看法。你的仿真图,是通过上拉电阻将puls和reduce两个按键的引脚上拉了,即使初始化的时候你写入0低电平,但是也会上电的时候被拉高,而你的按键另一端接的是电源端,这样按键根本不起作用,按键无论按不按下都是高电平状态。

一周热门 更多>