久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
基于51單片機的步進電機調速及下反轉控制LCD顯示程序+仿真
[打印本頁]
作者:
51mcu
時間:
2019-5-10 19:29
標題:
基于51單片機的步進電機調速及下反轉控制LCD顯示程序+仿真
基于51單片機的步進電機調速及下反轉控制LCD顯示,實現步進電機轉速調節以及步進電機正反轉控制。
全部資料51hei下載地址:
基于51單片機的步進電機調速及正反轉控制,LCD顯示.zip
(76.56 KB, 下載次數: 142)
2019-5-10 19:28 上傳
點擊文件名下載附件
單片機的步進電機調速及正反轉控制LCD顯示
下載積分: 黑幣 -5
步進電機調速及正反轉控制.jpg
(156.93 KB, 下載次數: 67)
下載附件
基于51單片機的步進電機調速及正反轉控制LCD顯示
2019-5-10 19:26 上傳
單片機源程序如下:
#include "AT89X51.h"
int delay();
void inti_lcd();
void show_lcd(int);
void cmd_wr();
void ShowState();
void clock(unsigned int Delay) ;
void DoSpeed(); //計算速度
//正轉值
#define RIGHT_RUN 1
//反轉值
#define LEFT_RUN 0
sbit RS=0xA0;
sbit RW=0xA1;
sbit E=0xA2;
char SpeedChar[]="SPEED(n/min):";
char StateChar[]="RUN STATE:";
char STATE_CW[]="CW";
char STATE_CCW[]="CCW";
char SPEED[3]="050";
unsigned int RunSpeed=50; //速度
unsigned char RunState=RIGHT_RUN; //運行狀態
main()
{
/*定時器設置*/
TMOD=0x66; //定時器0,1都為計數方式;方式2;
EA=1; //開中斷
TH0=0xff; //定時器0初值FFH;
TL0=0xff;
ET0=1;
TR0=1;
TH1=0xff; //定時器1初值FFH;
TL1=0xff;
ET1=1;
TR1=1;
IT0=1; //脈沖方式
EX0=1; //開外部中斷0:加速
IT1=1; //脈沖方式
EX1=1; //開外部中斷1:減速
inti_lcd();
DoSpeed();
ShowState();
while(1)
{
clock(RunSpeed);
P0_1=P0_1^0x01;
}
}
//定時器0中斷程序:正轉
void t_0(void) interrupt 1
{
RunState=RIGHT_RUN;
P0_0=1;
P1=0x01;
cmd_wr();
ShowState();
}
//定時器1中斷:反轉
void t_1(void) interrupt 3
{
RunState=LEFT_RUN;
P0_0=0;
P1=0x01;
cmd_wr();
ShowState();
}
//中斷0:加速程序
void SpeedUp() interrupt 0
{
if(RunSpeed>=12)
RunSpeed=RunSpeed-2;
DoSpeed();
P1=0x01;
cmd_wr();
ShowState();
}
//中斷1:減速程序
void SpeedDowm() interrupt 2
{
if(RunSpeed<=100)
RunSpeed=RunSpeed+2;
DoSpeed();
P1=0x01;
cmd_wr();
ShowState();
}
int delay() //判斷LCD是否忙
{
int a;
start:
RS=0;
RW=1;
E=0;
for(a=0;a<2;a++);
E=1;
P1=0xff;
if(P1_7==0)
return 0;
else
goto start;
}
void inti_lcd() //設置LCD方式
{
P1=0x38;
cmd_wr();
delay();
P1=0x01; //清除
cmd_wr();
delay();
P1=0x0f;
cmd_wr();
delay();
P1=0x06;
cmd_wr();
delay();
P1=0x0c;
cmd_wr();
delay();
}
void cmd_wr() //寫控制字
{
RS=0;
RW=0;
E=0;
E=1;
}
void show_lcd(int i) //LCD顯示子程序
{
P1=i;
RS=1;
RW=0;
E=0;
E=1;
}
void ShowState() //顯示狀態與速度
{
int i=0;
while(SpeedChar[i]!='\0')
{
delay();
show_lcd(SpeedChar[i]);
i++;
}
delay();
P1=0x80 | 0x0d;
cmd_wr();
i=0;
while(SPEED[i]!='\0')
{
delay();
show_lcd(SPEED[i]);
i++;
}
delay();
P1=0xC0;
cmd_wr();
i=0;
while(StateChar[i]!='\0')
{
delay();
show_lcd(StateChar[i]);
i++;
}
delay();
P1=0xC0 | 0x0A;
cmd_wr();
i=0;
if(RunState==RIGHT_RUN)
while(STATE_CW[i]!='\0')
{
delay();
show_lcd(STATE_CW[i]);
i++;
}
else
while(STATE_CCW[i]!='\0')
{
delay();
show_lcd(STATE_CCW[i]);
i++;
}
}
void clock(unsigned int Delay) //1ms延時程序
{ unsigned int i;
for(;Delay>0;Delay--)
for(i=0;i<124;i++);
}
void DoSpeed()
{
SPEED[0]=(1000*6/RunSpeed/100)+48;
SPEED[1]=1000*6/RunSpeed%100/10+48;
SPEED[2]=1000*6/RunSpeed%10+48;
}
復制代碼
作者:
hczz
時間:
2019-11-7 14:40
我下載您的程序,線路圖接法也是一樣的,為什么我的顯示屏不顯示東西啊
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
欧美一级二级视频
|
久草免费福利
|
成人午夜激情
|
欧美精品久久久久
|
国产偷久久一级精品60部
|
国产福利资源在线
|
亚洲精品视频一区二区三区
|
成人在线观看免费视频
|
日韩在线不卡
|
日日淫
|
www.中文字幕.com
|
韩国久久
|
久久久精品一区二区
|
最新国产精品
|
久久久精品一区二区三区
|
久久久久久国产免费视网址
|
免费成人高清在线视频
|
黄色毛片视频
|
一区二区亚洲
|
特级黄色毛片
|
在线免费观看毛片
|
成人欧美一区二区三区黑人孕妇
|
91精品国产综合久久久久久丝袜
|
国产午夜精品一区二区三区
|
亚洲美女一区
|
欧美成人激情视频
|
99r在线
|
午夜二区
|
亚洲综合一区二区三区
|
亚洲精品一二三
|
成人午夜精品
|
91精品国产一二三
|
色频
|
免费一区二区三区
|
最新黄色在线观看
|
亚洲色图第一页
|
欧美综合一区
|
亚洲精品久
|
久久91av
|
欧美极品在线视频
|
亚洲欧美日韩在线一区二区
|