基于单片机电烤箱控温系统设计-全套资料

资料下载地址-1011(百度网盘):点击下载

电烤箱所用的发热元件大致可分为三类:一类是选用一根远红外管和一根石英加热管的电烤箱,它是所有的电烤箱中档次较低的类型。不过,基本的电烤功能还是能实现的,只是烤的速度相对会慢一点。因此,它比较适合经济状况一般,但却需要买电烤箱的家庭以及单身一族。另一类是采用两根远红外管和一根石英加热管的电烤箱,这类烤箱的特点是加热速度比较快。不过,与前者相比,价格要稍微高出一些,一般贵上一两百元。还有一类则是在附件中备有一根紫外线加热管,可附带用于高温消毒。它能杀菌消毒,卫生程度较高,而且加热速度快,所以价格就比较贵了,它适合于经济条件好的消费者。

本文介绍了以C51单片机为核心的电烤箱温度控制系统。电烤箱的温度控制系统由硬件和软件两个部分构成。其中硬件部分包括:单片机电路、传感器电路、放大器转换电路、转换器电路以及显示电路。软件部分包括:主程序、运算控制程序、以及各功能实现模块的程序。

关键词:单片机,电烤箱,温度控制

#define uint		unsigned int

sbit	MAX6675_CS	= P1 ^ 2;       /* MAX6675冷端温度补偿,将K型热电偶信号转为数字信号 */
sbit	MAX6675_SCK	= P1 ^ 1;
sbit	MAX6675_SO	= P1 ^ 0;
sbit	normal		= P2 ^ 3;       /* LED灯表示温度正常,过高,过低 */
sbit	upper		= P2 ^ 4;
sbit	lower		= P2 ^ 5;
sbit	direction	= P2 ^ 6;
sbit	stop		= P2 ^ 7;
sbit	SCL		= P1 ^ 3;       /* EEPROM,256byte */
sbit	SDA		= P1 ^ 4;
sbit	beep		= P1 ^ 7;       /* 蜂鸣器 */
sbit    hot   = P1^6;
bit	ack, flag = 0, flag1 = 0;

uint			tz;
int			sth	= 0, stl = 0, t_zhi = 0;
uchar data		temp1[] = { '+', '1', '5', '0', '0', 0 }, temp2[] = { '-', '1', '0', '0', '0', 0 };
uchar data		temp[7];
char code		keytab[] = { 0xEE, 0xDE, 0xBE, 0x7E, 0xED, 0xDD, 0xBD, 0x7D, 0xEB, 0xDB, 0xBB, 0x7B, 0xE7, 0xD7, 0xB7, 0x77 };
unsigned char code	str1[] = { "STH      STL" };    /* system temperature high,low */
unsigned char code	str2[] = { "PARAMTER STEUP" };
unsigned char code	str3[] = { "              " };
unsigned int		testD2;
unsigned char data	disdata[5];
void delay0( uchar x )                                  /* 延时函数 */
{
	uchar i;
	while ( x-- )

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
电烤箱温度控制系统单片机设计实现中,需要以下几个模块: 1. 温度传感器模块:负责采集电烤箱内部的温度数据,并将数据传输给微处理器。 2. 控制器模块:负责根据温度传感器模块采集到的数据,控制电烤箱的加热和制冷系统,以保持电烤箱内部的温度在设定的温度范围内。 3. 显示模块:负责将电烤箱内部的温度数据显示给用户,以便用户可以了解电烤箱的工作状态。 4. 用户界面模块:负责与用户进行交互,包括设置温度范围、启动和停止电烤箱等操作。 下面是一个简单的电烤箱温度控制系统单片机设计实现示例,以AT89C52单片机为例: ```c #include <reg52.h> #define DisplayPort P1 #define TemperaturePort P2 sbit Cooling = P3^0; sbit Heating = P3^1; unsigned char temperature = 0; void delay_ms(unsigned int ms) { unsigned int i,j; for(i=0;i<ms;i++) for(j=0;j<114;j++); } void initSerial() { TMOD = 0x20; TH1 = 0xFD; SCON = 0x50; TR1 = 1; } void sendByte(unsigned char byte) { SBUF = byte; while(!TI); TI = 0; } void sendString(char *str) { while(*str) sendByte(*str++); } void initADC() { ADC_CONTR = 0x80; } unsigned char readADC(unsigned char channel) { ADC_CONTR = ADC_CONTR & 0xF0 | channel; ADC_CONTR |= 0x08; while(!(ADC_CONTR & 0x10)); return ADC_RES; } void controlTemperature() { if(temperature < 180) { Heating = 1; Cooling = 0; } else if(temperature > 220) { Heating = 0; Cooling = 1; } else { Heating = 0; Cooling = 0; } } void displayTemperature() { DisplayPort = temperature; } void main() { initSerial(); initADC(); while(1) { temperature = readADC(0); controlTemperature(); displayTemperature(); delay_ms(1000); } } ``` 以上是一个简单的电烤箱温度控制系统单片机设计实现,仅供参考。实际应用中需要根据具体的需求进行调整和完善。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值