|
这是基础部分,对初学有最大帮助,里面还有程序和仿真
大家可以去学习下- #include "reg52.h"
- #include "intrins.h"
- typedef unsigned char u8;
- typedef unsigned int u16;
- sbit led1=P1^0;
- sbit led2=P1^1;
- sbit led3=P1^2;
- sbit led4=P1^3;
- sbit key1=P3^0;
- sbit key2=P3^2;
- sbit key3=P3^4;
- sbit key4=P3^6;
- void delay(u16 i)
- {
- while(i--)
- ;
- }
- void keypros()
- {
- u8 i;
- delay(1000);
- if(key1==0)
- {
- P1=0xfe; //1111 1110 D0亮 其他不亮
- delay(50000);
- while (1)
- {
- for(i=0;i<7;i++)
- {
- P1=_crol_(P1,1); // 左移 0xfe 1111 1011 1110 1111 1011 1111
- delay(50000);
- }
- //0111 1111
- for(i=0;i<7;i++)
- {
- P1=_cror_(P1,1); //右移
- delay(50000);
- }
- }
- }while(!key1);
-
- delay(1000);
- if(key3==0)
- {
- P1=0xfe; //1111 1110 D0亮 其他不亮
- delay(50000);
- while (1)
- {
- for(i=0;i<7;i++)
- {
- P1=_crol_(P1,1); // 左移 0xfe 1111 1011 1110 1111 1011 1111
- delay(50000);
- }
- }while(!key3);
- }
-
- delay(1000);
- if(key4==0)
- {
- P1=0x7f;
- delay(50000);
- while(1)
- {
- for(i=0;i<7;i++)
- {
- P1=_cror_(P1,1); //右移
- delay(50000);
- }
- }
- }while(!key4);
-
-
- }
-
- void main()
- {
- P1=0xff;
- while(1)
- {
- keypros();
- }
- }
复制代码
|
|