找回密码
 立即注册
搜索
热搜: 中医 针灸 咳嗽
查看: 175|回复: 0

[电源变换芯片] LM137

[复制链接]

3711

主题

1

回帖

1万

积分

管理员

积分
11949
发表于 2023-3-1 08:49:52 | 显示全部楼层 |阅读模式
  1. // 单片机外部芯片 LM137 的驱动代码

  2. // LM137是一款三端可调正/负极性稳压器芯片,其工作电压范围为-2V到-37V或1.2V到37V。它具有高精度输出、低静态功耗和过热保护功能,适用于各种电源稳定和电压调节应用。

  3. // 注意事项:应避免LM137超过其最大电压、电流和功耗等限制,以保证正常工作和长寿命。

  4. #include <reg52.h> // 使用reg52.h头文件

  5. sbit lm137_cs = P2 ^ 0; // 定义LM137芯片的CS引脚

  6. // 函数声明
  7. void lm137_init(void);                 // 初始化LM137
  8. void lm137_set_voltage(float voltage); // 设置LM137输出电压

  9. // 初始化LM137
  10. void lm137_init(void)
  11. {
  12.     lm137_cs = 1; // 先将CS引脚置高
  13. }

  14. // 设置LM137输出电压
  15. void lm137_set_voltage(float voltage)
  16. {
  17.     int code;                                       // 定义调节电压所需的数字代码
  18.     code     = (int)(65536 - voltage * 65536 / 37); // 根据公式计算数字代码
  19.     lm137_cs = 0;                                   // 先将CS引脚置低
  20.     // 向LM137发送数字代码,共16位
  21.     // 从高位开始,先发送最高8位,再发送最低8位
  22.     // 发送时每位之间需要等待一段时间,以确保LM137能正确接收
  23.     // 具体时间间隔需要根据LM137的时序图确定
  24.     // 这里假设在51单片机上发送每一位需要1us的时间间隔
  25.     P1 = (code >> 8) & 0xff;
  26.     delay_us(1);
  27.     P1 = code & 0xff;
  28.     delay_us(1);
  29.     lm137_cs = 1; // 最后将CS引脚置高
  30. }

  31. void main()
  32. {
  33.     lm137_init();           // 初始化LM137
  34.     lm137_set_voltage(5.0); // 设置LM137输出电压为5.0V
  35.     while (1)
  36.         ; // 循环等待
  37. }
复制代码


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

本版积分规则

Archiver|手机版|小黑屋|私人站点 ( 冀ICP备2023028127号-2 )

GMT+8, 2025-8-23 01:07 , Processed in 0.079639 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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