• 大小: 198KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-06-05
  • 语言: VB
  • 标签:

资源简介

PROTEUS仿真 20路PWM控制舵机 VB上位机串口控制 学习机器人,工业控制的朋友可不要错过

资源截图

代码片段和文件信息

/******************************************
创建时间 2005-5-13
芯片型号 : M8
采用内部RC: 8.0000Mhz
******************************************/

#include 
#include 
#include “me.h“                     //自定义的通用io简化位操作

void timer0_init(void);
void port_init(void);
void init(void);
void UART_init(void);                //串口初始化程序
void UART_rx(void);                  //串口接收中断函数
void send_text(unsigned char *s);    //字符串发送函数
void sendchar(unsigned char c);      //字符发送函数
void dog_init(void);                 //初始化看门狗

unsigned char RX_data[4]={0};        //串口接收的数据
unsigned char RX_counter=0;          //串口接收到的字节数计数器

unsigned char pwm1pwm2pwm3pwm4pwm5pwm6pwm7pwm8pwm9pwm10pwm11pwm12pwm13pwm14pwm15pwm16pwm17pwm18pwm19pwm20; //分别为20个pwm的值
unsigned char count;                 //pwm定位变量
void main(void)
{
//OSCCAL=0xAA;                         //系统时钟校准,不同的芯片和不同的频率
init();


   while(1)
   {
    WDR();                           //拼命喂狗
       if(RX_counter==4)   //收到一个完整的命令信息
   {
       RX_counter=0;   //清除串口接收到的字节数计数器

      if((RX_data[0]==‘S‘)&&(RX_data[3]==‘E‘))//判断头尾是不是符合 
    {  
   
   CLI();    //关闭中断,开始判断数据
   switch(RX_data[1])
   {
      case 0x01:
  pwm1=RX_data[2];
  break;
  case 0x02:
  pwm2=RX_data[2];
  break;
  case 0x03:
  pwm3=RX_data[2];
  break;
  case 0x04:
  pwm4=RX_data[2];
  break;
  case 0x05:
  pwm5=RX_data[2];
  break;
  case 0x06:
  pwm6=RX_data[2];
  break;
  case 0x07:
  pwm7=RX_data[2];
  break;
  case 0x08:
  pwm8=RX_data[2];
  break;
  case 0x09:
  pwm9=RX_data[2];   
  break;
  case 0x0a:
  pwm10=RX_data[2];
  break;
  case 0x0b:
  pwm11=RX_data[2];
  break;
  case 0x0c:
  pwm12=RX_data[2];
  break;
  case 0x0d:
  pwm13=RX_data[2];
  break;
  case 0x0e:
  pwm14=RX_data[2];
  break;
  case 0x0f:
  pwm15=RX_data[2];
  break;
  case 0x10:
  pwm16=RX_data[2];
  break;
  case 0x11:
  pwm17=RX_data[2];
  break;
  case 0x12:
  pwm18=RX_data[2];
  break;
  case 0x13:
  pwm19=RX_data[2];
  break;
  case 0x14:
  pwm20=RX_data[2];
  break;
  default:
  SEI();          //错误时打开中断,以便发送错误信息
  send_text(“ER“);     //范围超出20个pwm,就发出大写字母“ER“
  break;


   }   
   SEI();          //恢复中断允许
   send_text(“OK“);     //判断处理完毕返回ok;
}
   }
   }
}


void init(void)
{
 CLI(); //disable all interrupts
 port_init();
 timer0_init();
 TIMSK = 0x01; //定时器中断源
 UART_init(); 
 SEI(); //re-enable interrupts
}


void port_init(void)
{
 PORTB = 0x00;
 DDRB  = 0xFF;
 PORTC = 0x00; 
 DDRC  = 0x7F;
 PORTD = 0x00;
 DDRD  = 0xFF;
}


void send_char(unsigned char c)      //发送单字符函数
  {
     while (!(UCSRA&(1 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       5506  2007-04-09 01:24  舵机\code\A.cof

     文件       5274  2007-04-09 01:24  舵机\code\A.dbg

     文件       2843  2007-04-09 01:24  舵机\code\A.hex

     文件         11  2007-04-09 01:24  舵机\code\A.lk

     文件      23141  2007-04-09 01:24  舵机\code\A.lst

     文件        499  2007-04-09 01:24  舵机\code\A.mak

     文件       3199  2007-04-09 01:24  舵机\code\A.mp

     文件       1264  2007-04-09 01:24  舵机\code\a.prj

     文件         49  2007-04-09 01:26  舵机\code\A.SRC

     文件       7016  2005-05-13 23:59  舵机\code\BACKUP\m8_pwm.c.050513235956

     文件       7037  2007-04-09 00:49  舵机\code\BACKUP\m8_pwm.c.070409004916

     文件       7037  2007-04-09 00:50  舵机\code\BACKUP\m8_pwm.c.070409005054

     文件       7057  2007-04-09 00:53  舵机\code\BACKUP\m8_pwm.c.070409005314

     文件       7059  2007-04-09 01:06  舵机\code\BACKUP\m8_pwm._c

     文件       1751  2007-04-09 10:36  舵机\code\DC.PWI

     文件      86943  2007-04-09 01:15  舵机\code\Last Loaded DC.DBK

     文件       7020  2007-04-09 01:08  舵机\code\m8_pwm.c

     文件        167  2007-04-08 22:42  舵机\code\m8_pwm.c_cbf

     文件      50690  2007-04-09 01:24  舵机\code\m8_pwm.lis

     文件      13219  2007-04-09 01:24  舵机\code\m8_pwm.o

     文件       4059  2005-04-22 01:15  舵机\code\me.h

     文件      16364  2011-04-08 17:37  舵机\schemetic.pdf

     文件      15044  2011-04-08 17:38  舵机\上位机.rar

     文件     150743  2007-04-09 10:36  舵机\未命名.JPG

     文件      85999  2007-04-09 10:33  舵机\舵机.DSN

     目录          0  2011-04-09 14:25  舵机\code\BACKUP

     目录          0  2011-04-09 14:25  舵机\code

     目录          0  2011-04-09 14:25  舵机

----------- ---------  ---------- -----  ----

               508991                    28

............此处省略1个文件信息

评论

共有 条评论

相关资源