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

📄 appendxb.htm

📁 嵌入式软件开发.rar
💻 HTM
📖 第 1 页 / 共 3 页
字号:
	/* TCTL2 bit definitions 0x1E */

	#define EDG4B bit7
	#define EDG4A bit6
	#define EDG1B bit5
	#define EDG1A bit4
	#define EDG2B bit3
	#define EDG2A bit2
	#define EDG3B bit1
	#define EDG3A bit0

<a name="tmsk1bits">	/* TMSK1 bit definitions 0x20 */</a>

	#define IC1I bit8
	#define IC2I bit9
	#define IC3I bit10
	#define OC1I bit11
	#define OC2I bit12
	#define OC3I bit13
	#define OC4I bit14
	#define I4O5I bit15

	/* TMSK2 bit definitions 0x20 */

	#define TOI  bit7
	#define PAOVI bit5
	#define PAII bit4
	#define CPROUT bit3
	#define CPR2 bit2
	#define CPR1 bit1
	#define CPR0 bit0

	/* TFLG1 bit definitions 0x22 */

	#define IC1F bit8
	#define IC2F bit9
	#define IC3F bit10
	#define OC1F bit11 
	#define OC2F bit12
	#define OC3F bit13
	#define OC4F bit14
	#define I4O5F bit15

	/* TFLG2 bit definitions 0x22 */

	#define TOF  bit7
	#define PAOVF bit5
	#define PAIF bit4

	/* CFORC bit definitions 0x24*/

	#define FOC1 bit15
	#define FOC2 bit14
	#define FOC3 bit13
	#define FOC4 bit12
	#define FOC5 bit11
	#define FPWMA bit9
	#define FPWMB bit8

<a name="pwmcbits">	/* PWMC Bit definitions 0x24*/</a>

	#define PPROUT bit7
	#define PPR2 bit6
	#define PPR1 bit5
	#define PPR0 bit4
	#define SFA bit3
	#define SFB bit2
	#define F1A bit1
	#define F1B bit0

	#endif
</code></pre>
 
<h4><a name="mcci_h">MultiChannel Communications Interface--MCCI</a></h4>
<pre><code>
	#ifndef MCCI_H
	#define MCCI_H

	#ifdef _PAGE0
	#define _MEM @indir
	#else
	#ifdef _PAGEF
	#define _MEM
	#else 
	#define _MEM @far
	#endif
	#endif

	typedef struct 
	{
		unsigned INTV :8;
		unsigned ILSCIA :3;
		unsigned ILSCIB :3;

	}Ilsci;

	typedef struct
	{
		unsigned NU :11 ;
		unsigned ILSPI :3;
	} Ilspi;

	typedef struct
	{
		unsigned BAUD :8;
		unsigned SIZE :1;
		unsigned LSBF :1;
		unsigned CPHA :1;
		unsigned CPOL :1;
		unsigned MSTR :1;
		unsigned WOMP :1;
		unsigned SPE  :1;
		unsigned SPIE :1;
	}Spcr;

	typedef struct
	{
		unsigned LOWB :8;
		unsigned UPPB :8;
	} Spdr;

<a name="sccr0">	typedef struct</a>
	{
		unsigned BR :13;
	} Sccr0;

<a name="scdr">	typedef struct</a>
	{
		unsigned DATA :8;
		unsigned BIT8 :1;
	} Scdr;

	#define MCCI_MCR (*(_MEM MCR_Register*)(MCCI_Register+0x00))
	#define ILSCI (*(_MEM Ilsci *)(MCCI_Register+0x04))
	#define MIVR ILSCI
	#define ILSPI (*(_MEM Ilspi *)(MCCI_Register+0x06))
	#define MPAR (*(_MEM Char_Register*)(MCCI_Register+0x09))
	#define MCCR (*(_MEM Char_Register*)(MCCI_Register+0x0b
	#define PORTMC (*(_MEM Char_Register*)(MCCI_Register+0x0c))
	#define PORTMCP (*(_MEM Char_Register*)(MCCI_Register+0x0e))
<a name="sccr0a">	#define SCCR0A (*(_MEM Sccr0    *)(MCCI_Register+0x18))</a>
<a name="sccr1a">	#define SCCR1A (*(_MEM Register *)(MCCI_Register+0x1a))</a>
<a name="scsra">	#define SCSRA (*(_MEM Register *)(MCCI_Register+0x1c))</a>
<a name="scdra">	#define SCDRA (*(_MEM Scdr *)(MCCI_Register+0x1e))</a>
	#define SCCR0B (*(_MEM Sccr0    *)(MCCI_Register+0x28))
	#define SCCR1B (*(_MEM Register *)(MCCI_Register+0x2a))
	#define SCSRB (*(_MEM Register *)(MCCI_Register+0x2c))
	#define SCDRB (*(_MEM Scdr *)(MCCI_Register+0x2e))
	#define SPCR (*(_MEM Spcr *)(MCCI_Register+0x38))
	#define SPSR (*(_MEM Register*)(MCCI_Register+0x3c))
	#define SPDR (*(_MEM Spdr *)(MCCI_Register+0x3e))

	/* some useful values */

	#define BAUD_4800       109     /* Baud rate codes for the HC16 */
	#define BAUD_9600       55
	#define BAUD_19K        27

	/* PORTMCP bits */
	#define MISO bit0
	#define MOSI bit1
	#define SCK bit2
	#define SS bit3
	#define RXDB bit4
	#define TXDB bit5
	#define RXDA bit6
	#define TXDB bit7

	/* SPSR bits */
	#define MODF bit12
	#define WCOL bit14
	#define SPIF bit15

<a name="sccs1">	/* SCCR1 bits */</a>
	#define SBK bit0
	#define RWU bit1
	#define RE bit2
	#define TE bit3
	#define ILIE bit4
	#define RIE bit5
	#define TCIE bit6
	#define TIE bit7
	#define WAKE bit8
	#define M bit9
	#define PE bit10
	#define PT bit11
	#define ILT bit12
	#define WOMC bit13
	#define LOOPS bit14

<a name="scsr_reg">	/* SCSR bits */</a>
	#define PF bit0
	#define FE bit1
	#define NF bit2
	#define OR bit3
	#define IDLE bit4
	#define RAF bit5
	#define RDRF bit6
	#define TC bit7
	#define TDRE bit8

	#endif
</code></pre>
 
<h4><a name="qsm_h">Queued Serial Module--QSM</a></h4>

<p>	The QSM is used on the M68HC16Z1 only.  This header file is included for 
reference only.

<pre><code>
	#ifndef QSM_H
	#define QSM_H

	#ifdef _PAGE0
	#define _MEM @indir
	#else
	#ifdef _PAGEF
	#define _MEM
	#else 
	#define _MEM @far
	#endif
	#endif

	typedef struct
	{
	     unsigned INTV   :8;
	     unsigned ILSCI  :3;
	     unsigned ILQSPI :3;
	     unsigned NUL1   :2;
	} Qilr;

	typedef struct
	{
	     unsigned SP    :8;
	     unsigned CPHA  :1;
	     unsigned CPOL  :1;
	     unsigned BITS  :4;
	     unsigned WOMQ  :1;
	     unsigned MSTR  :1;
	} Spcr0;

	typedef struct
	{
	     unsigned DTL   :8;
	     unsigned DSCLK :7;
	     unsigned SPE   :1;
	} Spcr1;

	typedef struct
	{
	     unsigned NEWQP :4;
	     unsigned NUL2  :4;
	     unsigned ENDQP :4;
	     unsigned NUL3 :1;
	     unsigned WRTO  :1;
	     unsigned WREN  :1;
	     unsigned SPIFIE:1;
	}  Spcr2;

	typedef struct
	{
	     unsigned char PCS   :4;
	     unsigned char DSCK  :1;
	     unsigned char DT    :1;
	     unsigned char BITSE :1;
	     unsigned char CONT  :1;
	}Cr;

	typedef struct
	{
	     unsigned SCBR   :13;
	     unsigned NUL4   :3;
	} Sccr0;

	#define QSMCR (*(_MEM MCR_Register*)(QSM_Register+0x00))
	#define QILR (*(_MEM Qilr*)(QSM_Register + 0x04))
	#define QIVR QILR
	#define SCCR0 (*(_MEM Sccr0*)(QSM_Register+0x08))
	#define SCCR1 (*(_MEM Register*)(QSM_Register+0x0a))
	#define SCSR (*(_MEM volatile Register*)(QSM_Register+0x0c))
	#define SCDR (*(_MEM volatile int*)(QSM_Register+0x0e))
	#define PORTQS (*(_MEM volatile Register*)(QSM_Register +0x14))
	#define PQSPAR (*(_MEM volatile Register*)(QSM_Register +0x16))
	#define DDRQS PQSPAR
	#define SPCR0 (*(_MEM Spcr0*)(QSM_Register + 0x18))
	#define SPCR1 (*(_MEM Spcr1*)(QSM_Register +0x1a))
	#define SPCR2 (*(_MEM SPCR2*)(QSM_Register +0x1c))
	#define SPCR3 (*(_MEM MCR_Register)(QSM_Register+0x1e))
	#define RR ((_MEM int*)(QSM_Register+0x100))
	#define TR ((_MEM int*)(QSM_Register+0x120))
	#define CR ((_MEM Cr*)(QSM_Register+0x140))

	/*QSMCR bit definitions */


	#define SUPV bit7
	#define FRZ0 bit13
	#define FRZ1 bit14
	#define STOP bit15

	/* SPCR3 bit definitions */
	#define CPTQP iarb
	#define HALTA bit5
	#define MODF  bit6
	#define SPIF  bit7
	#define HALT  bit8
	#define HMIE  bit9
	#define LOOPQ bit10


	#define SCCR2 SCCR1
	/* SCCR1 bit definitions */
	#define SBK   bit0
	#define RWU   bit1
	#define RE    bit2
	#define TE    bit3
	#define ILIE  bit4
	#define RIE   bit5
	#define TCIE  bit6
	#define TIE   bit7
	#define WAKE  bit8
	#define M     bit9
	#define PE    bit10
	#define PT    bit11
	#define ILT   bit12
	#define WOMS  bit13
	#define LOOPS bit14

	/* SCSR bit definitions */
	#define PF   bit0
	#define FE   bit1
	#define NF   bit2
	#define OR   bit3
	#define IDLE bit4
	#define RAF  bit5
	#define RDRF bit6
	#define TC   bit7
	#define TDRE bit8

	#endif
</code></pre>

 
<h4><a name="sim_h">The System Integration Module -- SIM</a></h4>
	
<p>	The SIM is used with the M68HC16Z1 part.  There are a few significant 
differences between the SIM and the SCIM, Single Chip Integration Module, which 
follows this one.
<pre><code>

	#ifndef SIM
	#define SIM 1

	#ifdef _PAGE0
	#define _MEM @indir
	#else
	#ifdef _PAGEF
	#define _MEM
	#else 
	#define _MEM @far
	#endif
	#endif

<a name="syncrbits">	typedef struct</a>
	{
	     unsigned STEXT :1;
	     unsigned STSIM :1;
	     unsigned RSTEN :1;
	     unsigned SLOCK :1;
	     unsigned SLIMP :1;
	     unsigned NO1 :2;
	     unsigned EDIV  :1;
	     unsigned Y     :6;
	     unsigned X     :1;
	     unsigned W     :1;
	} Syncr;

	typedef struct
	{
	     unsigned BMT :2;
	     unsigned BME :1;
	     unsigned HME :1;
	     unsigned SWT :2;
	     unsigned SWP :1;
	     unsigned SWE :1;
	}Sypcr; 

	typedef struct
	{
	     unsigned PIV   :8;
	     unsigned PIRQL :3;
	     unsigned NO2  :5;
	} Picr;

	typedef struct
	{
	     unsigned PITM  :8;
	     unsigned PTP   :1;
	     unsigned NO3  :7;
	}Pitr;

	typedef struct
	{
	     unsigned pr0 :2;
	     unsigned pr1 :2;
	     unsigned pr2 :2;
	     unsigned pr3 :2;
	     unsigned pr4 :2;
	     unsigned pr5 :2;
	     unsigned pr6 :2;
	     unsigned pr7 :2;
	} Cspar;

	typedef struct
	{
	     unsigned BLKSZ :3;
	     unsigned HIADDR :13;
	} Csbar;

	typedef struct
	{
	     unsigned AVEC :1;
	     unsigned IPL :3;
	     unsigned SPACE :2;
	     unsigned DSACK :4;
	     unsigned STRB :1;
	     unsigned RSW :2;
	     unsigned BYTE :2;
	     unsigned MODE :1;
	} Csor;

	#define SIM_MCR (*(_MEM MCR_Register*)(SIM_Register))
<a  name="syncr">	#define SYNCR (*(_MEM Syncr*)(SIM_Register+0x4))</a>
	#define RSR (*(_MEM Register*)(SIM_Register+0x6))
	#define SIMTRE (*(_MEM Register*)(SIM_Register+0x8))
	#define PORTE0 (*(_MEM Register*)(SIM_Register+0x10))

⌨️ 快捷键说明

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