51单个舵机控制源码.zip
大小:6.79MB
价格:10积分
下载量:0
评分:
5.0
上传者:2402_83607174
更新日期:2024-08-21

51单片机单个舵机控制源码

资源文件列表(大概)

文件名
大小
51单个舵机控制源码/51_ctl.uvgui.TB
70.42KB
51单个舵机控制源码/51_ctl.uvgui.yfq
86.97KB
51单个舵机控制源码/51_ctl.uvgui_TB.bak
70.46KB
51单个舵机控制源码/51_ctl.uvopt
4.91KB
51单个舵机控制源码/51_ctl.uvproj
13.11KB
51单个舵机控制源码/inc/
-
51单个舵机控制源码/inc/stc15.h
13.48KB
51单个舵机控制源码/lst/
-
51单个舵机控制源码/lst/20170718.m51
92.55KB
51单个舵机控制源码/lst/51_20170516.m51
86.25KB
51单个舵机控制源码/lst/51_20170518.m51
86.41KB
51单个舵机控制源码/lst/51_duoji.m51
9.19KB
51单个舵机控制源码/lst/51_duoji_20170728.m51
92.59KB
51单个舵机控制源码/lst/51DJ_20170728.m51
92.57KB
51单个舵机控制源码/lst/adc.lst
2.51KB
51单个舵机控制源码/lst/delay.lst
1.54KB
51单个舵机控制源码/lst/duoji.m51
84.03KB
51单个舵机控制源码/lst/duoji20170515.m51
84.77KB
51单个舵机控制源码/lst/duoji20170515_1.m51
85.36KB
51单个舵机控制源码/lst/duoji20170515_2.m51
86.42KB
51单个舵机控制源码/lst/global.lst
2.94KB
51单个舵机控制源码/lst/io.lst
2.54KB
51单个舵机控制源码/lst/main.lst
5.95KB
51单个舵机控制源码/lst/project.m51
41.4KB
51单个舵机控制源码/lst/ps2.lst
2.87KB
51单个舵机控制源码/lst/pwm.lst
7.84KB
51单个舵机控制源码/lst/spi.lst
6.25KB
51单个舵机控制源码/lst/timer.lst
5.5KB
51单个舵机控制源码/lst/uart.lst
11.07KB
51单个舵机控制源码/lst/w25q64.lst
15.81KB
51单个舵机控制源码/obj/
-
51单个舵机控制源码/obj/20170718
133.01KB
51单个舵机控制源码/obj/20170718.build_log.htm
1.33KB
51单个舵机控制源码/obj/20170718.lnp
258B
51单个舵机控制源码/obj/20170718.plg
5.03KB
51单个舵机控制源码/obj/51_20170518.plg
956B
51单个舵机控制源码/obj/51_duoji
9.53KB
51单个舵机控制源码/obj/51_duoji.build_log.htm
1.26KB
51单个舵机控制源码/obj/51_duoji.hex
4.06KB
51单个舵机控制源码/obj/51_duoji.lnp
68B
51单个舵机控制源码/obj/51_duoji.plg
258B
51单个舵机控制源码/obj/51_duoji_20170728
133.01KB
51单个舵机控制源码/obj/51_duoji_20170728.hex
46.25KB
51单个舵机控制源码/obj/51_duoji_20170728.lnp
276B
51单个舵机控制源码/obj/51DJ_20170728
133.01KB
51单个舵机控制源码/obj/51DJ_20170728.hex
46.25KB
51单个舵机控制源码/obj/51DJ_20170728.lnp
268B
51单个舵机控制源码/obj/adc.obj
2.45KB
51单个舵机控制源码/obj/delay.obj
1.87KB
51单个舵机控制源码/obj/global.obj
7.34KB
51单个舵机控制源码/obj/io.obj
6.56KB
51单个舵机控制源码/obj/main.obj
9.32KB
51单个舵机控制源码/obj/ps2.obj
7.43KB
51单个舵机控制源码/obj/pwm.obj
8.26KB
51单个舵机控制源码/obj/spi.obj
5.72KB
51单个舵机控制源码/obj/timer.__i
112B
51单个舵机控制源码/obj/timer.obj
12.26KB
51单个舵机控制源码/obj/uart.obj
16.92KB
51单个舵机控制源码/obj/USB to UART Driver/
-
51单个舵机控制源码/obj/USB to UART Driver/CH340_CH341/
-
51单个舵机控制源码/obj/USB to UART Driver/CH340_CH341/ch341ser.exe
227.56KB
51单个舵机控制源码/obj/USB to UART Driver/PL2303/
-
51单个舵机控制源码/obj/USB to UART Driver/PL2303/pl2303_v110.exe
3.07MB
51单个舵机控制源码/obj/w25q64.obj
17.36KB
51单个舵机控制源码/src/
-
51单个舵机控制源码/src/main.c
2.52KB
51单个舵机控制源码/stc-isp-15xx-v6.85s.exe
5.33MB
51单个舵机控制源码/Thumbs.db
22.5KB

资源内容介绍

51单片机单个舵机控制源码
#include "stc15.h"//舵机 IO 口定义 用P0的8个IO测试sbit dj0 = P0^0;sbit dj1 = P0^1;sbit dj2 = P0^2;sbit dj3 = P0^3;sbit dj4 = P0^4;sbit dj5 = P0^5;sbit dj6 = P0^6;sbit dj7 = P0^7;void delay_ms(unsigned int t);//简单的延时void dj_io_init(void);//舵机 IO 初始化void dj_io_set(u8 index, u8 level);//舵机 IO 电平设置void timer1_init(void);//舵机 定时器初始化void timer1_reset(int t_us);//舵机 定时器初值重装//舵机脉冲数组int duoji_pulse[8] = {1500,1500,1500,1500,1500,1500,1500,1500} , i;void main(void) {//IO初始化dj_io_init();//舵机定时器初始化timer1_init(); while (1) {for(i=0;i<8;i++) {duoji_pulse[i] = 1000;//循环把8个舵机位置设定到1000}delay_ms(1000);for(i=0;i<8;i++) {duoji_pulse[i] = 2000;//循环把8个舵机位置设定到2000}delay_ms(1000);}}void dj_io_init(void) {//设置标准IOP0M1=0x00; P0M0=0x00;}void dj_io_set(u8 index, u8 level) {switch(index) {case 0:dj0 = level;break;case 1:dj1 = level;break;case 2:dj2 = level;break;case 3:dj3 = level;break;case 4:dj4 = level;break;case 5:dj5 = level;break;case 6:dj6 = level;break;case 7:dj7 = level;break;default:break;}}void delay_ms(unsigned int t) {int t1;while(t--) {t1 = 3000;while(t1--);}}void timer1_init(void) {AUXR |= 0x40;//定时器时钟1T模式TMOD &= 0x0F;//设置定时器模式TMOD |= 0x10;//设置定时器模式TL1 = 0x00;//设置定时初值TH1 = 0x28;//设置定时初值TF1 = 0;//清除TF1标志TR1 = 1;//定时器1开始计时ET1 = 1;//定时器0开始计时EA= 1;//总开关}void timer1_reset(int t_us) {//本来应该x22.1184 但由于单片机用的内部晶振,有一定误差,调整到下面这个值 频率差不多50HZTL1 = (int)(65536-20.4184*t_us);TH1 = (int)(65536-20.4184*t_us) >> 8;}void T1_IRQ(void) interrupt 3 {static volatile u8 flag = 0;static volatile u8 duoji_index1 = 0;int temp;if(duoji_index1 == 8) {duoji_index1 = 0;}if(!flag) {timer1_reset((unsigned int)(duoji_pulse[duoji_index1]));dj_io_set(duoji_index1, 1);} else {temp = 2500 - (unsigned int)(duoji_pulse[duoji_index1]);if(temp < 20)temp = 20;timer1_reset(temp);dj_io_set(duoji_index1, 0);duoji_index1 ++;}flag = !flag;}

用户评论 (0)

发表评论

captcha