欢迎来到天天文库
浏览记录
ID:57110275
大小:841.50 KB
页数:18页
时间:2020-07-31
《单片机控制多路舵机课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、单片机程序的编写——以多路舵机控制为例一,单片机编程相关硬件知识单片机=CPU(核)+存储器+外围接口部件PC=CPU+存储器+接口及扩展插槽不同之处:PC运算能力强,通用,价格高,用作嵌入式不如单片机划算。相同之处:单片机即是PC的精简版,只不过具体实现功能有所不同。用C语言编写单片机程序时,CPU及存储器对于用户来说都是透明的,即用户不需要知道它们是如何工作的。所以,如何用好单片机,写好控制程序,除了大家学习的一些基本的C语言编写知识和技巧外,主要就是如何充分合理的对单片机外围功能部件的利用。注:汇编编程时需要对cpu和存储器知识有所了解。!!单片机编程入门主要就是对外围功能部件的使用
2、。外围功能部件使用:掌握外围功能部件的工作原理;设置相应的寄存器如OCR1=0x12;单片机常用的外围部件有:普通I/O端口;TIMER(定时器/计数器);UART(异步串行口);SPI(同步串行口);中断;PWM其他的还有:ADC,IIC,CCP,JTAG等。注:引脚复用概念AVR的功能部件:(以Mega16为例)I/O端口:PORTA~PORTD,4×8=32端口TIMER:TIMER0~TIMER2UART:1个SPI:1个外部中断:INT0~INT2PWM:4个(OC0,OC1A,OC1B,OC2)二,单片机编程软件环境三种IDE(集成开发环境)基于ICC程序的编写基于CodeVi
3、sion程序的编写基于WinAVR程序的编写烧写器的使用推荐:双龙SLISPSLISP.bmp并口烧写器优点:SLISP通用,烧写器简单,成本低,稳定性好注意:熔丝位的配置刚安装时改为:三,实例——多路舵机控制开发平台:软件:WinAVR-20080512烧写:SLISP硬件:校对提供的demo板----Mega16烧写:并口烧写器需求分析:1,由于需控制的舵机数量多,用单片机自带的PWM口(4个)远远不够,需用普通I/O口通过TIMER定时来生PWM来驱动舵机。Demo板上控制舵机的I/O口:PD4~PD7,PC0~PC7,PA0~PA3,PB0~PB32,控制舵机的PWM的周期为20m
4、s,脉冲宽度为0.5~2.5ms,舵机的转动范围是180度,则2ms控制180度。假设控制精度要达到1度,那么控制上要区分的最小时间间隔为:2ms/180,约为0.01ms即控制精度要达到100KHz。3,单片机资源问题:由上可知,由于舵机信号必须一直提供,控制20路舵机就需要占用很大的系统资源。战场队至少要留出部分资源给无线串口,剧场队还需要在这块单片机上完成其他动作。可见单片机资源还是比较紧张的。经验:资源还好,足够用了!具体实现:?答案:方法有很多种提供的参考方法:把20ms平分为8个时间间隔,每个2.5ms,在每2.5ms的时间间隔内实现对3个(20/8)舵机的控制。注:需控制多少
5、舵机具体实现:参见程序!Thanks!
此文档下载收益归作者所有