当前位置: 首页>关注 >
Proteus教程:步进电机
2023-06-14 12:39:09 来源:Harmony&嵌入式学习
(资料图片)
视频教程:https://www.bilibili.com/video/BV1fF411K79x
#include#include #define uchar unsigned char#define uint unsigned int#define LCD1602_DATAPINS P0sbit LCD1602_E=P2^2;sbit LCD1602_RW=P2^1;sbit LCD1602_RS=P2^0;sbit MA_1 = P1^0;sbit MA_2 = P1^1;sbit MA_3 = P1^2;sbit MA_4 = P1^3;sbit MB_1 = P1^4;sbit MB_2 = P1^5;sbit MB_3 = P1^6;sbit MB_4 = P1^7;uchar flag;unsigned char code M_A[8]={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9}; //X反转顺序unsigned char code M_B[8]={0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1}; //X正转顺序/******************************************************************************** 函 数 名 : Delay* 函数功能 : 延时*******************************************************************************/void DDelay(unsigned int t){ unsigned int k; while(t--) {for(k=0; k<80; k++); }}/******************************************************************************** 函 数 名 : Lcd1602_Delay1ms* 函数功能 : 延时函数,延时1ms* 输 入 : c* 输 出 : 无* 说 名 : 该函数是在12MHZ晶振下,12分频单片机的延时。*******************************************************************************/void Lcd1602_Delay1ms(uint c) //误差 0us{ uchar a,b;for (; c>0; c--){ for (b=199;b>0;b--) { for(a=1;a>0;a--); } } }/******************************************************************************** 函 数 名 : LcdWriteCom* 函数功能 : 向LCD写入一个字节的命令* 输 入 : com* 输 出 : 无*******************************************************************************/void LcdWriteCom(uchar com) //写入命令{LCD1602_E = 0; //使能LCD1602_RS = 0; //选择发送命令LCD1602_RW = 0; //选择写入LCD1602_DATAPINS = com; //放入命令Lcd1602_Delay1ms(1);//等待数据稳定LCD1602_E = 1; //写入时序Lcd1602_Delay1ms(5); //保持时间LCD1602_E = 0;}/******************************************************************************** 函 数 名 : LcdWriteData* 函数功能 : 向LCD写入一个字节的数据* 输 入 : dat* 输 出 : 无*******************************************************************************/ void LcdWriteData(uchar dat)//写入数据{LCD1602_E = 0;//使能清零LCD1602_RS = 1;//选择输入数据LCD1602_RW = 0;//选择写入LCD1602_DATAPINS = dat; //写入数据Lcd1602_Delay1ms(1);LCD1602_E = 1; //写入时序Lcd1602_Delay1ms(5); //保持时间LCD1602_E = 0;}/******************************************************************************** 函 数 名 : LcdInit()* 函数功能 : 初始化LCD屏* 输 入 : 无* 输 出 : 无*******************************************************************************/ void LcdInit() //LCD初始化子程序{ LcdWriteCom(0x38); //开显示LcdWriteCom(0x0c); //开显示不显示光标LcdWriteCom(0x06); //写一个指针加1LcdWriteCom(0x01); //清屏LcdWriteCom(0x80); //设置数据指针起点}//按指定位置显示一个字符void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData){ Y &= 0x1; X &= 0xF; //限制X不能大于15,Y不能大于1 if (Y) X |= 0x40; //当要显示第二行时地址码+0x40; X |= 0x80; // 算出指令码 LcdWriteCom(X); //这里不检测忙信号,发送地址码 LcdWriteData(DData);}//按指定位置显示一串字符void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData){ unsigned char ListLength; ListLength = 0; Y &= 0x1; X &= 0xF; //限制X不能大于15,Y不能大于1 while (DData[ListLength]>=0x20) //若到达字串尾则退出 { if (X <= 0xF) //X坐标应小于0xF { DisplayOneChar(X, Y, DData[ListLength]); //显示单个字符 ListLength++; X++; } }}//unsigned char code M_A[8]={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9}; //X反转顺序//unsigned char code M_B[8]={0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1}; //X正转顺序void Motor_A1(){DDelay(3);MA_1 = 0;MA_2 = 0;MA_3 = 0;MA_4 = 1;DDelay(3);MA_1 = 0;MA_2 = 0;MA_3 = 1;MA_4 = 1;DDelay(3);MA_1 = 0;MA_2 = 0;MA_3 = 1;MA_4 = 0;DDelay(3);MA_1 = 0;MA_2 = 1;MA_3 = 1;MA_4 = 0;DDelay(3);MA_1 = 0;MA_2 = 1;MA_3 = 0;MA_4 = 0;DDelay(3);MA_1 = 1;MA_2 = 1;MA_3 = 0;MA_4 = 0;DDelay(3);MA_1 = 1;MA_2 = 0;MA_3 = 0;MA_4 = 0;DDelay(3);MA_1 = 1;MA_2 = 0;MA_3 = 0;MA_4 = 1;}//unsigned char code M_B[8]={0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1}; //X正转顺序void Motor_A2(){DDelay(3);MA_1 = 1;MA_2 = 0;MA_3 = 0;MA_4 = 1;DDelay(3);MA_1 = 1;MA_2 = 0;MA_3 = 0;MA_4 = 0;DDelay(3);MA_1 = 1;MA_2 = 1;MA_3 = 0;MA_4 = 0;DDelay(3);MA_1 = 0;MA_2 = 1;MA_3 = 0;MA_4 = 0;DDelay(3);MA_1 = 0;MA_2 = 1;MA_3 = 1;MA_4 = 0;DDelay(3);MA_1 = 0;MA_2 = 0;MA_3 = 1;MA_4 = 0;DDelay(3);MA_1 = 0;MA_2 = 0;MA_3 = 1;MA_4 = 1;DDelay(3);MA_1 = 0;MA_2 = 0;MA_3 = 0;MA_4 = 1;}void Motor_B1(){DDelay(3);MB_1 = 0;MB_2 = 0;MB_3 = 0;MB_4 = 1;DDelay(3);MB_1 = 0;MB_2 = 0;MB_3 = 1;MB_4 = 1;DDelay(3);MB_1 = 0;MB_2 = 0;MB_3 = 1;MB_4 = 0;DDelay(3);MB_1 = 0;MB_2 = 1;MB_3 = 1;MB_4 = 0;DDelay(3);MB_1 = 0;MB_2 = 1;MB_3 = 0;MB_4 = 0;DDelay(3);MB_1 = 1;MB_2 = 1;MB_3 = 0;MB_4 = 0;DDelay(3);MB_1 = 1;MB_2 = 0;MB_3 = 0;MB_4 = 0;DDelay(3);MB_1 = 1;MB_2 = 0;MB_3 = 0;MB_4 = 1;}void Motor_B2(){DDelay(3);MB_1 = 1;MB_2 = 0;MB_3 = 0;MB_4 = 1;DDelay(3);MB_1 = 1;MB_2 = 0;MB_3 = 0;MB_4 = 0;DDelay(3);MB_1 = 1;MB_2 = 1;MB_3 = 0;MB_4 = 0;DDelay(3);MB_1 = 0;MB_2 = 1;MB_3 = 0;MB_4 = 0;DDelay(3);MB_1 = 0;MB_2 = 1;MB_3 = 1;MB_4 = 0;DDelay(3);MB_1 = 0;MB_2 = 0;MB_3 = 1;MB_4 = 0;DDelay(3);MB_1 = 0;MB_2 = 0;MB_3 = 1;MB_4 = 1;DDelay(3);MB_1 = 0;MB_2 = 0;MB_3 = 0;MB_4 = 1;}void M_Con(uchar id,uchar dir,uint step){uchar i;if(id == 0){if(dir == 0){for(i=0;i=step2){num = step1 - step2;for(i=0;i
审核编辑:汤梓红 关键词:
为你推荐
-
Proteus教程:步进电机
-
瑞尔特:目前年产120万套智能卫浴产品生产基地建设项目新产线已实施完毕,处于待投产状态
-
世界今亮点!隔空取物是什么意思呀_隔空取物是什么意思
-
饮尚宝玻璃空气炸锅制造商Instant Brands申请破产-天天快播
-
亲近乌梁素海
-
今日最新!对阵缅甸 中国男足全力出击确保首战胜利
-
新概念英语第一册要点练习(19)|焦点信息
-
美总统参选人黑莉:特朗普若因“密件风波”被定罪 我倾向赦免他
-
“一桌饭菜收费3次”情况不属实 错收3400元已退还
-
维护秩序(维护)|全球播报
-
全球视点!西部(重庆)科学城:深化科技体制改革 精准支持科技型企业加快科技成果转化
-
深海不孤单_深海的孤单-环球快讯
-
世界焦点!versace jeans couture_versace jeans
-
宗月大师原文_宗月大师
-
罗马诺:拜仁从未接近签下赖斯,他们一开始就知道赖斯想留英超
-
空气炸锅能做面包吗 空气炸锅能做面包吗拿什么锅做
-
积分怎么求偏导_积分怎么求-环球看热讯
-
交通工程专业厉害的学校有哪些排名前十名考研个好
-
快问|明星分析师不满奖金出走?本人回应:完全不实!-全球视讯
-
天天消息!丁雄军股东大会回应飞天茅台提价:价格需要科学、全面看待,如何提价需要智慧
推荐内容
- Proteus教程:步进电机
- 瑞尔特:目前年产120万套智能卫浴产品生产基地建
- 世界今亮点!隔空取物是什么意思呀_隔空取物是什
- 饮尚宝玻璃空气炸锅制造商Instant Brands申请破
- 亲近乌梁素海
- 今日最新!对阵缅甸 中国男足全力出击确保首战胜利
- 新概念英语第一册要点练习(19)|焦点信息
- 美总统参选人黑莉:特朗普若因“密件风波”被定罪
- “一桌饭菜收费3次”情况不属实 错收3400元已退还
- 维护秩序(维护)|全球播报
- 全球视点!西部(重庆)科学城:深化科技体制改革
- 深海不孤单_深海的孤单-环球快讯
- 世界焦点!versace jeans couture_versace jeans
- 宗月大师原文_宗月大师
- 罗马诺:拜仁从未接近签下赖斯,他们一开始就知道
- 空气炸锅能做面包吗 空气炸锅能做面包吗拿什么锅做
- 积分怎么求偏导_积分怎么求-环球看热讯
- 交通工程专业厉害的学校有哪些排名前十名考研个好
- 快问|明星分析师不满奖金出走?本人回应:完全不
- 天天消息!丁雄军股东大会回应飞天茅台提价:价格
- 焦点滚动:中文书刊网责任编辑审核通过(中文书刊
- 百事通!stp格式用什么软件打开转obj_stp格式用什
- 天天快看:横向合并单元格内容都保留在一个单元格
- 中国储备粮管理集团有限公司原党组成员、副总经理
- 纽威数控(688697.SH)2022年度权益分派:每股派0.4
- 当前简讯:男生挤痘血流不止近1小时,当事人:用了
- 明基TK860投影仪新品上市 支持4K分辨率、镜头位
- lm358怎么检测好坏_lm358
- 富士康天津子公司注册资本增加至32亿
- 焦点短讯!housing是什么意思英语-housing是什么意思
- 环球观焦点:总决赛最耻辱判罚!巴特勒踢人3罚,
- 内裤冬天要晒几小时可以干(冬天内裤多久换洗一次
- 环球通讯!上海中考成绩什么时候出2023
- 天天最新:至5月底,陕煤入渝电煤共693.1万吨
- 社保卡选银行重要吗 情况是这样的
- 天天热门:消息称 Netflix 今秋进军体育赛事直播
- Drop+指环王黑色语音键盘评测-世界头条
- 融资客看好1股 买入占成交超三成
- 全球要闻:长白山新鲜人参多少钱一斤_长白山人参
- 热文:5倍牛股,控股股东遭强平!
油气
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
经济
-
中新网通辽10月18日电 (记者 张林虎)18日,记者从内蒙古自治区通辽市奈曼旗公安局获悉,国家一级保护动物--梅花鹿误入当地村民羊群,
-
中新网杭州10月18日电 (王题题 胡燕婕)云天收夏色,浅秋正渐浓。10月18日,浙江杭州市西湖游船有限公司推出的惠民多站点“西湖环湖游
-
中新网福州10月18日电 (记者 龙敏 王东明)福州市晋安区官方18日晚间通报,18日14时47分,晋安区岳峰镇化工路爱摩轮商业广场项目摩天
-
中新网兰州10月18日电 (闫姣 艾庆龙 吉翔)“红山白土头,黄河向西流。”不少人疑问,天下黄河向东流,为何甘肃永靖县这段黄河却向西
-
中新网北京10月18日电 《清华城市健康设施指数》18日在北京发布。报告成果显示,城市健康设施指数领先城市以中心城市和东部沿海城市