|
用AT89C51實(shí)現(xiàn)各開(kāi)關(guān)對(duì)應(yīng)流水形式,按下一個(gè)開(kāi)關(guān)實(shí)現(xiàn)一種,當(dāng)同時(shí)按下兩個(gè)開(kāi)關(guān)時(shí)停止工作。
Protues原理圖
新人初次發(fā)帖,各位壇友多多關(guān)照
Protues原理圖.png (106.23 KB, 下載次數(shù): 61)
下載附件
Protues原理圖
2016-12-11 20:47 上傳
源程序:
- #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;
- }
- }
- }
復(fù)制代碼
0.png (59.44 KB, 下載次數(shù): 48)
下載附件
2016-12-31 21:15 上傳
多開(kāi)關(guān)控制LED霓虹流水形式仿真工程文件及源程序下載:
開(kāi)關(guān)霓虹燈.zip
(49.77 KB, 下載次數(shù): 16)
2016-12-11 20:49 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|