- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机控制步进电机及1602
单片机控制步进电机及1602
2010-04-12 19:35
最近无聊,学了点单片机,用一用。
只按第一个键,步进电机正向运动,而且LED显on。
只按第二个键时,步进电机反向运动,且LED显off.
其他时候显示stop,步进电机停止运动。其C语言编制为:
#includereg52.hsbit LCDRS=P2^7;//数据指令控制sbit LCDRW=P2^6;//读写控制sbit LCDEN=P2^5;//液晶屏使能控制sbit A=P2^0;?? //定义两个按键sbit X=P2^1;//**********延时函数,延时n*1ms*********void delay(unsigned char n){???????? int i,j;for (i=0; in; i++)???????????? for (j=0; j100; j++) ;????????????????? }//***********正向运动***两周*****void zhengxiang(){??? unsigned int g=0x01;?? int c;???? P1=g; ?? for(c=0;c8;c++)?? //正向运动两周?? {?? g=g2;?? P1=g;?? delay(30);???? }}//**********停止运动*****void?? tingzhi(){?? P1=0x0FF;????? delay(100);???????? }//**********反向运动两周********void?? fanxiang(){??? unsigned int g=0x01;?? int c;???? P1=g; ?? for(c=0;c8;c++)?? //反向运动动两周?? {?? g=g2;?? P1=g;?? delay(30);}}?? //*************写命令***************void Write_Cmd(unsigned char C){LCDEN=0;//使能端,由高电平跳变成低电平时,液晶屏模块执行命令LCDRS=0;//指令寄存器选择P0=C;delay(5);LCDEN=1;delay(5);LCDEN=0;}
//**************写数据**************void Write_Data(unsigned char D){LCDEN=0;//使能端,由高电平跳变成低电平时,液晶屏模块执行命令LCDRS=1;//选择数据寄存器P0=D;
delay(5);LCDEN=1;delay(5);LCDEN=0;}
//**********LCD初始化*****************void LCD_Init(){LCDRS=0;//指令寄存器选择Write_Cmd(0x01);//清屏Write_Cmd(0x38);//功能设置8位双行显示5*7点阵Write_Cmd(0x0C);//开关显示设置Write_Cmd(0x06);//输入方式设置,光标从左向右移动,内容不移动}//*********显示开了0n**********void on(){unsigned char Code1[]=on! ;unsigned char m;
LCDRW=0;//写选择
LCD_Init();Write_Cmd(0x81);//写入显示缓冲区起始地址为1行2列
for(m=0;m3;m++){Write_Data(Code1[m]);delay(5);
}}//**********显示关off**********void OFF(){unsigned char Code2[]=OFF;unsigned char m;
LCDRW=0;//写选择
LCD_Init();Write_Cmd(0x81);//写入显示缓冲区起始地址为1行2列
for(m=0;m3;m++){Write_Data(Code2[m]);delay(5);
}}//*********显示stop*********void stop(){unsigned char Code3[]=stop;unsigned char m;
LCDRW=0;//写选择
LCD_Init();Write_Cmd(0x81);//写入显示缓冲区起始地址为1行2列
for(m=0;m4;m++){Write_Data(Code3[m]);delay(5); }
}/////////////主函、、、、、、v
您可能关注的文档
- 综合实践课例环保.doc
- 第十一节通道.doc
- 模块七介词和连词.doc
- 小型水库管理考核办法.doc
- 20120615高一下数学期末复习卷.doc
- 06年录用考试面试试题.doc
- 四年级下期科学燃烧的蜡烛(课件).ppt
- 语文课上如何调动学生的积极性.doc
- 帮助调试函数.doc
- 2008年山西省太原市中考数学试题及答案收集.doc
- 2025医院卫生院医德医风考评细则方案.docx
- 2025学年四川省内江市【国家公务员】公共基础知识预测试题含答案.docx
- 2025医院卫生院改进医疗服务专项行动实施方案.docx
- 2025上半年湖北省十堰市郧阳区事业单位《公共基础知识》试题及答案.docx
- 2025学年云南省昆明市国家公务员公共基础知识预测试题含答案.docx
- 2025医院公开招聘简章(模板).docx
- 2025医院卫生院采购询价管理细则(最新版).docx
- 2025医共体医院分级诊疗双向转诊实施方案.docx
- 2025深入贯彻中央八项规定精神学习教育应知应会50题题库(含答案).docx
- 2025上海社区《网格员》考前模拟题(含答案).docx
文档评论(0)