mcuinit.c

来自「通过车载终端采集GPS数据」· C语言 代码 · 共 79 行

C
79
字号
/***********************************************************
*  mcuInit.c
*      MCU initialize. include timer, uart etc.
*
*  xhb   2004-02-08   created
***********************************************************/

#include "w77e532.h"
#include "keyBoard.h"
#include "mcuInit.h"
#include "uart.h"
//#include "inter.h"


/**********************************************
*   GLOBAL PARAMENTER
**********************************************/
extern unsigned char volatile xdata D12_Y1;//原来的xCONTROLBYTE81K
extern idata unsigned char D16CS;//D12_Y1的寄存器,原来的xConByte81KValue
unsigned int timegps=0;
void ISRtime0(void) interrupt 1 using 1
{
//    TR0 = 0;        /*定时器0 run/off控制位,0:停止;1运行 */

    TH0 = TIME_RELOAD>>8;
    TL0 = TIME_RELOAD;
    timegps++;
    uart1_timeout();
    siob_timeout();
    sioc_timeout();
//    TR0 = 1;        /*定时器0 run/off控制位,0:停止;1运行 */

}
/*this function must first be selected*/
void init_77e532(void)
{
    unsigned char tmp;

    tmp = CKCON;
    tmp &= ~0x38;   /*T0,T1,T2 is 12 colcks,*/
    CKCON = tmp;
}

/*******mcu中断源初始化***************/
void mcu_init(void)
{
    EA = 0;


    TMOD = 0x21;    /*定时器T0,T1:16位计数器,5ms定时;定时器T1:8位重装*/
    TH0 = TIME_RELOAD>>8;
    TL0 = TIME_RELOAD;
    TR0 = 1;        /*定时器0 run/off控制位,0:停止;1运行 */
    ET0 = 1;        /*允许定时器T0中断*/

}
void switch_ld_ap(void)
{
    unsigned char tmp;

    TA = 0xAA;
    TA = 0x55;
    tmp = CHPCON;


    TA = 0xAA;
    TA = 0x55;
    CHPCON = 0x03;
    SFRCN = 0;
    TCON=0;
    IP=0;      	
    IE = 0x82;
    TL0    = 0xf0;
    TH0    = 0xff;
    TMOD   = 0x01;
    TCON    = 0x10;
    PCON   = 0x01;   /* Jump to IDLE mode  */
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?