亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
成人av午夜影院| 色综合天天综合网天天狠天天| 日本一区二区三级电影在线观看| 色婷婷亚洲婷婷| 欧美疯狂做受xxxx富婆| 国产美女精品人人做人人爽| 一区二区三区小说| 欧美激情一区在线观看| 在线91免费看| 精品视频123区在线观看| 粉嫩久久99精品久久久久久夜| 日本成人中文字幕在线视频| 一区二区三区色| 中文字幕的久久| 久久久噜噜噜久久人人看| 91精品国产手机| 欧美在线不卡一区| 91香蕉视频在线| 国产盗摄视频一区二区三区| 麻豆国产欧美日韩综合精品二区| 亚洲精品水蜜桃| 亚洲欧洲av在线| 国产午夜精品在线观看| 欧美精品一区在线观看| 日韩一区二区三区电影| 欧美日韩一区二区三区四区| 色综合一区二区| 99免费精品在线| 91在线porny国产在线看| 国产精品夜夜嗨| 国产福利不卡视频| 风间由美性色一区二区三区| 国产酒店精品激情| 国产精品一区二区黑丝| 狠狠网亚洲精品| 国产综合久久久久影院| 久久91精品久久久久久秒播| 日本中文字幕不卡| 久久99国产精品免费网站| 日本女人一区二区三区| 日本强好片久久久久久aaa| 日韩高清一区在线| 日韩精品一区第一页| 日本在线不卡一区| 日av在线不卡| 精彩视频一区二区三区| 国内成+人亚洲+欧美+综合在线 | 性久久久久久久久久久久| 国产精品久久精品日日| 国产精品久久久久天堂| 国产精品白丝在线| 亚洲男帅同性gay1069| 国产精品久久毛片| 一区二区三区丝袜| 日韩av中文在线观看| 精品一区二区三区蜜桃| 国产精品性做久久久久久| 国产精品一区二区在线观看网站| 国产一区二区导航在线播放| 粉嫩欧美一区二区三区高清影视| 成人免费视频app| 色94色欧美sute亚洲线路一久| 欧美性大战久久久| 欧美mv日韩mv国产| 中文字幕二三区不卡| 成人午夜电影久久影院| www.亚洲精品| 欧美日韩国产综合一区二区| 日韩精品资源二区在线| 国产精品欧美精品| 亚洲超碰精品一区二区| 激情图片小说一区| 99riav一区二区三区| 欧美日韩国产成人在线91| 精品粉嫩超白一线天av| 日韩一区欧美一区| 五月天亚洲婷婷| 懂色av一区二区夜夜嗨| 日本道免费精品一区二区三区| 91精品国产乱| 国产精品亲子伦对白| 天天色综合成人网| 波多野结衣在线aⅴ中文字幕不卡| 欧美吻胸吃奶大尺度电影| 2023国产精品| 亚洲国产欧美日韩另类综合 | 亚洲婷婷综合色高清在线| 偷偷要91色婷婷| 成人福利视频网站| 欧美电影影音先锋| 国产精品理论片在线观看| 天天操天天干天天综合网| 国产精品1区2区| 欧美一三区三区四区免费在线看| 国产片一区二区| 日本最新不卡在线| 91尤物视频在线观看| 亚洲精品久久久蜜桃| 国产精品一区二区久久精品爱涩 | 欧美日韩亚洲国产综合| 日本一区二区视频在线| 日本女优在线视频一区二区| 色婷婷久久久久swag精品| 久久综合精品国产一区二区三区 | 久久国产精品第一页| 91豆麻精品91久久久久久| 久久久噜噜噜久噜久久综合| 水蜜桃久久夜色精品一区的特点| 粉嫩绯色av一区二区在线观看| 日韩视频一区在线观看| 亚洲主播在线观看| 91视频xxxx| 国产免费成人在线视频| 韩国女主播一区| 日韩一区二区在线观看视频| 伊人婷婷欧美激情| 99视频一区二区三区| 中文字幕欧美日本乱码一线二线 | 91久久精品午夜一区二区| 国产精品欧美久久久久一区二区| 久久99蜜桃精品| 欧美一级理论片| 免费在线观看日韩欧美| 6080国产精品一区二区| 亚洲精品国产精品乱码不99| 成人av电影在线| 国产欧美日韩在线看| 国产伦精品一区二区三区免费 | 日韩成人av影视| 国产精品久久网站| 久久精品夜色噜噜亚洲aⅴ| 久久精品国产99国产精品| 一道本成人在线| 欧美国产在线观看| 国产精品影视天天线| 国产日韩欧美一区二区三区综合| 韩国成人在线视频| 日韩精品在线一区| 久久精品噜噜噜成人av农村| 欧美一级二级三级乱码| 久久国产免费看| 精品久久久网站| 粉嫩绯色av一区二区在线观看 | 夜夜揉揉日日人人青青一国产精品 | 国产精品拍天天在线| av网站一区二区三区| 亚洲乱码国产乱码精品精小说| 欧美国产激情二区三区| 国产成人精品网址| 日韩一区欧美小说| 在线观看亚洲成人| 天天影视色香欲综合网老头| 日韩免费观看2025年上映的电影| 久久精品国产亚洲aⅴ| 欧美精品一区在线观看| av中文字幕一区| 亚洲大片免费看| 日韩色视频在线观看| 国产一区二区三区在线观看精品| 欧美国产精品一区二区| 日本韩国精品一区二区在线观看| 午夜精品久久久久久久蜜桃app| 日韩网站在线看片你懂的| 国产成人在线视频播放| 一区二区三区欧美日| 日韩一级免费一区| 国产成人自拍高清视频在线免费播放| 国产精品久久久久影院| 欧美日韩激情在线| 国产精品1区二区.| 亚洲超碰97人人做人人爱| 久久综合色8888| 在线观看视频欧美| 国产尤物一区二区在线| 亚洲免费av观看| 精品久久国产97色综合| 97久久精品人人爽人人爽蜜臀| 亚洲bt欧美bt精品| 中文久久乱码一区二区| 欧美日韩在线一区二区| 国产精品主播直播| 亚洲宅男天堂在线观看无病毒 | 一区二区三区加勒比av| 91精品免费在线观看| 成人91在线观看| 美女精品一区二区| 最新日韩在线视频| 精品美女一区二区| 在线日韩一区二区| 成人午夜在线免费| 奇米色一区二区三区四区| 亚洲女人小视频在线观看| 欧美精品一区视频| 91精品国产综合久久久蜜臀粉嫩| www.亚洲人| 国产成人激情av| 欧美三级日韩在线| k8久久久一区二区三区| 久久精品国产99国产精品| 亚洲成人资源网|