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

📄 reg52.h

📁 完整的软件学习--显示器驱动视频软件
💻 H
字号:
/*--------------------------------------------------------------------------
REG52.H

Header file for generic 80C52 and 80C32 microcontroller.
Copyright (c) 1988-2001 Keil Elektronik GmbH and Keil Software, Inc.
All rights reserved.
--------------------------------------------------------------------------*/

/*  BYTE Registers  */
sfr P0    = 0x80;
sfr P1    = 0x90;
sfr P2    = 0xA0;
sfr P3    = 0xB0;
sfr P4    = 0xEB; 
sfr PSW   = 0xD0;
sfr ACC   = 0xE0;
sfr B     = 0xF0;
sfr SP    = 0x81;
sfr DPL   = 0x82;
sfr DPH   = 0x83;
sfr PCON  = 0x87;
sfr TCON  = 0x88;
sfr TMOD  = 0x89;
sfr TL0   = 0x8A;
sfr TL1   = 0x8B;
sfr TH0   = 0x8C;
sfr TH1   = 0x8D;
sfr IE    = 0xA8;
sfr IP    = 0xB8;
sfr SCON  = 0x98;
sfr SBUF  = 0x99;

/*  8052 Extensions  */
sfr T2CON  = 0xC8;
sfr RCAP2L = 0xCA;
sfr RCAP2H = 0xCB;
sfr TL2    = 0xCC;
sfr TH2    = 0xCD;

#if MSTMCU
sfr WDTCON = 0xD8;
sfr CKCON = 0x8E;
#endif

/*  BIT Registers  */
/*  PSW  */
sbit CY    = PSW^7;
sbit AC    = PSW^6;
sbit F0    = PSW^5;
sbit RS1   = PSW^4;
sbit RS0   = PSW^3;
sbit OV    = PSW^2;
sbit P     = PSW^0; //8052 only

/*  TCON  */
sbit TF1   = TCON^7;
sbit TR1   = TCON^6;
sbit TF0   = TCON^5;
sbit TR0   = TCON^4;
sbit IE1   = TCON^3;
sbit IT1   = TCON^2;
sbit IE0   = TCON^1;
sbit IT0   = TCON^0;

/*  IE  */
sbit EA    = IE^7;
sbit ET2   = IE^5; //8052 only
sbit ES    = IE^4;
sbit ET1   = IE^3;
sbit EX1   = IE^2;
sbit ET0   = IE^1;
sbit EX0   = IE^0;

/*  IP  */
sbit PT2   = IP^5;
sbit PS    = IP^4;
sbit PT1   = IP^3;
sbit PX1   = IP^2;
sbit PT0   = IP^1;
sbit PX0   = IP^0;

/*  P3  */
sbit RD    = P3^7;
sbit WR    = P3^6;
sbit T1    = P3^5;
sbit T0    = P3^4;
sbit INT1  = P3^3;
sbit INT0  = P3^2;
sbit TXD   = P3^1;
sbit RXD   = P3^0;

/*  SCON  */
sbit SM0   = SCON^7;
sbit SM1   = SCON^6;
sbit SM2   = SCON^5;
sbit REN   = SCON^4;
sbit TB8   = SCON^3;
sbit RB8   = SCON^2;
sbit TI    = SCON^1;
sbit RI    = SCON^0;

/*  P1  */
sbit T2EX  = P1^1; // 8052 only
sbit T2    = P1^0; // 8052 only
             
/*  T2CON  */
sbit TF2    = T2CON^7;
sbit EXF2   = T2CON^6;
sbit RCLK   = T2CON^5;
sbit TCLK   = T2CON^4;
sbit EXEN2  = T2CON^3;
sbit TR2    = T2CON^2;
sbit C_T2   = T2CON^1;
sbit CP_RL2 = T2CON^0;

sbit P0_0	= P0^0;
sbit P0_1	= P0^1;
sbit P0_2	= P0^2;
sbit P0_3	= P0^3;
sbit P0_4	= P0^4;
sbit P0_5	= P0^5;
sbit P0_6	= P0^6;
sbit P0_7	= P0^7;

sbit P1_0	= P1^0;
sbit P1_1	= P1^1;
sbit P1_2	= P1^2;
sbit P1_3	= P1^3;
sbit P1_4	= P1^4;
sbit P1_5	= P1^5;
sbit P1_6	= P1^6;
sbit P1_7	= P1^7;

sbit P2_0	= P2^0;
sbit P2_1	= P2^1;
sbit P2_2	= P2^2;
sbit P2_3	= P2^3;
sbit P2_4	= P2^4;
sbit P2_5	= P2^5;
sbit P2_6	= P2^6;
sbit P2_7	= P2^7;

sbit P3_3	= P3^3;
sbit P3_4	= P3^4;
sbit P3_5	= P3^5;
sbit P3_6	= P3^6;
sbit P3_7	= P3^7;

/*
#if SyncMosMcu
sfr ISPFD = 0xF6;
sfr ISPC = 0xF7;
#elif WinBondMcu
// For Winbond MCU
sfr CHPENR = 0xF6;//for Winbond Mcu to the Isp mode
sfr CHPCON = 0xBF;//for Winbond Mcu to the Isp mode
#endif
*/

// For Winbond MCU
sfr CHPENR = 0xF6;//for Winbond Mcu to the Isp mode
sfr CHPCON = 0xBF;//for Winbond Mcu to the Isp mode

#if MSTMCU
 #define	ISPADD		xfr_regs[0x00]//(((BYTE xdata*)XFR_ADDR)[0x00])
 #define	ISPPW1		xfr_regs[0x01]//(((BYTE xdata*)XFR_ADDR)[0x01])
 #define	ISPPW2		xfr_regs[0x02]//(((BYTE xdata*)XFR_ADDR)[0x02])
 #define	ISPPW3		xfr_regs[0x03]//(((BYTE xdata*)XFR_ADDR)[0x03])
 #define	ISPPW4		xfr_regs[0x04]//(((BYTE xdata*)XFR_ADDR)[0x04])
 #define	ISPPW5		xfr_regs[0x05]//(((BYTE xdata*)XFR_ADDR)[0x05])
 //#define	RCATXABUF	(((BYTE xdata*)XFR_ADDR)[0x06])
 #define	SW_EN_ISP		xfr_regs[0x06]//(((BYTE xdata*)XFR_ADDR)[0x06])
 //#define	SLVAADDR	(((BYTE xdata*)XFR_ADDR)[0x07])
 //#define	RCBTXBBUF	(((BYTE xdata*)XFR_ADDR)[0x08])
 //#define	SLVBADDR	(((BYTE xdata*)XFR_ADDR)[0x09])
 #define	WD_SWZ1	xfr_regs[0x08]//(((BYTE xdata*)XFR_ADDR)[0x08])
 #define	WD_SWZ2	xfr_regs[0x09]//(((BYTE xdata*)XFR_ADDR)[0x09])

 #define	SERIAL_ID		xfr_regs[0x0A]//(((BYTE xdata*)XFR_ADDR)[0x0A])

 //#define	ISPSLV	(((BYTE xdata*)XFR_ADDR)[0x0B])
 //#define	ISPEN	(((BYTE xdata*)XFR_ADDR)[0x0C])
 #define	INTMASK_EN_ADC	xfr_regs[0x10]//(((BYTE xdata*)XFR_ADDR)[0x10])
 #define	ADC_INT_FLAG	xfr_regs[0x11]//(((BYTE xdata*)XFR_ADDR)[0x11])
 #define	ADC_WBUF_RDP	xfr_regs[0x12]//(((BYTE xdata*)XFR_ADDR)[0x12])
 #define	ADC_RBUF_WDP	xfr_regs[0x13]//(((BYTE xdata*)XFR_ADDR)[0x13])
 #define	INTMASK_EN_DVI	xfr_regs[0x14]//(((BYTE xdata*)XFR_ADDR)[0x14])
 #define	DVI_INT_FLAG	xfr_regs[0x15]//(((BYTE xdata*)XFR_ADDR)[0x11])
 #define	DVI_WBUF_RDP	xfr_regs[0x16]//(((BYTE xdata*)XFR_ADDR)[0x12])
 #define	DVI_RBUF_WDP	xfr_regs[0x17]//(((BYTE xdata*)XFR_ADDR)[0x13])

 #define	DDC2BI_CTRL	xfr_regs[0x18]//(((BYTE xdata*)XFR_ADDR)[0x18])
 #define	ADC_DDCCI_ID	xfr_regs[0x19]//(((BYTE xdata*)XFR_ADDR)[0x18])
 #define	DVI_DDCCI_ID	xfr_regs[0x1A]//(((BYTE xdata*)XFR_ADDR)[0x18])
 
 #define	KEYPAD_ADC1	xfr_regs[0x20]//(((BYTE xdata*)XFR_ADDR)[0x20])
 #define	KEYPAD_ADC2	xfr_regs[0x21]//(((BYTE xdata*)XFR_ADDR)[0x21])
 #define	KEYPAD_ADC3	xfr_regs[0x22]//(((BYTE xdata*)XFR_ADDR)[0x22])
 #define	KEYPAD_ADC4	xfr_regs[0x23]//(((BYTE xdata*)XFR_ADDR)[0x23])
 
 #define	MCU_P0_OUT_EN	xfr_regs[0x30]//(((BYTE xdata*)XFR_ADDR)[0x30])
 #define	MCU_P0_FMD			xfr_regs[0x31]//(((BYTE xdata*)XFR_ADDR)[0x31])
 #define	MCU_P0_ROD_EN	xfr_regs[0x32]//(((BYTE xdata*)XFR_ADDR)[0x32])
 #define	MCU_P1_OUT_EN	xfr_regs[0x33]//(((BYTE xdata*)XFR_ADDR)[0x33])
 #define	MCU_P1_FMD			xfr_regs[0x34]//(((BYTE xdata*)XFR_ADDR)[0x34])
 #define	MCU_P1_ROD_EN	xfr_regs[0x35]//(((BYTE xdata*)XFR_ADDR)[0x35])
 #define	MCU_P2_OUT_EN	xfr_regs[0x36]//(((BYTE xdata*)XFR_ADDR)[0x36])
 
 #define	MCU_P2_FMD			xfr_regs[0x37]//(((BYTE xdata*)XFR_ADDR)[0x37])
 #define	MCU_P2_ROD_EN	xfr_regs[0x38]//(((BYTE xdata*)XFR_ADDR)[0x38])
 #define	MCU_P3_OUT_EN	xfr_regs[0x39]//(((BYTE xdata*)XFR_ADDR)[0x39])
 #define	MCU_P3_FMD			xfr_regs[0x3A]//(((BYTE xdata*)XFR_ADDR)[0x3A])
 #define	MCU_P3_ROD_EN	xfr_regs[0x3B]//(((BYTE xdata*)XFR_ADDR)[0x3B])
 #define	MCU_P4_OUT_EN	xfr_regs[0x3C]//(((BYTE xdata*)XFR_ADDR)[0x3C])
 #define	MCU_P4_FMD			xfr_regs[0x3D]//(((BYTE xdata*)XFR_ADDR)[0x3D])
 #define	MCU_P4_ROD_EN	xfr_regs[0x3E]//(((BYTE xdata*)XFR_ADDR)[0x3E])
#endif

#if MTV512// for Myson 312MV//vick myson
 #define	XFR_ADDR		0xF00
 #define	XFR_DDC		0xE00
 #define  XFR_AUXRAM 	0x800 //vick :add for DDC data comparing(faster)
 
 #define  AUXRAM    	(((BYTE xdata*)XFR_AUXRAM)[0x00])
 #define	DDCRAM		(((BYTE xdata*)XFR_DDC)[0x00])
 #define	IICCTR		(((BYTE xdata*)XFR_ADDR)[0x00])
 #define	IICSTUSL	(((BYTE xdata*)XFR_ADDR)[0x01])
 #define	IICSTUSH	(((BYTE xdata*)XFR_ADDR)[0x02])
 #define	INTFLG		(((BYTE xdata*)XFR_ADDR)[0x03])
 #define	INTEN		(((BYTE xdata*)XFR_ADDR)[0x04])
 #define	MBUF		(((BYTE xdata*)XFR_ADDR)[0x05])
 #define	RCATXABUF	(((BYTE xdata*)XFR_ADDR)[0x06])
 #define	DDCCTR		(((BYTE xdata*)XFR_ADDR)[0x06])
 #define    DDCCTRA2 	(((BYTE xdata*)XFR_ADDR)[0x86])
 #define	SLVAADDR	(((BYTE xdata*)XFR_ADDR)[0x07])
 #define	SLVAADR		(((BYTE xdata*)XFR_ADDR)[0x07])
 #define	RCBTXBBUF	(((BYTE xdata*)XFR_ADDR)[0x08])
 #define	SLVBADDR	(((BYTE xdata*)XFR_ADDR)[0x09])
 #define	DBUF		(((BYTE xdata*)XFR_ADDR)[0x0A])

 #define	ISPSLV	(((BYTE xdata*)XFR_ADDR)[0x0B])
 #define	ISPEN	(((BYTE xdata*)XFR_ADDR)[0x0C])
 
 #define	MADC	(((BYTE xdata*)XFR_ADDR)[0x10])
 
 #define	DA0	(((BYTE xdata*)XFR_ADDR)[0x20])
 #define	DA1	(((BYTE xdata*)XFR_ADDR)[0x21])
 #define	DA2	(((BYTE xdata*)XFR_ADDR)[0x22])
 #define	DA3	(((BYTE xdata*)XFR_ADDR)[0x23])
 #define	DA4	(((BYTE xdata*)XFR_ADDR)[0x24])
 #define	DA5	(((BYTE xdata*)XFR_ADDR)[0x25])
 #define	DA6	(((BYTE xdata*)XFR_ADDR)[0x26])
 #define	DA7	(((BYTE xdata*)XFR_ADDR)[0x27])
 #define	DA8	(((BYTE xdata*)XFR_ADDR)[0x28])
 #define	DA9	(((BYTE xdata*)XFR_ADDR)[0x29])
 #define	DA10	(((BYTE xdata*)XFR_ADDR)[0x2A])
 #define	DA11	(((BYTE xdata*)XFR_ADDR)[0x2B])
 #define	DA12	(((BYTE xdata*)XFR_ADDR)[0x2C])
 #define	DA13	(((BYTE xdata*)XFR_ADDR)[0x2D])
 
 #define	PADMOD0	(((BYTE xdata*)XFR_ADDR)[0x50])
 #define	PADMOD1	(((BYTE xdata*)XFR_ADDR)[0x51])
 #define	PADMOD2	(((BYTE xdata*)XFR_ADDR)[0x52])
 #define	PADMOD3	(((BYTE xdata*)XFR_ADDR)[0x53])
 #define	PADMOD4	(((BYTE xdata*)XFR_ADDR)[0x54])
 #define	PADMOD5	(((BYTE xdata*)XFR_ADDR)[0x55])
 #define	PADMOD6	(((BYTE xdata*)XFR_ADDR)[0x5E])//
 #define	PADMOD7	(((BYTE xdata*)XFR_ADDR)[0x5F])//
 
 #define	OPTION	(((BYTE xdata*)XFR_ADDR)[0x56])
 
 #define	XBANK	(((BYTE xdata*)XFR_ADDR)[0x35])

 #define	P4_0	(((BYTE xdata*)XFR_ADDR)[0x58])
 #define	P4_1	(((BYTE xdata*)XFR_ADDR)[0x59])
 #define	P4_2	(((BYTE xdata*)XFR_ADDR)[0x5A])
 
 #define	P5_0	(((BYTE xdata*)XFR_ADDR)[0x30])
 #define	P5_1	(((BYTE xdata*)XFR_ADDR)[0x31])
 #define	P5_2	(((BYTE xdata*)XFR_ADDR)[0x32])
 #define	P5_3	(((BYTE xdata*)XFR_ADDR)[0x33])
 #define	P5_4	(((BYTE xdata*)XFR_ADDR)[0x34])
 #define	P5_5	(((BYTE xdata*)XFR_ADDR)[0x35])
 #define	P5_6	(((BYTE xdata*)XFR_ADDR)[0x36])
 #define	P5_7	(((BYTE xdata*)XFR_ADDR)[0x37])//
 #define  P5          (P5_0&~(~P5_1<<1)&~(~P5_2<<2)&~(~P5_3<<3)&~(~P5_4<<4)&~(~P5_5<<5)&~(~P5_6<<6)&~(~P5_7<<7))
 
 #define	P6_0	(((BYTE xdata*)XFR_ADDR)[0x38])
 #define	P6_1	(((BYTE xdata*)XFR_ADDR)[0x39])
 #define	P6_2	(((BYTE xdata*)XFR_ADDR)[0x3A])
 #define	P6_3	(((BYTE xdata*)XFR_ADDR)[0x3B])
 #define	P6_4	(((BYTE xdata*)XFR_ADDR)[0x3C])
 #define	P6_5	(((BYTE xdata*)XFR_ADDR)[0x3D])
 #define	P6_6	(((BYTE xdata*)XFR_ADDR)[0x3E])
 #define	P6_7	(((BYTE xdata*)XFR_ADDR)[0x3F])
 #define  P6          (P6_0&~(~P6_1<<1)&~(~P6_2<<2)&~(~P6_3<<3)&~(~P6_4<<4)&~(~P6_5<<5)&~(~P6_6<<6)&~(~P6_7<<7))

 #define	P7_6	(((BYTE xdata*)XFR_ADDR)[0x76])//
 #define	P7_7	(((BYTE xdata*)XFR_ADDR)[0x77])// 

 #define	HVSTUS	(((BYTE xdata*)XFR_ADDR)[0x40])
 #define	HCNTH	(((BYTE xdata*)XFR_ADDR)[0x41])
 #define	HCNTL	(((BYTE xdata*)XFR_ADDR)[0x42])
 #define	VCNTH	(((BYTE xdata*)XFR_ADDR)[0x43])
 #define	VCNTL	(((BYTE xdata*)XFR_ADDR)[0x44])
  
 #define	HVCTR0	(((BYTE xdata*)XFR_ADDR)[0x40])
 #define	HVCTR2	(((BYTE xdata*)XFR_ADDR)[0x42])
 #define	HVCTR3	(((BYTE xdata*)XFR_ADDR)[0x43])

 #define	HVINTFLG	(((BYTE xdata*)XFR_ADDR)[0x48])
 #define	HVINTEN	(((BYTE xdata*)XFR_ADDR)[0x49])

 #define	WDT	(((BYTE xdata*)XFR_ADDR)[0x18]) // for MYSON 112
#endif

⌨️ 快捷键说明

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