日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

智能水位检测系统proteus_单片机水塔水箱水位系统Proteus仿真程序

發布時間:2024/1/23 windows 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 智能水位检测系统proteus_单片机水塔水箱水位系统Proteus仿真程序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

#include ? ?? ?? ?? ?? ???//調用單片機頭文件

#define uchar unsigned char??//無符號字符型 宏定義? ?? ???變量范圍0~255

#define uint??unsigned int? ?? ?? ?//無符號整型 宏定義? ?? ???變量范圍0~65535

//數碼管段選定義? ?? ? 0? ? 1? ? 2? ? 3? ? 4? ?? ???5? ?? ???6? ?? ?? ?7? ?? ?? ? 8? ?? ?? ???9

uchar code smg_du[]={0xde,0x91,0xcd,0xd5,0x93,0x2b,0x5f,0xd4,0xdf,0xd1,

//? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? A? ?? ???B? ?? ?? ?C? ?? ?? ? D? ?? ?? ???E? ?F? ?? ???不顯示

0xd7,0x1f,0x4e,0x9d,0x4f,0x47 };? ?? ?? ?//斷碼

sbit led_y = P2^2;? ?? ?? ? //黃燈? ?? ???//高水位

sbit led_g = P2^1;? ?? ?? ? //綠燈

sbit led_r = P2^0;? ?? ?? ? //紅燈? ?? ???//低水位

sbit shuiwei1 = P3^4;

sbit shuiwei2 = P3^5;

sbit shuiwei3 = P3^6;

sbit shuiwei4 = P3^7;

sbit relay = P1^0;? ?//繼電器

sbit beep =??P2^7;? ?//蜂鳴器

uchar shuiwei;? ?//水位

sbit dianji = P2^3;

/***********************1ms延時函數*****************************/

void delay_1ms(uint q)

{

uint i,j;

for(i=0;i

for(j=0;j<120;j++);

}

/********************獨立按鍵程序*****************/

uchar key_can;? ?? ?? ?//按鍵值

void key()? ?? ?? ?//獨立按鍵程序

{

static uchar key_new;

P1 |= 0x06;

if((P1 & 0x06) != 0x06)? ?? ?? ?? ?? ? //按鍵按下

{

delay_1ms(1);? ?? ?? ?? ?? ?? ?? ?//按鍵消抖動

if(((P1 & 0x06) != 0x06) && (key_new == 1))

{? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?//確認是按鍵按下

key_new = 0;

switch(P1 & 0x06)

{

case 0x02: relay = 0;??//手動進水

break;? ?? ?? ? //得到按鍵值

case 0x04: relay = 1;??//手動停止進水

break;? ?? ?? ? //得到按鍵值

}

}

}

else? ?//按鍵松開

key_new = 1;

}

/******************主程序**********************/

void main()

{

P0 = P1 = P2 = P3 = 0xff;??//初始化單片機IO口為高電平

P0 = ~smg_du[0] ;

delay_1ms(1500);

while(1)

{

key();? ?? ?? ?//獨立按鍵程序

if(shuiwei4 == 1)? ?? ?? ?? ? //高水位 4檔

{

shuiwei = 4;

led_r = 1;led_g = 1;led_y = 0;? ?? ?? ???//高水位綠燈亮

}

else if(shuiwei3 == 1)? ?? ?? ?//? ?? ? 3檔

{

shuiwei = 3;

led_r = 1;led_g = 0;led_y = 1;? ?? ?? ???//正常水位綠燈亮

}

else if(shuiwei2 == 1)? ?? ?? ?//? ?? ? 2檔

{

shuiwei = 2;

led_r = 1;led_g = 0;led_y = 1;? ?? ?? ???//正常水位綠燈亮

}

else if(shuiwei1 == 1)? ?? ?? ?//? ?? ? 1檔

{

shuiwei = 1;

led_r = 1;led_g = 0;led_y = 1;? ?? ?? ???//正常水位綠燈亮

}else? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???//低水位 0

{

shuiwei = 0;

led_r = 0;led_g = 1;led_y = 1;? ?? ?? ???//低水位紅燈亮

}

P0 = ~smg_du[shuiwei];? ?? ?? ???//

if(shuiwei < 1)? ?? ???//進水

{

beep = ~beep;??//蜂鳴器報警

relay = 0;? ???//打開繼電器??進水

}

else

{

beep = 1;? ? //關閉蜂鳴器

}

if(shuiwei >= 4)??//停止進水

{

relay = 1;? ?? ?? ? //關閉繼電器

dianji = 0;??//打開抽水電機

}else

{

dianji = 1;? ?//關閉電機

}

key();? ?? ?? ?//獨立按鍵程序

delay_1ms(100);

}

}

總結

以上是生活随笔為你收集整理的智能水位检测系统proteus_单片机水塔水箱水位系统Proteus仿真程序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。