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

📄 hal4sys.h

📁 ISP1181MCU_FW_Ver1.01.zip是基于飞利浦ISP1181的USB HOST开发板固件源代码
💻 H
字号:
/*
   //*************************************************************************
   //
   //                  P H I L I P S   P R O P R I E T A R Y
   //
   //           COPYRIGHT (c)   1999 BY PHILIPS SINGAPORE.
   //                     --  ALL RIGHTS RESERVED  --
   //
   // File Name:	    Hal4sys.H
   // Created:		Oct. 12 2000
   // Modified:
   // Revision:		1.01
   //
   //*************************************************************************
   //
   //*************************************************************************
   */
#ifndef __HAL4SYS_H__
#define __HAL4SYS_H__


// 8051 Machine cycle factor 1@12MHz, 2@24MHz, 3@36MHz
#define LOOP_MC                 10
#define MACHINECYCLE_AT12MHZ    0x01
#define MACHINECYCLE_AT24MHZ    0x02
#define MACHINECYCLE_AT36MHZ    0x03
#define MACHINECYCLE_AT48MHZ    0x03

#define TIMER0_AT12MHZ          (0xFC)
#define TIMER0_AT24MHZ          (0xF8)
#define TIMER0_AT36MHZ          (0xF4)
#define TIMER0_AT48MHZ          (0xF0)

#define portbase				0
#define D13_COMMAND_PORT		(portbase + 1)
#define D13_DATA_PORT			portbase

#define MCU_P0          P0
#define MCU_P1          P1
#define MCU_P2          P2
#define MCU_P3          P3

#define CTRL_PORT	P1
#define DATA_BUS	P0
#define ADDR_BUS	P2

/*feb28  BYTE Registers  */
sfr AUXR    = 0x8E;

sbit A8			    = P2^0;
sbit A9			    = P2^1;
sbit A10		    = P2^2;
sbit A11		    = P2^3;
sbit A12		    = P2^4;
sbit A13		    = P2^5;
sbit A14		    = P2^6;
sbit A15		    = P2^7;

sbit D13CS_N	    = P1^0;
sbit D13_WAKEUP	    = P1^1;
sbit D13_READY	    = P1^2;
sbit D13SUSPD	    = P1^3;
sbit DMASTART	    = P1^4;
sbit DMAINTRANSFER  = P1^5;
sbit MCU_PB2	    = P1^6;
sbit MCU_PB1	    = P1^7;

sbit RS232_RXD      = P3^0;
sbit DMA_RST	    = P3^1;
sbit D13INT_N       = P3^2;
sbit D13RST_N	    = P3^3;
sbit MCU_LED0		= P3^4;
sbit MCU_LED1		= P3^5;
sbit D13WR_N        = P3^6;
sbit D13RD_N        = P3^7;

// 8051 REG Map
#define D13INT_EDGE	    IT0
#define D13INT_PRIORITY	PX0
#define D13INT_ENABLE	EX0

#define TIMER0_MODE	        TMOD
#define TIMER0_LOW          TL0
#define TIMER0_HIGH         TH0
#define TIMER0_PRIORITY	    PT0
#define TIMER0_IRQ_ENABLE	ET0
#define TIMER0_START    	TR0

// Functions
#define RaiseIRQL()	    EA=0
#define LowerIRQL()	    EA=1
#define Hal4Sys_InitMCU()       /*Give up all ports*/ \
                        	    MCU_P0 = 0xFF;\
	                            MCU_P1 = 0xFF;\
	                            MCU_P2 = 0xFF;\
	                            MCU_P3 = 0xFF;

//nov28
#define Hal4Sys_PDMCU()       /*Give up all ports*/ \
                        	    MCU_P0 = 0x00;\
                        	    MCU_P2 = 0xFF;\
								MCU_P3 = 0xFD;
//Jan16, keep P3.1=mosfet control = 0	                            MCU_P3 = 0xFF
//	                            MCU_P1 = 0xFF;\

#ifdef WORK_AT_12MHZ
#define Hal4Sys_Wait1US()       _nop_()
#endif
#ifdef WORK_AT_24MHZ
#define Hal4Sys_Wait1US()       _nop_(); \
                                _nop_()
#endif
#ifdef WORK_AT_36MHZ
#define Hal4Sys_Wait1US()       _nop_(); \
                                _nop_(); \
                                _nop_()
#endif
#ifdef WORK_AT_48MHZ
#define Hal4Sys_Wait1US()       _nop_(); \
                                _nop_(); \
                                _nop_(); \
                                _nop_()
#endif


void Hal4Sys_InitTimer0(void);

void Hal4Sys_Wait4US(void);
void Hal4Sys_WaitInUS(USHORT time);
void Hal4Sys_WaitInMS(USHORT time);

void outportb(unsigned char port, unsigned char val);
unsigned char inportb(unsigned char port);

void Hal4Sys_ResetD13(void);
void Hal4Sys_InitD13(void);

//USHORT Hal4Sys_Swap(USHORT wData);
#endif

⌨️ 快捷键说明

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