久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 8671|回復: 13
打印 上一主題 下一主題
收起左側

獨立按鍵控制LED亮滅,沒反應,請幫忙看看

[復制鏈接]
跳轉到指定樓層
樓主
ID:63752 發表于 2014-7-8 11:37 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
單片機是STC15F2K60S2  下載之后,按鍵沒反應,什么都不工作,是什么問題啊?程序如下。
#include "stc.h"
#define uchar unsigned char
#define uint unsigned int
sbit BZ=P2^7; //LED INPUT//
sbit D=P1^1;  //KEY//
void Delay(uint x)
{
    uint a,b;
    for(a=x;a>0;a--)
       for(b=110;b>0;b--);
}  
unsigned char i;
void main()
{
  //int i;
  i=0;
BZ=1;
D=1;
while(1)
    {
    if(D==0)
     {
       Delay(10);
     if(D==0)
     {
    i++;
     if(i>=2)
       {
       i=0;
       }
      
     }     
     }
   while(!D);
    }
      switch(i)
   {
     case 0:
        BZ=0;
     break;
     case 1:
        BZ=1;
     break;
   }
  
   
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:18297 發表于 2014-7-8 16:04 | 只看該作者
#include "reg51.h"
#define uchar unsigned char
#define uint unsigned int
sbit BZ=P2^7; //LED INPUT//
sbit D=P1^1;  //KEY//
void Delay(uint x)
{
    uint a,b;
    for(a=x;a>0;a--)
       for(b=110;b>0;b--);
}  
unsigned char i;
void main()
{
  //int i;
          i=0;
        BZ=1;
        D=1;
        while(1)
    {
            if(D==0)
             {
                       Delay(10);
                             if(D==0)
                             {
                                    i++;
                                     if(i>=2)
                                       {
                                                       i=0;
                                       }
      
                             }     
             }
                   while(!D);
    //}    此處去掉了括號。
    switch(i)
           {
             case 0:
        BZ=0;
             break;
             case 1:
        BZ=1;
             break;
           }
        }//此處添加括號。   
}
//原因是你的while(1)進入死循環中,不會運行一下程序段。
/* switch(i)
           {
             case 0:
        BZ=0;
             break;
             case 1:
        BZ=1;
             break;
           }
*/
回復

使用道具 舉報

板凳
ID:63747 發表于 2014-7-8 16:07 | 只看該作者
學習了~~
回復

使用道具 舉報

地板
ID:63752 發表于 2014-7-9 18:07 | 只看該作者
zjjhtony 發表于 2014-7-8 16:04
#include "reg51.h"
#define uchar unsigned char
#define uint unsigned int

朋友,程序可以了,但是按鍵不靈活,有時行,有時不行,是軟件還是硬件問題呢?而且LED有時會自動滅了,是什么問題啊?頭都大了。
回復

使用道具 舉報

5#
ID:18297 發表于 2014-7-10 07:39 | 只看該作者
#include "reg51.h"
#define uchar unsigned char
#define uint unsigned int
sbit ledlight=P2^7; //LED INPUT//
sbit key=P1^1;  //KEY//
void Delay(uint x)
{
    uint a,b;
    for(a=x;a>0;a--)
       for(b=110;b>0;b--);
}  
unsigned char i;
void main()
{
    ledlight=0;
        key=1;
        while(1)
        {
                if(key==0)
                {
                        Delay(2);
                        if(key==0)
                        {
                                while(key==0);
                                ledlight=!ledlight;
                        }
                }

        }
}
//以上為精簡后的程序。功能一樣,按鍵讓led燈亮滅。
回復

使用道具 舉報

6#
ID:63752 發表于 2014-7-10 13:01 | 只看該作者
zjjhtony 發表于 2014-7-10 07:39
#include "reg51.h"
#define uchar unsigned char
#define uint unsigned int

  我都寫過這程序,但是LED能正常的亮滅,但是,當亮的時候,不到一會,LED燈就自動熄滅了。兩個程序 都是同樣的問題,就是LED亮了一會,就自動熄滅了,真不知是什么問題。下面是我的程序。
#include "reg51.h"
#define uchar unsigned char
#define uint unsigned int
sbit BZ=P2^5; //LED INPUT//
sbit D=P1^1;  //KEY//
void Delay(uint x)
{
    uint a,b;
    for(a=x;a>0;a--)
       for(b=110;b>0;b--);
}  
//unsigned char temp;
void main()
{
    static bit temp;
        BZ=1;
        D=1;
        temp=BZ;
        while(1)
         {
           if(D==0)
           {
                  Delay(10);
                   if(D==0)
               {
                             temp=~temp;
                          while(!D);
                          BZ=temp;
                   }
           }
          

         }
}
回復

使用道具 舉報

7#
ID:63752 發表于 2014-7-11 13:01 | 只看該作者
有沒有朋友幫忙一下,現在還沒解決問題,郁悶啊~~通過按鍵點亮了LED,但是過一會就自動熄滅了。
回復

使用道具 舉報

8#
ID:18297 發表于 2014-7-11 15:02 | 只看該作者
“通過按鍵點亮了LED,但是過一會就自動熄滅了。”
這個是在開發板上的,還是自己做的實驗板上的效果,
回復

使用道具 舉報

9#
ID:63752 發表于 2014-7-11 18:05 | 只看該作者
一塊單片機,一個輕觸開關,一個小LED,一個5V穩壓管,幾根線,在萬能板上連接的線路做出來的效果。現在還沒解決問題呢。請幫幫忙。
回復

使用道具 舉報

10#
ID:63752 發表于 2014-7-11 18:06 | 只看該作者
zjjhtony 發表于 2014-7-11 15:02
“通過按鍵點亮了LED,但是過一會就自動熄滅了。”
這個是在開發板上的,還是自己做的實驗板上的效果,

一塊單片機,一個輕觸開關,一個小LED,一個5V穩壓管,一電阻,幾根線,在萬能板上連接的線路做出來的效果。現在還沒解決問題呢。請幫幫忙。
回復

使用道具 舉報

11#
ID:18297 發表于 2014-7-12 17:14 | 只看該作者
可以發個電路連線圖給我。QQ:12226405.
回復

使用道具 舉報

12#
ID:63752 發表于 2014-7-13 11:39 來自觸屏版 | 只看該作者
zjjhtony 發表于 2014-7-11 15:02
“通過按鍵點亮了LED,但是過一會就自動熄滅了。”
這個是在開發板上的,還是自己做的實驗板上的效果,

問題已解決了,原來keil4要導入stc單片機型號才行的。謝你,希望能加你q繼續下面的學習
回復

使用道具 舉報

13#
ID:64406 發表于 2014-7-26 10:57 | 只看該作者
XUSHENG 發表于 2014-7-13 11:39
問題已解決了,原來keil4要導入stc單片機型號才行的。謝你,希望能加你q繼續下面的學習

在keil編程用AT89C52的吧
回復

使用道具 舉報

14#
ID:63752 發表于 2014-7-26 12:43 | 只看該作者
是STC單片機的型號。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 色资源在线 | 欧美 日韩 视频 | 国产成人99久久亚洲综合精品 | 亚洲欧美综合精品另类天天更新 | 免费的日批视频 | 欧美精品在线一区二区三区 | 国产a区| 久久精彩视频 | 欧美日韩国产中文 | 日日日日操 | 精品国产不卡一区二区三区 | 国产精品久久在线 | 黄色片大全在线观看 | 国产在线观看一区二区 | 日日夜夜天天 | 日韩精品一区二区三区中文字幕 | 日韩欧美国产不卡 | 国产福利在线视频 | 99精品99 | 亚洲精品在线视频 | 日韩精品a在线观看图片 | 久草在线| 一区二区三区在线看 | 成人午夜影院 | 欧美性一区二区三区 | 免费国产一区二区 | 欧美精品乱码久久久久久按摩 | 国产精品一区在线观看 | 成人在线观看免费 | 97人人干| 国产高清自拍视频在线观看 | 欧美理论片在线观看 | 国产免费一区二区三区 | 麻豆久久久久久久 | 夜夜爽99久久国产综合精品女不卡 | 911精品国产| 国产精久久久久久 | 国产又色又爽又黄又免费 | 欧美二区乱c黑人 | 精品一区二区观看 | 亚洲乱码一区二区三区在线观看 |