|
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
51hei.png (19.3 KB, 下載次數(shù): 68)
下載附件
2020-4-20 00:05 上傳
單片機(jī)源程序如下:
- #include<reg52.h>
- #define num_sec 4 //多少秒
- #define num_run 10000 //轉(zhuǎn)的圈數(shù)
- #define num_cry 100 //叫的次數(shù)
- sbit bee=P1^7;
- sbit m1=P1^6;
- sbit m2=P1^5;
- sbit key=P1^4;
- unsigned char cir=0,num50ms=0;
- unsigned int n=0;
- void delay1ms(unsigned int count)
- {
- unsigned int i,j;
- for(i=0;i<count;i++)
- for(j=0;j<120;j++);
- }
- void cry(unsigned char c)
- {
- unsigned k;
- for(k=0;k<c;k++)
- {
- bee=0;
- delay1ms(80);
- bee=1;
- delay1ms(80);
- }
- }
- void time0(void) interrupt 1 using 1
- {
- num50ms++; //STC12C2052
- if(num50ms==(num_sec*20)) //20為1秒
- {
- m1=~m1;
- m2=~m2;
- num50ms=0;
- cir++;
- }
- if(cir==2)
- {
- cir=0;
- n++;
- }
- TH0=0X4C;
- TL0=0;
- }
- main()
- {
- m1=1;m2=1;
- bee=1;
- while(1)
- {
- if(!key&&n==0)
- {
- delay1ms(20);
- if(!key)
- {
- TMOD=0x01;
- EA=1;
- ET0=1;
- TH0=0X4C;
- TL0=0;
- TR0=1;
- m1=1;
- m2=0;
- bee=0;
- delay1ms(100);
- bee=1;
- }
- while(!key);
- }
- if(n==num_run)
- {
- TR0=0;
- m1=1;
- m2=1;
- cry(num_cry);
- n=0;
- }
- }
- }
復(fù)制代碼
51hei.png (11.23 KB, 下載次數(shù): 74)
下載附件
2020-4-20 00:06 上傳
所有資料51hei提供下載:
PWM電機(jī)正反轉(zhuǎn).rar
(66.07 KB, 下載次數(shù): 17)
2020-4-19 22:30 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|