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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1879|回復: 7
收起左側

請問這個單片機代碼哪里錯了?

[復制鏈接]
ID:969664 發表于 2021-10-4 20:34 | 顯示全部樓層 |閱讀模式
#include <reg51.h>
void delay(unsigned char i)
{
        unsigned char j,k;
        for(k=0;k<i;k++)
        for(j=0;j<255;j++);
}
void main()
{
unsigned char led1,led2,led3,led4,led5,led6,led7,led8;
unsigned char P1_0=P1^0,P1_1=P1^1,P1_2=P1^2,P1_3=P1^3,P1_4=P1^4,P1_5=P1^5,P1_6=P1^6,P1_7=P1^7;
led1=0x02;
led2=0x08;
led3=0x20;
led4=0x80;
led5=0x01;
led6=0x04;
led7=0x10;
led8=0x40;
while(1){
P1_0=led1;
P1_1=led2;
P1_2=led3;
P1_3=led4;
delay(200);
P1_4=led5;
P1_5=led6;
P1_6=led7;
P1_7=led8;
delay(200);
}
}


屏幕截圖 2021-10-04 203219.png
捕獲.PNG
回復

使用道具 舉報

ID:624769 發表于 2021-10-4 22:34 | 顯示全部樓層
嚴格來講,你這代碼應該出了 delay 就沒對的地方……

先根據你的代碼和電路圖,猜測你要做流水燈,代碼如下:

#include <reg51.h>
#include <INTRINS.H>
void delay(unsigned char i)
{
        unsigned char j,k;
        for(k=0;k<i;k++)
        for(j=0;j<255;j++);
}
void main()
{
        P1 = 0xFE;         //陰控亮一燈
//      P1 = 0x01;         //陽控亮一燈

        while(1)
        {
                 _cror_(P1,1);                   //右移一位
//                _crol_(P1,1);                  //左移一位
                  delay(200);                    //這個照抄的你的delay , 實際需要多少,自己調整
         }
}

如上, 如果你是要做流水燈,這就是全部代碼了。
回復

使用道具 舉報

ID:826942 發表于 2021-10-4 22:41 來自觸屏版 | 顯示全部樓層
你是要干嘛?是要點亮led1234四個燈延遲一段時間再點亮led5678再延遲循環嗎?你這是應該是賦值不對,最好是給整個P0嗎?
回復

使用道具 舉報

ID:826942 發表于 2021-10-4 22:42 來自觸屏版 | 顯示全部樓層
最好是給整個P0賦值來控制簡單些
回復

使用道具 舉報

ID:826942 發表于 2021-10-4 22:50 來自觸屏版 | 顯示全部樓層
我猜你的顯示是LED4亮然后延遲LED8亮,因為你賦值是整體賦值,后面的會覆蓋前面的,如果非要你這樣的話那么應該把幾個值按位或上
回復

使用道具 舉報

ID:824490 發表于 2021-10-5 00:18 | 顯示全部樓層
你的led_1到led_8定義和賦值都是“unsigned char”類型,
但在使用時,卻賦值給了“bit”類型:

unsigned char  led1 是8bit,而P1_0=P1^0是的1bit,卻要讓P1_0=led1;你是要鬧哪樣?

如樓上所說,應該要整個P1口輸出:P1=led1;
回復

使用道具 舉報

ID:578842 發表于 2021-10-5 07:20 | 顯示全部樓層
unsigned char P1_0=P1^0,P1_1=P1^1,P1_2=P1^2,P1_3=P1^3,P1_4=P1^4,P1_5=P1^5,P1_6=P1^6,P1_7=P1^7;
位聲明用sbit,另外,編程注意格式,否則亂麻一堆
回復

使用道具 舉報

ID:883031 發表于 2021-10-5 16:59 | 顯示全部樓層
一個問題,你發了3/4個帖子,基本的編程邏輯都沒有。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表