欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
基于51單片機(jī)的自動(dòng)售水機(jī)程序
[打印本頁]
作者:
053053
時(shí)間:
2018-12-23 01:23
標(biāo)題:
基于51單片機(jī)的自動(dòng)售水機(jī)程序
基于51的自動(dòng)售水機(jī)
單片機(jī)源程序如下:
#include <reg52.h>
sbit BUZZ = P1^6;
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;
extern void KeyScan();
extern void LedScan();
extern void KeyDriver();
extern void shujuzhuanhuan(float danjia,float shui);
unsigned char T0RH = 0; //T0重載值的高字節(jié)
unsigned char T0RL = 0; //T0重載值的低字節(jié)
bit setIndex=0; //出水標(biāo)志位 為1出水 為0不出水
bit setIndex1=0; //停水標(biāo)志位 為1停水 為0出水
unsigned int chushuishijian=0;
float shuiL=0,zongjia=0;
extern unsigned char LedBuff[7];
/* 配置并啟動(dòng)T0,ms-T0定時(shí)時(shí)間 */
void ConfigTimer0(unsigned int ms)
{
unsigned long tmp; //臨時(shí)變量
tmp = 11059200 / 12; //定時(shí)器計(jì)數(shù)頻率
tmp = (tmp * ms) / 1000; //計(jì)算所需的計(jì)數(shù)值
tmp = 65536 - tmp; //計(jì)算定時(shí)器重載值
tmp = tmp + 18; //補(bǔ)償中斷響應(yīng)延時(shí)造成的誤差
T0RH = (unsigned char)(tmp>>8); //定時(shí)器重載值拆分為高低字節(jié)
T0RL = (unsigned char)tmp;
TMOD &= 0xF0; //清零T0的控制位
TMOD |= 0x01; //配置T0為模式1
TH0 = T0RH; //加載T0重載值
TL0 = T0RL;
ET0 = 1; //使能T0中斷
TR0 = 1; //啟動(dòng)T0
}
void main()
{
EA = 1; //開總中斷
ENLED = 0;
ADDR3 = 1;
ConfigTimer0(2); //配置T0定時(shí)1ms
while(1)
{
KeyDriver();
if((setIndex==1)&&(setIndex1==0))
{
shujuzhuanhuan(0.5,shuiL);
}
if((setIndex1==1)&&(setIndex==0))
{
shujuzhuanhuan(0.5,zongjia);
}
}
}
/* T0中斷服務(wù)函數(shù),完成數(shù)碼管、按鍵掃描與秒表計(jì)數(shù) */
void InterruptTimer0() interrupt 1
{
static unsigned int tmr1s = 0;
TH0 = T0RH; //重新加載重載值
TL0 = T0RL;
LedScan(); //數(shù)碼管掃描顯示
KeyScan(); //按鍵掃描
if(setIndex)
{
tmr1s++;
if(tmr1s >= 500)
{
tmr1s = 0;
chushuishijian++;
shuiL=chushuishijian*0.1;
zongjia=shuiL*0.5;
BUZZ = ~BUZZ;
LedBuff[6]=0xfe;
}
}
}
/* 按鍵動(dòng)作函數(shù),根據(jù)鍵碼執(zhí)行相應(yīng)的操作,keycode-按鍵鍵碼 */
void KeyAction(unsigned char keycode)
{
if ((keycode>='0') && (keycode<='9')) //本例中不響應(yīng)字符鍵
{
}
else if (keycode == 0x26) //向上鍵,
{
}
else if (keycode == 0x28) //向下鍵,清除
{
shuiL=0;
zongjia=0;
setIndex=0;
setIndex1=1;
}
else if (keycode == 0x25) //向左鍵,向左切換設(shè)置位
{
}
else if (keycode == 0x27) //向右鍵,向右切換設(shè)置位
{
}
else if (keycode == 0x0D) //回車鍵,進(jìn)入設(shè)置模式/啟用當(dāng)前設(shè)置值
{
if (setIndex == 0) //不處于出水狀態(tài)時(shí),進(jìn)入設(shè)置狀態(tài)
{
setIndex=1;
setIndex1=0;
}
else //已處于出水狀態(tài)時(shí),保存時(shí)間并退出設(shè)置狀態(tài)
{
}
}
else if (keycode == 0x1B) //Esc鍵,停水
{
setIndex=0;
setIndex1=1;
LedBuff[6]=0xff;
}
}
復(fù)制代碼
所有資料51hei提供下載:
自動(dòng)售水機(jī).zip
(57.43 KB, 下載次數(shù): 59)
2018-12-23 01:22 上傳
點(diǎn)擊文件名下載附件
自動(dòng)售水機(jī)
下載積分: 黑幣 -5
作者:
admin
時(shí)間:
2018-12-26 00:32
補(bǔ)全原理圖或者詳細(xì)說明一下電路連接即可獲得100+黑幣
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1