PIC16F877A一路舵机参数化控制程序

发布者:快乐心跳最新更新时间:2015-04-28 来源: 51hei关键字:PIC16F877A  一路舵机  参数化控制 手机看文章 扫描二维码
随时随地手机看文章
;**    日期:  2010年.10月
;**    描述:  一路舵机参数化控制
;**    功能:  用Time1中断,RD6口输出
;**    晶振:       12M         
;**    适用机型:  PIC16F877A,TowerPro MG995
*********************************************************************************/
#include
#define uchar unsigned char
#define uint  unsigned int
uint f;
uchar servo_angle_H;
uchar servo_angle_L;
uchar compensate_L;
uchar compensate_H;
void delay(uint x)
{
      uint a,b;
      for(a=x;a>0;a--)
           for(b=110;b>0;b--);
}
void init()
{
      TRISD=0x00;
      PORTD=0x00;
      INTCON=0xc0;
      PIE1=0x01;
      TMR1L=0;  
      TMR1H=0;  
      T1CON=0x21;
       f=0;
}
void servo(uint angle)
{
      uint temp,value;
      value=(65536-368)-(75*angle)/9;
      temp=(65536-14617)+(75*angle)/9;
      servo_angle_H=value%256;
      servo_angle_L=value/256 ;
      compensate_L=temp%256;
      compensate_H=temp/256;
}
void main()
{
      init();
      uint angle;
      servo(0);
      delay(200);
      while(1)
      {
             for(angle=0;angle<181;angle++)
            {
                 servo(angle);
                 delay(100);
            }
            for(angle=180;angle>0;angle--)
            {
                 servo(angle);
                 delay(100);
            }
      }
}
 
void interrupt time1()
{
      TMR1IF=0;
       f=~f;
       if(f==0)
       {
             TMR1L=servo_angle_H;
             TMR1H=servo_angle_L;       
              RD6=1;
       }
       else
       {
              TMR1L=compensate_L;
              TMR1H=compensate_H;
               RD6=0;
         }
}
关键字:PIC16F877A  一路舵机  参数化控制 引用地址:PIC16F877A一路舵机参数化控制程序

上一篇:PIC16F877A和AVR的单片机的PWM输出程序
下一篇:pic16f877a的B口的详解

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

PIC16F877A控制DS18B20汇编程序
;*********************************************** ;功能实现:通过DS18B20来读取温度,显示在2位LED上,精确到1度 ;硬件连接:(1)RC0-RC7接共阳数码管的段码A-H ; RA0-RA3接共阳数码管的位码DIG0-DIG3 ;*************************************************** ;**************************************************** ;定义单片机型号为PIC16F877A ;程序包含文件:P16F877A.INC ;定义配置字 ;*************
[单片机]
基于PIC16F877A的混沌信号发生器的设计
  混沌科学得到广泛研究应该得益于20世纪60年代洛伦兹(Lorenz)的“蝴蝶效应”。混沌信号具有初值敏感性、内随机性、遍历性和有界性等特点,近几年得到深入的研究和探索,并开始广泛应用于信号处理、保密通信、生物医学等领域,特别是在医疗器械的应用,有着重大的突破。科学研究表明:生物体是一个高度的非线性系统,而非线性系统的运动通常表现出混沌现象,人体的生理活动呈现众多的混沌现象。所以,研究混沌信号源的产生对生物医学的研究有着极其重要的意义。    1 混沌信号产生的数学建模与仿真   1.1 混沌信号系统数学模型的选用   该设计中,考虑到人体生理活动本身也是一个混沌系统,主要是要产生一个具有混沌特性的信号源,来调节人体的生
[单片机]
基于PIC16F877A单片机的LED点阵手写屏设计
  本文采用PIC16F877A单片机为主要核心控制元件,设计了一个32×32 LED点阵模块的书写显示屏。它主要由光笔模块和点阵显示模块组成,光笔模块利用光敏电阻的光电特性,实现微亮检测功能。光笔反馈信号经放大器LM324 比较后,送给单片机处理。32×32点阵显示模块、驱动模块由74HC595外设驱动阵列和8位串行输入/输出移位寄存器ULN2803A组成。光笔通过显示屏微亮扫描寻找坐标值,按键和LED指示灯可实现“点亮、划亮、反显、整屏擦除、笔画擦除、连写多字、对象拖移”等书写显示功能。   系统系统总体构成   本系统设计包括三大部分:PIC16F877A单片机主控器、光笔控制器、点阵显示屏。系统的结构如图1所示。
[单片机]
基于<font color='red'>PIC16F877A</font>单片机的LED点阵手写屏设计
将DHT11与PIC16F877A连接进行温度和湿度的测量
温度和湿度测量通常在家庭自动化、环境监测、气象站等许多应用中很有用。LM35旁边最常用的温度传感器是 DHT11,我们之前通过与Arduino和Raspberry连接构建了许多DHT11 项目Pi和许多其他开发板。在本文中,我们将学习如何将此DHT11 与 PIC16F87A连接,这是一个 8 位 PIC 微控制器。我们将使用这个微控制器通过 DHT11 读取温度和湿度的值并将其显示在液晶显示器上。 DHT11 – 规范和工作 DHT11 传感器以模块形式或传感器形式提供。在本教程中,我们使用的是传感器,两者之间的唯一区别在于,在模块形式中,传感器具有一个滤波电容和一个连接到传感器输出引脚的上拉电阻。因此,如果您正在使用该模块
[单片机]
将DHT11与<font color='red'>PIC16F877A</font>连接进行温度和湿度的测量
PIC16F877A串口发送字符串问题
PIC16F877A串口发送,查询方式,就为了调出这个费了我一天时间,原来是串口芯片电压问题,现总结如下: 1、注意232串口芯片供电电压,有5V和3.3V的 2、注意TXD、RXD接线,单片机的TXD接232芯片的R2OUT,单片机的RXD接232芯片的T2IN 3、注意ESP8266的UTXD接MCU的RX,URXD接MCU的TX 4、注意ESP8266的UTXD接232的T2IN,URXD接232的R2OUT 5、串口波特率设置成9600 6、注意连接线的可靠性,如果用线连的话一定要检查线和插座是否稳定连接 PIC16F877A串口发送 //以下是串口发送程序 #include #define ucharunsigned
[单片机]
PIC16F877A单片机 (IIC总线+AT24C02芯片)
1 基本原理 1.1 IIC总线 需要注意的是,高四位对于同种芯片而言,都是一样的。例如AT24C02芯片的高四位固定为1010。 1.2 AT24C02芯片 2 源代码 /*---------------------函数功能: IIC总线 AT24C02 -----------------------------------------*/ #include pic.h // 调用PIC16f87XA单片机的头文件 #include delay.h //调用延时子函数的头文件 __CONFIG(0xFF32);//芯片配置字,看门狗关,上电延时开,掉电检测关
[单片机]
<font color='red'>PIC16F877A</font>单片机 (IIC总线+AT24C02芯片)
用单片机pic16f877a实现鼠标数据的采集
最近弄个用单片机pic16f877a实现鼠标数据的采集。通过对 鼠标 底层通信原理与协议的分析,以单片机pic16f877a构成鼠标数据的采集的实现和液晶1602显示的实现。 现在继续写下去 !!!!!!尽管和比赛没有关系了 一、先要熟悉鼠标的协议和接口 下面是PS2的接口 : 这是鼠标在传输过程中数据的一个 帧: 一个开始位:(为0) 八个数据位: 一个奇校验位: 一个停止位:(它总是1) 鼠标和单片机通信: 1、单片机给鼠标发命令是按下面的格式进行的: (注意:一个应答信号的接收) 这是它的详细过程: 2、鼠标
[单片机]
用单片机<font color='red'>pic16f877a</font>实现鼠标数据的采集
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

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