|
如題所示
講述用按鍵控制電機(jī)的正反轉(zhuǎn)
下面請各位爺入席就坐,表演即將開始。
要求:按下S1電機(jī)正轉(zhuǎn)(PNP驅(qū)動,12V繼電器控制)
按下S2電機(jī)反轉(zhuǎn)
按下S3電機(jī)停止 為了方便仿真,我用的是5V繼電器以及5V直流電機(jī)
直接上仿真圖
1.png (193.55 KB, 下載次數(shù): 77)
下載附件
2019-2-13 19:25 上傳
單片機(jī)源程序如下:
- /**************電機(jī)正反轉(zhuǎn)*******************/
- #include<reg51.h>
- #define uchar unsigned char
- #define uint unsigned int
- sbit Fwd=P2^0;
- sbit Rev=P2^1;
- sbit s1=P1^0; //電機(jī)正轉(zhuǎn)
- sbit s2=P1^1; //電機(jī)反轉(zhuǎn)
- sbit s3=P1^2; //電機(jī)停止
- /**********延時(shí)函數(shù)**************/
- void delayms(uint xms)
- {
- uint i,j;
- for(i=xms;i>0;i--)
- for(j=110;j>0;j--);
- }
- void key()
- {
- /*****電機(jī)正轉(zhuǎn)*******/
- if(s1==0)
- {
- delayms(50);
- if(s1==0)
- {
- Fwd=1;
- Rev=0;
- }
- while(!s1);
- }
- /*****電機(jī)反轉(zhuǎn)*******/
- if(s2==0)
- {
- delayms(50);
- if(s2==0)
- {
- Fwd=0;
- Rev=1;
- }
- while(!s2);
- }
- /*****電機(jī)停止*******/
- if(s3==0)
- {
- delayms(50);
- if(s3==0)
- {
- Fwd=1;
- Rev=1;
- }
- while(!s3);
- }
- }
- /**************主函數(shù)**********/
- void main()
- {
- while(1)
- {
- key();
- }
- }
復(fù)制代碼
所有資料51hei提供下載:
電機(jī)正反轉(zhuǎn).rar
(34.9 KB, 下載次數(shù): 67)
2019-2-13 19:26 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
評分
-
查看全部評分
|