XS128单片机程序:智能小车舵机的控制

发布者:DelightfulGaze最新更新时间:2015-05-26 来源: 51hei关键字:XS128  单片机  智能小车  舵机 手机看文章 扫描二维码
随时随地手机看文章
/***********************************************/

//This is our control of the steering gear(舵机)
//Next we will use it by PI control;
//Date :2013/5/15
/***********************************************/
#include       /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */

/*2.************所有的延时程序**********************/
 /******************N倍0.75us 延时**********
   函    数:delay_us()
   功    能:约0.75 us延迟
   参    数:n_us
   说    明:本函数的总线时钟为16 MHz
  ******************************************/
   void delay_us(uint n_us)
     {
        uint loop_i;
       for (loop_i=0; loop_i< n_us; loop_i++)
       {;}
     }
  /****************************************
    函    数:delay_ms()
    功    能:约1 ms延迟
    说    明:本函数的总线时钟为16 MHz.
 *****************************************/
  void delay_ms(uint n_ms)
    {
      uint loop_i;
      for (loop_i=0; loop_i< n_ms; loop_i++)
      {
       delay_us(1335);
      }//总线时钟为16 MHz时      
   }   // 延迟1335×12个机器周期 1 ms
  /***************************************
     函    数:delay_s()
     功    能:约1 s延迟
     说    明:本函数的总线时钟为16MHz。
  ***************************************/
   void delay_s(uint n_s)
    {
      uint loop_i;
      for (loop_i=0; loop_i< n_s; loop_i++)
      {  delay_ms(1000);  }
    }

/************************************/
//函数:PWM 波初始化程序
//功能:PWM 波初始化程序完成了电动机和舵机的控制
//        所有通道均采用级联的方式   
//        0-1通道级联控制舵机
//        2-3通道级联控制电机前进
//        6-7通道级联控制电机后退
//说明; 舵机控制的
//时间:2013、5、15
/************************************/
void PWM_init (void) {
   PWME      =0x00;       //禁止PWM模块
   PWMCLK    =0xFF;       //时钟选择寄存器SA SB
   PWMPRCLK  =0x33;       //选择时钟A预分频因子8/1000000Hz
   PWMSCLA   =5;          //SA比例因子  2.5  /100,000Hz
   PWMSCLB   =250;        //SB比例因子  250 /2000 Hz
   PWMCTL    =0xF0;       //所有的都级联
   PWMPOL    =0xFF;       //极性控制
   PWMCAE    =0x00;       //对齐方式
   PWMPER01  =2000;       //周期寄存器  定时20ms
   PWMPER23  =  
   PWMDTY01  = 0;      // 设置PWM通道初始化占空比
   PWME      =0xFF;       //使能
   
}
void main(void) {
 
    PWM_init ();
   while(1){
     PWMDTY01=150;
     delay_ms(500);
     PWMDTY01=155;
     delay_ms(500);
     PWMDTY01=160;
     delay_ms(500);
     PWMDTY01=165;
     delay_ms(500);
     PWMDTY01=170;
     delay_ms(500);
     PWMDTY01=175;
     delay_ms(500);
     PWMDTY01=180;
     delay_ms(500);
     PWMDTY01=185;
     delay_ms(500);
     PWMDTY01=190;
     delay_ms(500);
     PWMDTY01=150;
     delay_ms(500);
     PWMDTY01=145;
     delay_ms(500);
      PWMDTY01=140;
     delay_ms(500);
     PWMDTY01=135;
     delay_ms(500);
     PWMDTY01=130;
     delay_ms(500);
     PWMDTY01=125;
     delay_ms(500);
     PWMDTY01=120;
     delay_ms(500);
     PWMDTY01=115;
     delay_ms(500);
     PWMDTY01=110;
     delay_ms(500);
     delay_ms(500);
    }
  
}

关键字:XS128  单片机  智能小车  舵机 引用地址:XS128单片机程序:智能小车舵机的控制

上一篇:XS128单片机实验:在示波器上模拟乒乓球比赛
下一篇:单片机软件滤波方法

推荐阅读最新更新时间:2024-03-16 14:03

以AT89C51单片机为核心的量程自动切换频率设计
近年来,随着科学技术的快速发展,特别是类似单片机等相关集成电路生产技术的快速堀起,推动了仪器仪表及家电产业的快速发展,用程序代码来简化硬件电路的复杂程度,使其不断向着体积小,价格低廉,功能更加多样化、智能化的方向发展。功能齐全,价格低廉的产品越来越受到人们的青睐,当然,科技的发展最先受益的 还是从事前沿科技研究领域的人员,对于他们来说,一款好的测量设备将为他们的研究工作带来便利的同时也减轻很多负担。就目前而言,高端仪器设备很多均依赖进口,研究并制造出属于我们国家自己的高端仪器设备将是我们一直努力的方向,而且也具有非常广阔的发展前景。 1 硬件电路设计 本设计主要由信号采集电路、放大整形电路、分频电路、信号处理电路、电源电路和显
[单片机]
以AT89C51<font color='red'>单片机</font>为核心的量程自动切换频率设计
51单片机软件复位
我们知道51单片机可以把数据放在程序存储器里面,也就是程序和数据没有本质区别,都是一些特定的数据。如果我们将一段程序,以数组数据的形式存储在程序存储器里面,那么是不是也可以执行呢?答案是肯定的。 言归正传,先来看看这个数组数据 0xe4,0xc0,0xe0,0xc0,0xe0,0x22,中Keil的汇编窗口看出,它其实是四条汇编语句: CLR A ;编译后为 0XE4 PUSH ACC ;编译后为 0XC0 0XE0 PUSH ACC ;编译后为 0XC0 0XE0 RET ;函数返回 编译后为 0X22可以看出,其实这就是51单片机的汇编复位指令。
[单片机]
STC12系列单片机解密介绍
STC单片机是由深圳宏晶公司销售的一款单片机芯片,至于设计和生产,有很多说法,网络上可以查到的资料,有的说是美国公司按照SST公司的内核设计的,由宏晶公司贴牌销售的,也有的说是由ST公司设计的。至于生产的说法更多,有的说是由台积电生产。有的说是由台湾其它公司代工生产的。而在宏晶公司的官方网站上看不到任何这个方面的信息,只有简单的两个页面,基本上全是芯片的PDF文件和ISP下载软件,并且发现用户手册的PDF手册是无法复制的,正如很多网友评论好象是遮遮掩掩,其实这样给设计人员选择带来了很多疑虑,好象没有了使用该产品的信心,不过做为解密工程师并不关心这个问题。 在STC89系列单片机推出后,曾经号称无法解密的单片机,但是经过芯片解密工
[单片机]
STC12系列<font color='red'>单片机</font>解密介绍
单片机看门狗的描述
下面是关于STC89C5XX-51 单片机看门狗的描述 WDT_CONTR 位置0xE1; EN_WDT: 看门狗允许位,置 1 启动看门狗,看门狗不能自动启动,需要设置该位后启动,一旦启动不能关闭(只能系统重新上电和看门狗复位可以关闭) CLR_WDT: 看门狗计数器清零位,置1 清零看门狗计数器,当计数器开始重新计数,硬件清零该位。 IDLE_WDT: 单片机IDLE 模式看门狗允许位,当IDLE_WDT=1时,单片机在 IDLE 模式(空闲模式)依然启用看门狗 PS2~PS0: 看门狗定时器预分频器,下表中 Prescale 表示预分频数 PS2 PS1 PS0 Prescale 0 0 0 2 0
[单片机]
MSP430系列单片机复位电路系统设计分析
  0 引言   TI公司的混合信号处理器MSP430系列单片机以其处理能力强大、外围器件集成度高、功率消耗低、产品系列全面、全系列工业级等特点,作为目前MCU主流市场的产品之一,在电子应用领域中得到广泛应用,被越来越多的电子设计师所青睐。由于复位电路设计问题而导致的系统出现上电后不工作或状态不正确是很多MSP430单片机电路设计者们在设计、调试和应用中曾遇到过的问题,尽管这种情况发生的几率很低,但对于可靠性要求较高的应用场合,这个现象仍需引起电子设计人员的足够重视。   为此,本文对MSP430全系列单片机的复位系统和复位机制进行了详细深入的分析,并针对性地提出了具体的外围复位电路设计方案和有关电子元器件的详细介绍,以供同行
[单片机]
MSP430系列<font color='red'>单片机</font>复位电路系统设计分析
基于32位单片机MC68HC376的高可靠性系统设计
引言 随着工业技术的不断发展,对单片机控制的要求也越来越高,需要单片机具备更高的反应速度和更强的数据处理能力,各种高性能的新型单片机得到了迅猛的发展和应用。单片机上主要是高速的数字信号,弱信号很容易受到外界的电磁干扰,同时,单片机系统也会发生掉电、死循环等问题。在工业控制场合,一旦控制发生错误,将会造成难以估计的损失。因此,如何提高控制的可靠性是长期以来的一个重要问题。本文介绍了应用32位高性能单片机MC68HC376的一种实际开发方案,同时重点讨论了提高系统可靠性的设计和实现方法。 MC68HC376是Motorola公司推出的一种新型的32位高性能单片机,具有极强的数据处理、逻辑运算和信息存储能力,且支持B
[应用]
基于AT89C51单片机的变频调速控制系统设计
   1.概述   在电气传动领域中,随着自关断器件技术水平的不断提高,脉宽调制技术(简称PWM技术)也日趋成熟。PMW交流变频调速以其高效率、高功率因数、输出波形好、结构简单等优点,在井下风机、水泵、造纸机等设备中得到了广泛的应用。将单片机应用于交流变频调速系统,可有效地避免传统调速方案中的一些缺点,达到了提高控制精度的目的 ,其特点:   (1)采用单片机可以使绝大多数控制逻辑通过软件实现,简化了电路。   (2)单片机具有更强的逻辑功能,运算速度快,精度高,有大容量的存储单元,可以实现较为复杂的控制。   (3)无零点漂移,控制精度高。   (4)可以提供人机界面,多机连网工作。   根据国内外有关变频调速的最
[单片机]
基于AT89C51<font color='red'>单片机</font>的变频调速控制系统设计
如何才能使用CC2541蓝牙模块与单片机进行串口通信
一、CC2541器件概述 CC2541是一款针对低能耗以及私有2.4GHz应用的功率优化的真正片载系统(SoC)解决方案。它使得使用低总体物料清单成本建立强健网络节点成为可能。CC2541将领先RF收发器的出色性能和一个业界标准的增强型8051MCU、系统内可编程闪存存储器、8kBRAM和很多其它功能强大的特性和外设组合在一起。CC2541非常适合应用于需要超低能耗的系统。这由多种不同的运行模式指定。运行模式间较短的转换时间进一步使低能耗变为可能 二、CC2541芯片的特性参数 CC2541是一款针对蓝牙低能耗以及私有2.4GHz应用的功率优化的真正片载系统(SoC)解决方案。它使得使用低总体物料清单成本建立强健网络节点成为可
[单片机]
如何才能使用CC2541蓝牙模块与<font color='red'>单片机</font>进行串口通信
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved