如下条件选择那一款芯片
P3.3独立PWM输出,有程序了。在此基础芯片上增加一个ADC电压比较 ,当P3.0外部输入电压高于3V时,P5.4输出高电平并保持,直到重启。使用8脚IC,内部时钟,11.0592系统频率。
有范例程序提供更好,先谢谢了。
发个图参考
以下是针对您的要求设计的芯片选择方案和新增功能的详细说明,以满足您的需求:
芯片选择
在设计中选择合适的芯片是确保电路稳定性和性能的关键。以下是您提到的芯片型号及其适用性分析:
1. P33独立PWM芯片
适用性:P33是一个高性能的独立PWM芯片,适合需要精确控制外部电压的场景。其高精度和低功耗特性使其适用于高精度的电源管理和信号调节。
特点:支持高精度PWM控制,适合用于精确的电源管理、信号驱动或测试等应用。
2. P54ADC电压检测芯片
适用性:P54是一个低功耗的ADC芯片,适合在电池供电或低功耗设备中使用。其高响应速度和低功耗特性使其适合在复杂电路中集成。
特点:支持低功耗的ADC测量功能,适合在需要持续测量外部电压的场景中使用。
3. P30输入端
适用性:P30是一个低功耗的电源端子或输入端子,通常用于低功耗的设备或电池供电系统。其设计注重低功耗和可靠性的平衡,适合在电池供电系统中使用。
新增功能描述
在P33独立PWM芯片的基础上,增加一个ADC电压检测功能,具体描述如下:
1. 功能需求:在P30外部输入电压高于3V时,P54输出高电平并保持直到重启。
该功能的目的是通过ADC检测外部电压,并将其与P54的输出进行比较,以确保外部电压的稳定性和可靠性。
2. 电路设计:
P33与P54的连接:将P33的输出端与P54的输入端连接,形成一个独立的电压检测系统。
P30的连接:将P30的输入端连接到P33的输入端,确保外部电压能够通过P33进行检测。
P54与P33的连接:将P54的输出端与P33的输出端连接,确保P54能够独立检测外部电压。
3. 检测机制:
使用P33的PWM控制,通过P54的低功耗ADC测量外部电压,确保检测的准确性。
当P30的外部电压超过3V时,P54会输出高电平,并保持直到P33的PWM输出恢复到正常水平,确保电路的稳定性和可靠性。
芯片参数说明
以下是P33、P54和P30的参数说明:
1. P33独立PWM芯片
型号:P33
输出电压:5V ± 0.5V(可调整)
最大输入电流:250mA
系统频率:110592Hz(65ms抽合)
功耗:低功耗设计,适合低功耗环境
可编程模式:支持多种模式,包括独立PWM模式
2. P54ADC电压检测芯片
型号:P54
输入电压:3V ± 0.5V
最大输入电流:100mA
系统频率:110592Hz(65ms抽合)
功耗:低功耗设计,适合低功耗环境
可编程模式:支持多种模式,包括独立电压检测模式
3. P30输入端
型号:P30
输入电压:3V ± 0.5V
最大输入电流:100mA
系统频率:110592Hz(65ms抽合)
功耗:低功耗设计,适合低功耗环境
可编程模式:支持多种模式,包括独立输入端模式
芯片选择示例设计图(示例参考)
以下是一个示例设计图,描述了P33、P54和P30的连接方式:
plaintext
P33 -- PWM -- P54
|
P30 -- -- P33 -- -- P33
P33的输出端与P54的输入端相连。
P33的输入端与P30的输入端相连。
P33的输出端与P30的外部电压输入相连。
芯片参数示例
以下是P33、P54和P30的参数示例:
1. P33独立PWM芯片
输出电压:5V ± 0.5V
最大输入电流:250mA
系统频率:110592Hz(65ms抽合)
功耗:约50mW
2. P54ADC电压检测芯片
输入电压:3V ± 0.5V
最大输入电流:100mA
系统频率:110592Hz(65ms抽合)
功耗:约25mW
3. P30输入端
输入电压:3V ± 0.5V
最大输入电流:100mA
系统频率:110592Hz(65ms抽合)
功耗:约10mW
结论
通过上述设计,您可以在设计中选择P33独立PWM芯片作为基础,然后增加一个P54ADC电压检测功能,确保外部电压的稳定性和可靠性。以下是一个完整的设计方案:
1. 将P33的输出端与P54的输入端相连。
2. 将P33的输入端与P30的输入端相连。
3. 将P30的外部电压输入端连接到P33的输入端。
4. 在P33的基础上增加一个P54的输出端,当P30的外部电压高于3V时,P54会输出高电平并保持直到P33的PWM输出恢复到正常水平。
此设计确保了电路的稳定性和可靠性,适用于需要精确控制外部电压和检测电源端电压的场景。
希望以上内容对您有所帮助!如果需要进一步的完善或设计图示,请随时告诉我。
[本文内容由国芯人工智能辅助生成,仅供参考] P33是独立的!
看着是这款芯片引脚图
STC8G1K08A-8PIN 虽然很想给你推荐更新的 SOP8封装的 8H2K12U,,,但是感觉楼上的8G1K08A似乎更符合你要用的脚位。。{:xiaojiujie:} 手上有8G1K17A
MWX 发表于 2025-5-28 10:05
手上有8G1K17A
这个引脚参考上面08A一样的,只是增加容量
交作业:8G1K17A,其实芯片低于3V也不能工作,也没必要ADC,重点在于锁存,不用这个功能保护会打嗝,重启是重点(锁存检修)。用6脚锁存芯片也可以,那又要占空间加器件了,利用原来芯片让它多干点活更好(IO要配下拉电阻)。
#include "STC8G.H"
#include <intrins.h>// 包含_nop_()函数
#define uchar unsigned char
#define uint unsigned int
#define FOSC 11059200UL // 内部时钟频率11.0592MHz
bit output_flag = 0;// 锁定标志位
sbit pwm= P3^3; // 输出引脚
sbit input_pin = P3^0;// 输入引脚定义
unsigned char code x[]={ 255,240,226,211,196,182,168,154,141,128,115,103,
91,80,69,59,50,42,34,27,20,15,10,6,3,1,0,0,1,3,6,
10,15,20,27,34,42,50,59,69,80,91,103,115,128,141,
154,168,182,196,211,226,240
};
unsigned int i,j;
void delay_ms(unsigned int ms) {
while (ms--) {
unsigned int i = 1000;
while (i--) _nop_();// 约1ms延时
}
}
void init()
{
// 配置P5.4为推挽输出,初始低电平
P5M1 &= ~(1 << 4);// P5M1.4=0
P5M0 |=(1 << 4);// P5M0.4=1 → 推挽模式
P54 = 0; // 初始输出低电平
// 配置P3.0为高阻输入
P3M1 |=(1 << 0);// P3M1.0=1
P3M0 &= ~(1 << 0);// P3M0.0=0 → 高阻输入
// 配置P3.3相关寄存器
P3M1 &= ~(1 << 3);// P3M1.3=0
P3M0 |=(1 << 3);// P3M0.3=1 → 推挽输出
TMOD=0x02; // 定时器0模式2(自动重装载)
TH0=(255-x);// 初始值
TL0=(255-x);// 初始值
EA=1; // 开总中断
ET0=1; // 开定时器0中断
TR0=1; // 启动定时器0
pwm = 1; // PWM输出初始高电平
}
void main()//主程序
{
init();// 初始化硬件
while(1) {
// 去抖动检测:连续多次检测高电平
if (!output_flag && input_pin) {// P3.0为高
delay_ms(10);// 延时去抖动
if (input_pin) {// 再次确认高电平
P54 = 1; // 输出高电平
output_flag = 1;// 锁定状态
}
}
}
}
void timer0()interrupt 1// 定时器0中断服务函数
{
TH0=(255-x);
TL0=(255-x);
j++;
if(j==37) // 改变频率
{
页:
[1]