




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
此文档收集于网络,如有侵权,请联系网站删除#include #include #include #define uchar unsigned char #define uint unsigned int#define LCD_data P0 /数据口sbit LCD_RS = P10; /寄存器选择输入 sbit LCD_RW = P11; /液晶读/写控制sbit LCD_EN = P12; /液晶使能控制sbit LCD_PSB = P13; /串/并方式控制sbit jia_key=P36; /电机加速I/O口定义sbit jian_key=P37; /电机减速I/O口定义sbit ting_key=P34; /电机停止I/O口定义sbit zf_key=P35; /电机正反转I/O定义bit flag=0; /电机正反转标志位uchar code dis1 = 欢迎您使用; uchar code dis2 = 基于单片机的;uchar code dis3 = 步进电机控制系统;uchar code dis4 = 步进电机正转;uchar code dis5 = 步进电机反转; uchar code dis6 = 当前步进电机转速;uchar code dis7 = 步进电机加速转动;uchar code dis8 = 步进电机减速转动;uchar code dis9 = 步进电机停止转动;uchar dis101; uchar code dis11 = 转每分;uchar num=0,show_num=2,maichong=4,table_begin=0;uchar code table1=0x01,0x02,0x04,0x08,0x08,0x04,0x02,0x01;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;void delay(uint x) uint i,j; for(j=0;jx;j+) for(i=0;i110;i+); /*/* */*写指令数据到LCD */*RS=L,RW=L,E=高脉冲,D0-D7=指令码。 */* */*/void write_cmd(uchar cmd) LCD_RS = 0; LCD_RW = 0; LCD_EN = 0; P0 = cmd;delay(5); LCD_EN = 1;delay(5); LCD_EN = 0; /*/* */*写显示数据到LCD */*RS=H,RW=L,E=高脉冲,D0-D7=数据。 */* */*/void write_dat(uchar dat) LCD_RS = 1; LCD_RW = 0; LCD_EN = 0; P0 = dat;delay(5); LCD_EN = 1;delay(5); LCD_EN = 0; /*/* */* 设定显示位置 */* */*/void lcd_pos(uchar X,uchar Y) uchar pos; if (X=0) X=0x80; else if (X=1) X=0x90; else if (X=2) X=0x88; else if (X=3) X=0x98; pos = X+Y ; write_cmd(pos); /显示地址/*/* */* LCD初始化设定 */* */*/void lcd_init() LCD_PSB = 1; /并口方式 write_cmd(0x30); /基本指令操作 delay(5); write_cmd(0x0C); /显示开,关光标 delay(5); write_cmd(0x01); /清除LCD的显示内容 delay(5);void huanying() uchar i; delay(10); /延时 lcd_init(); /初始化LCD lcd_pos(0,1); /设置显示位置为第一行的第1个字符i=0;while(dis1i !=0) write_dat(dis1i);i+; lcd_pos(1,1); /设置显示位置为第二行的第1个字符 i = 0; while(dis2i != 0) write_dat(dis2i); /显示字符 i+; lcd_pos(2,0); /设置显示位置为第三行的第1个字符 i = 0; while(dis3i != 0) write_dat(dis3i); /显示字符 i+; delay(1000); /延时 void display() dis100= (show_num)+0x30; void dispose() /根据速度标识进行数据处理 switch(num) case 0: show_num=2; /第一位显示的数字 maichong=5; /利用maichong数据控制送给电机脉冲的频率,控制速度 break;case 1: show_num=4; maichong=4;break;case 2: show_num=6; maichong=3;break;case 3: show_num=8; maichong=2;break; if(flag=0) table_begin=0; /flag为0,正转 else table_begin=4; /flag为1,反转void qudong() /电机速度,和正反转控制 uchar i,j; for(j=0+table_begin;j4+table_begin;j+) P1=table1j; /读取控制电机转动I/O口表 for(i=0;imaichong;i+) display(); /利用显示函数起延时作用,控制电机速度 void main() huanying(); while(1) dispose(); uchar i; if(jia_key=0) delay(5); /加速键按下,消抖 if(jia_key=0) num+; /速度标示加1 if(num=4) num=3; /达到最大3则保持 while(jia_key=0); /等待松开按键 write_cmd(0x01); lcd_pos(0,0); i = 0; while(dis7i != 0) write_dat(dis7i); i+; uchar i; lcd_pos(2,1); /设置显示位置为第一行的第1个字符display();for(i=0;i1;i+) write_dat(dis10i); lcd_pos(2,4); i = 0; while(dis11i != 0) write_dat(dis11i); i+; if(jian_key=0) delay(5); /减速键按下 if(jian_key=0) if(num!=0) num-; /速度标示减1 else num=0; /达到最小0则保持 while(jian_key=0); write_cmd(0x01); lcd_pos(0,0); i = 0; while(dis8i != 0) write_dat(dis8i); i+; uchar i; lcd_pos(2,1); /设置显示位置为第一行的第1个字符display();for(i=0;i1;i+) write_dat(dis10i); lcd_pos(2,4); i = 0; while(dis11i != 0) write_dat(dis11i); i+; if(zf_key=0) delay(5); /正反转按键按下 if(zf_key=0) flag=flag; /正反转标识取反 while(zf_key=0); if(flag=0) write_cmd(0x01); lcd_pos(0,1); i = 0; while(dis4i != 0) write_dat(dis4i); i+; uchar i; lcd_pos(2,1); /设置显示位置为第一行的第1个字符display();for(i=0;i1;i+) write_dat(dis10i); lcd_pos(2,4); i = 0; while(dis11i != 0) write_dat(dis11i); i+; else if(flag=1) write_cmd(0x01); lcd_pos(0,1); i = 0; while(dis5i != 0) write_dat(dis5i); i+; uchar i; lcd_pos(2,1); /设置显示位置为第一行的第1个字符display();for(i=0;i1;i+) write_dat(dis10i); lcd_pos(2,4); i = 0; w
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 体育产业发展战略研究
- 2025新能源行业协同创新体系构建报告:技术创新与产业融合
- 2025年现代教育技术试题及答案
- 2025劳动部违反〈劳动法〉有关劳动合同规定的赔偿办法
- 执法资格高分题库及完整答案详解(有一套)
- 招商银行天津市南开区2025秋招笔试创新题型专练及答案
- 中信银行南京市建邺区2025秋招结构化面试15问及话术
- 光大银行贵阳市花溪区2025秋招数据分析师笔试题及答案
- 平安银行佛山市禅城区2025秋招笔试专业知识题专练及答案
- 平安银行上海市杨浦区2025秋招笔试性格测试题专练及答案
- 全科医生培训个人总结
- 歌曲《wake》中英文歌词对照
- 2024年职教高考《机械制图》考试题库
- 电子政务概论-形考任务5(在线测试权重20%)-国开-参考资料
- 2024年贵州省贵阳市中考生物地理合卷试题(含答案逐题解析)
- DL∕T 2487-2022 电力燃煤机械名词术语
- 藏餐培训前台课程设计
- 对外投资合作国别(地区)指南 -玻利维亚-20240530-00504
- 19S406建筑排水管道安装-塑料管道
- 沪教版九年级上册化学第三章《物质构成的奥秘》检测卷(含答案解析)
- 薯片加工项目规划设计方案
评论
0/150
提交评论