导航:首页 > 操作系统 > rc充放电测温单片机

rc充放电测温单片机

发布时间:2022-07-25 08:56:33

1. 谁用过51单片机做过RC测温的能分享一下吗

给你个网站
你去看一下
有什么问题你在问我
我现在也在做用RC测温
http://www.sinochip.net/TechSheet/67.htm

本程序工作过程如下:

;1、开机后首先进行初始化,初始化后显示“P”1秒,提示系统进入测试工作状态,显

; 示完成后,进行温度测试。

;2、温度测试的过程是这样的:

; * T0置为计数方式,对T0脚(即P3.5)的脉冲计数,工作方式2,初值为255

; * 将T1置为定时方式,工作方式2,初值为0

; * 从P3.4口送单稳触发脉冲,使555输出单稳脉冲(正脉冲),该脉冲宽度随热敏

; 电阻阻值而变化。

; * 开T0、T1中断,启动T0、T1。此时T1自动对内部机器周期计数,当TL1溢

; 出时,产生T1中断。在T1中断处理程序中,将RAM 21H单元加1(即21H单

; 元存放脉冲宽计数值高位)后返回主程序。

; * 当来自P3.5的单稳脉冲结束(即下降沿到来)时,TL0计数器加1并溢出,产

; 生T0中断。在T0中断处理程序中,关T0、T1中断,并将TL1中的的内容读

; 到RAM 20H单元(20H单元存放脉宽计数值的低位)。

; * 查表求温度值

; NTTAB是脉宽计数值与温度的对照表,按低温到高温的次序存放,即第一、第

; 二单元存放-100C时的脉宽计数值,依此类推,第121和122单元则存放+500C

; 时的脉宽计数值。

; 将20H、21H中的计数值与NTTAB中的计数值依次进行比较,直至20H、21H

; 中的值小于NTTAB中的计数值为止。而比较的次数就对应温度的整数值,二计

; 数值之差与对照表相邻两计数值的商即为小数位。

;3、程序中除了对-100C到+500C进行测试外,还有开路(计数值过大)、短路检测(计

; 数值过小)、负超温检测、正超温检测,并有相应的显示。

;4、将检测值(温度值或其他结果)显示1秒,然后再重复温度检测。

;需要说明的是:本程序虽包括了测温的全过程,但未考虑软硬件的自检,软件滤波等部

;分。

;电容C4、热敏电阻RT的参数决定单稳脉冲的宽度,而最终的计数值除了与单稳

; 脉冲的宽度有关外,还与晶振频率有关,因而在RT的型号确定后要根据系统对精

; 度和分辨率等的要求选择C4的值。本程序中NTTAB脉宽计数值与温度对照表是在

; 热敏电阻为MF53-1型负温热敏电阻加12K精密电阻与之并联,C4为1μ,晶振为

; 4MHz的条件下得到的。数据不十分准,仅做参考。你可以在元件参数定了后,可在

; 调试程序时用可变电阻箱代替热敏电阻,在程序测出计数值处设断点,读出每个标

; 准阻值所对应的计数值(即20H、21H中的内容),自己将NTTAB建立起来。

; * * * * * * * * * * * * * * * * * * * * * * * * * *

; * 用89C2051控制的数字测温仪 *

; * 源程序清单 *

; * * * * * * * * * * * * * * * * * * * * * * * * * *

ORG 0000H

AJMP MAIN ;转主程序

ORG 000BH

AJMP WT0 ;T0中断入口

ORG 001BH

AJMP WT1 ;T1中断入口

;主程序

ORG 030H

MAIN: MOV IE,#00H ;关中断

MOV SP,#40H ;设堆栈指针SP为40H

SETB P3.5 ;将P3.5口置”1”

MOV 30H,#0CH ;“P3 ”送显示缓冲区30H~33H

MOV 31H,#0EH

MOV 32H,#0EH

MOV 33H,#0EH

MAIN0: ACALL D1S ;调显示1秒子程序

MOV P1,#0FFH ;关显示

CLR 20H ;清脉宽计数值存放区20H~21H

CLR 21H

CLR 22H ;清单稳脉冲结束标志22H

MOV TH0,#0FFH ;置T0计数初值255

MOV TL0,#0FFH

MOV TH1,#00H ;置T1的计数初值0

MOV TL1,#00H

MOV TMOD,#26H ;置T0为计数方式,方式2;T1为定时方式。方式2

SETB EA ;允许T0、T1中断

SETB ET0

SETB ET1

SETB TR0 ;开T0中断

CLR P3.5 ;送单稳触发脉冲

NOP

NOP

NOP

NOP

SETB P3.5

SETB TR1 ;开T1中断

MAIN1: CJNE 22H,#01H,MAIN2 ;单稳脉冲未结束,转检查是否超时

AJMP MAIN3 ;单稳脉冲结束,转取脉宽计数值

MAIN2: CJINE 21H,#08H,MAIN1 ;未超时,转等待单稳脉冲结束

CLR EA

CLR ET0

CLR ET1

CLR TR0

CLR TR1

MOV 30H,#0DH ;开路提示“E1”送显示缓冲区,转显示

MOV 31H,#01H

MOV 32H,#0EH

MOV 33H,#0EH

AJMP MAIN0

MAIN3: CJNE 21H,#00H,MAIN4 ;单稳脉冲结束,先判断是否短路。不是,转查表程序。

MOV 30H,#0DH ;短路,短路提示“E2”送显示缓冲区,转显示

MOV 31H,#02H

MOV 32H,#0EH

MOV 33H,#0EH

AJMP MAIN0

MAIN4: ACALL NTTR ;调查表子程序

AJMP MAIN0

;查表求温度值子程序

NTTR: MOV R2,#00H ;清计数与温度对照表偏移量寄存器R2

MOV DPTR,NTTAB ;DPTR指向计数与温度对照表首址

NTTR1: CLR C ;20H、21H中的内容与NTTRB相减,并将差值存23H、24H

MOV R3,#02H

MOV R0,#20H

MOV R1,#23H

NTTR2: MOV A,R2

MOVC A,@A+DPTR

SUBB A,@R0

MOV @R1,A

INC R0

INC R1

INC R2

CJNE R2,#122,NTTR3 ;若未到NTAB表尾,继续比较

POVER:JC NTTR30 ;到表尾,查到对应温度,转求温度值

MOV 30,#0EH ;到表尾,查到对应温度,正超温提示“UUU”送显缓区

MOV 31H,#0BH

MOV 32H,#0BH

MOV 33H,#0BH

RET ;返回主程序

NTTR3: DJNZ R3,NTTR2

JNC NTTR1 ;未查到对应温度值,继续查表

NTTR30:MOV A,R2 ;已查到对应温度,由偏移量求出整数部分,暂存R4

CLR C

SUBB A,#02H

RR A

MOV R4,A

MOV R1,#23H ;求温度值的小数部分:+X/2送B

MOV A,@R1

CPL A

INC A

RR A

MOV B,A

NTTR4: DEC R2 ;Ni+1送20H、21H

MOV R0,#21H

MOV A,R2

MOVC A,@A+DPTR

MOV @R0, A

DEC R0

DEC R2

MOV A, R2

MOVC A,@A+DPTR

MOV @R0, A

DEC R2 ;求+i/2从A

DEC R2

MOV R3,#02H

CLR C

NTTR5: MOV A,R2

MOVC A,@A+DPTR

SUBB A,@R0

JNC NTTR50

CLP A

INC A

NTTR50:RR A

MOV R5,A

MOV A,B ;+x/2*10/+i得到温度值的小数部分

JZ NTTR6

MOV B, #05H

MUL AB

MOV B,R5

DIV AB

MOV 20H,A ;小数部分送20H

AJMP NTTR7

NTTR6: MOV 20H,#00H

NTTR7: MOV A,#0AH ;判整数部分为正还是负

CLR C

SUBB A,R4

JC PTEMP

NTEMP:CJNE A,#0AH,NTEMP1 ;为负

MOV 30H,#0EH ;“-X”送显示缓冲区高三位

MOV 31H,#0AH

MOV 32H,A

AJMP NTEMP2

NTEMP1:MOV 30H,#0AH ;“-10” 送显示缓冲区高三位

MOV 31H,#01H

MOV 32H,#00H

NTEMP2:MOV A,#0AH ;修正小数部分后,将小数部分送显缓低三位

CLR C

SUBB A,20H

MOV 33H,A

RET ;返回主程序

PTEMP: MOV 30H,#0EH ;为正。“ ”送显缓最高位

MOV A,R4 ;温度值整数部分送显缓中间两位

MOV B,#0AH

DIV AB

JNZ PTEMP1

] MOV 31H,#0EH

JMP PTEMP2

PTEMP1:MOV 31H,A

PTEMP2:MOV 32H,B

MOV 33H,20H ;小数部分送显缓最低位

RET ;返回主程序

;显示子程序(将显缓区的内容循环显示一遍,每位显示1ms后,关显示返回主程序)

DSP: MOV R2,#01H

MOV R0,#30H

MOV DPTR,#TAB

DSP1: MOV A,@R0

MOVC A,@A+DPTR

MOV P1,A

ORL P3,R2

ACALL D1MS

MOV A,R2

RL A

MOV R2,A

CJNE R2,#10H,DSP2

ANL P3,#0F0H

RET

DSP2: INC R0

AJMP DSP1

;延时1ms子程序

D1MS: MOV R7,#166

D1MS1: DJNZ R7,D1MS1

RET

;显示1秒子程序

D1S: MOV R6,#04H

D1S1: MOV R5,#250

D1S2: ACALL DSP

DJNZ R5,D1S2

DJNZ R6,D1S1

RET

;段码表

TAB: DB 40H,79H,24H,30H,19H :0.,1.,2.,3.,4.

DB 12H,02H,78H,00H,10H :5.,6.,7.,8.,9.

DB 3FH,41H,0CH,06H,0FFH :-.,U.,P.,E.,灭

;T0中断处理程序

WT0: MOV A,TL1 ;将T1计数值送20H

MOV 20H,A

CLR EA ;关中断

CLR TR0 ;T0停止计数

CLR TR1 ;T1停止计数

MOV 22H,#01H ;置单稳脉冲结束标志

RETI ;返回主程序

;T1中断处理程序

WT1: INC 21H ;脉宽计数值高位加1

RETI ;返回主程序

;脉宽计数与温度对照表

NTTBL: DB 0D0H,05H,0B2H,05H,96H,05H,72H,05H

DB 52H,05H,35H,05H,15H,05H,0F6H,04H

DB 0D8H,04H,0B9H,04H,9CH,04H,81H,04H

DB 65H,04H,4AH,04H,30H,04H,14H,04H

DB 0FAH,03H,0E0H,03H,0C6H,03H,0ADH,03H

DB 95H,03H,7CH,03H,64H,03H,4CH,03H

2. STC系列单片机用RC充放电实现检测外部电压电路中,输入电压接哪里

你好,输入电压接在P3.2口。
开始时,P3.2置低电平,会将此处电压拉低至0.
然后P3.2置高电平,同时计数并打开中断,当充电电压达到2v时,产生中断,停止计数,此时的计数值与输入电压大小有关。

3. RC复位电路在单片机中 这个电容和电阻分别什么作用 再告诉我下如何选择电容容值和电阻阻值

复位电路的原理:上电瞬间,5V电压经C3电容(此时电容作用,通交隔直,瞬间的电压变化会经C3耦合,此时C3视为理想中短路状态),过R1到地回路,RST脚瞬间变为高电平,CPU进入复位状态,5V经C3,R1到地进行充电回路,根据RC串联充电公式,当C3充饱电后,C3两端压降为5V,此时RST脚为低电平,C3充电时间T大于CPU复位时间时,CPU复位成功。

4. 没有ADC的MCU怎么检测电压,除了RC充放电方法

可以选择外接并口或串口ADC,还有一种方法是用V/F转换芯片将电压转换为频率,然后用单片机测量频率获取电压。

5. 单片机使用外部晶振和使用内部RC振荡,哪个的功耗更低些为什么大概高多少(可以举例说明一种单片机)

单片机的功耗跟使用何种晶振方式没有太大关系。从频率上来说,影响单片机功耗的因素主要有两个:

第一个是,单片机的晶振频率。一般来说,单片机的晶振频率越高,所需功耗越大。这个晶振频率跟是使用外部晶振还是内部震荡没有关系;

第二个是,单片机所使用的功能模块。如使用一个ADC模块和一个DAC模块比单独使用一个ADC模块的功耗要高。

具体来说,单片机的每一个功能模块都有一个大概的功耗范围。如下图给出了单片机在不同晶振频率下所需电流功耗。

6. 基于STC89C52RC单片机和DS18B20完成简易现场测温系统制作

#include <reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
#define delayNOP() {_nop_();_nop_();_nop_();_nop_();}
/********************** DS18B20 指令*********************/
#define ds18B20_READ_ROM 0x33 // 读 ROM 指令
#define ds18B20_MATCH_ROM 0x55 // 匹配 ROM 指令
#define ds18B20_SKIP_ROM 0xCC // 跳过 ROM 指令
#define ds18B20_SEARCH_ROM 0xF0 // 搜索 ROM 指令
#define ds18B20_ALARM_SEARCH 0xEC // 报警搜索指令
#define ds18B20_WRITE_SCRATCHPAD 0x4E // 写暂存寄存器指令
#define ds18B20_READ_SCRATCHPAD 0xBE // 读暂存寄存器指令
#define ds18B20_COPY_SCRATCHPAD 0x48 // 复制暂存寄存器指令
#define ds18B20_CONVERT_T 0x44 // 启动温度转换指令
#define ds18B20_RECALL_E2 0xB8 // 重新调出 E2PROM 的数据
#define ds18B20_READ_POWER_SUPPLY 0xB4 // 读电源
#define LCD_Data P1 //定义数据指令端口
sbit ds18B20_data = P3^3; //温度探头(DQ)数据端口对应的单片机引脚
sbit LCD_RS = P2^0;
sbit LCD_RW = P2^1;
sbit LCD_EN = P2^2;

uchar Minus_Flag=0;
uchar code Temp_Disp_Title[]={"Current Temp : "};
uchar Current_Temp_Display_Buffer[]={"TEMP: "};
uchar Temp_Value[]={0x00,0x00};
uchar Display_Digit[]={0,0,0};

void Delay(uint x)
{
while(--x);
}
/****************************延时10us*************************/
//先执行一个LCALL指令(2 μs),然后执行6个_NOP_( )语句(6 μs),最后执行了一个RET指令(2 μs)
void Delay_10us(void)
{ _nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
}
/***************************延时 time*15us******************** */
void delay_15us(uint time)
{
uint i;
for (i=0;i<time;i++);
}
void DelayXus(uint x)
{
uchar i;
while(x--)
{
for(i=0;i<200;i++);
}
}

bit LCD_Busy_Check()
{
bit result;
LCD_RS = 0; // ling
LCD_RW = 1; // zhuang tai
LCD_EN = 1;
delayNOP();
result = (bit)(LCD_Data&0x80);
LCD_EN=0;
return result;
}

void Write_LCD_Command(uchar cmd)
{
while(LCD_Busy_Check()); //bu mang lu
LCD_RS = 0;
LCD_RW = 0;
LCD_EN = 0;
_nop_();
_nop_();
LCD_Data = cmd;
delayNOP();
LCD_EN = 1;
delayNOP();
LCD_EN = 0;
}

void Write_LCD_Data(uchar dat)
{
while(LCD_Busy_Check());
LCD_RS = 1;
LCD_RW = 0;
LCD_EN = 0;
LCD_Data = dat;
delayNOP();
LCD_EN = 1;
delayNOP();
LCD_EN = 0;
}

void LCD_Initialise()
{
Write_LCD_Command(0x01); //清屏
DelayXus(5);
Write_LCD_Command(0x38); //设置16*2显示,5*7点阵,8位数据接口
DelayXus(5);
Write_LCD_Command(0x0c); //画面开,禁止光标显示闪烁
DelayXus(5);
Write_LCD_Command(0x06);

//当读写一个字节后,光标自动加1
DelayXus(5);
}

void Set_LCD_POS(uchar pos)
{
Write_LCD_Command(pos|0x80);
}

/************************温度探头程序************************/
bit Rstds18B20(void); // DS18B20 复位程序, 返回 0-有设备连接,1-无设
void Writeds18B20(uchar ); // 写一个字节 ds18B20 数据、命令子程序
uchar Readds18B20(void); // 读一个字节ds18B20 数据子程序
uint GetTempValue(void); // 启动 ds18B20 温度转换程序
/***********************ds18B20 复位程序**********************/
bit Rstds18B20(void) // 返回,0-有设备连接;1-无设备连接
{
uchar i;
bit RstFlag;
RstFlag = 1;
ds18B20_data = 1;
_nop_();
ds18B20_data=0; // 发送复位脉冲,时间>480us
delay_15us(40); // 延时 480--960us
ds18B20_data = 1; // 拉高总线,延时 15us-60us 后等待ds18B20 响应
delay_15us(2); // 15us-60us
for (i=0;i<6;i++) // 60us-240us
{
delay_15us(1);
if (ds18B20_data==0)
RstFlag=0; // 接收 ds18B20 的存在信号
}
delay_15us(20); // 240us
return RstFlag;
}

/***************写一个字节 ds18B20 数据、命令子程序******************
功能:向 ds18B20 写入数据或命令
入口:待写入 ds18B20 的数据或命令
出口:无
******************************************************************/
void Writeds18B20(uchar ch)
{
uchar i;
ds18B20_data = 1; // 拉高总线,延时 1us,准备启动
_nop_();
for (i=0;i<8;i++)
{
ds18B20_data = 0; // 拉低总线
Delay_10us(); // 延时10us
ds18B20_data = ch&0x1; // 发送待写入的数据, “1”或“0”
delay_15us(2); // 保持写入数据时间 45us
ds18B20_data = 1; // 拉高总线,延时 1us 后准备下一位传输
ch = ch>>1; //先写低位,后写高位
_nop_();
}
}

/******************读一个字节 ds18B20 数据子程序********************
功能:从 ds18B20 读出数据
入口:无
出口:读出的 ds18B20 的数据
******************************************************************/
uchar Readds18B20(void)
{
uchar i,ch;
ch = 0;
ds18B20_data = 1; // 拉高总线,延时 1us,准备启动
_nop_();
for (i=0;i<8;i++)
{
ds18B20_data = 0; // 拉低总线
Delay_10us(); // 延时10us
ds18B20_data = 1; // 拉高总线,准备接收数据
_nop_();
ch = ch>>1;
if (ds18B20_data == 1) // 接收 ds18B20 的数据
ch = ch+0x80;
delay_15us(2); // 延时 45us,保证整个读命令有 60us
}
return ch;
}
/*******************启动

ds18B20 温度转换程序*******************
功能:读取 18B20 的温度值
入口:无
出口:0xffff-18B20 不正常
0x8000-温度低于零度
0~1250-摄氏温度(0~125)
**************************************************************/

uint GetTempValue(void)
{
uchar temp1=0,temp2=0;
uint T=0;
float TC; //TC(浮点数)实际温度
if(!Rstds18B20()) //如果探头连接正常
{
Rstds18B20(); // 复位 ds18B20
Writeds18B20(ds18B20_SKIP_ROM); // 跳过 ROM 操作
Writeds18B20(ds18B20_CONVERT_T); // 启动 ds18B20 温度转换
if(!Rstds18B20()) // 如果探头连接正常
{
Rstds18B20(); // 复位 ds18B20
Writeds18B20(ds18B20_SKIP_ROM); // 跳过 ROM 操作
Writeds18B20(ds18B20_READ_SCRATCHPAD); /* 发读 ds18B20 数据, 前两位是温度值 */
temp1 = Readds18B20(); // 温度值的低位数据
temp2 = Readds18B20(); // 温度值的高位数据
// temp1=0x56;
// temp2=0x05;
T = temp1+(temp2<<8);
if((temp2&0xfc)==0xfc)
{
Minus_Flag=1;
TC=~T+1;
}
else
{
Minus_Flag=0;
TC=T;
}
// TC=T*0.0625; //将测量的数据转换成实际温度
// TC=0x0556;
return (TC*0.625); //返回 TC
}
else
{
return 0xffff;
}
}
else
{
return 0xffff;
}
}

void Display_Temperature(uint num)
{
uchar m,n,q,i;
m=num/100; //得到十位
n=num%100/10; //得到个位
q=num%10; //对上述整数求余得到小数点后第一位
Display_Digit[2] = m;
Display_Digit[1] = n;
Display_Digit[0] = q;
if(Minus_Flag)
{
Current_Temp_Display_Buffer[7] = '-';
}
else Current_Temp_Display_Buffer[7] = ' ';
Current_Temp_Display_Buffer[11] = Display_Digit[0] + '0';
Current_Temp_Display_Buffer[10] = '.';
Current_Temp_Display_Buffer[9] = Display_Digit[1] + '0';
Current_Temp_Display_Buffer[8] = Display_Digit[2] + '0';
if(Display_Digit[2] == 0)
Current_Temp_Display_Buffer[8] = ' ';
Set_LCD_POS(0x00);
for(i=0;i<16;i++)
{
Write_LCD_Data(Temp_Disp_Title[i]);
}
Set_LCD_POS(0x40);
for(i=0;i<16;i++)
{
Write_LCD_Data(Current_Temp_Display_Buffer[i]);
}
// Set_LCD_POS(0x4d);
// Write_LCD_Data(0x00);
Set_LCD_POS(0x4d);
Write_LCD_Data('C');
}

void main()
{
uint Temperature;
LCD_Initialise();
Delay(50000);
while(1)
{
Temperature=GetTempValue();
Display_Temperature(Temperature);
// Display_Temperature(865);
DelayXus(100);
}

}

7. 要用单片机测量一阶RC电路常数,给RC电路输入的是方波,怎么确定其电路时间常数

当电容两端电压达到最大并趋于稳定时,完成充电,之后电压降到最大值的0.632倍时,开始定时
完成放电后定时器停止计时,这段时间就是时间常数T=RC。
读取定时器的定时时间,显示在数码管上,就是时间常数T的时间。

呵呵 赶快去试试吧
满意就选满意回答哦

8. 单片机测温原理

这需要温度感应头与单片机配合的,感应头把温度信号转换成电信号在转换成二进制数,输入单片机,单片机与储存的温度记录相比较,得出当前温度,输出。总得来说就是需要有外部原件把温度换成二进制信号(有的单片机可以直接识别电压信号,内部自动转换二进制信号),单片机识别与存储的数据进行比较得出温度。

9. 单片机外部rc振荡器原理

PIC系列单片机可工作于不同的振荡器方式。用户可以根据其系统设计的需要,选择下述四种振荡方式中的一种,其振荡的频率范围在DC~20/25MHz之间,如表1所示。

用户可以根据不同的应用场合,从表1所示的四种振荡方式中选择一种(使用PIC编程器时也需作这种选择的操作),以获得最佳的性能价格比。其中,LP振荡器方式可以降低系统功耗,RC振荡器方式可节省成本。

建立PIC源程序时,其振荡器方式由配置寄存器CONFIG的D1位和D0位来决定,如表2所示。

1内部晶体振荡器/陶瓷振荡器

在LP、XT和HS这三种方式下,需要在微控制器引脚OSC1/CLKIN和OSC2/CLKOUT的两端接一石英晶体或陶瓷谐振器。如图1中,只有在HS方式下才需要在振荡回路中加入电阻Rs(100Ω<Rs<1kΩ)。

2外部时钟源或外部晶体振荡器

在LP、XT和HS这三种振荡器方式下,各种PIC系列微控制器芯片既可以用集成在内部的振荡器,也可以接受外部输入的时钟源或外接晶体振荡器。若用外部时钟源或外接晶体振荡器,可把外部振荡器输出接芯片的OSC1/CLKIN引脚,此时OSC2/CLKOUT引脚开路即可。图2是外接时钟源的形式,外部晶体独立的振荡器与图2相似。

3外部RC振荡器

RC振荡器主要应用于对时间精度要求不太高的场合。

RC振荡器是在OSC1/CLKIN引脚接一串联电阻电容,如图3所示。厂家推荐电阻Rext取值在5kΩ~100kΩ之间。当Rext小于22kΩ时,振荡器的工作可能会变得不稳定或停振;当Rext取值大于1MΩ时,振荡器易受到干扰。RC振荡器产生的振荡频率fosc,经内部4分频电路分频后从OSC2/CLKOUT输出fosc/4振荡信号,此信号可以用作测试或作其它逻辑电路的同步信号。

表3给出了使用陶瓷或晶体振荡器时所需的电容器值。表4给出了使用RC振荡器的电阻器和电容器的值。此数据供设计时参考。

10. 用单片机检测电路rc频率需要哪些电子原件

用单片机检测电路rc频率,只需要一个有ADC的单片机最小系统就可以了。
如果你有现成的最好,没有的话推荐STC15W401S系列,只需要一片单片机芯片,一个退耦电容,一个充放电试验电容,一个充放电电阻就可以了。

阅读全文

与rc充放电测温单片机相关的资料

热点内容
钢筋是怎么加密的 浏览:441
二分查找算法php 浏览:518
php产品对比 浏览:641
解压伤感图片 浏览:476
python判断周几 浏览:16
数据文档加密保管 浏览:168
app会员如何运营 浏览:860
工行app登录名如何改 浏览:25
window怎么登陆服务器 浏览:992
Python取ID对应的值 浏览:633
现在我的世界什么服务器最混乱 浏览:764
美国好的源码出售 浏览:326
苹果ipad文件夹怎么添加文字 浏览:485
腾讯云连接自己的服务器地址 浏览:218
硕士英语综合教程pdf 浏览:46
分段加密的安全性 浏览:507
咪咕直播为什么没有适配安卓系统 浏览:172
php模版大全 浏览:102
没车能解压吗 浏览:634
php开发oa系统源码 浏览:759