请选择 进入手机版 | 继续访问电脑版

EDABOSS电子论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 607|回复: 0

[转帖] pic单片机控制电机启动、转动、停止C语言程序

[复制链接]

22

主题

1

回帖

241

E币

技术员

Rank: 2

积分
45
发表于 2017-4-25 14:20:30 | 显示全部楼层 |阅读模式
#include <pic.h>
#define MOTOR   RB2

void DELAY(unsigned int);

    main(void)
{char   A;
    MOTOR=0;
    OPTION=0b00000000;      //设定RB0为下降沿中断
    TRISB=0b00000001;           //设定RB0为输入,RB2为输出
    TRISD=0b00000000;           //PORTD全为输出口
    A=0b00000001;
    PORTD=A;                //PORTD的第0位LED亮
    INTCON=0;               //禁止中断
  while(1)
    {
        if (RB0==1)         //每隔100ms,检测一下开关S1的状态
            MOTOR=0;        //S1断开时RB0为高电平,让电机停
        else
            MOTOR=1;        //S1合上时RB0为低电平,让电机转
        DELAY(200);
        A=A<<1;
        if (A==0)   
            A=0b00000001;   //当最高位亮后,从最低位循环重复
        PORTD=A;            //LED轮流亮
    }
}

//======延时(n)ms
void DELAY(unsigned int n)
{
    unsigned int j;
    char k;
    for (j=0;j<n;j++)
            for (k=246;k>0;k--)
                NOP();
}
积分规则
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|EDABOSS电子论坛

GMT+8, 2024-4-19 03:00 , Processed in 0.038273 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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