怎么用C8051FF330D单片机设计恒流源控制器
时间:11-18
来源:互联网
点击:
在飞速发展的电子和电信技术系统中, 电源的优劣在一定程度上决定着电信设备的性能和寿命。虽然目前市场上的数控恒压技术已经比较成熟, 数控电压源产品也已朝着智能化和小型化的趋势发展, 且价格也越来越便宜。
以C8051FF330D单片机为控制核心, 并利用C8051FF330D的I2C串行总线扩展外围器件, 同时以模块化设计方法,设计了一种程控恒流源。而且整个电源还具有功耗低、体积小, 电流纹波小、控制精度高和运行稳定等特点。
工具/原料
- C8051FF330D单片机、JTAG接口、LED数码管、电路图、键盘
步骤/方法
- 系统总体结构:采用C8051FF330D单片机内部的10位电流型数模转换器和电流/电压转换电路来输出0~4 V的模拟量, 然后用这个电压信号来控制恒流源的输出电流, 以使其按照给定值变化。
- 输出接口电路:C8051F330D内部电路中的数模转换器输出的0~1 mA电流信号通过基准电阻转换为0~2 V的电压信号后, 再经过放大电路转换为0~4 V的标准信号输出。其模拟量输出信号转换电路如图所示。
- 掉电保护电路:为了避免系统掉电情况的发生, 本设计采用FM24CL04作为非易失存储器来保护系统参数及其它中间数据。与EEPROM不同, FM24CL04可以以总线速度进行写操作, 它使用的是工业标准两线I2C接口, 图3所示是本电源系统附带的掉电数据保护电路。
- 键盘及显示电路;采用ZLG7290B专用芯片还可以简化电路和程序, 减轻电路的调试负担。而且, 作为工业级显示驱动芯片, ZLG7290B也具有较强的抗干扰能力。图4 所示是由C8051F330D 单片机和ZLG7290B专用显示驱动芯片组成的键盘及显示驱动电路原理图。
- 主程序设计:采用C语言来进行软件设计, 以实现系统的各项功能。系统应用程序采用模块化结构设计, 主要包括主程序、参数调用修改子程序、DAC0初始化程序等。图5所示是其主程序流程图。
- 模块函数程序设计:
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;
}
……
注意事项
- 在制作和配置过程中一定要按照以上步骤来进行
- 最后成功后,还要进行一定的调试
C8051FF330D单片机恒流源控制 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)