找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

关于通过按键改变led灯闪烁次数的程序

查看数: 5726 | 评论数: 2 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2018-5-7 13:29

正文摘要:

本帖最后由 一束光的旅程 于 2018-5-7 13:30 编辑 机械人一个,现在自学单片机。自己画了一个板子的原理图。想实现LED灯闪烁次数的调节。按键KS按下,灯开始闪烁,按动TJ,闪烁次数增加。 先编了一个小程序,但 ...

回复

ID:230847 发表于 2018-5-8 17:55
wulin 发表于 2018-5-7 21:01
给你改了一下,纠正两处错误,增加了减数功能。
#include
//#include //多余

谢谢大神,
ID:213173 发表于 2018-5-7 21:01
给你改了一下,纠正两处错误,增加了减数功能。
#include <reg51.h>
//#include <stdio.h>//多余
sbit KS=P0^0;
sbit PWM=P1^0;
sbit TJ=P3^2; //+键
sbit TJ1=P3^3;//-键
#define uint unsigned int
uint a=1;//初始1
void delays_ms(uint xms)
{
        uint i,j;
        for(i=xms;i>0;i--)
                for(j=115;j>0;j--);
}

void main(void)
{
        uint x;
        P1=0x00;
        P0=0xFF;
        while(1)//必须要有主循环
        {
                if(TJ==0)
                {
                        delays_ms(20);
//                        if(TJ==0);//多了一个分号
                        if(TJ==0)
                        {
                                if(a<10)//最大数限制
                                        a++;
                        }
                        while(!TJ);
                }
/**********增加减数部分**********/
                if(TJ1==0)
                {
                        delays_ms(20);
                        if(TJ1==0)
                        {
                                if(a>1)//最小数限制
                                        a--;
                        }
                        while(!TJ1);
                }
/********************************/
                if(KS==0)
                {
                        delays_ms(20);
                        if(KS==0)
                        {                        
                                for(x=a;x>0;x--)
                      {
                                        delays_ms(200);
                                        PWM=1;
                                        delays_ms(200);
                                        PWM=0;
                                }
                                while(!KS);
                        }
                }
        }
}

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表