|
- // 该单片机代码使用LM117外部芯片来控制输出电压,头文件使用reg52.h
- // LM117是一款可调节三端稳压器,能够输出1.2V至37V的稳定电压,最大输出电流1.5A
- // LM117的工作温度范围为0°C至125°C,需要注意保持散热
- // 更多详细信息请参考LM117数据手册
- #include <reg52.h>
- // 定义控制LM117的引脚
- sbit ADJ = P1 ^ 0; // 调节引脚,用来调整输出电压
- sbit OUT = P1 ^ 1; // 输出引脚,输出稳定电压
- sbit IN = P1 ^ 2; // 输入引脚,接受电源输入
- // 函数声明
- void LM117_init(); // 初始化LM117
- void LM117_setVoltage(unsigned int voltage); // 设置输出电压
- void delay_ms(unsigned int ms); // 毫秒级延时函数
- // LM117初始化函数
- void LM117_init()
- {
- ADJ = 1; // 将调节引脚拉高
- OUT = 0; // 输出引脚拉低
- }
- // 设置LM117输出电压
- void LM117_setVoltage(unsigned int voltage)
- {
- float r1, r2; // 定义两个电阻变量
- unsigned char t; // 定义循环计数变量
- r2 = 2400; // 设置r2电阻值为2.4kΩ
- r1 = (voltage - 1.25) * r2 / 1.25; // 根据公式计算r1电阻值
- r1 = r1 / 1000; // 将电阻值转换为千欧姆
- for (t = 0; t < 200; t++) {} // 等待一段时间
- OUT = 1; // 将输出引脚拉高
- for (t = 0; t < 200; t++) {} // 等待一段时间
- }
- // 毫秒级延时函数
- void delay_ms(unsigned int ms)
- {
- unsigned int i, j;
- for (i = 0; i < ms; i++)
- for (j = 0; j < 114; j++)
- ;
- }
- // 主函数
- void main()
- {
- LM117_init(); // 初始化LM117
- LM117_setVoltage(5); // 设置输出电压为5V
- while (1) {} // 循环等待
- }
复制代码
|
|