亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? main.c

?? 單片機接LCD的程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
//********************** 主處理 ****************
#include "msp430x14x.h"
#include "main.h"
//2002-11-10 14:31 全面檢查一遍
/**************************************************************************************************************************/

//********************** extern 區****************extern 區****************
//********************** extern 區****************extern 區****************
//from Mt8889.c
extern void init_8889(void);
//from Dtmf.c
extern void DtmfPhysicsReceive(void);
extern unsigned char g_chDtmfPhysicsReceive_50ms;
extern void DtmfPhysicsSend(void);
extern void BuildDTMF(void);
extern unsigned char g_chBuildDTMFTime_1s;
//from Debug.c
extern void ExternInsertDebugSendBuf(unsigned char *pData, unsigned int intLen);
extern void MainDebugProcess(void);
extern unsigned char  g_chMainDebugSendTimeout_1s;
extern unsigned char  g_chMainDebugProcessTimeout_1s;
extern unsigned char  g_chDebugTail;
extern unsigned int g_int135Ver;
//from commpc.c
extern void QueryReportPC(void);
extern unsigned char g_chMainPushReportTime_1s;
extern unsigned char g_chSendPCBuf_1s;
extern void ReceivePCBuf(void);
extern void SendPCBuf(void);
extern void MainPushReport(void);
extern unsigned char g_chReceivePCBuf_1s;
extern unsigned char g_chMainPushReport_Stat;
//from flash.c
extern void InitInformationRam_PowerOn(void);
//from lcd.c
extern void InitLcd(void);
//from innerComm.c
extern void MainInnerComm(void);
extern unsigned char g_chMainInnerComm_50ms;
extern unsigned char g_chInnerCommSendBuf[MacroInnerCommSendBufMax];
extern void AddCheckSum(unsigned char chLen);
extern unsigned int g_intGP_FixedCurrent[8];
//from Env.c
extern void ProcessTemperatures(void);
extern unsigned char g_chDoorSwitch_50ms;
extern unsigned char g_chDoorOpened_1s;
extern unsigned char g_chDoorClosed_50ms;
extern void ReadDoorID(void);
extern void MainDoor(void);
extern void ProcessSwitch(void);
extern void ProcessAD(void);
extern unsigned char g_chProcessAD_50ms;
//from ds1820drv.c
extern void DS1820_Init(void);
//from lcd.c
extern void LcdDrive(void);
extern unsigned char g_chLcdDrive_50ms;
//from lcdshow.c
extern void MainLcdProcess(void);
extern unsigned char g_chMainLcdProcess_1s;
extern void ProcessKeyStoke(void);
extern unsigned char g_chMainLcdProcess_Stat;
//********************** extern 區****************extern 區****************
//********************** extern 區****************extern 區****************
///////////////////本模塊函數聲明//////////////////////////////
void Set_DCO (void);
void SysInit_IO(void);
//用作為 16 個位!BOOLEAN 變量來使用
unsigned int g_intMark;
unsigned int g_intMarkA;
//每 50 ms 的計數器!
unsigned int intTBCount_50ms;
//時間處理
unsigned char g_chSecond, g_chMinute = Ver_ID4, g_chHour = Ver_ID3, g_chDay = 4, g_chMonth = 9, g_chYear = 3, g_chSecondAdjust;
//unsigned char g_chSecond, g_chMinute, g_chHour, g_chDay, g_chMonth, g_chYear;
//                     *********調試版本 Hour:Minute  *** ###編譯時間 Year-Month-Day #######################
unsigned char g_chKeyStoke_1s;
/**************************************************************************************************************************/

/**************************************
*功能:主程序       
*參數:
*返回:
**************************************/
void main(void)
{   
    g_intMark = 0;
    g_intMarkA = 0;
    SysInit_IO();
    //調用外部
    init_8889();
    InitLcd();
    DS1820_Init();
    //也可在后的地方開中斷
    _EINT();
    //用于開機要問 工頻固定數值的標志
    g_intGP_FixedCurrent[0] = 9999;
    //test
//    g_intMark |= CommDebugUart_Mark;
//    g_intMark |= RS232DTMFSendPC_Mark;
    //g_intMark |= CommBuilded_Mark;
    //開機必須要有這個標志
    g_intMark |= ICanPush_Mark;
    //寫上電標志
    g_intMark |=  PowerOn_Mark;
    //開機下一次時間!下時間!---在每次更改的時候下!
    //g_chMainInnerComm_Stat = 0;
    g_chInnerCommSendBuf[1] = 216;
    //second minute hour
    g_chInnerCommSendBuf[2] = g_chSecond;
    g_chInnerCommSendBuf[3] = g_chMinute;
    g_chInnerCommSendBuf[4] = g_chHour;
    //5 sum
    //6 200
    AddCheckSum(5);
    while (1)
    {
        //實時運行
        if(g_intMarkA & RunLess1Minute_MarkA)
        {//運行后 超過一分鐘
            if(g_intMarkA & RunBetween12Minute_MarkA)
            {//運行后 超過二分鐘
                //讓燈 反轉
                P2OUT ^= Run_LED;
            }
            else
            {//運行后 一分鐘 到 二分鐘之間
                //讓燈 亮
                P2OUT &= ~Run_LED;
                //顯示按鍵有問題!
                if(g_intMarkA & KeyStokeGood_MarkA)
                {
                    //表明按紐OK
                }
                else
                {
                    if((g_intMarkA & KeyStokeMute_MarkA) || (g_intMarkA & KeyStokeAuto_MarkA))
                    {//表明肯定有一個有問題
                        g_chMainLcdProcess_Stat = 8;
                    }
                }
            }
        }
        else 
        {//運行后 不到一分鐘
            if(g_intMarkA & KeyStokeGood_MarkA)
            {//兩個按紐是否正常
                //按自校驗按紐超過 5 秒  g_chKeyStoke_1s
                if(P1IN & CHEK)
                {//CHEK BIT2        //CHEK----P1.2,自檢按鍵控制端,常態為高,低有效
                    //高,沒有動作
                    g_chKeyStoke_1s = 0;
                }
                else
                {
                    if(g_chKeyStoke_1s > 5)
                    {//啟動 自己校驗自己
                        //----------no--------
                    }
                }
            }
            else
            {//檢查!
                if(P6IN & NOspeak)
                {//NOspeak BIT7 //P6.7--J2.4---Speak按鍵控制端,低有效
                    //高,沒有動作
                }
                else
                {
                    //可能有問題!
                    g_chKeyStoke_1s = 0;
                    g_intMarkA |= KeyStokeMute_MarkA;//如果有問題,在這里記錄!
                }
                if(P1IN & CHEK)
                {//CHEK BIT2        //CHEK----P1.2,自檢按鍵控制端,常態為高,低有效
                    //高,沒有動作
                }
                else
                {
                    g_chKeyStoke_1s = 0;
                    g_intMarkA |= KeyStokeAuto_MarkA;//如果有問題,在這里記錄!
                }
                if(g_chKeyStoke_1s > 5)
                {
                    //表明按紐OK
                    g_intMarkA |= KeyStokeGood_MarkA;
                    //以下太嚴格,開機后不可以按一下!---改為不如果一分鐘里 不停在按鍵,表示壞
//                  if((g_intMarkA & KeyStokeMute_MarkA) || (g_intMarkA & KeyStokeAuto_MarkA))
//                  {//表明肯定有一個有問題
//                      g_chMainLcdProcess_Stat = 8;
//                  }
                }
            }
        }    
        //處理軟 RESET
        if(g_intMark & SoftReset_Mark)
        {
            if(intTBCount_50ms > 20)//借用
            {//1 s
                WDTCTL = 0;
            }
        }
        DtmfPhysicsReceive();
        MainDebugProcess();
        ReceivePCBuf();
        SendPCBuf();
        MainPushReport();
        MainInnerComm();
        ReadDoorID();
        MainDoor();
        ProcessSwitch();
        LcdDrive();
        MainLcdProcess();
        ProcessAD();
        ProcessKeyStoke();
        if(g_int135Ver > 0)
        {
            if(g_intMark & HaveDTMFModule_Mark)
            {//有DTMF模塊
                BuildDTMF();
            }
            else
            {//由于無 DTMF模塊,這里保證不使用 DTMF 通信
                g_intMark &= ~DTMFPhysicsReceiveWorkToPCBuf_Mark;//保證DTMF不工作
                g_intMark &= ~RS232DTMFSendPC_Mark;//保證DTMF不工作
                g_intMark &= ~DtmfPhysicsReceive_Mark;//保證DTMF不工作
            }
        }
        //每 50 ms 處理一次
        if(g_intMark & Time_50_ms_Mark)
        {
            g_intMark &= ~Time_50_ms_Mark;
            //
            g_chMainInnerComm_50ms++;
            g_chDoorSwitch_50ms++;
            g_chDoorClosed_50ms++;
            g_chLcdDrive_50ms++;
            g_chProcessAD_50ms++;
            g_chDtmfPhysicsReceive_50ms++;
            //
            DtmfPhysicsSend();
        }
        //每 300 ms 處理一次
        if(g_intMark & Time_300_ms_Mark)
        {
            g_intMark &= ~Time_300_ms_Mark;
            //2。喂狗  要勤快----開啟了看門狗
            WDTCTL = WDT_ARST_1000; //使用 ACLK 1 秒 RESET
            //
            QueryReportPC();
        }
        //每 1 s 處理一次
        if(g_intMark & Time_1_s_Mark)
        {
            g_intMark &= ~Time_1_s_Mark; 
            //
            g_chMainDebugSendTimeout_1s++;
            g_chMainPushReportTime_1s++;
            g_chSendPCBuf_1s++;
            g_chBuildDTMFTime_1s++;
            g_chMainDebugProcessTimeout_1s++;
            g_chReceivePCBuf_1s++;
            g_chDoorOpened_1s++;
            g_chMainLcdProcess_1s++;
            g_chKeyStoke_1s++;
            //
            ProcessTemperatures();
            //運行時間段標志
            if(g_intMarkA & RunLess1Minute_MarkA)
            {//運行后 超過一分鐘
                //不做任何事情
            }
            else
            {//運行后 不到一分鐘
                //每 秒 反轉一一次
                P2OUT ^= Run_LED;
            }
            //時間處理
            g_chSecondAdjust++;//沒有不要考慮 g_chSecondAdjust 的其他地方 清 0
            if(g_chSecondAdjust > 249)//2002-8-11,運行 13 小時后慢1--2 秒
            {//由于時間 每 249.5 秒  會快一秒   所以這里每 249秒停止加 1 秒,用來校準時間
                g_chSecondAdjust = 0;
            }
            else
            {
                g_chSecond++;
            }
            if(g_chSecond >= 60)
            {
                g_chSecond = 0;//(保證0---59)
                g_chMinute++;
                if(g_chMinute >= 60)
                {
                    g_chMinute = 0;//(保證0---59)
                    g_chHour++;
                    if(g_chHour >= 24)
                    {
                        g_chHour = 0;//(保證0---23)
                        g_chDay++;
                        if(g_chDay >= 32)
                        {
                            g_chDay = 1;//(保證1---31)
                            g_chMonth++;
                            if(g_chMonth > 13)
                            {
                                g_chMonth = 1;//(保證1---12)
                                g_chYear++;//(不保證)
                            }   
                        }
                    }
                }
            }
        }
        
        //每 60 s 處理一次

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美另类久久久精品2019| 激情小说亚洲一区| 偷拍日韩校园综合在线| 亚洲国产aⅴ天堂久久| 久久99精品久久只有精品| a在线欧美一区| 欧美一级国产精品| 亚洲欧美成aⅴ人在线观看| 理论电影国产精品| 在线观看精品一区| 欧美韩日一区二区三区| 美女视频免费一区| 欧美一a一片一级一片| 中文字幕免费在线观看视频一区| 五月天激情综合| 在线亚洲人成电影网站色www| 精品国产凹凸成av人网站| 亚洲一区二三区| 91视视频在线观看入口直接观看www| 精品播放一区二区| 日本成人中文字幕| 欧洲国产伦久久久久久久| 国产人久久人人人人爽| 精品一区二区三区香蕉蜜桃| 欧美情侣在线播放| 亚洲一区中文日韩| 色一情一乱一乱一91av| 国产精品白丝在线| 国产91精品久久久久久久网曝门| 精品乱人伦小说| 男女男精品网站| 日韩视频一区二区| 蜜桃av一区二区三区电影| 欧美三级视频在线| 午夜欧美视频在线观看| 91精品国产高清一区二区三区蜜臀| 一区二区三区国产精华| 日本高清不卡在线观看| 一区二区免费在线播放| 色av一区二区| 午夜国产精品影院在线观看| 欧美日韩精品高清| 奇米色一区二区| 日韩欧美成人一区| 国产做a爰片久久毛片| 欧美精品一区视频| 国产成人av电影在线| 欧美极品美女视频| 91免费版在线看| 亚洲韩国一区二区三区| 777a∨成人精品桃花网| 久久成人免费日本黄色| 国产三级精品在线| 91蜜桃网址入口| 亚洲va天堂va国产va久| 精品国产免费一区二区三区香蕉| 国产在线视频一区二区| 中文一区在线播放| 日本精品视频一区二区三区| 五月天亚洲婷婷| 精品99一区二区| 99久免费精品视频在线观看| 一区二区三区影院| 日韩欧美一区在线| 狠狠色狠狠色合久久伊人| 国产欧美一区二区精品仙草咪| 94-欧美-setu| 欧美a级一区二区| 国产精品免费aⅴ片在线观看| 日本精品一区二区三区高清| 久久国产精品露脸对白| 亚洲三级免费观看| 欧美一卡2卡3卡4卡| 成人精品一区二区三区中文字幕 | 紧缚奴在线一区二区三区| 精品久久久久香蕉网| 国产福利91精品一区二区三区| 亚洲天堂免费看| 日韩视频一区二区在线观看| 97久久精品人人做人人爽50路| 三级亚洲高清视频| 最新久久zyz资源站| 日韩精品一区二区三区中文不卡 | 成人综合激情网| 亚洲韩国一区二区三区| 国产精品丝袜久久久久久app| 欧美日韩你懂得| 99天天综合性| 国产综合色在线| 偷拍与自拍一区| 亚洲精品菠萝久久久久久久| 精品国产成人在线影院 | 亚洲一区二区av在线| 久久久午夜精品| 欧美日韩国产高清一区| 91麻豆国产自产在线观看| 韩国欧美国产1区| 免费观看在线综合| 午夜精品123| 一区二区激情小说| 一区在线观看免费| 国产清纯白嫩初高生在线观看91| 欧美一二三四区在线| 欧美性色欧美a在线播放| 91蜜桃在线免费视频| heyzo一本久久综合| 懂色av一区二区夜夜嗨| 国产乱子伦视频一区二区三区 | 色综合色综合色综合色综合色综合 | 日韩欧美国产成人一区二区| 欧美日韩一区二区三区四区| 一本久久a久久精品亚洲| 99视频精品免费视频| 成人av先锋影音| 成人福利视频网站| 成人激情免费视频| 99久久婷婷国产综合精品| 粉嫩av一区二区三区在线播放| 国产激情视频一区二区在线观看 | 国产精品一区二区不卡| 韩国精品一区二区| 国产一区在线观看麻豆| 国产精品一区二区三区四区| 国产毛片精品一区| 国产91精品一区二区麻豆亚洲| 粉嫩蜜臀av国产精品网站| 岛国av在线一区| 91在线观看视频| 精品污污网站免费看| 欧美日产国产精品| 日韩欧美一区二区不卡| 久久亚洲综合av| 国产精品丝袜一区| 一区二区久久久久| 蜜臀av一级做a爰片久久| 久久99久久久久| 丁香激情综合五月| 91蝌蚪porny| 777欧美精品| 久久久av毛片精品| 亚洲欧美日韩人成在线播放| 日韩精品一二三区| 国产在线精品不卡| 99久久久国产精品| 欧美欧美午夜aⅴ在线观看| 日韩欧美中文字幕制服| 久久精品夜色噜噜亚洲aⅴ| 中文字幕一区二区视频| 午夜精品aaa| 国产成人精品亚洲日本在线桃色| 91视频精品在这里| 日韩限制级电影在线观看| 国产欧美va欧美不卡在线| 亚洲影视在线播放| 国产精品一区二区三区网站| 在线观看国产精品网站| 精品国产三级电影在线观看| 亚洲色图丝袜美腿| 久久精品国产精品亚洲精品| 97se亚洲国产综合自在线不卡| 6080yy午夜一二三区久久| 欧美激情综合在线| 美女高潮久久久| 99免费精品视频| 久久午夜电影网| 亚洲自拍与偷拍| 成人av电影免费观看| 91精品国产色综合久久| 国产精品美女久久久久aⅴ| 日韩av中文字幕一区二区 | 国产在线播放一区| 欧美系列在线观看| 中文字幕免费不卡| 精品无人区卡一卡二卡三乱码免费卡| 91美女福利视频| 久久天堂av综合合色蜜桃网| 亚洲精品成人精品456| 国产99精品国产| 欧美不卡一二三| 日产国产高清一区二区三区| 91欧美激情一区二区三区成人| 欧美变态凌虐bdsm| 日韩不卡免费视频| 欧美日韩在线精品一区二区三区激情| 日本一区二区免费在线| 奇米色777欧美一区二区| 欧美偷拍一区二区| 日韩久久一区二区| 成人av动漫网站| 中文字幕乱码久久午夜不卡 | 成人av在线一区二区三区| 欧美精品一区二区三区一线天视频| 亚洲成在线观看| 91尤物视频在线观看| 中文字幕中文字幕在线一区| 亚洲一区二区精品久久av| 欧美色男人天堂| 亚洲午夜激情av| 欧美精品99久久久**| 午夜精品福利久久久|