单片机控制直流电动机 - 课程设计(2)

2020-04-03 12:09

在直流电动机的驱动中对大功率的电动机常采用IGBT作为主开关元件,对中小功率的电机常采用功率场效应管作为主开关元件.另外还可以采用集成电路来完成对电机的驱动,系统采用集成电路L298来驱动电机

图2-2 L298内部结构和功能引脚图

L298是双H高电压大电流功率集成电路.直接采用 L逻辑电平控制,可以驱 动继电器、直流电动机、步进电动机等电感性负载。其内部有两个完全相同的功率放大回路。其内部结构和引脚功能如图2-2所示。 L298 引脚符号及功能

SENSA、SENSB:分别为两个H桥的电流反馈脚,不用时可以直接接地 ENA 、ENB:使能端,输入PWM信号

IN1、IN2、IN3、IN4:输入端,TTL逻辑电平信号 OUT1、OUT2、OUT3、OUT4:输出端,与对应输入端同逻辑 VCC:逻辑控制电源,4.5~7V GND:地

VSS:电机驱动电源,最小值需比输入的低电平电压高

当使能端为高电平时,输入端IN1为PWM信号,IN2为低电平信号时,电机正转;输入端IN1为低电平信号,IN2为PWM信号时,电机反转;;IN1与IN2相同时,电机快速停止。当使能端为低电平时,电动机停止转动。

五、硬件图

六、程序框图 1、主程序框图 开始 启动

系统初始化 从键盘发命令送入intx中(x=0或1) 定时中断给电机输入脉冲 电机转动,数码管显示速度 结束

2、中断服务程序框图

返回 设置中断返回地址

中断响应 七、程序 #include #define uchar unsigned char

uchar TABLE[10]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90}; unsigned int frq1,c; void delay(unsigned int k) { }

void display() {

uchar qian,bai,shi,ge; qian=0; bai=0; shi=0; ge=0; c=frq1; qian=c/1000; bai=c/100; shi=c/10; ge=c; P1=0x01; P2=TABLE[qian]; delay(5); P1=0x02; P2=TABLE[bai]; delay(5); unsigned int i,j; for(i=0;i

for(j=0;j<121;j++)

;

}

P1=0x04; P2=TABLE[shi]; delay(5); P1=0x08; P2=TABLE[ge]; delay(5);

void chang(void) interrupt 0 using 0 { }

void main() {

unsigned int i=0; while(1) {

TMOD=0x01; TH0=55536/256; TL0=55536%6; TR0=1; EA=1; EX0=1; while(TF0==1) {

i++; if(i==10) { display(); frq1=0; TF0=0; }

if(INT0==0) while(!INT0) frq1++;


单片机控制直流电动机 - 课程设计(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:IB交换机

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: