使用DAC0832来控制直流电机

输入数字量0X00~0XFF对应输出0~5V的电压值

运用模拟电路知识设计电路实现电机正反转,数码管实时显示速度值以及正反转。

四位数码管前一位显示正反转、1表示正转、0表示反转,后三位显示速度值

DAC0832采用双极性控制,D0~D7数据输入口,IOUT1、IOUT2互补输出口,RFB反馈端口、

VREF基准电压值(一般是5V)。

三极管部分仿真是通过两个I/O口来控制实现正反转,如果没有三极管部分只能单方向转动

主函数

#include <REGX52.H>
#include "Delay.h"
#include "Key.h"
#define DAC0832  P1//DAC0832数据口定义sbit zz=P2^0;//正反转定义
sbit fz=P2^1;
sbit we1=P3^0;//位选定义
sbit we2=P3^1;
sbit we3=P3^2;
sbit we4=P3^3;unsigned char NixieTable[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};//共阴极段码表
unsigned char KeyNum;
unsigned int Speed=70;//定义送给DAC0832的初始速度值void Nixie();//数码管显示函数void main()
{DAC0832=0x00;while(1){    KeyNum=Key();//获取按键值switch(KeyNum){case 0:break;case 1:zz=0;fz=1;break;case 2:zz=1;fz=0;break;case 3:Speed=Speed+5;KeyNum=0;break;case 4:Speed=Speed-5;KeyNum=0;break;}       DAC0832=Speed;//数字量输入转换电压值Nixie();}
}
void Nixie()
{unsigned int x=0,y=0,z=0,peed;peed=Speed;x=peed/100;y=(peed-x*100)/10;z=peed%10;//取速度的每一位的数显示出来if(zz==1&&fz==0){we1=0;P0=NixieTable[1];   //数码管显示1,正转Delay(5);             we1=1;}if(zz==0&&fz==1){we1=0;P0=NixieTable[0];  //数码管显示0,反转Delay(5);             we1=1;}we2=0;P0=NixieTable[x];Delay(5);              we2=1;we3=0;P0=NixieTable[y];    Delay(5);               we3=1;we4=0;P0=NixieTable[z];    Delay(5);               we4=1;
}

按键获取

#include <REGX52.H>
#include "Delay.h"unsigned char Key()//得出按键值,按键消抖和松手检测
{unsigned char KeyNumber=0;if(P3_4==0){Delay(20);while(P3_4==0);Delay(20);KeyNumber=1;}//正转if(P3_5==0){Delay(20);while(P3_5==0);Delay(20);KeyNumber=2;}//反转if(P3_6==0){Delay(20);while(P3_6==0);Delay(20);KeyNumber=3;}//加速if(P3_7==0){Delay(20);while(P3_7==0);Delay(20);KeyNumber=4;}//减速return KeyNumber;
}

在这里说明一下三极管部分仿真是一个学长给出的,学长还是厉害啊

基于DAC0832的直流电机控制系统相关推荐

  1. 模糊PID——基于MATLAB的直流电机控制系统

    另外一个课题 根据传统PID控制中系数对控制特性的影响,采用模糊PID控制方式代替双闭环传统PID的转速控制.通过MATLAB/Simulink仿真软件建立控制系统的数学模型,重点说明了模糊控制器的制 ...

  2. 基于锁相环的直流电机控制系统simulink仿真

    目录 一.理论基础 二.部分MATLAB仿真 一.理论基础 基于锁相环的直流电机转速控制系统实质就是一个锁相环,只不过电动机加上光电脉冲编码器的组合代替了压控振荡器.由于直流电动机的外施电压与电动机转 ...

  3. 基于PID的直流电机调速控制系统

    全套资料下载地址:https://download.csdn.net/download/sheziqiong/86772168 全套资料下载地址:https://download.csdn.net/d ...

  4. 计算机控制直流电机闭环调速实验报告,电气工程及其自动化电力系统实训报告-基于PLC的直流电机调速实验.pdf...

    电气工程及其自动化电力系统实训报告-基于PLC的直流电机调速实验.pdf 华南理工大学广州汽车学院华南理工大学广州汽车学院 电力系统实训电力系统实训报告报告 设计题目设计题目基于基于 PLCPLC 的 ...

  5. 基于fpga的直流电机vhdl+论文+开题报告+(csdn免费下载)

    下载资料链接 摘要 直流电机是日常生活中常见的一种能量转换装置,它应用广泛,功能强大,在生产生活中占据着重要位置.直流电机的控制方法多种多样,控制系统的组成更是五花八门.本文将采用现场可编辑门阵列FP ...

  6. 基于STM32F103的直流电机调速系统

    一.引言 电动机作为当前最主要的驱动部件,应用范围已遍及国民经济的各个领域,随着微处理器.电力电子.控制等技术的发展,电机控制技术以电力半导体变流器件的应用为基础,以电动机为控制对象,以自动控制理论为 ...

  7. dac单缓冲方式C语言设计,课程设计基于DAC0832单缓冲工作波形发生器.doc

    课程设计基于DAC0832单缓冲工作波形发生器.doc 成绩 课程论文 题 目:基于DAC0832单缓冲工作波形发生器 学生姓名: 学生学号: 系别:电子工程学院 专业:通信工程 年级:2014 任课 ...

  8. 工业机器人-基于伺服电机的PMSM控制系统硬件电路设计

    第十章 基于单片机的PMSM控制系统硬件电路设计 10.1 硬件电路设计概述 在对腕关节的控制器的设计上,主要采用单片机作为主控制器,通过双电源为控制机和伺服电机进行供电,从而保障机械臂的正常使用.电 ...

  9. 基于单片机的直流电机控制系统设计

    1.设计任务 基于单片机的直流电机控制系统设计 基本要求:利用单片机AT89C51设计直流电机控制系统,能对直流电机进行控制. 创新:能改变显示电机速度:能通过键盘操作改变电机的方向等. 任务区分:B ...

最新文章

  1. jsp servlet table 集合list 数据 绑定
  2. SQL Server 查询性能优化——覆盖索引(二)
  3. Node.js使用fs.renameSync报cross-device link not permitted错误
  4. oc调用rest api
  5. HDU3400+三分
  6. java中volatile的使用方式
  7. Service Mesh 高可用在企业级生产中的实践
  8. 数据结构与算法--实现Singleton模式
  9. java 堆转储快照_捕获Java堆转储的7个选项
  10. Linux安装MySQL的完整步骤并有关MySQL8.0版本的问题方法
  11. Visual Studio 2008中的jQuery Intellisense
  12. XML--可扩展标记语言
  13. Saying Good-bye to Cambridge Again --by Xu Zhimo
  14. ESP8266-01/01S配对阿里云生活物联网教程(超详细)
  15. Linux查看系统版本命令 linux学习教程
  16. sql常识- UNIQUE
  17. 在java中定义标示符_JAVA中定义标识符时可以使用系统保留的关键字。
  18. Unity开发 Photon Pun 多人游戏组件
  19. 美化 PowerShell
  20. 【名师大讲坛】叶俊受《金刚经》的启发创造“名非论”-火锅智烩节目组根据视频文字整理

热门文章

  1. hp ml110g7 linux,HP ML110 G7 安装2015操作系统.doc
  2. [灵性] 人工智能与灵性修炼
  3. printf函数详细解析
  4. drawRect方法
  5. BiLSTM-Attention-情感评分
  6. go time常用方法
  7. 水文自学计算机单片技术,水文仪器工作基础学习知识原理.doc
  8. Android 内存泄漏及其修复
  9. 捷图书排行Top 20
  10. 国家航天局:中国探月工程四期和深空探测工程全面拉开序幕