標(biāo)題:
智能水杯部分功能代碼
[打印本頁(yè)]
作者:
uno
時(shí)間:
2018-5-22 10:37
標(biāo)題:
智能水杯部分功能代碼
/*************************************
系統(tǒng)作用情況
該系統(tǒng)可示重,示溫,提醒功能,存儲(chǔ)
提醒模塊,系統(tǒng)每隔半小時(shí)提醒一次用戶喝水,提醒時(shí)長(zhǎng)12秒,提醒方式為led燈快速閃爍。
*************************************/
#include <reg52.h>
#include "LCD1602.H"
#include "DS18B20.H"
#include "RP_C18.3_ST.H"
sbit LED = P1^0;
uint vibrationInterval = 600; //間隔半小時(shí)提醒,10x60x60;
uchar vibrationNum = 240; //提醒長(zhǎng)度5s 20x12
uchar powerOnHour = 0; //記錄上電的小時(shí)數(shù)
uchar enoughFlag;
uint vibrationTime = 0; //提醒時(shí)間計(jì)數(shù)
uchar hourVbrationFlag = 0;
void Delay1Ms(uint t){ //大致延時(shí)1mS
uint x, y;
for(x = t; x > 0; x--)
for( y = 125; y > 0; y--);
}
void main(){
uchar a;
uchar temp;
LED = 0;
TMOD = 0X01;
TH0 = (65536 - 46080) / 256;
TL0 = (65536 - 46080) % 256;
EA = 1;
ET0 = 1;
TR0 = 1;
cmg88();
LCD_Init();
LCD_Clear();
while(1){
if(vibrationTime / 5 % 2 == 0){
tmpchange();
for(a = 10; a > 0; a--){
displayTem();
displayVal();
}
}
if(hourVbrationFlag){
if(vibrationTime / 3 % 2 == 0){
LED = 0;
}else{
LED = 1;
}
if(vibrationTime > (vibrationNum + vibrationInterval)){
LED = 0;
vibrationTime = 0;
hourVbrationFlag = 0;
}
}
}
}
void Timer0() interrupt 1{
TH0 = (65536 - 46080) / 256;
TL0 = (65536 - 46080) % 256;
vibrationTime++;
if(vibrationTime >= vibrationInterval){ //每半小時(shí)上電計(jì)數(shù)加1
powerOnHour++;
hourVbrationFlag = 1;
}
}
作者:
cico
時(shí)間:
2019-1-7 17:18
有全部資料嗎?
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1