STC89C52驅動直流電機基礎代碼
- /******************************************************/
- ** 作業4:步進的驅動 **
- ** 班 級:電氣15-3(創新)班 **
- ******************************************************/
- #include <reg52.h>
- #include <intrins.h>
- typedef unsigned char uchar;
- typedef unsigned int uint; //宏定義
- code uchar bujintable[]={1,2,4,8};//步進電機一相勵磁相序表
- void delay(uchar z)//延時程序
- {
- uchar x,y;
- for(x=z;x>0;x--)
- for(y=110;y>0;y--);
- }
- void main()
- {
- uchar i;
- while(1)
- {
- for(i=0;i<4;i++)
- {
- P1=bujintable[i];
- delay(20);
- }
- }
- }
復制代碼

- /******************************************************/
- ** 作業4:舵機的驅動 **
- ** 班 級:電氣15-3(創新)班 **
- ** 學 號:15501036 **
- ******************************************************/
- #include <reg51.h>
- typedef unsigned char uchar; //宏定義()
- typedef unsigned int uint;
- sbit duoji=P1^7;
- sbit s2=P3^4; //啟動
- uint unm=0;
- void delay(uchar z)
- {
- uchar x,y;
- for(x=z;x>0;x--)
- for(y=110;y>0;y--);
- }
- /****100微妙執行一次中斷**********/
- /*****100掃描一次*****************/
- void tiem() interrupt 1
- {
- TH0=(65536-100)/256;
- TL0=(65536-100)%256;//100微妙
- unm++;
- }
- void keycan()
- {
- if(unm==150) //15毫秒 等15毫秒后為高,也就是15毫秒的時間為低電平
- {
- duoji=1;
- }
- if(unm==200) //5毫秒 等加到200時,也就是5毫秒(5毫秒這段時間為高電平)
- {
- duoji=0;
- unm=0;
- while(1); //由低到高轉換完后程序停止
- }
- }
- void main()
- {
- duoji=0; //一開始舵機為低電平
- TMOD=0X01;
- TH0=(65536-100)/256;
- TL0=(65536-100)%256;
- EA=1; //開中斷
- ET0=1;
- TR0=1;
- while(1)
- {
- keycan();
- }
- }
復制代碼

- /******************************************************/
- ** 作業4:直流電機的驅動 **
- ** 班 級:電氣15-3(創新)班 **
- ******************************************************/
- #include <reg51.h>
- typedef unsigned char uchar; //宏定義()
- uchar jia,jian;
- sbit zhiliu=P1^7;
- sbit s2=P3^4; //快
- sbit s3=P3^5; //慢
- void delay(uchar z)
- {
- uchar x,y;
- for(x=z;x>0;x--)
- for(y=110;y>0;y--);
- }
- void key()
- {
- if(s2==0)
- {
- delay(5);
- if(s2==0)
- {
- jian--;jia++;
- if(jian==0){jian=100;jia=0;}
- }
- while(!s2);
- }
- }
- void main()
- {
- jia=0; //加
- jian=100;//減
- while(1)
- {
- key();
- zhiliu=1;
- delay(jian);
- zhiliu=0;
- delay(jia)
- }
- }
-
復制代碼

完整的Word格式文檔51黑下載地址:
作業4:直流步進舵機的驅動.docx
(3.05 MB, 下載次數: 28)
2018-9-27 16:30 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|