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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

有四盞燈分別為單片機P0.4;P0.5;P0.6;P0.7,程序只是讓一個亮為什么都亮

查看數: 6274 | 評論數: 39 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2019-5-15 09:31

正文摘要:

問一下    有四盞燈分別為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. ...

回復

ID:319023 發表于 2019-5-20 02:06
要注意P的大小寫,還有while()循環。  其實剛開始接觸單片機還是要多看參考程序代碼,多積累
ID:542433 發表于 2019-5-19 22:26
低電平有效唄
ID:516824 發表于 2019-5-19 00:50
oxff什么意思都不明白?
ID:160500 發表于 2019-5-18 15:51
你這個很明顯程序有問題,上面已經給出了正確的程序。然后,還要檢查硬件有沒有錯誤,是否元件損壞等
ID:538591 發表于 2019-5-18 14:40
三感 發表于 2019-5-17 22:45
不報錯?我不信。

你要相信      真的不報錯的
ID:538591 發表于 2019-5-18 14:39
wj_yuq 發表于 2019-5-18 13:41
首先要從原理圖層面搞清楚什么樣的輸出有效,此處為輸出低電平有效,再者,要清除了解編程軟件的規范(如大 ...

謝謝    現在改完了
ID:538591 發表于 2019-5-18 14:38
問青天磕大地 發表于 2019-5-18 10:28
難道芯片給你整壞了,擊穿了,造成漏電,4燈都亮

沒那么大的能力
ID:307020 發表于 2019-5-18 13:41
首先要從原理圖層面搞清楚什么樣的輸出有效,此處為輸出低電平有效,再者,要清除了解編程軟件的規范(如大小寫要求);第三從最簡單做起以了解細節
ID:541189 發表于 2019-5-18 10:28
難道芯片給你整壞了,擊穿了,造成漏電,4燈都亮
ID:530977 發表于 2019-5-17 22:47
main函數里面加一個P0M0=0;P0M1=0;基本的框圖要打好啊,還有while()呢?
ID:530977 發表于 2019-5-17 22:45
不報錯?我不信。
ID:446841 發表于 2019-5-17 14:55
還有那個P應該用大寫的
ID:446841 發表于 2019-5-17 14:54
p0.4這個點怎么看著那么別扭   把他改成∧試試吧
ID:389839 發表于 2019-5-17 14:09
0才是開,1應該是關,你的程序是讓一個滅
ID:424408 發表于 2019-5-17 13:01
angmall 發表于 2019-5-16 18:26
定義有些問題
我給你來個程序試試

這還去給寫一遍
ID:487821 發表于 2019-5-17 09:15
P要用大寫,頭文件改成#include "reg51.h"這個51就行了,還有沒有while()循環,而且按你圖紙=1是不亮,=0是亮
ID:538591 發表于 2019-5-17 08:30
smarttran 發表于 2019-5-17 01:43
樓主你這個代碼哪是讓一個燈亮呀?有幾個問題:1,程序沒有死循環,只要程序跑到LED4=0后,就會從頭開始又 ...

謝謝了   辛苦
ID:384252 發表于 2019-5-17 01:43
樓主你這個代碼哪是讓一個燈亮呀?有幾個問題:1,程序沒有死循環,只要程序跑到LED4=0后,就會從頭開始又執行一次了,2、P0=0xff,就是把四個燈關了,LED1=1就沒有意義了,接著后面3個燈會全亮,亮完后,程序又從頭開始執行。修改建議: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();}
ID:511890 發表于 2019-5-16 23:48
改成:
void main()
{
    p0=0xff;
while(1){
    led1=0;
    led2=1;
    led3=1;
    led4=1;
}
}
ID:538591 發表于 2019-5-16 19:40
angmall 發表于 2019-5-16 18:26
定義有些問題
我給你來個程序試試

感謝     這個改成了跑馬燈    挺謝謝的
ID:538591 發表于 2019-5-16 19:31
stephanie_han 發表于 2019-5-16 18:20
試試看p0=0x10是不是也都亮?

謝謝    還是會亮
ID:538591 發表于 2019-5-16 19:29
lele5211314 發表于 2019-5-16 17:26
程序運行可能出現問題,建議在led4=0;后面加個while(1);死循環

謝謝    使用了   沒有變
ID:538591 發表于 2019-5-16 19:27
wulin 發表于 2019-5-16 17:15
估計樓主這個程序是胡亂抄的,并不是樓主用于芯片下載的程序,一共就十一條語句,幾乎沒有一條是正確的, ...

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

你寫的這個我也改了沒有用   還是同樣的效果
     
ID:155507 發表于 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. }



復制代碼
ID:532564 發表于 2019-5-16 18:20
試試看p0=0x10是不是也都亮?
ID:93224 發表于 2019-5-16 17:26
程序運行可能出現問題,建議在led4=0;后面加個while(1);死循環
ID:213173 發表于 2019-5-16 17:15

估計樓主這個程序是胡亂抄的,并不是樓主用于芯片下載的程序,一共就十一條語句,幾乎沒有一條是正確的,并且不可能通過編譯器成功編譯得到hex文件。
1.首先<stc15.h>這個頭文件名就不存在,官方名稱是 <STC15F2K60S2.H>,按樓主目前水平還不具備自主編輯專用頭文件。
2.四條led端口定義的寫法全是錯誤的。
3.main函數第一條P0=0xff;是多余的,因為MCU加電復位P0就是高電平。
4.樓主想要4個led中的1個發光,其余不發光,邏輯反了。
5.程序必須限制在main函數內循環,否則執行完指令后會跳出main函數。必須用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);
}
ID:539992 發表于 2019-5-16 17:11
直接寫led1=0就可以了吧,其他可以不要寫。
ID:424598 發表于 2019-5-16 06:53
用的什么?開發板還是自制電路?發圖上來,看看你led的接線方式
ID:156220 發表于 2019-5-15 20:19
把原理圖發來看看,
ID:538591 發表于 2019-5-15 18:54
jmkl128 發表于 2019-5-15 17:24
p0=0xff;把這一句改成p0=0x00;

改了    還是不行。。。
ID:67356 發表于 2019-5-15 17:24
p0=0xff;把這一句改成p0=0x00;
ID:538591 發表于 2019-5-15 16:20
15775211617 發表于 2019-5-15 14:49
頭文件 ?  位申明? 低電平有效?

頭文件不是stc15.h么?      現在是高低電平都會亮
不知道怎么改
ID:516910 發表于 2019-5-15 14:49
頭文件 ?  位申明? 低電平有效?
ID:538591 發表于 2019-5-15 14:13
ssk7793 發表于 2019-5-15 11:29
你確定你的程序能編譯通過?

可以可以
ID:538591 發表于 2019-5-15 13:52
ssk7793 發表于 2019-5-15 11:29
你確定你的程序能編譯通過?

能通過  但是他全亮   
ID:424598 發表于 2019-5-15 11:29
你確定你的程序能編譯通過?

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 麻豆精品国产91久久久久久 | 国产午夜在线 | 国产中文字幕在线 | 久色网 | 成人在线免费视频 | 免费在线观看黄色av | 亚洲国产成人精品女人 | 日韩免费高清视频 | 在线看一区二区 | 国产精品18久久久 | 99精品九九 | 婷婷久久网 | 欧美综合在线观看 | 成人精品视频在线观看 | 综合久久一区 | 欧美成人免费 | 亚洲国产一区二区在线 | 超碰日本 | 国产www成人 | 亚洲网站免费看 | 超碰成人av| 美日韩中文字幕 | 精品乱子伦一区二区三区 | 国产精品福利网 | 亚洲av毛片 | 日本免费一区二区三区四区 | 国产精品久久777777 | 久久国产激情视频 | 亚洲成人精 | 亚洲电影专区 | 久久久精 | 综合二区| 高清一区二区 | 91av免费看| 亚洲精品性视频 | 国产精品久久久久久久免费大片 | 久久久tv| 91视频精选| 久久精品91久久久久久再现 | 欧美aaaaaaaa | 黄频免费|