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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6375|回復: 18
收起左側

51單片機C語言能實現連加嗎?

  [復制鏈接]
ID:718536 發表于 2021-4-21 00:40 | 顯示全部樓層 |閱讀模式
   我是想X1,X2,X3,X4,X5,X6,X7,X8,X9這9個字節。
  如果這9個字節中所有都是0,條件就成立。

  y=x1+x2+x3+x4+x5+x6+x7+x8+x9;

  if(y==0){  st=1;  }

  就是一直觸發到條件。

是不是因為51單片機不能連加啊?

回復

使用道具 舉報

ID:718536 發表于 2021-4-21 00:44 | 顯示全部樓層
只有上電瞬間X1-9的值為0可以觸發。期間X1-9這9個變量的值全部都為0,就是不能觸發
回復

使用道具 舉報

ID:213173 發表于 2021-4-21 06:06 | 顯示全部樓層
本帖最后由 wulin 于 2021-4-21 06:53 編輯
suqianfu 發表于 2021-4-21 00:44
只有上電瞬間X1-9的值為0可以觸發。期間X1-9這9個變量的值全部都為0,就是不能觸發

if((x1|x2|x3|x4|x5|x6|x7|x8|x9)==0) {st=1;}

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:889094 發表于 2021-4-21 07:33 來自觸屏版 | 顯示全部樓層
程序和單片機沒關系,你想讓它開始加也行,想在while 1中加也行,中斷觸發也可以,程序設計好,單片機有多快就能加多快

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:889094 發表于 2021-4-21 07:35 來自觸屏版 | 顯示全部樓層
另外,全都是0不應該是相加,相加有n多種可能為0,個人覺得應該用按位或操作吧

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:57657 發表于 2021-4-21 07:47 | 顯示全部樓層
你的條件有問題,加法會溢出的。
  1.         if (!(x1 || x2 || x3 || x4 || x5 || x6 || x7 || x8 || x9)) {

  2.                 st1=1;
  3.        
  4. }
復制代碼

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:584814 發表于 2021-4-21 09:59 | 顯示全部樓層
1、y=x1+x2+x3+x4+x5+x6+x7+x8+x9=0,并不表示所有x都是0;
2、傳說用 if (!(x1 || x2 || x3 || x4 || x5 || x6 || x7 || x8 || x9)) 效率比
用 if((x1|x2|x3|x4|x5|x6|x7|x8|x9)==0) 高。

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:894154 發表于 2021-4-21 11:08 | 顯示全部樓層
所有相加等于0可以按如下思路
a[]={X1,X2,X3,X4,X5,X6,X7,X8,X9};
temp=0;
y=0;
for(i=0;i<9;i++)
{
     temp=a[i];
     y+=temp;
}
if(y==0)................

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:151846 發表于 2021-4-21 11:50 | 顯示全部樓層
suqianfu 發表于 2021-4-21 00:44
只有上電瞬間X1-9的值為0可以觸發。期間X1-9這9個變量的值全部都為0,就是不能觸發

程序可以連加的,記得要初始化為0,且程序要嚴謹,或許你漏在哪里了
回復

使用道具 舉報

ID:213173 發表于 2021-4-21 14:13 | 顯示全部樓層
man1234567 發表于 2021-4-21 09:59
1、y=x1+x2+x3+x4+x5+x6+x7+x8+x9=0,并不表示所有x都是0;
2、傳說用 if (!(x1 || x2 || x3 || x4 || x5  ...

        if((x1|x2|x3|x4|x5|x6|x7|x8|x9)==0)//判斷用時11個機器周期
        if (!(x1 || x2 || x3 || x4 || x5 || x6 || x7 || x8 || x9))//判斷用時28個機器周期

評分

參與人數 2黑幣 +26 收起 理由
admin + 20 回帖助人的獎勵!
as21cxz + 6 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:728732 發表于 2021-4-21 14:41 | 顯示全部樓層
要看數據類型,X1X2X3...要是字符型char,怎么加都不為0;其次,y=x1+x2+x3+x4+x5+x6+x7+x8+x9;運算符有優先級,”+“優先級大于“=”的優先級

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:708541 發表于 2021-4-21 15:16 | 顯示全部樓層
  if(x1==0 && x2==0 && x3==0 && x4 ==0 && x5==0 && x6==0 && x7==0 && x8==0 &&x9==0)
  {
      st=1;  
  }

  //這樣判斷就可以了,X1---X9,全部為O才執行 st=1;

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:909697 發表于 2021-4-21 15:30 | 顯示全部樓層
無符號整形可以這樣寫。

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:708541 發表于 2021-4-21 15:38 | 顯示全部樓層
本帖最后由 as21cxz 于 2021-4-21 15:44 編輯
npn 發表于 2021-4-21 07:47
你的條件有問題,加法會溢出的。

他說這9個字節中所有都是0,條件就成立。
你語句是不是有問題?或的話只要有一個是0取反就是1,語句就成立?我沒有這樣寫過,我也不知道你這個是不是正確的。

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:57657 發表于 2021-4-21 21:52 | 顯示全部樓層
as21cxz 發表于 2021-4-21 15:38
他說這9個字節中所有都是0,條件就成立。
你語句是不是有問題?或的話只要有一個是0取反就是1,語句就成 ...

取反加括號,就和這個一樣:

  1. if (x1 || x2 || x3 || x4 || x5 || x6 || x7 || x8 || x9) {
  2. }else {
  3. st1 = 1;
  4. }

復制代碼
回復

使用道具 舉報

ID:718536 發表于 2021-4-23 02:47 | 顯示全部樓層
樓上的大佬太熱情了。小弟只能統一在這樓回復了。問題已經解決了,我原想設定X1-X9這個是9個標志位。X1-X9這9個標志位都為0,就進入待機狀態。否則就不進入待機狀態。思路是沒錯的。
  
  y=x1+x2+x3+x4+x5+x6+x7+x8+x9;

  if(y==0){  st=1;  }  //ST是待機標志位。

為何不能進入待機位呢?是因為前面的9個待機標志位,復位號寫錯了.... 導致一個一直沒有復位置0.....所以....小丑是我自己。。。

最后,感謝大佬們的熱情回復。。。我超喜歡這里的。愛你們喲
回復

使用道具 舉報

ID:718536 發表于 2021-4-23 02:49 | 顯示全部樓層
a4732710 發表于 2021-4-21 11:50
程序可以連加的,記得要初始化為0,且程序要嚴謹,或許你漏在哪里了

其中一個X3標志位號寫錯了。導致不能復位置0....所以小丑是我自己啦
回復

使用道具 舉報

ID:824490 發表于 2021-4-24 09:48 | 顯示全部樓層
as21cxz 發表于 2021-4-21 15:16
if(x1==0 && x2==0 && x3==0 && x4 ==0 && x5==0 && x6==0 && x7==0 && x8==0 &&x9==0)
  {
      s ...

以我來看,就這個最靠近樓主要的結果。只能一個一個判斷,其它的連續運算,都可能出錯,因前一次的運算結果會影響下一次的運算。
回復

使用道具 舉報

ID:487821 發表于 2021-4-24 12:39 | 顯示全部樓層
要先初始化為0
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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