Futaba - S3010舵机测试程序51
更新时间:2023-12-07 20:53:01 阅读量: 教育文库 文档下载
- futaba遥控器推荐度:
- 相关推荐
Futaba S3010舵机测试程序
说明:本程序是为了第四届FREESCALE智能车大赛,舵机测试时使用的程序,基于51单片机实验版。利用C语言完成,仅供参考,欢迎批评意见,转载请注明出处。
/******************************************************************** * 舵机测试程序
* SST89E58/SST89E516 Experimental BOARD * Copyright(C) 2009, Shulin Liu, HUST * All rights reserved.
* For Freescale Smartcar Match
********************************************************************/ #include
sbit wela=P2^7; //由于没有板子的原理图,暂时将段选,位选设置为 P2^6,P2^7 uint t; //时间变量
uchar temp=0; //定时器的溢出次数,定时50ms unsigned char code table[]= {0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71}; //数码管编码表
//分别为 0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f /****************************主函数***********************************/ void main() {
void display(uint ); //数码管显示函数 void delay(uint z); //延时子函数 P1_0=1; //置PWM初始输出为高电平 TMOD=0x11; //设置定时器0,1为工作方式1 TH0=(65536-1500)/256;
TL0=(65536-1500)%6; //1.5ms 的高电平 TH1=(65536-46300)/256;
TL1=(65536-46300)%6; //设定T1的计时周期为50ms //IT0=0, IT1=0 默认电平触发方式 EA=1; //开总中断 EX0=1; //开外部中断0 EX1=1; //开外部中断1 ET0=1; //开定时器0中断 ET1=1;//开启定时器1中断 TR0=1; //启动定时器0
while(1); }
/******************************中断服务程序**********************************/
void pwm0() interrupt 1 //定时器0 中断,产生方波 {
if(P1_0==1) //如果上个电平为1,则下个低电平的时间为18.5ms {
TH0=(65536-18500)/256; TL0=(65536-18500)%6; }
else //如果上个电平为0,则下个高电平为1.5ms {
TH0=(65535-1500)/256; TL0=(65535-1500)%6; }
P1_0=~P1_0; }
void int0() interrupt 0 //外部中断0 接反相器 {
TR1=1; //启动定时器 1 }
void int1() interrupt 2 //外部中断1 接反相器 {
TR1=0; //停止定时器 1 TH1=TH1-0x4B; TL1=TL1-0x24; t=TH1*256+TL1; t=t/926; //精确到1 ms t=t+50*temp;
display(t); //用数码管显示数字(16进制) }
void timer1() interrupt 3 //定时器1 溢出中断 {
temp=temp++;
TH1=(65536-46300)/256; TL1=(65536-46300)%6; }
/*****************************数码管显示函数*******************************/
void display(uint t) //实现数码管的动态扫描显示 {
uchar tH,tL,tM; //t的高位和低位,板子上有2个数码管,输出两位16进制数
tH=t/100; tM=t/10-tH*10; tL=t; while(1) { dula=1; P0=table[tL]; dula=0; delay(5); wela=1; P0=0xfe; wela=0; //锁存 dula=1; P0=table[tH]; dula=0; delay(5); wela=1;
P0=0xfd; //位选,选中两个数码管wela=0; //锁存 dula=1; P0=table[tM]; dula=0;
delay(5); wela=1;
P0=0xfb; //位选,选中两个数码管 wela=0; //锁存 } }
/****************************延时函数*****************************************/ void delay(uint z) //延时 { uint x,y; for(x=z;x>0;x--) for(y=100;y>0;y--); }
正在阅读:
《依托课外科技活动培养小学生创新精神与实践能力的策略研究》研04-14
弘扬雷锋精神征文作文1000字02-05
2017-2018学年杭州市第二次高考科目教学质量检测及答案解析01-26
自行车安全装置(1)10-02
请以水平五排球为教材,请设计出一个5-6课时的单元教学计划05-27
二级行星齿轮减速器设计及三维造型说明书10-08
领导班子廉洁自律心得感悟范文五篇04-03
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 舵机
- 测试
- 程序
- Futaba
- S3010
- 磨机实用说明书 jsp - 图文
- 复习题(单选)
- 全新版大学英语综合教程课后答案Unit1~6(完整版)
- 《Windows》理论复习题 - 图文
- 常用试剂的配制
- 农村优秀党员事迹材料:农村致富带头人DOC可编辑范文
- 2016高中历史高效教案 第七讲 新民主主义革命的兴起 主编:黄云惠 章晓峰(新课标高中历史教材研究组) -
- 消声器、静压箱设计
- 八宅风水
- 高中地理第二章中国的自然灾害第五节中国的生物灾害(第1课时)学案新人教版选修5
- 《食品加工基础》期末试题库
- 高考化学全国名校试卷选择题汇编 考点4 原子结构 电化学
- 动画影片试题
- 赞美人性美好的素材
- 火灾损失鉴定报告收集资料及鉴定程序
- 四川省自贡市富世、代寺学区初2019届教学质量调研(一)语文试题
- fluent设置界面中英文对照
- 2012最新版本习题册上册解答
- 推荐下载 思维导图在高中语文作文教学中的应用-最新
- 郑大远程《教育学概论》02章在线测试答案