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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2465|回復(fù): 11
打印 上一主題 下一主題
收起左側(cè)

關(guān)于單片機(jī)C語言數(shù)組的問題,為什么這個(gè)程序在電路中l(wèi)ed4會(huì)隨著led1和led2亮一下呢?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
關(guān)于數(shù)組的問題,這個(gè)程序是讓led1亮滅三次,led2亮滅三次,led1和led2同時(shí)亮四次;
在這個(gè)程序沒有對(duì)led4進(jìn)行控制,但是在實(shí)際電路中l(wèi)ed4會(huì)隨著led1和led2分別亮一下呢?
請(qǐng)教朋友們這是什么原因

單片機(jī)源程序如下:
  1. #include <REG51.H>
  2. #include<intrins.h>
  3. sfr P3M0        =   0xB2;   //0000,0000 端口3模式寄存器0
  4. sfr P3M1       =   0xB1;   //0000,0000 端口3模式寄存器1
  5. #define uchar unsigned char
  6. #define uint unsigned int
  7. sbit led1=P3^0;
  8. sbit led2=P3^1;
  9. sbit led3=P3^3;
  10. sbit led4=P3^2;

  11. uchar code Tab0[]={0x02,0x02,0x02,0x03};//閃燈控制表


  12. uint i;
  13. /*****************************************************
  14. 函數(shù)功能:延時(shí)若Z*10毫秒
  15. 入口參數(shù):z
  16. ***************************************************/

  17. void delay(uint z)
  18. {
  19.         uint i,j;
  20.         for(i=z;i>0;i--)
  21.                 for(j=9200;j>0;j--);
  22. }


  23. void wordliang(void);
  24. /*****************************************************
  25. 函數(shù)功能:p1口燈循環(huán)點(diǎn)亮

  26. ***************************************************/
  27. main()
  28. {     
  29.      // uint i;
  30.      P3M1=0x30;        // IO口設(shè)值(工作模式)
  31.      P3M0=0x0f;        //          IO口設(shè)值(工作模式)         
  32.       P3=0X00;
  33.          
  34.         while(1)
  35.         {            
  36.          
  37.                   
  38.           for(i=0;i<3;i++)         //led1燈亮
  39.                         {
  40.                
  41.                             P3=Tab0[i];
  42.                          delay(50);        
  43.                          P3=0x00;  
  44.                          delay(80);
  45.             }           
  46.                                           
  47.                  

  48.                         for(i=3;i<6;i++)                 //led2燈亮
  49.                         {
  50.                         
  51.                             P3=Tab0[i]        ;
  52.                          delay(50);
  53.                          P3=0x00;  
  54.                          delay(80);                                             
  55.             }
  56.                         
  57.                
  58.                         
  59.                         
  60.                    for(i=6;i<10;i++)                 //led1和led2燈一起亮
  61.                         {
  62.                         
  63.                             P3=Tab0[i]        ;
  64.                          delay(50);
  65.                          P3=0x00;  
  66.                          delay(80);                                             
  67.             }         
  68.                
  69.                   
  70.      }               
  71. }
復(fù)制代碼

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:571958 發(fā)表于 2019-7-2 16:55 | 只看該作者
你初始化的數(shù)組 4, 你用到了 10 ,你已經(jīng)越界了!
回復(fù)

使用道具 舉報(bào)

板凳
ID:332444 發(fā)表于 2019-7-2 19:54 | 只看該作者
這程序后2個(gè)循環(huán)都超數(shù)組了
回復(fù)

使用道具 舉報(bào)

地板
ID:207882 發(fā)表于 2019-7-2 23:30 | 只看該作者
P3=Tab0[i]    i為什么是跟for里面的i同一個(gè),,不是直接uchar code Tab0[]={0x01,0x02,0x03};
回復(fù)

使用道具 舉報(bào)

5#
ID:207882 發(fā)表于 2019-7-2 23:32 | 只看該作者
uchar code Tab0[]={0x01,0x02,0x03}; P3=Tab0[0] led1;亮  P3=Tab0[1] led2;亮 P3=Tab0[2] led12;亮,不是這樣? 為什么你的P3=Tab0[i]跟for里面的I同一個(gè),,這個(gè)會(huì)不會(huì)到時(shí)找不Tab0[i]的值,就亂了,所以LED4會(huì)亮
回復(fù)

使用道具 舉報(bào)

6#
ID:517235 發(fā)表于 2019-7-3 09:40 | 只看該作者
單片機(jī)引腳圖

timg.jpg (14.7 KB, 下載次數(shù): 63)

timg.jpg
回復(fù)

使用道具 舉報(bào)

7#
ID:517235 發(fā)表于 2019-7-3 12:01 | 只看該作者
lihaijun7781 發(fā)表于 2019-7-2 16:55
你初始化的數(shù)組 4, 你用到了 10 ,你已經(jīng)越界了!

感謝回復(fù),我也是發(fā)完貼后發(fā)現(xiàn)程序引用數(shù)組的個(gè)數(shù)超出了范圍。
那么,超出后,從第5個(gè)i開始引用的數(shù)組按什么數(shù)據(jù)引用的呢?Tab0[]={0x02,0x02,0x02,0x03,0,0,0,0,0,0}這樣好像也不對(duì)。
回復(fù)

使用道具 舉報(bào)

8#
ID:517235 發(fā)表于 2019-7-3 12:01 | 只看該作者
xianfajushi 發(fā)表于 2019-7-2 19:54
這程序后2個(gè)循環(huán)都超數(shù)組了

感謝回復(fù),我也是發(fā)完貼后發(fā)現(xiàn)程序引用數(shù)組的個(gè)數(shù)超出了范圍。
那么,超出后,從第5個(gè)i開始引用的數(shù)組按什么數(shù)據(jù)引用的呢?Tab0[]={0x02,0x02,0x02,0x03,0,0,0,0,0,0}這樣好像也不對(duì)。
回復(fù)

使用道具 舉報(bào)

9#
ID:517235 發(fā)表于 2019-7-3 12:03 | 只看該作者
2448289424 發(fā)表于 2019-7-2 23:30
P3=Tab0    i為什么是跟for里面的i同一個(gè),,不是直接uchar code Tab0[]={0x01,0x02,0x03};

感謝回復(fù),程序前面只定義了一個(gè)uint i,所以就這么用了
回復(fù)

使用道具 舉報(bào)

10#
ID:517235 發(fā)表于 2019-7-3 12:04 | 只看該作者
2448289424 發(fā)表于 2019-7-2 23:32
uchar code Tab0[]={0x01,0x02,0x03}; P3=Tab0[0] led1;亮  P3=Tab0[1] led2;亮 P3=Tab0[2] led12;亮, ...

感謝回復(fù),程序里只定義了一個(gè)uint i
回復(fù)

使用道具 舉報(bào)

11#
ID:577104 發(fā)表于 2019-7-3 13:55 | 只看該作者
越界訪問了
回復(fù)

使用道具 舉報(bào)

12#
ID:332444 發(fā)表于 2019-7-3 16:21 | 只看該作者
ealoo 發(fā)表于 2019-7-3 12:01
感謝回復(fù),我也是發(fā)完貼后發(fā)現(xiàn)程序引用數(shù)組的個(gè)數(shù)超出了范圍。
那么,超出后,從第5個(gè)i開始引用的數(shù)組按 ...

你只描述了異常,沒有說要實(shí)現(xiàn)什么功能,所以不知道如何回復(fù)了
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产精品久久久久久久久免费高清 | 精品欧美黑人一区二区三区 | 国产精品福利网站 | 国产精品爱久久久久久久 | 请别相信他免费喜剧电影在线观看 | 97伦理电影网 | 正在播放亚洲 | 波多野结衣在线观看一区二区三区 | 中文字幕在线观看一区二区 | 中国美女撒尿txxxxx视频 | www.色53色.com | 午夜私人影院在线观看 | 免费不卡av| 天天爱综合 | 日本高清不卡视频 | 久久成人免费 | 精品一二三区在线观看 | 亚洲视频精品 | 免费看欧美一级片 | 亚洲一区二区三区高清 | 殴美成人在线视频 | 麻豆视频在线免费观看 | 免费看国产片在线观看 | jizz视频| 亚洲人一区 | 日韩三级 | 欧美日韩一区二区三区四区五区 | 女人夜夜春 | 亚洲福利片 | 欧美五月婷婷 | 日韩免费中文字幕 | 99亚洲精品视频 | a欧美| 精品久久久久久 | 欧美精品久久 | 久久成人精品一区二区三区 | 国产精品美女 | 91一区二区| 午夜91| 精品欧美一区二区精品久久久 | www国产成人免费观看视频,深夜成人网 |