|
關(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ī)源程序如下:
- #include <REG51.H>
- #include<intrins.h>
- sfr P3M0 = 0xB2; //0000,0000 端口3模式寄存器0
- sfr P3M1 = 0xB1; //0000,0000 端口3模式寄存器1
- #define uchar unsigned char
- #define uint unsigned int
- sbit led1=P3^0;
- sbit led2=P3^1;
- sbit led3=P3^3;
- sbit led4=P3^2;
- uchar code Tab0[]={0x02,0x02,0x02,0x03};//閃燈控制表
- uint i;
- /*****************************************************
- 函數(shù)功能:延時(shí)若Z*10毫秒
- 入口參數(shù):z
- ***************************************************/
- void delay(uint z)
- {
- uint i,j;
- for(i=z;i>0;i--)
- for(j=9200;j>0;j--);
- }
- void wordliang(void);
- /*****************************************************
- 函數(shù)功能:p1口燈循環(huán)點(diǎn)亮
- ***************************************************/
- main()
- {
- // uint i;
- P3M1=0x30; // IO口設(shè)值(工作模式)
- P3M0=0x0f; // IO口設(shè)值(工作模式)
- P3=0X00;
-
- while(1)
- {
-
-
- for(i=0;i<3;i++) //led1燈亮
- {
-
- P3=Tab0[i];
- delay(50);
- P3=0x00;
- delay(80);
- }
-
-
- for(i=3;i<6;i++) //led2燈亮
- {
-
- P3=Tab0[i] ;
- delay(50);
- P3=0x00;
- delay(80);
- }
-
-
-
-
- for(i=6;i<10;i++) //led1和led2燈一起亮
- {
-
- P3=Tab0[i] ;
- delay(50);
- P3=0x00;
- delay(80);
- }
-
-
- }
- }
復(fù)制代碼
|
|