找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1981|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

51單片機(jī)注塑機(jī) 溫度+加熱板控制 求幫助

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:720305 發(fā)表于 2021-1-21 15:19 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
程序有問題,不能運(yùn)行 求大神指導(dǎo)

#include <reg52.h>
#include "temp.h"
#include "lcd.h"

#define uchar unsigned char
#define uint unsigned int
        
sbit key1=P3^1;//+
sbit key2=P3^0;//-
sbit silicon=P2^1;    //可控硅
sbit BZ=P1^5;         //蜂鳴器
sbit LED=P2^0;        //led標(biāo)志位
        
uint temp,temps=26;//溫度緩存變量,設(shè)定溫度變量

void delay(uint us)//延時(shí)函數(shù)
{
        for(;us>0;us--);
}
void keyson()                        //按鍵掃描程序
{
        if(!key1&&temps<60)
        {
                delay(30);
                temps++;
                while(!key1);
        }
        if(!key2&&temps>0)
        {
                delay(30);
                temps--;
                while(!key2);
        }
}
void display()                //lcd1602顯示界面
{
    LcdWriteCom(0x85);//當(dāng)前溫度
                LcdWriteData('C');
                LcdWriteData(':');
                LcdWriteData(temp/10+0x30);
                LcdWriteData(temp%10+0x30);
                LcdWriteData(0xdf);
                LcdWriteData('C');
                LcdWriteCom(0x80+0x45);//設(shè)置溫度
                LcdWriteData('S');
                LcdWriteData(':');
                LcdWriteData(temps/10+0x30);
                LcdWriteData(temps%10+0x30);
                LcdWriteData(0xdf);
                LcdWriteData('C');
}

void beep()
{
        uchar k,g;
        for (k=0;k<80;k++)
        {
                BZ=~BZ;
                for(g=0;g<200;g++);
        }
}

void main()
{
        uint i,j,flag=1,flag1;//標(biāo)志位
        LcdInit();                                                                                                                        //lcd1602初始化
        
//          LcdWriteCom(0x85);//當(dāng)前溫度
//                LcdWriteData('C');
        
        
        for(i=0;i<60;i++)
        temp=(float)Ds18b20ReadTemp()*0.0625;
        while(1)
        {
                temp=(float)Ds18b20ReadTemp()*0.0625;               
                display();                                                                                                                //lcd1602顯示界面
                keyson();                                                                                                                        //按鍵掃描程序
                if(temp<temps)
                {
                        silicon=0;                                                                         //低于設(shè)定溫度,可控硅打開
                        LED=0;
                        flag=1;
                }
                if(temp>=temps)
                {
                        silicon=1;
                        if(flag==1)flag1=1,flag=0;
                }
                if(flag1==1)                                                                            //高于設(shè)定溫度,可控硅關(guān)閉,聲光報(bào)警
                {   
                        LED=0;
//                        BZ=0;
//                        delay(40);
//                        BZ=1;
                        beep();
                        delay(1);                                                           
                        j++;
                        if(j>35)flag1=0,j=0;
                }
                else        LED=1,BZ=1;                                       
        }
}

基于單片機(jī)的注塑機(jī)溫度控制系統(tǒng)的設(shè)計(jì).zip

96.22 KB, 下載次數(shù): 6, 下載積分: 黑幣 -5

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表