📄 +
字号:
#include <msp430x14x.h>
#include "main.h"
#include "lcd12864.h"
#include "menue.h"
#include "key_scan.h"
#include "Flash.h"
#include "display.h"
#include "jiema.h"
#include "ds1302.h"
#include "gdata.h"
#include "light.h"
#include "yinli.h"
#include "ds18b20.h"
unsigned char light_flag=0;
unsigned char alarm_flag=0;
unsigned char delay16ms=0;
unsigned char delay200ms=0;
unsigned char delay96ms=0;//ds18b20程序
void main()
{//0
WDTCTL = WDT_ADLY_16; // WDT 16ms, ACLK, interval timer
IE1 |= WDTIE; // Enable WDT interrupt
lcd12864_init();
key_scan_init();
Flash_Init();
Reset_DS1302();
light_init();
int_ex(); //初始化P1.0口外部中断 红外中断使用
if(Flash_read_char(0)==0xff)
{
// 初始化闹钟
Flash_write_char(0,6);
Flash_write_char(1,7);
Flash_write_char(2,8);
Flash_write_char(3,9);
//初始化设置为关 0表示开闹钟
Flash_write_char(5,1);
Flash_write_char(6,1);
Flash_write_char(7,1);
Flash_write_char(8,1);
}
_EINT();//开总中断
while(1)
{//1
if(delay16ms==0)
{//2
delay16ms=1;
key_scan();
}//2
if(delay200ms==0)
{//3
delay200ms=12;
ds1302_work();
menue_state_change();
dispaly_menue();
}//3
if(delay96ms==0)
{//91
delay96ms=6;
get_ds18b20_temperture();
}//91
}//1
}//0
// Watchdog Timer interrupt service routine
#pragma vector=WDT_VECTOR
__interrupt void watchdog_timer(void)
{
if(delay16ms>0) delay16ms--;
if(delay200ms>0) delay200ms--;
if(delay96ms>0) delay96ms--;
}
#pragma vector=PORT1_VECTOR
__interrupt void PORT1_ISR(void)
{
if(P1IFG&BIT0)
{
get_jiema();
P1IFG=0;
if(menue_b4_state==1)
{//00
Flash_write_char(menue_b4_where+menue_b4_which+11,IRcode[3]);
for(unsigned char i=0;i<4;i++)
{
IRcode[i]=0;
}
menue_b4_state=0;
}//00
else
{//11
if(IRcode[3]==Flash_read_char(15))
key_value=3;
if(IRcode[3]==Flash_read_char(16))
key_value=1;
if(IRcode[3]==Flash_read_char(17))
key_value=2;
if(IRcode[3]==Flash_read_char(11))
light_flag=1;
if(IRcode[3]==Flash_read_char(12))
light_flag=2;
if(IRcode[3]==Flash_read_char(13))
light_flag=3;
if(IRcode[3]==Flash_read_char(14))
light_flag=4;
for(unsigned char i=0;i<4;i++)
{
IRcode[i]=0;
}
}//11
switch(light_flag)
{
case 0:
break;
case 1:light_1_change;
light_flag=0;
break;
case 2:light_2_change;
light_flag=0;
break;
case 3:light_3_change;
light_flag=0;
break;
case 4:light_4_change;
light_flag=0;
break;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -