找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

基于51單片機(jī)的智能飲水機(jī)系統(tǒng)-代碼+仿真

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
仿真原理圖如下(proteus8.10仿真工程文件可到本帖附件中下載)


單片機(jī)源程序如下:
#include <reg52.h>                 //調(diào)用單片機(jī)頭文件
#define uchar unsigned char  //無(wú)符號(hào)字符型 宏定義        變量范圍0~255
#define uint  unsigned int         //無(wú)符號(hào)整型 宏定義        變量范圍0~65535

sbit SCL=P1^4;                //SCL定義為P1口的第3位腳,連接ADC0832SCL腳
sbit DO=P1^5;                //DO定義為P1口的第4位腳,連接ADC0832DO腳
sbit CS=P1^3;                //CS定義為P1口的第4位腳,連接ADC0832CS腳

sbit beep = P3^3;   //蜂鳴器IO口定義
sbit key= P1^7;                //開關(guān)

uchar shuiwei;     //水位
uchar s_high = 90;//水位報(bào)警參數(shù)

uint flag_250ms ;

/********************************************************************
* 名稱 : delay_uint()
* 功能 : 小延時(shí)。
* 輸入 : 無(wú)
* 輸出 : 無(wú)
***********************************************************************/
void delay_uint(uint q)
{
        while(q--);
}

/***********************1ms延時(shí)函數(shù)*****************************/
void delay_1ms(uint q)
{
        uint i,j;
        for(i=0;i<q;i++)
                for(j=0;j<120;j++);
}

/***********讀數(shù)模轉(zhuǎn)換數(shù)據(jù)********************************************************/        
//請(qǐng)先了解ADC0832模數(shù)轉(zhuǎn)換的串行協(xié)議,再來(lái)讀本函數(shù),主要是對(duì)應(yīng)時(shí)序圖來(lái)理解,本函數(shù)是模擬0832的串行協(xié)議進(jìn)行的
                                                //  1  0  0 通道
                                                //  1  1  1 通道
unsigned char ad0832read(bit SGL,bit ODD)
{
        unsigned char i=0,value=0,value1=0;               
                SCL=0;
                DO=1;
                CS=0;                //開始
                SCL=1;                //第一個(gè)上升沿        
                SCL=0;
                DO=SGL;
                SCL=1;          //第二個(gè)上升沿
                SCL=0;
                DO=ODD;
                SCL=1;            //第三個(gè)上升沿
                SCL=0;            //第三個(gè)下降沿
                DO=1;
                for(i=0;i<8;i++)
                {
                        SCL=1;
                        SCL=0; //開始從第四個(gè)下降沿接收數(shù)據(jù)
                        value<<=1;
                        if(DO)
                                value++;                                                
                }
                for(i=0;i<8;i++)
                {                        //接收校驗(yàn)數(shù)據(jù)
                        value1>>=1;
                        if(DO)
                                value1+=0x80;
                        SCL=1;
                        SCL=0;
                }
                CS=1;
                SCL=1;        
                if(value==value1)                                //與校驗(yàn)數(shù)據(jù)比較,正確就返回?cái)?shù)據(jù),否則返回0        
                        return value;
        return 0;
}

/****************報(bào)警函數(shù)***************/
void clock_h_l()
{
                if(shuiwei<s_high&&key==0)//水位小于設(shè)定值且紅外探測(cè)器觸發(fā)
                {
                  beep = 0;      //工作
                }
                        else
                {
                        beep = 1;                        //暫停工作
                }
                        
}


/***************主函數(shù)*****************/
void main()
{
        while(1)
        {
               
                        shuiwei = ad0832read(1,0);        //讀出濕度
                        shuiwei = 99 - shuiwei * 99 / 255;
                        shuiwei *= 1.3;
                        if(shuiwei >= 99)
                                shuiwei = 99;
                        clock_h_l();         //報(bào)警函數(shù)
                delay_1ms(1);
        }
}

注意仿真必須要用Proteus8.10版本才行,如果沒(méi)有此版本的就不要下載了: 智能飲水機(jī).7z (149.9 KB, 下載次數(shù): 60)

評(píng)分

參與人數(shù) 1黑幣 +40 收起 理由
admin + 40 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:1082272 發(fā)表于 2023-6-5 23:07 來(lái)自觸屏版 | 只看該作者
哪位朋友運(yùn)行了程序 有沒(méi)有錯(cuò)誤啊 我復(fù)制過(guò)去顯示文檔沒(méi)創(chuàng)建
回復(fù)

使用道具 舉報(bào)

板凳
ID:1093552 發(fā)表于 2023-9-14 16:10 | 只看該作者
皮皮鴨 發(fā)表于 2023-6-5 23:07
哪位朋友運(yùn)行了程序 有沒(méi)有錯(cuò)誤啊 我復(fù)制過(guò)去顯示文檔沒(méi)創(chuàng)建

首先看一下你的軟件是否和這個(gè)編程軟件等級(jí)一樣,或者更新最新版本在運(yùn)行一下試試
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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