⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 386exc.cod

📁 mcs51,2051,x86系列MCU
💻 COD
📖 第 1 页 / 共 4 页
字号:
/*
 *  Copyright (c) 1995, Intel Corporation
 *
 *  $Workfile:   386exc.cod  $
 *  $Revision:   1.5  $
 *  $Modtime:   Mar 20 1996 13:53:32  $
 *
 *  Purpose:
 *
 *
 *
 *
 *
 *  Compiler:       
 *
 *  Ext Packages:   
 *
 * 
 *
 */
##COMMENT#
  ************* Register Editor Coding information ************
##80C386EX WRITE#
$$IFSTR$ REG_MNEM "REMAPCFG"
For programming the REMAPCFG
register use the CPU
peripheral editor screen
$$END$
$$ELSE$
outpw(@@REG_MNEM@, $%cREG_VALUE$);
$$END$
##80C386EX READ#
UserVar = inpw(@@REG_MNEM@);
##80C386EX AND#
$$IFSTR$ REG_MNEM "REMAPCFG"
For programming the REMAPCFG
register use the CPU
peripheral editor screen
$$END$
$$ELSE$
outpw(@@REG_MNEM@,inpw(@@REG_MNEM@) & $%cREG_VALUE$);
$$END$
##80C386EX XOR#
$$IFSTR$ REG_MNEM "REMAPCFG"
For programming the REMAPCFG
register use the CPU
peripheral editor screen
$$END$
$$ELSE$
outpw(@@REG_MNEM@,inpw(@@REG_MNEM@) ^ $%cREG_VALUE$);
$$END$
##80C386EX OR#
$$IFSTR$ REG_MNEM "REMAPCFG"
For programming the REMAPCFG
register use the CPU
peripheral editor screen
$$END$
$$ELSE$
outpw(@@REG_MNEM@,inpw(@@REG_MNEM@) | $%cREG_VALUE$);
$$END$
##80C386EX TESTZ#
if(!(inpw(@@REG_MNEM@) & $%cREG_VALUE$))
{
  /* User Code */
}
##80C386EX TESTNZ#
if(inpw(@@REG_MNEM@) & $%cREG_VALUE$)
{
  /* User Code */
}
##COMMENT#
  ********** Begin Peripheral Editor Coding **************
##80C386EXCLOCK#
##80C386EXPM#

/* 
 Initialize the Clock and Power Management Unit for:
  Clock frequency of @@CPU_FREQ@ MHz.
  Prescaled clock output of @@PS_FREQUENCY@ MHz.
$$IF$ PWRCON.0
  Enter Power Down Mode.
$$END$
$$IF$ PWRCON.1
  Enter Idle Mode.
$$END$
$$IFN$ PWRCON.0-1
  Normal Halt Instructions.
$$END$
*/
                                    
#include "80386EX.h"
void Init_ClockPMU(void)
{
$$IFN$ REMAPCFG.15
/* Enable expanded I/O space for peripheral initialization.*/
  _EnableExtIOMem();

$$END$
  _SetEXRegByte(PWRCON, 0x$$PWRCON$);
  _SetEXRegWord(CLKPRS, 0x$$CLKPRS$);
$$IFN$ REMAPCFG.15

/* Restore I/O space to original condition.*/
  _DisableExtIOMem();
$$END$
}

##80C386EXSync#
$$IFN$ REMAPCFG.15
/* ******************************************
   * Must have expanded I/O space enabled   *
   * to initialize this peripheral.  The    *
   * expanded I/O space is enabled only in  *
   * the Enhanced Dos Mode and the NonDos   *
   * Mode.                                  *
   ******************************************
*/
$$END$
/* 
Initialize Synchronous Serial Port for:
  Transmitter operating in $%2SSIOCON2.1$slave$master$ mode.
    The transmitter is $%ESSIOCON1.4$.
    The transmitter interrupt is $%ESSIOCON1.5$.

  Receiver operating in $%2SSIOCON2.0$slave$master$ mode.
    The receiver is $%ESSIOCON1.0$.
    The receiver interrupt is $%ESSIOCON1.1$.
$$IF$ SSIOCON2.0-1

  The clocking source is $%2SIOCFG.2$PSCLK$SERCLK$.
$$IF$ SIOCFG.2
  Baud rate of @@SSIO_BAUD_TEXT@(@@SSIOBAUDERROR@%)bps, with an input clock of @@SER_CLK_FREQ@ Mhz.
$$END$
$$IFN$ SIOCFG.2
  Baud rate of @@SSIO_BAUD_TEXT@(@@SSIOBAUDERROR@%)bps, with an input clock of @@PS_FREQUENCY@ Mhz.
$$END$
$$END$
$$IFN$ SSIOCON2.0 &! SSIOCON2.1

  Baud rate generator is disabled.
$$END$
*/

#include "80386EX.h"
void Init_SSIO(void)
{
long temp;
$$IF$ SSIOBAUD.7
  _SetEXRegByte(SIOCFG, 0x$$SIOCFG$);      /* Set BRG source   */
$$END$
  _SetEXRegByte(SSIOBAUD, 0x$$SSIOBAUD$);   /* Configure the BRG */
  _SetEXRegByte(SSIOCON2, 0x$$SSIOCON2$);    /* Set slave/master mode */
  _ReadEXRegWord(temp, SSIORBUF);  /* Clear any receive buffer interrupt */
  _SetEXRegByte(SSIOCON1, 0x$$SSIOCON1$);   /* Configure SSIO */
  _SetEXRegByte(INTCFG, 0x$$INTCFG$);
  _SetEXRegByte(PINCFG, 0x$$PINCFG$);      /* Set SSIO pin connections */
}

##80C386EX IO1#
$$IFN$ REMAPCFG.15
/* ******************************************
   * Must have expanded I/O space enabled   *
   * to initialize this peripheral.  The    *
   * expanded I/O space is enabled only in  *
   * the Enhanced Dos Mode and the NonDos   *
   * Mode.                                  *
   ******************************************
*/
$$END$
/* 
Initialize I/O Port 1 for:
$$IF$ P1CFG.0
 PIN 0 = DCD0# Peripheral Pin
$$END$
$$IF$ P1DIR.0 && P1LTC.0 &! P1CFG.0
 PIN 0 = Input
$$END$
$$IFN$ P1DIR.0 &! P1CFG.0
 PIN 0 = Output
$$END$
$$IF$ P1DIR.0 &! P1LTC.0 &! P1CFG.0
 PIN 0 = Open Drain
$$END$
$$IF$ P1CFG.1
 PIN 1 = RTS0# Peripheral Pin
$$END$
$$IF$ P1DIR.1 && P1LTC.1 &! P1CFG.1
 PIN 1 = Input
$$END$
$$IFN$ P1DIR.1 &! P1CFG.1
 PIN 1 = Output
$$END$
$$IF$ P1DIR.1 &! P1LTC.1 &! P1CFG.1
 PIN 1 = Open Drain
$$END$
$$IF$ P1CFG.2
 PIN 2 = DTR0# Peripheral Pin
$$END$
$$IF$ P1DIR.2 && P1LTC.2 &! P1CFG.2
 PIN 2 = Input
$$END$
$$IFN$ P1DIR.2 &! P1CFG.2
 PIN 2 = Output
$$END$
$$IF$ P1DIR.2 &! P1LTC.2 &! P1CFG.2
 PIN 2 = Open Drain
$$END$
$$IF$ P1CFG.3
 PIN 3 = DSR0# Peripheral Pin
$$END$
$$IF$ P1DIR.3 && P1LTC.3 &! P1CFG.3
 PIN 3 = Input
$$END$
$$IFN$ P1DIR.3 &! P1CFG.3
 PIN 3 = Output
$$END$
$$IF$ P1DIR.3 &! P1LTC.3 &! P1CFG.3
 PIN 3 = Open Drain
$$END$
$$IF$ P1CFG.4
 PIN 4 = RI0# Peripheral Pin
$$END$
$$IF$ P1DIR.4 && P1LTC.4 &! P1CFG.4
 PIN 4 = Input
$$END$
$$IFN$ P1DIR.4 &! P1CFG.4
 PIN 4 = Output
$$END$
$$IF$ P1DIR.4 &! P1LTC.4 &! P1CFG.4
 PIN 4 = Open Drain
$$END$
$$IF$ P1CFG.5
 PIN 5 = LOCK# Peripheral Pin
$$END$
$$IF$ P1DIR.5 && P1LTC.5 &! P1CFG.5
 PIN 5 = Input
$$END$
$$IFN$ P1DIR.5 &! P1CFG.5
 PIN 5 = Output
$$END$
$$IF$ P1DIR.5 &! P1LTC.5 &! P1CFG.5
 PIN 5 = Open Drain
$$END$
$$IF$ P1CFG.6
 PIN 6 = HOLD Peripheral Pin
$$END$
$$IF$ P1DIR.6 && P1LTC.6 &! P1CFG.6
 PIN 6 = Input
$$END$
$$IFN$ P1DIR.6 &! P1CFG.6
 PIN 6 = Output
$$END$
$$IF$ P1DIR.6 &! P1LTC.6 &! P1CFG.6
 PIN 6 = Open Drain
$$END$
$$IF$ P1CFG.7
 PIN 7 = HLDA Peripheral Pin
$$END$
$$IF$ P1DIR.7 && P1LTC.7 &! P1CFG.7
 PIN 7 = Input
$$END$
$$IFN$ P1DIR.7 &! P1CFG.7
 PIN 7 = Output
$$END$
$$IF$ P1DIR.7 &! P1LTC.7 &! P1CFG.7
 PIN 7 = Open Drain
$$END$
*/

#include "80386EX.h"
void Init_IO1(void)
{
  _SetEXRegByte(P1LTC, 0x$$P1LTC$);
  _SetEXRegByte(P1DIR, 0x$$P1DIR$);
  _SetEXRegByte(P1CFG, 0x$$P1CFG$);
}

##80C386EX IO2#
$$IFN$ REMAPCFG.15
/* ******************************************
   * Must have expanded I/O space enabled   *
   * to initialize this peripheral.  The    *
   * expanded I/O space is enabled only in  *
   * the Enhanced Dos Mode and the NonDos   *
   * Mode.                                  *
   ******************************************
*/
$$END$
/* 
Initialize I/O Port 2 for:
$$IF$ P2CFG.0
 PIN 0 = CS0# Peripheral Pin
$$END$
$$IF$ P2DIR.0 && P2LTC.0 &! P2CFG.0
 PIN 0 = Input
$$END$
$$IFN$ P2DIR.0 &! P2CFG.0
 PIN 0 = Output
$$END$
$$IF$ P2DIR.0 &! P2LTC.0 &! P2CFG.0
 PIN 0 = Open Drain
$$END$
$$IF$ P2CFG.1
 PIN 1 = CS1# Peripheral Pin
$$END$
$$IF$ P2DIR.1 && P2LTC.1 &! P2CFG.1
 PIN 1 = Input
$$END$
$$IFN$ P2DIR.1 &! P2CFG.1
 PIN 1 = Output
$$END$
$$IF$ P2DIR.1 &! P2LTC.1 &! P2CFG.1
 PIN 1 = Open Drain
$$END$
$$IF$ P2CFG.2
 PIN 2 = CS2# Peripheral Pin
$$END$
$$IF$ P2DIR.2 && P2LTC.2 &! P2CFG.2
 PIN 2 = Input
$$END$
$$IFN$ P2DIR.2 &! P2CFG.2
 PIN 2 = Output
$$END$
$$IF$ P2DIR.2 &! P2LTC.2 &! P2CFG.2
 PIN 2 = Open Drain
$$END$
$$IF$ P2CFG.3
 PIN 3 = CS3# Peripheral Pin
$$END$
$$IF$ P2DIR.3 && P2LTC.3 &! P2CFG.3
 PIN 3 = Input
$$END$
$$IFN$ P2DIR.3 &! P2CFG.3
 PIN 3 = Output
$$END$
$$IF$ P2DIR.3 &! P2LTC.3 &! P2CFG.3
 PIN 3 = Open Drain
$$END$
$$IF$ P2CFG.4
 PIN 4 = CS4# Peripheral Pin
$$END$
$$IF$ P2DIR.4 && P2LTC.4 &! P2CFG.4
 PIN 4 = Input
$$END$
$$IFN$ P2DIR.4 &! P2CFG.4
 PIN 4 = Output
$$END$
$$IF$ P2DIR.4 &! P2LTC.4 &! P2CFG.4
 PIN 4 = Open Drain
$$END$
$$IF$ P2CFG.5
 PIN 5 = RXD0 Peripheral Pin
$$END$
$$IF$ P2DIR.5 && P2LTC.5 &! P2CFG.5
 PIN 5 = Input
$$END$
$$IFN$ P2DIR.5 &! P2CFG.5
 PIN 5 = Output
$$END$
$$IF$ P2DIR.5 &! P2LTC.5 &! P2CFG.5
 PIN 5 = Open Drain
$$END$
$$IF$ P2CFG.6
 PIN 6 = TXD0 Peripheral Pin
$$END$

⌨️ 快捷键说明

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