找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4113|回复: 4
打印 上一主题 下一主题
收起左侧

单片机数控直流电源课程设计论文

[复制链接]
跳转到指定楼层
楼主

分享一个单片机数控直流电源课程设计


  • 方案论证与选择

方案一:原理框图如图1所示,采用数字逻辑控制。通过“+”、“-”两键操作,控制可逆计数器分别作加、减计数,可逆计数器的二进制数字输出一路用于驱动数显电路,指示电源输出电压的大小值;另一路进入D/A转换电路,将数字量按比例转换成模拟电压,然后经过射极跟随器控制调整输出级输出所需的稳定电压。该方案能够完成基本要求,发挥部分受到限制。

图一  方案一示意图

方案二原理框图如图2所示,采用8051单片机产生波形,D/A转换器将其转化为模拟电压,再经过放大器放大。由单片机的软件实现电压的步进增减、对键盘的自动扫描等功能。该方案灵活性大,易于扩展,需要专用的译码驱动芯片。

图二  方案二示意图

方案三:数控部分同方案二,原理框图如图三。用74LS164作驱动器,由单片机软件控制数码显示,软件还附有显示器的自动刷新及电路的过零保护等功能。该方案具有方案二的所有优点,而降低了对芯片的要求,提高了系统的可靠性。

图三 方案三示意图

综上所述,选用方案三。

二.分析与参数计算

1DAC0832简介

DAC0832是一款采用CMOS工艺制成的单片电流输出型8位数 / 模转换器,图四是它的逻辑框图和引脚排列。DAC0832有三种工作方式:不带缓冲工作方式,单缓冲工作方式,双缓冲工作方式。

图四 DAC0832的逻辑框图和引脚排列

2.步进01.V的实现

因为输出电压量程为10V,VREF基准电压范围为-10V---+10V,基准电压可以为5.12V,这样在DAC0832的8脚输出电压的分辨率为:

即D/A输入数据端每增加1,电压增加0.02V。D/A的电压输出端接放大器OP27

的输入端,放大器的放大倍数为5 ,才能得到输出电压的电压分辨率:

0.02V×5=0.1V

这样当调节电压的时候,以每次0.1V的梯度增加或者降低电压。

三.硬件电路图

1.波形转换与放大部分

选用51系列的单片机产生和控制波形。数模转换器用的是DAC0832,本方案中DAC0832采用单缓冲模式。
电路如图五所示,P0口和DAC0832的数据口直接相连, 接地,DAC数据寄存器处于直通状态,ILE=1, 连接后接P2.0。在选中该片的地址(=0)时,写入数字量,该数字信号就立即传送到DAC输入寄存器,并直通至DAC数据寄存器,经过短暂的建立时间,即可以获得相应的模拟电压。 写入操作结束, 和立即变为高电平,写入的数据被输入寄存器锁存,直到再次写入刷新。

图五 波形产生与转换电路

图六  电流放大电路

  







2.键盘与数码显示部分电路如图七

图七   键盘与显示电路


3.稳压电源部分

电源部分输出+5V,+15V,-15V电压供给系统,另外还制作+5.12V直流稳压电源做DAC0832的VERF的基准电压。

.软件设计与流程

1.软件介绍

软件部分采用模块化程序设计的方法编写,系统软件由主控制程序、数码显示子程序、键盘服务子程序组成。还添加了自动扫描键盘、显示器的自动刷新、过零保护的功能。编程中C函数和汇编函数相互调用。










2.程序流程图如图九所示

 软件流程图



五.程序如下


  1. #include
  2. #define uchar unsigned char
  3. sbit dp=P1^4;
  4. sbit sh=P1^5;
  5. void delay(unsigned int t);
  6. uchar Getkey(void);
  7. void Disp(uchar n);
  8. uchar Disptab[10]={0x11,0x7d,0x23,0x29,0x4d,0x89,0x81,0x3d,0x1,0x9};
  9. main()
  10. {   uchar key;
  11.     char Vol1=0x00,Vol2=0x00;
  12.     Disp(Disptab[Vol2]);
  13.               Disp(Disptab[Vol1]-1);
  14.               P0=0x00;
  15.     while(1)
  16.               {   key=Getkey();
  17.                             switch(key)
  18.                             { case 0x01:break;
  19.                                           case 0x02:break;
  20.                                           case 0x04:if(Vol1==0&&Vol2==0)break;
  21.                                                     Vol2--;
  22.                                                     if(Vol2<0)
  23.                       { Vol2=9;Vol1--; }
  24.                       Disp(Disptab[Vol2]);
  25.                                           Disp(Disptab[Vol1]-1);
  26.                                           P0=4.3*(Vol1*10+Vol2);
  27.                                                     break;
  28.                                           case 0x08:if(Vol1==9&&Vol2==9)break;
  29.                                                     Vol2++;
  30.                                                     if(Vol2==10)
  31.                                                     { Vol2=0x00;Vol1++; }
  32.                       Disp(Disptab[Vol2]);
  33.                                           Disp(Disptab[Vol1]-1);
  34.                                           P0=4.3*(Vol1*10+Vol2);
  35.                       break;
  36.                                           default:break; }              } }
  37. uchar Getkey(void)
  38. {uchar key;
  39.     P1|=0x0f;
  40.               if(!(~(P1|0xf0))) return 0x00;
  41.               delay(0x20);
  42.     if(!(~(P1|0xf0))) return 0x00;
  43.               key=~(P1|0xf0);
  44.               while(~(P1|0xf0));
  45.               return key; }
  46. void delay(unsigned int t)
  47. { while(--t); }
  48. void Disp(uchar n)
  49. ……………………

  50. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
完整课程设计论文下载(word格式 可编辑):
数控直流电源.doc (457 KB, 下载次数: 36)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:212829 发表于 2017-9-13 00:21 | 只看该作者
好东西,收藏一下
回复

使用道具 举报

板凳
ID:232783 发表于 2017-9-13 03:36 | 只看该作者

 好东西,收藏一下
回复

使用道具 举报

地板
ID:212411 发表于 2017-10-10 10:14 来自手机 | 只看该作者
可以好用
回复

使用道具 举报

5#
ID:249545 发表于 2017-12-9 14:22 | 只看该作者
就是量程是0-10V,感觉是太小了.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表