×

利用stc15f2k602单片机制作的光源追踪

消耗积分:1 | 格式:zip | 大小:54KB | 2017-05-21

林虹宇

分享资料个

利用stc15f2k602单片机制作的光源追踪,用芯片内部ADC采集四路电压;利用定时器模拟二路50HZ的pwm输出控制两个舵机

  #include “reg51.h”

  #include “intrins.h”

  #include《SHUMA.h》

  #define FOSC 11059200L

  #define BAUD 9600

  typedef unsigned char BYTE;

  typedef unsigned int WORD;

  sbit ENA=P3^0;

  sbit ENB=P3^1;

  sbit k1=P3^2;

  BYTE t=0,a1,a2,b1,b2;

  int a,b ;

  BYTE pwm_1=78; //百分比50

  BYTE pwm_2=78;

  #define URMD 0 //0:使用定时器2作为波特率发生器

  //1:使用定时器1的模式0(16位自动重载模式)作为波特率发生器

  //2:使用定时器1的模式2(8位自动重载模式)作为波特率发生器

  sfr T2H = 0xd6; //定时器2高8位

  sfr T2L = 0xd7; //定时器2低8位

  sfr P1M1 = 0x91; //PxM1.n,PxM0.n =00---》Standard, 01---》push-pull

  sfr P1M0 = 0x92; // =10---》pure input, 11---》open drain

  sfr P0M1 = 0x93;

  sfr P0M0 = 0x94;

  sfr P2M1 = 0x95;

  sfr P2M0 = 0x96;

  sfr P3M1 = 0xB1;

  sfr P3M0 = 0xB2;

  sfr P4M1 = 0xB3;

  sfr P4M0 = 0xB4;

  sfr P5M1 = 0xC9;

  sfr P5M0 = 0xCA;

  sfr P6M1 = 0xCB;

  sfr P6M0 = 0xCC;

  sfr P7M1 = 0xE1;

  sfr P7M0 = 0xE2;

  sfr AUXR = 0x8e; //辅助寄存器

  sfr ADC_CONTR = 0xBC; //ADC控制寄存器

  sfr ADC_RES = 0xBD; //ADC高8位结果

  sfr ADC_LOW2 = 0xBE; //ADC低2位结果

  sfr P1ASF = 0x9D; //P1口第2功能控制寄存器

  #define ADC_POWER 0x80 //ADC电源控制位

  #define ADC_FLAG 0x10 //ADC完成标志

  #define ADC_START 0x08 //ADC起始控制位

  #define ADC_SPEEDLL 0x00 //540个时钟

  #define ADC_SPEEDL 0x20 //360个时钟

  #define ADC_SPEEDH 0x40 //180个时钟

  #define ADC_SPEEDHH 0x60 //90个时钟
利用stc15f2k602单片机制作的光源追踪

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !