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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

請問這串代碼為什么無法實現8個LED的閃爍,麻煩各位指出一下問題

查看數: 2502 | 評論數: 6 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2022-11-22 08:01

正文摘要:

#include <REGX51.H> int count0=0,num0=0; int temp=1; unsigned char a[]={0xff,0x00}; void delay() {         int i,j;         f ...

回復

ID:77589 發表于 2022-11-23 14:40
明顯這句錯了啊num0=~num0;
不應該使用按位取反操作,按位取反操會讓num0由0x00變成0xFF,當num0==0xFF時,執行P2=a[num0];就會導致一個致使錯誤“數組越界”,系統會出現你想不到的現象。
基于你的思路,現有兩種改法:
1、刪除unsigned char a[]={0xff,0x00};    把P2=a[num0]修改成P2=num0
2、其它地方不變,把num0 =~num0;修改成
num0 = num0 > 0 ? 0 : 1;
ID:308903 發表于 2022-11-23 08:29
i          num0=~num0;             這句,因為前面定義了這個數組  unsigned char a[]={0xff,0x00};,所以這里也要用數組
ID:1052650 發表于 2022-11-22 23:50
XCYYLX 發表于 2022-11-22 20:30
中斷有問題,得改一下

好的感謝你
ID:999824 發表于 2022-11-22 20:30
中斷有問題,得改一下
ID:1052650 發表于 2022-11-22 16:28

太感謝你了大佬
ID:161164 發表于 2022-11-22 14:53

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

Powered by 單片機教程網

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