舵机与电机的驱动控制任课教师:李铁磊教学内容: ?知识点复习 1: Keil 编译器的使用理论讲授:程序员、编程语言、程序、编译器、可执行代码及硬件处理器之间的关系; Keil C51 μ Vision2 编译器的使用方法;可执行文件的下载方法。实践操作:演示编译程序,下载可执行文件的步骤。?知识点复习 2:使用 T0 定时器方式二中断理论讲授:中断及中断服务程序的概念;中断服务程序与主程序间的关系; T0 定时器的本质; T0 定时器的初始化过程。实践操作:分析编程训练二程序。 2教学内容: ?第一部分:舵机控制理论讲授:脉宽调制( PWM )信号的基本概念;舵机分类和基本结构;舵机控制原理;编程训练三程序讲解。实践操作:通过修改编程训练三程序的参数实现舵机的各种控制。?第二部分:直流电机驱动及调速理论讲授:直流电机介绍;直流电机调速原理;编程训练四程序讲解。实践操作:通过修改编程训练四程序的参数实现电机的速度控制。?第三部分:小车整体控制理论讲授:小车整体控制的基本思路;编程训练五程序讲解。实践操作:通过修改编程训练五程序的参数实现小车按 S型行进。 3 知识点复习 1: Keil 编译器的使用程序员程序使用中文经编译器编译可执行代码用下载器下载硬件处理器中方工程师使用编程语言工程方案(中文版) 工程方案(外文版) 经翻译人员翻译方案资料发放外国员工实施 4 知识点复习 2:使用 T0 定时器方式二中断主任务洗衣服水开报警继续洗衣服将开水灌入暖水瓶主程序执行主程序断点继续执行主程序执行中断服务程序中断响应中断请求中断返回 5 知识点复习 2:使用 T0 定时器方式二中断 GATE C/T M 0 GATE C/T D 7 TMOD T 1方式控制 T 0方式控制 D 6D 5D 4D 3D 2D 1D 0 M 1M 0M 1 D 7 TH0 D 6D 5D 4D 3D 2D 1D 0 D 7TL0 D 6D 5D 4D 3D 2D 1D 0 EA ESET1 EX1 D 7 IE D 6D 5D 4D 3D 2D 1D 0 EX0 ET0 TF1 TR1 TR0 IE1 IT1 D 7 TCON T 1、T 0定时器/计数器 INT1 、 INT0 外部中断源 D 6D 5D 4D 3D 2D 1D 0 TF0 IT0 IE0 void init_time0() //定时器初始化函数{ TMOD=0x02; //采用定时器模式 2,8位精确定时 TL0=156; //定时器赋初值;100US 中断一次,这里的晶振是 12M ,则选用 156 ; TH0=156; EA=1; //开总中断 ET0=1; //开定时器中断 TR0=1 ; //定时器开始运行}6 知识点复习 2:使用 T0 定时器方式二中断 void time0_pwm() interrupt 1 //定时器 0中断服务程序{ //此处编写定时器 0中断服务程序} 水开报警找到水壶的位置回去继续洗衣服将开水灌入暖水瓶 7 知识点复习 2:使用 T0 定时器方式二中断开始加入头文件宏定义主函数定义永远循环结束定义一个给 P0 口赋值的变量 a 利用 delay_flag 及定时器 0中断实现精确延时 2秒全局变量 delay_flag 定义#include <> //加入头文件#include <> #define uchar unsigned char //宏定义#define ulong unsigned long ulong delay_flag=0; //用于较精确延时的变量 void init_time0(); //定时器 0初始化函数 void main() //主函数定义{ uchar a=0xfe; // 定义一个给 P0 口赋值的变量 a ,并对其赋初值 init_time0(); //调用初始化函数 while(1) //永远循环{ P0=a; //将a值赋给 P0 delay_flag=20000; //延时 2S while(delay_flag); a=_crol_(a,1); //将a 循环左移 1 位,实现彩灯流水}} void time0_pwm() interrupt 1 //定时器 0中断服务程序{ if(delay_flag); delay_flag--; } 将a值赋给 P0 将a值循环左移 1位后赋给 P0 定义定时器 0初始化子函数调用定时器 0初始化子函数 8 第一部分: 舵机控制小型直流电机输出轴控制电路板电位计变速齿轮组 9 第一部分: 舵机控制 10
舵机与电机的驱动控制 来自淘豆网m.daumloan.com转载请标明出处.