炉温控制系统温度设定部分: 设定部分主要是键盘输入,此部分主要由三个按键组成,PLAS为加,SUBS为减,START为开始。当系统启动时,默认设定温度为30℃,当按下PLAS时设置水温增加,按下SUBS时设置水温减小,当按下START时为开始加热。 此部分按键为常开按钮,当不触发时为断开状态,按键按下之后与地连接,故为低电平,单片机读取按键数据为低电平时有效。 炉温控制系统仿真说明: 由于单片机端口的驱动能力有限,所以令其低电平触发光电耦合器,故当P1.5口输出低电平时电热丝加热。 当设定温度与实际温度之差大于10℃时属于粗调,即令电热丝持续加热,无PWM控制;当设定温度与实际温度之差小于10℃时属于微调,即电热丝加热时受PWM控制。 仿真原理图截图:
2022-04-27 19:09:08 99KB 单片机 电路方案
1
基于51单片机设计的16乘16LED点阵,运用74HC154和74LS04作为驱动16乘16LED点阵运行。 仿真原理图如下:
2022-04-27 08:04:01 145KB 51单片机 电路方案
1
HCNR200线性光耦隔离电路
2022-04-25 11:04:21 18KB 单片机 电路 protues 电子
1
对于一般DIY爱好者而言,有一个合适的信号发生器莫过于最好不过了,但是市售的信号发生器价格昂贵,那么就让我们发扬DIY的风格吧。 由51单片机和AD9850(AD9850数据手册)模块做成的信号发生器,信号频率1Hz~1MHz之间,三种常规波形,可以调节峰峰值,直流偏置,最低1Hz步进频率调节。 至于成本,AD9850模块大概售价在30元左右,其他元件成本一般DIY爱好者也能有数。 PS:材料清单上写的价格不靠谱,报销用大家懂的。 PPS:第一次编辑的时候少上传了一份主要文件,现在补上。 PPPS:附上C语言源文件和hex文件,供参考。
2022-04-19 19:48:10 1.99MB 单片机 电路方案
1
花了两个多月做的毕业设计,免费分享给需要的朋友,这是我之前做的单片机毕业设计,,附件里面包含PM2.5系统的单片机源代码,用AD画的原理图,PCB图还有proteus仿真工程文件以及课程设计的文档,另外还有成品实物图,请大家多多指教!
2022-04-15 16:35:20 2.76MB 单片机 电路方案
1
代码实现功能 通过液晶LCD1602液晶实时显示瞬时流量和累计流量、实时温度、设置的累计流量。 通过按键设置累计流量阈值,如果累计流量超过设置阈值,蜂鸣器报警、继电器断开,否则不报警继电器闭合。 unsigned long PluNum=0;//检测速度转化来的脉冲量 unsigned long time_ms; //定时器计数 float ShunShi=0; //瞬时流量 float LeiJi=0; //累计流量 float setNum=1.5; //设置流量值 char dis0[16]; //显示更新暂存 char dis1[16]; //显示更新暂存 unsigned char dealFlag=0; //处理速度标志 bit rekey =0; //防止重复 unsigned char ReadTempFlag=0;//定义读时间标志 int temp1;//温度读取值 float temperature; //实际温度 void Init_Timer0(void); //函数声明 /*------------------------------------------------ 主函数 ------------------------------------------------*/ void main (void) { Init_Timer0(); //定时器0初始化 EX0=1; //外部中断0开 IT0=1; //边沿触发 EA=1; //全局中断开 LCD_Init(); //初始化液晶 DelayMs(20); //延时有助于稳定 LCD_Clear(); //清屏 buzzer=0;relay = 0;DelayMs(200);buzzer=1;relay = 1;//蜂鸣器继电器 上电动作下方便检测硬件 while (1) //主循环 { if(dealFlag==1) //定时处理流速 { dealFlag=0; ShunShi=(float)PluNum*0.00223*2;//计算瞬时流量 一个脉冲代表0.00223ml 3s处理一次 LeiJi=LeiJi+(float)PluNum*0.00223; //累计计算累计流量 ReadTempFlag++; if(ReadTempFlag>=2)//读取温度标志 { ReadTempFlag=0; temp1=ReadTemperature();//读取温度 temperature=(float)temp1*0.0625; //温度值转换 } sprintf(dis0,"S:%4.2fL/s %4.1f C",ShunShi,temperature); //打印 LCD_Write_String(0,0,dis0); //显示 瞬时流量 LCD_Write_Char(14,0,0xdf); //显示温度符号 sprintf(dis1,"L:%4.1fL %4.1f ",LeiJi,setNum); //打印 LCD_Write_String(0,1,dis1); //显示累计流量 PluNum=0;//清空计数 if(LeiJi>setNum) //对比设置和实际值 {buzzer=0;relay = 1;} //蜂鸣器报警 断开继电器 else {buzzer=1;relay = 0;} //关闭蜂鸣器 闭合继电器 } if((key1 == 0)||(key2 == 0))//有按键情况下 { if(rekey == 0) { DelayMs(10); if(key1 == 0) //按键1按下 { rekey =1;//防止重复按下 if(setNum<99 xss=removed xss=removed u6309键2按下 { rekey =1;//防止重复按下 if(setNum>0.1) //设置值-- setNum = setNum - 0.1; } } } else { rekey = 0;//防止重复按下 } } }
2022-04-10 21:01:00 4.97MB 51单片机 电路方案
1
本设计是基于STC89C51单片机的智能电热水器的控制器的设计,要达到的控制要求有: (1)用LCD1602液晶显示水温、设置上下限和定时时间, (2)水温检测显示范围为00~99℃,精度为±1℃。 (3)温度预设范围为0~99℃,当检测温度低于预设温度时,开始加热;检测温度高于预设温度时,停止加热。 (4)设置4个程序按键。分别问设置按键、加键、减键、确定。 (5)可以红外遥控,通过红外一体接收探头接收遥控器信号,执行与主板按键同等功能。 主要设计框图如下: 原理图: PCB:
2022-04-09 20:56:19 45.73MB 51单片机 电路方案
1
功能: (1)设计实现ADC0809的接口电路,实现模拟电压量0-5V转化为数字量; (2)编程实现AD0809的数据读取; (3)设定固定的刷新速率,将读取数据显示在LCD上,显示精度两位小数; (4)实现电压采集值的分段函数修正;
2022-04-08 11:15:16 1.19MB 数字电压表 51单片机 电路设计
1
基于AT89C52单片机开发板原理图+PCB资料
2022-04-03 11:17:34 172KB 单片机 51单片机 电路方案
1
该系统基于电容耦合原理,前端前置电路通过运用保护、自举、有源屏蔽等反馈技术,有效地提高了其输入阻抗,从而使该系统对物体表面电压测量时相当于一个理想的电压表,不需要与物体表面直接电气接触,利用位移电流即可完成电压的有效测量。
2022-03-31 22:30:46 84KB 稳压电路 LTE测试 单片机 电路设计
1