51单片机步进电机正反转调速1602显示(共8页).docx
《51单片机步进电机正反转调速1602显示(共8页).docx》由会员分享,可在线阅读,更多相关《51单片机步进电机正反转调速1602显示(共8页).docx(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上51单片机步进电机正反转调速1602显示 - C51源代码#include /51芯片管脚定义头文件#include /内部包含延时函数 _nop_();#define uchar unsigned char#define uint unsigned int#define delayNOP(); _nop_();_nop_();_nop_();_nop_();uchar code FFW8=0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9;uchar code REV8=0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3
2、,0xf1;sbit K1 = P32; /运行与停止sbit K2 = P33; /设定圈数sbit K3 = P34; /方向转换sbit K4 = P35; /速率调整sbit BEEP = P36; /蜂鸣器sbit LCD_RS = P20; sbit LCD_RW = P21;sbit LCD_EN = P22;bit on_off=0; /运行与停止标志bit direction=1; /方向标志bit rate_dr=1; /速率标志bit snum_dr=1; /圈数标志uchar code cdis1 = STEPPING MOTOR ;uchar code cdis2 =
3、 CONTROL PROCESS;uchar code cdis3 = STOP ;uchar code cdis4 = NUM: RATE: ;uchar code cdis5 = RUNNING ;uchar m,v=0,q=0;uint number=0,number1=0; uchar snum=10,snum1=10; /预设定圈数uchar rate=2; /预设定速率uchar data_temp,data_temP1,data_temp2; /*/* /* 延时t毫秒 /* 11.0592MHz时钟,延时约1ms /* /*/void delay(uint t) uchar k
4、; while(t-) for(k=0; k125; k+) /*/void delayB(uchar x) /x*0.14MS uchar i; while(x-) for (i=0; i13; i+) /*/void beep() uchar j; for (j=0;j100;j+) delayB(4); BEEP=!BEEP; /BEEP取反 BEEP=1; /关闭蜂鸣器 delay(170); /*/* /*检查LCD忙状态 /*lcd_busy为1时,忙,等待。为0时,闲,可写指令与数据。 /* /*/ bit lcd_busy() bit result; LCD_RS = 0; L
5、CD_RW = 1; LCD_EN = 1; delayNOP(); result = (bit)(P0&0x80); LCD_EN = 0; return(result); /*/* /*写指令数据到LCD /*RS=L,RW=L,E=高脉冲,D0-D7=指令码。 /* /*/void lcd_wcmd(uchar cmd) while(lcd_busy(); LCD_RS = 0; LCD_RW = 0; LCD_EN = 0; _nop_(); _nop_(); P0 = cmd; delayNOP(); LCD_EN = 1; delayNOP(); LCD_EN = 0; /*/*
6、/*写显示数据到LCD /*RS=H,RW=L,E=高脉冲,D0-D7=数据。 /* /*/void lcd_wdat(uchar dat) while(lcd_busy(); LCD_RS = 1; LCD_RW = 0; LCD_EN = 0; P0 = dat; delayNOP(); LCD_EN = 1; delayNOP(); LCD_EN = 0; /*/* /* LCD初始化设定 /* /*/void lcd_init() delay(30); lcd_wcmd(0x38); /16*2显示,5*7点阵,8位数据 delay(5); lcd_wcmd(0x38); delay(
7、5); lcd_wcmd(0x38); delay(5); lcd_wcmd(0x0c); /显示开,关光标 delay(5); lcd_wcmd(0x06); /移动光标 delay(5); lcd_wcmd(0x01); /清除LCD的显示内容 delay(5);/*/* /* 设定显示位置 /* /*/void lcd_pos(uchar pos) lcd_wcmd(pos | 0x80); /数据指针=80+地址变量/*/* /* LCD1602初始显示子程序 /* /*/void LCD_init_DIS() delay(10); /延时 lcd_init(); /初始化LCD lc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 51 单片机 步进 电机 反转 调速 1602 显示
限制150内