?? main.c
字號(hào):
/*******************************************************************************/
/*E2rom 讀寫(xiě)改過(guò),可以直接調(diào)用,不需控制I/O口狀態(tài) */
/*延時(shí)程序修改過(guò),使延時(shí)更準(zhǔn)確 */
/*E2rom中存小數(shù)的地址改過(guò),為0x0000~0x01DF(大小為:SPACE) */
/*日期 2008-10-22 */
/*有脈沖是的軟件濾波改過(guò) */
/*時(shí)間的函數(shù)從原來(lái)在定時(shí)器中調(diào)用改到主程序中調(diào)用 */
/*日期 2008-10-24 */
/*E2rom中存小數(shù)的地址改過(guò),為0x0000~0x0ff(大小為:SPACE) */
/*日期 2008-10-29 */
/*******************************************************************************/
#include<msp430x41x.h>
#include"harddef.h"
#include"variableset.h"
#include"i2c.c"
#include"lcd.c"
#include"lib.c"
#include"uart4800.c"
void main(void)
{
init();
while(1)
{
if(POWER)//上電檢測(cè)
{
WDTCTL=WDT_ARST_1000;
RX_NBYTE();
/*如果uart_mode=0x55 用水量每走過(guò)10L 向TCB發(fā)送一個(gè)數(shù)據(jù)*/
if(uart_mode==0x55)
{
if(RX!=(wt_who[3]&0x0f))
{
read_data_verify_res();
RX=wt_who[3]&0x0f;
RX_BYTE();//準(zhǔn)備接收串口數(shù)據(jù)
}
}
}
while(int_sum)//脈沖處理
{
WDTCTL=WDT_ARST_1000;
int_sum--;//脈沖數(shù)減1
if((constant[0]|constant[1]|constant[2])==0)//constant=0 wt_who+10000.00ml/impulse
{save_who=_BCD4INC(wt_who);}
/************************************************/
else
{save_who=_BCD6ADD(wt_who,constant);}
/*保存數(shù)據(jù)*/
if(save_who)
{
save_who=0;
wt_who[7]+=4;
WRNBYTE_I2C(PEG1,addr_who,wt_who+4,4);//寫(xiě)整數(shù)+小數(shù)地址
}
WRNBYTE_I2C(VAL_PEG,wt_who[7],wt_who,4);//寫(xiě)小數(shù)
if(lcd_show==0x55)
{
LCD_OUT(wt_who);
if(dir_cnt<5){dir_cnt++;} else {dir_cnt=0;}
LCDMEM[1]&=0xf0;
LCDMEM[1]|=(dir[dir_cnt]&0x0f);
LCDMEM[0]=dir[dir_cnt]|0x0f;
}
}
if(time_t>=TIME1S)
{
time_t-=TIME1S;
_TimeInc(time);
}
WDTCTL=WDTPW+WDTHOLD;//關(guān)定時(shí)器,進(jìn)入低功耗,等待脈沖
_BIS_SR(LPM3_bits + GIE);
}
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -