Snipaste_2019-11-23_22-03-55.png (41.47 KB, 下載次數: 90)
下載附件
2019-11-23 22:04 上傳
單片機源程序如下:
- #include<reg52.h>
- sbit KEY0=P0^0;
- sbit KEY1=P0^1;
- sbit KEY2=P0^2;
- sbit KEY3=P0^3;
- sbit KEY4=P0^4;
- unsigned char a[]={0x01,0x02,0x04,0x08};
- unsigned char b[]={0x08,0x04,0x02,0x01};
- unsigned char c[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8}; //共陽數碼管
- unsigned char i,s=0,f=0;
- unsigned char k=200;
- unsigned char l=4;
- void delay(unsigned int t)
- {
- unsigned char j,b;
- b=t;
- while(b--)
- {
- for (j=0;j<125;j++);
- }
- }
- void key()
- {P0=0x1f;
- if(P0!=0x1f)
- {
- delay(30);
- if(P0!=0x1f)
- {delay(30);
- if(KEY0==0){s=1;}
- if(KEY1==0){f=1;}
- if(KEY4==0){s=0;f=0;}
- if(KEY2==0)
- {if(l>1)l--;}
- if(KEY3==0)
- {if(l<7)l++;}
- }
- }
- }
- void speed()
-
- {
- switch(l)
- { case 7:k=50;P1=c[l];break;
- case 6:k=100;P1=c[l];break;
- case 5:k=150;P1=c[l];break;
- case 4:k=200;P1=c[l];break;
- case 3:k=250;P1=c[l];break;
- case 2:k=300;P1=c[l];break;
- case 1:k=350;P1=c[l];break;
- }
- }
- void main()
- {
- while(1)
- {
- key();
- while(s>0)
- {speed();
- for(i=0;i<4;i++)
- {
- P2=b[i];
- delay(k);
- key();
- }
- delay(100);
- key();
- }
- while(f>0)
- {
- speed();
- for(i=0;i<4;i++)
- {
- P2=a[i];
- delay(k);
- key();
- }
- delay(100);
- key();
- }
- }
- }
復制代碼
所有資料51hei提供下載:
步進電機.zip
(43.11 KB, 下載次數: 85)
2019-11-23 22:02 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|