基于51单片机的制冷冰箱

本文介绍了一个利用51单片机设计的制冷冰箱控制系统,详细阐述了如何通过单片机进行温度监测与控制,确保冰箱内部温度稳定。内容包括单片机的选择、稳压电源的应用以及传感器在系统中的作用。
摘要由CSDN通过智能技术生成
/*************************************************************************

    > File Name:bingxiang.c
    > Author: yduo
    > Mail: 1587202069@qq.com 
    > Created Time: 2015

 ************************************************************************/
#include <reg52.h>
#include <intrins.h>
#include <math.h>


#define uchar unsigned char
#define uint unsigned int


sbit RS = P0^7;      //1602
sbit LCDEN = P0^5; 
sbit rw = P0^6;


sbit RELAY_1 = P1^0; //制冷片
sbit RELAY_2 = P1^1;
sbit RELAY_3 = P1^2;
sbit RELAY_4 = P1^3;
sbit RELAY_5 = P1^4;
sbit RELAY_6 = P1^5;
sbit RELAY_7 = P1^6;
sbit RELAY_8 = P1^7;
sbit RELAY_9 = P3^2; //风扇


sbit ds = P3^7;


uint tmp;
uchar table[] = "xian zai wen du:";


/**
*函数声明
*/
void delayUs();
void delayMs(uint a);
void writeComm(uchar comm);
void writeData(uchar dat);
void writeString(uchar * str, uchar length);
void init();
void dsInit();
void Delay1ms()?
void display(int v);
void sendChangeCmd();
int getTmpValue();
void Relay_init();
void Interrupt_init();


void main()
{
Interrupt_init();//中断初始化
Relay_init(); //继电器初始化
    
    sendChangeCmd();
    init();
    writeComm(0x80);
    writeString(table, 16);
    while(1)
    {
delayMs(1000); //温度转换时间需要750ms以上
        writeComm(0xc0);
        display(getTmpValue());
        sendChangeCmd();
    }
}


/**
*微秒延时
*/
void delayUs()
{
    _nop_();
}
/**
*毫秒延时
*/
void delayMs(uint a)
{
while(a--)
{
Delay1ms();
}
}


void Delay1ms() //@11.0592MHz
{
unsigned char i, j;


_nop_();
i = 11;
j = 190;
do
{
while (--j);
</
  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值