?? step.c
字號:
//步進電機驅動程序
//編寫:王志炎
//日期:2007年5月5日
#include<reg51.h>
sbit PUL=P0^5;//PUL脈沖控制信號,上升沿有效.
sbit DIR=P0^6;//DIR方向控制,高低電平.
sbit ENA=P0^7;//ENA使能信號,高電平使能.
sbit KEY=P1^7;//KEY啟動開關,按住運行.
/*******************************************************************************
函數:Delay()
功能:延時0.01s~2.56s
參數:t>0 時,延時(t*0.01)s
t=0 時,延時2.56s
說明:定時10ms 的定時器初值=65536-0.01/(1/(f/12)),其中f 為晶振頻率
*******************************************************************************/
void Delay(unsigned char t)
{
do
{
TH0 = 0xFF; //設置定時器初值(定時10ms)
TL0 = 0xF0;
TR0 = 1; //啟動定時器
while ( !TF0 ); //等待定時器溢出
TR0 = 0; //停止定時器
TF0 = 0; //清除溢出標志
}
while ( --t != 0 ); //循環t 次
}
//主函數
void main()
{
//unsigned char i;
KEY=0;
DIR=1;
ENA=0;
while (KEY)
{
unsigned long i;
TMOD &= 0xF0; //T0 設置在方式1,即16 位定時器(不影響T1 的模式)
TMOD |= 0x01;
ENA=1;
for(i=4000;i>0;i--)
//while(KEY)
{
PUL=1;
Delay(10);
PUL=0;
Delay(10);
}
DIR=0;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -