91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 5.24KB
    文件類型: .rar
    金幣: 1
    下載: 0 次
    發布日期: 2024-04-20
  • 語言: C/C++
  • 標簽: 步進電機??電機??

資源簡介

步進電機調速原理.c

資源截圖

代碼片段和文件信息

/*-----------------------------------------------
??名稱:步進電機
??論壇:www.doflye.net
??編寫:shifang
??日期:2009.5
??修改:無
??內容:本程序用于測試4相步進電機常規驅動?2個按鍵?調節速度?
????????使用1-2相勵磁
數碼管顯示?1-5速度等級,數字越大,速度越小
?------------------------------------------------*/

#include?

#define?KeyPort?P3
#define?DataPort?P0?//定義數據端口?程序中遇到DataPort?則用P0?替換
sbit?LATCH1=P2^2;//定義鎖存使能端口?段鎖存
sbit?LATCH2=P2^3;//?????????????????位鎖存

unsigned?char?code?dofly_DuanMa[10]={0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f};//?顯示段碼值0~9
unsigned?char?code?dofly_WeiMa[]={0xfe0xfd0xfb0xf70xef0xdf0xbf0x7f};//分別對應相應的數碼管點亮即位碼
unsigned?char?TempData[8];?//存儲顯示值的全局變量

sbit?A1=P1^0;?//定義步進電機連接端口
sbit?B1=P1^1;
sbit?C1=P1^2;
sbit?D1=P1^3;


#define?Coil_AB1?{A1=1;B1=1;C1=0;D1=0;}//AB相通電,其他相斷電
#define?Coil_BC1?{A1=0;B1=1;C1=1;D1=0;}//BC相通電,其他相斷電
#define?Coil_CD1?{A1=0;B1=0;C1=1;D1=1;}//CD相通電,其他相斷電
#define?Coil_DA1?{A1=1;B1=0;C1=0;D1=1;}//D相通電,其他相斷電
#define?Coil_A1?{A1=1;B1=0;C1=0;D1=0;}//A相通電,其他相斷電
#define?Coil_B1?{A1=0;B1=1;C1=0;D1=0;}//B相通電,其他相斷電
#define?Coil_C1?{A1=0;B1=0;C1=1;D1=0;}//C相通電,其他相斷電
#define?Coil_D1?{A1=0;B1=0;C1=0;D1=1;}//D相通電,其他相斷電
#define?Coil_OFF?{A1=0;B1=0;C1=0;D1=0;}//全部斷電

unsigned?char?Speed=1;
bit?StopFlag;
void?Display(unsigned?char?FirstBitunsigned?char?Num);
void?Init_Timer0(void);
unsigned?char?KeyScan(void);
/*------------------------------------------------
?uS延時函數,含有輸入參數?unsigned?char?t,無返回值
?unsigned?char?是定義無符號字符變量,其值的范圍是
?0~255?這里使用晶振12M,精確延時請使用匯編大致延時
?長度如下?T=tx2+5?uS?
------------------------------------------------*/
void?DelayUs2x(unsigned?char?t)
{???
?while(--t);
}
/*------------------------------------------------
?mS延時函數,含有輸入參數?unsigned?char?t,無返回值
?unsigned?char?是定義無符號字符變量,其值的范圍是
?0~255?這里使用晶振12M,精確延時請使用匯編
------------------------------------------------*/
void?DelayMs(unsigned?char?t)
{
?????
?while(t--)
?{
?????//大致延時1mS
?????DelayUs2x(245);
?DelayUs2x(245);
?}
}
/*------------------------------------------------
????????????????????主函數
------------------------------------------------*/
main()
{
?unsigned?int?i=512;//旋轉一周時間
?unsigned?char?num;
?Init_Timer0();
?Coil_OFF
?while(1)??//正向
??{?
???num=KeyScan();????//循環調用按鍵掃描
???if(num==1)//第一個按鍵速度等級增加
??????{
???if(Speed<5)
???Speed++;
??}
???else?if(num==2)//第二個按鍵,速度等級減小
??????{
???if(Speed>1)
???Speed--;

評論

共有 條評論