找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2626|回复: 9
打印 上一主题 下一主题
收起左侧

求接线方法和hex程序

[复制链接]
跳转到指定楼层
楼主
本人无基础,想实现按钮控制步进电机启动,停止,正转,反转功能。买了STC90C516RD+,51单片机开发板,随机光盘中只有单个简单实验,网上找了很多教程,依旧看不懂求大神帮写个该板hex完整程序和接线方法,跪谢!

1.JPG (59.65 KB, 下载次数: 96)

1.JPG

2.JPG (181.46 KB, 下载次数: 78)

2.JPG
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:88457 发表于 2015-8-17 10:09 | 只看该作者
下面是光盘中送的该四线双极性步进电机的细分程序/************************************************************************************* *  标题:  步进电机试验四(采用2细分)                                                                                         * *                                                                                                                                                                          * *    通过本例程了解步进马达使用及驱动程序编写                                                                                 * *;   单相四拍通电驱动时序:                                                          * *;   正转: A/  B  A  B/                                                                                                                         * *    反转: B/  A  B  A/                                                                                              * *                                                                                                                                                                     * *    UDN2916电流控制真值表:                                                                                                                 * *          I0    I1        输出电流                                                                                                                 * *          L            L                  最大                                                                                                                         * *          H                L                  最大*2/3                                                                                                                 * *          L                H                  最大*1/3                                                                                                                 * *     H     H         0                                                                     * *   请学员一定要消化掉本例程                                                                    * *   注意:J14短路冒需断开                                                                                    * **************************************************************************************/   #include "reg52.h"  #define speed 38  //Motor sbit PH1 = P1^0;          //定义管脚 sbit PH2 = P1^1; sbit I01 = P1^2; sbit I11 = P1^3; sbit I02 = P1^4; sbit I12 = P1^5;                                       unsigned char TableA[] = { 0XF7,0XFB,0XF3};         //A线圈细分表 unsigned char TableB[] = { 0XeF,0XdF,0XcF};         //B线圈细分表  void delay(int time);  /*************************************** 函数功能:产生单相四拍脉冲控制步进机 2细分 **************************************/ void Go() {        char i ,temp;      //A     PH1 = 0;  //PH1为0 则A线圈为反向电流         for(i = 0; i<3; i++)         {  temp = P1;            P1 = TableA[i];             P1 = P1&temp;             delay(1);          }                   PH2 = 0;  //PH2为0 则B线圈为反向电流         I02 = 1;         I12 = 1;   //输出0          delay(speed);         //0         PH1 = 0;  //PH1为0 则A线圈为反向电流     I01 = 1;  //输出0         I11 = 1;                   PH2 = 1;  //PH2为1 则B线圈为正电流         for(i = 0; i<3; i++)         {  temp = P1;            P1 = TableB[i];             P1 = P1&temp;             delay(1);          }          delay(speed);         //B         PH1 = 1;   //PH1为1 则A线圈为正向电流         for(i = 0; i<3; i++)         {  temp = P1;            P1 = TableA[i];             P1 = P1&temp;             delay(1);          }          PH2 = 1;  //PH2为1 则B线圈为正向电流         I02 = 1;  //输出0         I12 = 1;                    ////         delay(speed);         //0         PH1 = 1;   //PH1为1 则A线圈为正向电流         I01 = 1;         I11 = 1;                   PH2 = 0;   //PH2为0 则B线圈为反向电流         for(i = 0; i<3; i++)         {  temp = P1;            P1 = TableB[i];             P1 = P1&temp;             delay(1);          }         delay(speed);                           } /*******************延时函数****************************/ void delay(int time) {    int i,j;      for(j=0; j <= time; j++)    for(i =0 ; i <= 120; i++); }   void main() {    while(1)   {          Go();  //步进电机运行            }  }
回复

使用道具 举报

板凳
ID:72947 发表于 2015-8-18 19:19 | 只看该作者
买了开发板,证明你有心学单片机了,那就好办了嘛,从基础学起,从点亮LED灯开始学,一步一步来,不然我们写给你你也看不懂学不到东西是吧;大家都是这样走来的,耐心点慢慢来吧!
回复

使用道具 举报

地板
ID:88930 发表于 2015-8-26 20:37 | 只看该作者
各个板子接口一般不一样
回复

使用道具 举报

5#
ID:88932 发表于 2015-8-26 21:33 | 只看该作者
就算要写 也还有个问题,你开发板上按键使用的是那些IO,才能写出配合按键的正反转啊!!!!!!!!!
回复

使用道具 举报

6#
ID:88975 发表于 2015-8-28 10:38 | 只看该作者
接一个TXD和RXD,然后接一个电源与地,51下载HEX文件,下载一个STP软件
回复

使用道具 举报

7#
ID:89356 发表于 2015-9-4 11:00 | 只看该作者
开发板上按键使用的是那些IO,才能写出配合按键的正反转啊
回复

使用道具 举报

8#
ID:89356 发表于 2015-9-4 11:01 | 只看该作者
开发板上按键使用的是那些IO,才能写出配合按键的正反转啊
回复

使用道具 举报

9#
ID:89356 发表于 2015-9-4 11:01 | 只看该作者
开发板上按键使用的是那些IO,才能写出配合按键的正反转啊
回复

使用道具 举报

10#
ID:84147 发表于 2015-9-6 11:35 | 只看该作者
看你这板,是谱中科技的板吗。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表