×
单片机 > 单片机程序设计 > 详情

怎么用C8051FF330D单片机设计恒流源控制器

发布时间:2020-05-30 发布时间:
|
      在飞速发展的电子和电信技术系统中, 电源的优劣在一定程度上决定着电信设备的性能和寿命。虽然目前市场上的数控恒压技术已经比较成熟, 数控电压源产品也已朝着智能化和小型化的趋势发展, 且价格也越来越便宜。
      以C8051FF330D单片机为控制核心, 并利用C8051FF330D的I2C串行总线扩展外围器件, 同时以模块化设计方法,设计了一种程控恒流源。而且整个电源还具有功耗低、体积小, 电流纹波小、控制精度高和运行稳定等特点。
 

工具/原料

  • C8051FF330D单片机、JTAG接口、LED数码管、电路图、键盘
     
 

步骤/方法

  1. 系统总体结构:采用C8051FF330D单片机内部的10位电流型数模转换器和电流/电压转换电路来输出0~4 V的模拟量, 然后用这个电压信号来控制恒流源的输出电流, 以使其按照给定值变化。
     
  2. 输出接口电路:C8051F330D内部电路中的数模转换器输出的0~1 mA电流信号通过基准电阻转换为0~2 V的电压信号后, 再经过放大电路转换为0~4 V的标准信号输出。其模拟量输出信号转换电路如图所示。

     
  3. 掉电保护电路:为了避免系统掉电情况的发生, 本设计采用FM24CL04作为非易失存储器来保护系统参数及其它中间数据。与EEPROM不同, FM24CL04可以以总线速度进行写操作, 它使用的是工业标准两线I2C接口, 图3所示是本电源系统附带的掉电数据保护电路。
     
  4. 键盘及显示电路;采用ZLG7290B专用芯片还可以简化电路和程序, 减轻电路的调试负担。而且, 作为工业级显示驱动芯片, ZLG7290B也具有较强的抗干扰能力。图4 所示是由C8051F330D 单片机和ZLG7290B专用显示驱动芯片组成的键盘及显示驱动电路原理图。
     
  5. 主程序设计:采用C语言来进行软件设计, 以实现系统的各项功能。系统应用程序采用模块化结构设计, 主要包括主程序、参数调用修改子程序、DAC0初始化程序等。图5所示是其主程序流程图。
     
  6. 模块函数程序设计:
    Void DAC_Init (void)
      {
      REF0CN =0X30; /*内部偏压发生器和电压基准缓冲器工作, 基准从VREF脚输出*、
      ID0CB =0XF2;
      }
      存储器写入函数如下:
      Viod EEPROM_ByteWrite ( uchar i2caddr,uchar addr, uchar dat )
      {
      While (smb_busy)
      Smb_busy = 1;
      Target = i2caddr;
      Smb_w =write;
      Smb_sendwordaddr = 1;
      Smb_randomread = 0;
      Smb_ackpoll =1;
      Word_addr = addr;
      Smb_singlebyte_out = dat;
      Psmb_data_out =&smb_singlebyte_out;
      Smb_data_len =1;
      Sta = 1;
      }
      ……
     
 

注意事项

  • 在制作和配置过程中一定要按照以上步骤来进行
     
  • 最后成功后,还要进行一定的调试


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
51单片机中断源的扩展方法