欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 有四盞燈分別為單片機P0.4;P0.5;P0.6;P0.7,程序只是讓一個亮為什么都亮 [打印本頁]

作者: 單片機555    時間: 2019-5-15 09:31
標題: 有四盞燈分別為單片機P0.4;P0.5;P0.6;P0.7,程序只是讓一個亮為什么都亮
問一下    有四盞燈分別為P0.4;P0.5;P0.6;P0.7四個口      只是讓一個亮為什么都亮


#include<stc15.h>
sbit led1=p0.4;
sbit led2=p0.5;
sbit led3=p0.6;
sbit led4=p0.7;

void main()
{
    p0=0xff;
    led1=1;
    led2=0;
    led3=0;
    led4=0;
}

作者: ssk7793    時間: 2019-5-15 11:29
你確定你的程序能編譯通過?
作者: 單片機555    時間: 2019-5-15 13:52
ssk7793 發(fā)表于 2019-5-15 11:29
你確定你的程序能編譯通過?

能通過  但是他全亮   
作者: 單片機555    時間: 2019-5-15 14:13
ssk7793 發(fā)表于 2019-5-15 11:29
你確定你的程序能編譯通過?

可以可以
作者: 15775211617    時間: 2019-5-15 14:49
頭文件 ?  位申明? 低電平有效?
作者: 單片機555    時間: 2019-5-15 16:20
15775211617 發(fā)表于 2019-5-15 14:49
頭文件 ?  位申明? 低電平有效?

頭文件不是stc15.h么?      現(xiàn)在是高低電平都會亮
不知道怎么改
作者: jmkl128    時間: 2019-5-15 17:24
p0=0xff;把這一句改成p0=0x00;
作者: 單片機555    時間: 2019-5-15 18:54
jmkl128 發(fā)表于 2019-5-15 17:24
p0=0xff;把這一句改成p0=0x00;

改了    還是不行。。。
作者: 紫色的云    時間: 2019-5-15 20:19
把原理圖發(fā)來看看,
作者: ssk7793    時間: 2019-5-16 06:53
用的什么?開發(fā)板還是自制電路?發(fā)圖上來,看看你led的接線方式
作者: 單片機555    時間: 2019-5-16 14:21
ssk7793 發(fā)表于 2019-5-16 06:53
用的什么?開發(fā)板還是自制電路?發(fā)圖上來,看看你led的接線方式


開發(fā)板上
作者: 單片機555    時間: 2019-5-16 14:21
紫色的云 發(fā)表于 2019-5-15 20:19
把原理圖發(fā)來看看,



作者: 上衫繪梨衣    時間: 2019-5-16 17:11
直接寫led1=0就可以了吧,其他可以不要寫。
作者: wulin    時間: 2019-5-16 17:15
單片機555 發(fā)表于 2019-5-16 14:21

估計樓主這個程序是胡亂抄的,并不是樓主用于芯片下載的程序,一共就十一條語句,幾乎沒有一條是正確的,并且不可能通過編譯器成功編譯得到hex文件。
1.首先<stc15.h>這個頭文件名就不存在,官方名稱是 <STC15F2K60S2.H>,按樓主目前水平還不具備自主編輯專用頭文件。
2.四條led端口定義的寫法全是錯誤的。
3.main函數(shù)第一條P0=0xff;是多余的,因為MCU加電復位P0就是高電平。
4.樓主想要4個led中的1個發(fā)光,其余不發(fā)光,邏輯反了。
5.程序必須限制在main函數(shù)內(nèi)循環(huán),否則執(zhí)行完指令后會跳出main函數(shù)。必須用while(1)限制。

樓主試試這個程序

#include <STC15F2K60S2.H>

sbit led1=P0^4;
sbit led2=P0^5;
sbit led3=P0^6;
sbit led4=P0^7;

void main()
{
        led1=1;
        led2=1;
        led3=1;
        led4=0;       

        while(1);
}
作者: lele5211314    時間: 2019-5-16 17:26
程序運行可能出現(xiàn)問題,建議在led4=0;后面加個while(1);死循環(huán)
作者: stephanie_han    時間: 2019-5-16 18:20
試試看p0=0x10是不是也都亮?
作者: angmall    時間: 2019-5-16 18:26
定義有些問題
我給你來個程序試試



  1. #include "reg51.h"

  2. sfr P0M1 = 0x93;
  3. sfr P0M0 = 0x94;

  4. sbit led1 = P0^4;
  5. sbit led2 = P0^5;
  6. sbit led3 = P0^6;
  7. sbit led4 = P0^7;

  8. void delay()
  9. {
  10.         int i, j;

  11.         for (i=0; i<1000; i++)
  12.             for (j=0; j<500; j++);
  13. }


  14. void main()
  15. {
  16.         P0M0 = 0x00;
  17.         P0M1 = 0x00;

  18.         P0 = 0xff;
  19.        
  20.         while (1)
  21.         {
  22.                 led1=0;
  23.                 led2=1;
  24.                 led3=1;
  25.                 led4=1;
  26.                 delay();
  27.                 led1=1;
  28.                 led2=0;
  29.                 led3=1;
  30.                 led4=1;
  31.                 delay();
  32.                 led1=1;
  33.                 led2=1;
  34.                 led3=0;
  35.                 led4=1;
  36.                 delay();
  37.                 led1=1;
  38.                 led2=1;
  39.                 led3=1;
  40.                 led4=0;
  41.                 delay();

  42.         }
  43. }



復制代碼

作者: 單片機555    時間: 2019-5-16 19:27
wulin 發(fā)表于 2019-5-16 17:15
估計樓主這個程序是胡亂抄的,并不是樓主用于芯片下載的程序,一共就十一條語句,幾乎沒有一條是正確的, ...

這個頭文件   是對的   并不是從網(wǎng)上抄寫    也可以編譯出hex文件

你寫的這個我也改了沒有用   還是同樣的效果
     
作者: 單片機555    時間: 2019-5-16 19:29
lele5211314 發(fā)表于 2019-5-16 17:26
程序運行可能出現(xiàn)問題,建議在led4=0;后面加個while(1);死循環(huán)

謝謝    使用了   沒有變
作者: 單片機555    時間: 2019-5-16 19:31
stephanie_han 發(fā)表于 2019-5-16 18:20
試試看p0=0x10是不是也都亮?

謝謝    還是會亮
作者: 單片機555    時間: 2019-5-16 19:40
angmall 發(fā)表于 2019-5-16 18:26
定義有些問題
我給你來個程序試試

感謝     這個改成了跑馬燈    挺謝謝的
作者: 幻劍心    時間: 2019-5-16 23:48
改成:
void main()
{
    p0=0xff;
while(1){
    led1=0;
    led2=1;
    led3=1;
    led4=1;
}
}

作者: smarttran    時間: 2019-5-17 01:43
樓主你這個代碼哪是讓一個燈亮呀?有幾個問題:1,程序沒有死循環(huán),只要程序跑到LED4=0后,就會從頭開始又執(zhí)行一次了,2、P0=0xff,就是把四個燈關了,LED1=1就沒有意義了,接著后面3個燈會全亮,亮完后,程序又從頭開始執(zhí)行。修改建議:while(1){P0=0xff;led1 = 0;delay();P0=0xff;delay();led2 = 0;delay();P0=0xff;delay();led3 = 0;delay();P0=0xff;delay();led4 = 0;delay();}
作者: 單片機555    時間: 2019-5-17 08:30
smarttran 發(fā)表于 2019-5-17 01:43
樓主你這個代碼哪是讓一個燈亮呀?有幾個問題:1,程序沒有死循環(huán),只要程序跑到LED4=0后,就會從頭開始又 ...

謝謝了   辛苦
作者: faguiq    時間: 2019-5-17 09:15
P要用大寫,頭文件改成#include "reg51.h"這個51就行了,還有沒有while()循環(huán),而且按你圖紙=1是不亮,=0是亮
作者: 51凡塵    時間: 2019-5-17 13:01
angmall 發(fā)表于 2019-5-16 18:26
定義有些問題
我給你來個程序試試

這還去給寫一遍
作者: uguigu吐故以后    時間: 2019-5-17 14:09
0才是開,1應該是關,你的程序是讓一個滅
作者: abcd44    時間: 2019-5-17 14:54
p0.4這個點怎么看著那么別扭   把他改成∧試試吧
作者: abcd44    時間: 2019-5-17 14:55
還有那個P應該用大寫的
作者: 三感    時間: 2019-5-17 22:45
不報錯?我不信。
作者: 三感    時間: 2019-5-17 22:47
main函數(shù)里面加一個P0M0=0;P0M1=0;基本的框圖要打好啊,還有while()呢?
作者: 問青天磕大地    時間: 2019-5-18 10:28
難道芯片給你整壞了,擊穿了,造成漏電,4燈都亮
作者: wj_yuq    時間: 2019-5-18 13:41
首先要從原理圖層面搞清楚什么樣的輸出有效,此處為輸出低電平有效,再者,要清除了解編程軟件的規(guī)范(如大小寫要求);第三從最簡單做起以了解細節(jié)
作者: 單片機555    時間: 2019-5-18 14:38
問青天磕大地 發(fā)表于 2019-5-18 10:28
難道芯片給你整壞了,擊穿了,造成漏電,4燈都亮

沒那么大的能力
作者: 單片機555    時間: 2019-5-18 14:39
wj_yuq 發(fā)表于 2019-5-18 13:41
首先要從原理圖層面搞清楚什么樣的輸出有效,此處為輸出低電平有效,再者,要清除了解編程軟件的規(guī)范(如大 ...

謝謝    現(xiàn)在改完了
作者: 單片機555    時間: 2019-5-18 14:40
三感 發(fā)表于 2019-5-17 22:45
不報錯?我不信。

你要相信      真的不報錯的
作者: liuzx66    時間: 2019-5-18 15:51
你這個很明顯程序有問題,上面已經(jīng)給出了正確的程序。然后,還要檢查硬件有沒有錯誤,是否元件損壞等
作者: 九年    時間: 2019-5-19 00:50
oxff什么意思都不明白?
作者: hhy45    時間: 2019-5-19 22:26
低電平有效唄
作者: 隨風飄遠    時間: 2019-5-20 02:06
要注意P的大小寫,還有while()循環(huán)。  其實剛開始接觸單片機還是要多看參考程序代碼,多積累




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1