单片机课程设计
学院:电气与信息工程学院
班级:07级电气工程及其自动化3班
设计者:
设计名称:直流电机调速
指导老师:张志文 教授
目录
一. 课程设计题目及其实现目标……………………3
二. 设计原理图…………………………………4
三. 设计原理及其实现方法…………………………5
四. 流程图…………………………………6
五. 程序清单…………………………………7
六.课程设计心得…………………………………13
一. 课程设计题目及其实现目标
课程设计题目:直流电机调速
实现的目标
1).通过键盘改变脉冲的占空比从而达到改变转速使得电机转速从高到低,从低到高
2).通过改变pwm的极性从而改变电机的转向,实现正反转
3).能够通过数码显示管显示电机的转速和电机的转向
4).通过启动键唯一启动电机,从而达到防止电机误启动的目的
5).能够通过键盘快速达到电机预先设定的速度和转向
备注:由于没有传感器,所以本课程设计中没有设计测速模块,所显示的速度为理论速度,并非电机的实际转速
二. 设计原理图
注:本原理图采用proteus绘制
三. 设计原理及其实现方法
1. 速度调节的实现
通过控制L298的使能端“允许”或者“禁止”,通过改变a
(脉冲宽度)的值,从而达到控制PWM脉冲宽度调节电机转速的目的
2. 转向的控制
通过L298中的H桥,从AT89C51中的P1_6和P1_7输出控制信号控制BJT的基极电压,控制L298中H桥的BJT通断,从而达到控制电机转向的目的
附:A. L298的原理图
B.本设计所需要芯片以及作用
AT89C51:单片机
L298:控制电机驱动和转向
74L408:四与门芯片
8255A:用于扩展51端口,作显示用
2803:显示缓冲用
MAX239:串口通讯芯片
四. 流程图
N Y
Y
N
Y
N
Y
Y
N N
Y
N
Y N
五.程序清单
#include
#include
#include
#include
#include
#define PA XBYTE[0x1FFF] //A口地址;
#define PB XBYTE[0x3FFF] //B口地址 ;
#define PC XBYTE[0x5FFF] //C口地址;
#define CON XBYTE[0x7FFF] //*控制字地 */ ;
uchar key=0; //定义key为全局变量
uint a=100;
uchar n=5;