51單片機控制步進電機轉(zhuǎn)動以及用lcd1602顯示
#include
#define uchar unsigned char
#define uint unsigned int
#define delayNOP(); {_nop_();_nop_();_nop_();_nop_();};
uchar code FFW[8]={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9};//30度
uchar code REV[8]={0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1};//30度
sbit K1 = P1^4; //運行與停止
sbit K2 = P1^5; //設(shè)定圈數(shù)
sbit K3 = P1^6; //方向轉(zhuǎn)換
sbit K4 = P1^7; //速率調(diào)整
sbit BEEP = P3^7; //蜂鳴器
sbit LCD_RS = P2^0;
sbit LCD_RW = P2^1;
sbit LCD_EN = P2^2;
bit on_off=0; //運行與停止標(biāo)志
bit direction=1; //方向標(biāo)志
bit rate_dr=1; //速率標(biāo)志
bit snum_dr=1; //圈數(shù)標(biāo)志
uchar code cdis1[ ] = {" STEPPING MOTOR "};
uchar code cdis2[ ] = {"CONTROL PROCESS"};
uchar code cdis3[ ] = {" STOP "};
uchar code cdis4[ ] = {"NUM: RATE: "};
uchar code cdis5[ ] = {" RUNNING "};
uchar m,v=0,q=0;
uchar number=0,number1=0;
uchar snum=5,snum1=5; //預(yù)設(shè)定圈數(shù)
uchar rate=8; //預(yù)設(shè)定速率
uchar data_temp,data_temp1,data_temp2;
void delay(uint t)
{
}
void delayB(uchar x) //x*0.14MS
void beep()
bit lcd_busy()
void lcd_wcmd(uchar cmd)
{
}
void lcd_wdat(uchar dat)
{
}
void lcd_init()
{
}
void lcd_pos(uchar pos)
{
}
void LCD_init_DIS()
{