找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 5581|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

關(guān)于通過按鍵改變led燈閃爍次數(shù)的程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
本帖最后由 一束光的旅程 于 2018-5-7 13:30 編輯

機(jī)械人一個(gè),現(xiàn)在自學(xué)單片機(jī)。自己畫了一個(gè)板子的原理圖。想實(shí)現(xiàn)LED燈閃爍次數(shù)的調(diào)節(jié)。按鍵KS按下,燈開始閃爍,按動(dòng)TJ,閃爍次數(shù)增加。
先編了一個(gè)小程序,但是不能實(shí)現(xiàn)閃爍次數(shù)的增加。
請(qǐng)各位大神指點(diǎn)一下。謝謝啦
程序如下:
#include <reg51.h>
#include <stdio.h>
sbit KS=P0^0;
sbit PWM=P1^0;
sbit TJ=P3^2;
#define uint unsigned int
uint a;
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;
P0=0xFF;
P1=0x00;
if(TJ==0)
        {
                delays_ms(20);
                if(TJ==0);
                {
                  a++;
                }
                while(!TJ);
        }
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);
        }
}
}

示意圖.JPG (124.7 KB, 下載次數(shù): 49)

示意圖.JPG

工控板.zip

70.69 KB, 下載次數(shù): 7

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:213173 發(fā)表于 2018-5-7 21:01 | 只看該作者
給你改了一下,糾正兩處錯(cuò)誤,增加了減數(shù)功能。
#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)//必須要有主循環(huán)
        {
                if(TJ==0)
                {
                        delays_ms(20);
//                        if(TJ==0);//多了一個(gè)分號(hào)
                        if(TJ==0)
                        {
                                if(a<10)//最大數(shù)限制
                                        a++;
                        }
                        while(!TJ);
                }
/**********增加減數(shù)部分**********/
                if(TJ1==0)
                {
                        delays_ms(20);
                        if(TJ1==0)
                        {
                                if(a>1)//最小數(shù)限制
                                        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);
                        }
                }
        }
}
回復(fù)

使用道具 舉報(bào)

板凳
ID:230847 發(fā)表于 2018-5-8 17:55 | 只看該作者
wulin 發(fā)表于 2018-5-7 21:01
給你改了一下,糾正兩處錯(cuò)誤,增加了減數(shù)功能。
#include
//#include //多余

謝謝大神,
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表