|
源程序:
- #include<regx51.h>
- #include<intrins.h>
- void delay(unsigned int i)
- {
- while(i--);
- }
- void move_l(unsigned char p)
- {
- unsigned char i;
- P1=p;
- for(i=0;i<8;i++)
- {
- delay(20000);
- P1=_crol_(P1,1);
- }
- }
- void move_r(unsigned char p)
- {
- unsigned char i;
- P1=p;
- for(i=0;i<8;i++)
- {
- delay(20000);
- P1=_cror_(P1,1);
- }
- }
- void move_to_m(unsigned char p)
- {
- unsigned char i;
- for(i=0;i<4;i++)
- {
- P1=((p<<i)&0x0F)|(0xF0&(p>>i));
- delay(20000);
- }
- }
- void move_from_m(unsigned char p)
- {
- unsigned char i;
- for(i=0;i<4;i++)
- {
- P1=((p&0xF0)<<i)|((p&0x0F)>>i);
- delay(20000);
- }
- }
- void main()
- {
- unsigned char sw;
- while(1)
- {
- sw=P0&0x3f;
- switch(sw)
- {
- case 0x3e:move_l(0xfe);break;
- case 0x3d:move_r(0x7f);break;
- case 0x3b:move_l(0xfc);break;
- case 0x37:move_r(0x3f);break;
- case 0x2f:move_to_m(0x7e);break;
- case 0x1f:move_from_m(0xe7);break;
- default:P1=0xff;break;
- }
- }
- }
复制代码
下载:
开关霓虹灯.zip
(49.77 KB, 下载次数: 27)
|
评分
-
查看全部评分
|