欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: 看門口復(fù)位測試 [打印本頁]

作者: wang哈哈    時(shí)間: 2018-7-17 15:46
標(biāo)題: 看門口復(fù)位測試
#define MAIN_Fosc                22118400L        //定義主時(shí)鐘

#include        "STC15Fxxxx.H"

#define DIS_DOT                0x20
#define DIS_BLACK        0x10
#define DIS_                0x11

/****************************** 用戶定義宏 ***********************************/

#define                Timer0_Reload        (65536UL -(MAIN_Fosc / 1000))                //Timer 0 中斷頻率, 1000次/秒

/*****************************************************************************/






/*************        本地常量聲明        **************/
u8 code t_display[]={                                                //標(biāo)準(zhǔn)字庫
//         0    1    2    3    4    5    6    7    8    9    A    B    C    D    E    F
        0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71,
//black         -     H    J         K          L           N        o   P         U     t    G    Q    r   M    y
        0x00,0x40,0x76,0x1E,0x70,0x38,0x37,0x5C,0x73,0x3E,0x78,0x3d,0x67,0x50,0x37,0x6e,
        0xBF,0x86,0xDB,0xCF,0xE6,0xED,0xFD,0x87,0xFF,0xEF,0x46};        //0. 1. 2. 3. 4. 5. 6. 7. 8. 9. -1

u8 code T_COM[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};                //位碼



/*************        IO口定義        **************/
sbit        P_HC595_SER   = P4^0;        //pin 14        SER                data input
sbit        P_HC595_RCLK  = P5^4;        //pin 12        RCLk        store (latch) clock
sbit        P_HC595_SRCLK = P4^3;        //pin 11        SRCLK        Shift data clock

/*************        本地變量聲明        **************/

u8         LED8[8];                //顯示緩沖
u8        display_index;        //顯示位索引

u16        ms_cnt;
u8        tes_cnt;        //測試用的計(jì)數(shù)變量

void        delay_ms(u8 ms);
void         DisplayScan(void);




/********************** 主函數(shù) ************************/
void main(void)
{
        u8        i;
       
        P0M1 = 0;        P0M0 = 0;        //設(shè)置為準(zhǔn)雙向口
        P1M1 = 0;        P1M0 = 0;        //設(shè)置為準(zhǔn)雙向口
        P2M1 = 0;        P2M0 = 0;        //設(shè)置為準(zhǔn)雙向口
        P3M1 = 0;        P3M0 = 0;        //設(shè)置為準(zhǔn)雙向口
        P4M1 = 0;        P4M0 = 0;        //設(shè)置為準(zhǔn)雙向口
        P5M1 = 0;        P5M0 = 0;        //設(shè)置為準(zhǔn)雙向口
        P6M1 = 0;        P6M0 = 0;        //設(shè)置為準(zhǔn)雙向口
        P7M1 = 0;        P7M0 = 0;        //設(shè)置為準(zhǔn)雙向口

        display_index = 0;
        for(i=0; i<8; i++)        LED8[i] = DIS_BLACK;        //全部消隱
       
        tes_cnt = 0;
        ms_cnt = 0;
        LED8[7] = ms_cnt;

        while(1)
        {
                delay_ms(1);        //延時(shí)1ms
                DisplayScan();
                if(tes_cnt <= 5)        //5秒后不喂狗, 將復(fù)位,
                        WDT_CONTR = (D_EN_WDT + D_CLR_WDT + D_WDT_SCALE_16);        // 喂狗

                if(++ms_cnt >= 1000)
                {
                        ms_cnt = 0;
                        tes_cnt++;
                        LED8[7] = tes_cnt;
                }

        }
}

/**********************************************/

//========================================================================
// 函數(shù): void  delay_ms(unsigned char ms)
// 描述: 延時(shí)函數(shù)。
// 參數(shù): ms,要延時(shí)的ms數(shù), 這里只支持1~255ms. 自動(dòng)適應(yīng)主時(shí)鐘.
// 返回: none.
// 版本: VER1.0
// 日期: 2013-4-1
// 備注:
//========================================================================
void  delay_ms(u8 ms)
{
     u16 i;
         do{
              i = MAIN_Fosc / 13000;
                  while(--i)        ;   //14T per loop
     }while(--ms);
}



/**************** 向HC595發(fā)送一個(gè)字節(jié)函數(shù) ******************/
void Send_595(u8 dat)
{               
        u8        i;
        for(i=0; i<8; i++)
        {
                dat <<= 1;
                P_HC595_SER   = CY;
                P_HC595_SRCLK = 1;
                P_HC595_SRCLK = 0;
        }
}

/********************** 顯示掃描函數(shù) ************************/
void DisplayScan(void)
{       
        Send_595(~T_COM[display_index]);                                //輸出位碼
        Send_595(t_display[LED8[display_index]]);        //輸出段碼

        P_HC595_RCLK = 1;
        P_HC595_RCLK = 0;                                                        //鎖存輸出數(shù)據(jù)
        if(++display_index >= 8)        display_index = 0;        //8位結(jié)束回0
}







歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1