📄 timer.c
字号:
#include "timer.h"
void InitBt(void)
{
BTCTL=BT_ADLY_1000; // for 1s timer interrupt
//IE2 &= ~BTIE;
IE2 |= BTIE;
}
//时间值转换为LCD显示的单个数字
void time_convert(void)
{
time_disbuff[0] = minute/100;
time_disbuff[1] = (minute%100)/10;
time_disbuff[2] = minute%10;
//time_disbuff[3] = SEG_G;
time_disbuff[4] = second/10;
time_disbuff[5] = second%10;
}
//设置定时时间
void set_time(void)
{
//IE2 |= BTIE;
P1IE &= ~(STOP_DOWN+START_UP);
//second = 60;
LCDMEM[0] = LCD_Tab[bai];
LCDMEM[1] = LCD_Tab[shi];
LCDMEM[2] = LCD_Tab[ge];
LCDMEM[3] = SEG_G;
LCDMEM[4] = LCD_Tab[0];
LCDMEM[5] = LCD_Tab[0];
while(set_flag==BAIWEI) //if
{
LCDMEM[0] |= SEG_H;
if(!(P1IN&START_UP))
{
bai ++;
if(bai>9)bai=0;
LCDMEM[0] = LCD_Tab[bai]|SEG_H;
delay(60000);
}
if(!(P1IN&STOP_DOWN))
{
bai --;
if(bai<1)bai=9;
LCDMEM[0] = LCD_Tab[bai]|SEG_H;
delay(60000);
}
}
while(set_flag==SHIWEI)
{
LCDMEM[1] |= SEG_H;
if(!(P1IN&START_UP))
{
shi ++;
if(shi>9)shi=0;
LCDMEM[1] = LCD_Tab[shi]|SEG_H;
delay(60000);
}
if(!(P1IN&STOP_DOWN))
{
shi --;
if(shi<1)shi=9;
LCDMEM[1] = LCD_Tab[shi]|SEG_H;
delay(60000);
}
}
while(set_flag==GEWEI)
{
LCDMEM[2] |= SEG_H;
if(!(P1IN&START_UP))
{
ge ++;
if(ge>9)ge=0;
LCDMEM[2] = LCD_Tab[ge]|SEG_H;
delay(60000);
}
if(!(P1IN&STOP_DOWN))
{
ge --;
if(ge<1)ge=9;
LCDMEM[2] = LCD_Tab[ge]|SEG_H;
delay(60000);
}
}
if(set_flag==DONE)
{
set_flag = 0;
if(bai>0)
{
minute = bai*100+shi*10+ge;
}
else
{
minute =shi*10+ge;
}
bai=0;shi=0;ge=0;
second = 60;
ClrLcd();
LCD_update();
}
MODE = 0;
P1IE |= STOP_DOWN+START_UP;
}
// 1000ms timer
#pragma vector = BASICTIMER_VECTOR
__interrupt void BTISR (void)
{
//if(!(editing))
//{
if((MODE == MODE_START)&&(minute>1))
{
second --;
if(second <1)
{
second = 60;
minute --;
if(minute<1)
{
MODE = MODE_STOP;
}
}
}
if(!(CACTL2&CAOUT)) // 如果电池电压低,BT提供LED闪烁时基
{
bat_second ++;
P1OUT ^= BIT7;
if(bat_second>59)
{
bat_second = 0;
bat_minute ++;
if(bat_minute>5) // 检测到电池电压低,5分钟以后关闭电机,停止采样
{
bat_minute = 0;
MODE = MODE_STOP;
return;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -