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

📄 at89s51.h

📁 利用89s51去寫結構化keil-C 4x4鍵盤掃描+LCD螢幕顯示 HW01:四則運算+時鍾顯示 HW02:頻率偵測器 ps.鍵盤掃描不是利用延遲作彈跳(推薦)
💻 H
字号:
//****
#ifndef __AT89S51_H__
#define __AT89S51_H__

/*========================================================================*/
/* AT89S51
   Interrupt Natural Vectors and Priorities
   Interrupt            Description              Priority   Vector
------------- ---------------------------------- -------- ----------------
        pfi    Power fail interrupt                 0         33h
       int0#   External interrupt 0                 1         03h
        TF0    Timer 0 interrupt                    2         0Bh
       int1#   External interrupt 1                 3         13h
        TF1    Timer 1 interrupt                    4         1Bh
TI_0 or RI_0   Serial Port 0 transmit or receive    5         23h
 TF2 or EXF2   Timer 2 interrupt                    6         2Bh
TI_1 or RI_1   Serial Port 1 transmit or receive    7         3Bh
       int2    External interrupt 2                 8         43h
       int3#   External interrupt 3                 9         4Bh
       int4    External interrupt 4                10         53h
       int5#   External interrupt 5                11         5Bh
       wdti    Watchdog timer interrupt            12         63h
--------------------------------------------------------------------------*/

/*  BYTE Register  */
sfr P0      = 0x80;
sfr P1      = 0x90;
sfr P2      = 0xA0;
sfr P3      = 0xB0;
sfr PSW     = 0xD0;
sfr ACC     = 0xE0;
sfr B       = 0xF0;
sfr SP      = 0x81;
sfr DP0L    = 0x82;
sfr DP0H    = 0x83;
//sfr DP1L    = 0x84;
//sfr DP1H    = 0x85;
sfr PCON    = 0x87;
sfr TCON    = 0x88;
sfr TMOD    = 0x89;
sfr TL0     = 0x8A;
sfr TL1     = 0x8B;
sfr TH0     = 0x8C;
sfr TH1     = 0x8D;
//sfr AUXR    = 0x8E;
sfr SCON    = 0x98;
sfr SBUF    = 0x99;
//sfr AUXR1   = 0xA2;
//sfr WDTRST  = 0xA6;
sfr IE      = 0xA8;
sfr IP      = 0xB8;

/*  AT89S51 Extensions  */
sfr DPL1    = 0x84;
sfr DPH1    = 0x85;
//sfr AUXR    = 0x8E;
//sfr AUXR1   = 0xA2;
sfr WDTRST  = 0xA6;

/*  BIT Register  */
/*  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 FL     = PSW^1;
sbit P      = PSW^0;

/*  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 ES1    = IE^6;
//sbit ET2    = IE^5;
sbit ES     = IE^4;
sbit ET1    = IE^3;
sbit EX1    = IE^2;
sbit ET0    = IE^1;
sbit EX0    = IE^0;

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

/*  P1  */
sbit SCK    = P1^7;
sbit MISO   = P1^6;
sbit MOSI   = P1^5;
//sbit INT2   = P1^4;
//sbit TXD1   = P1^3;
//sbit RXD1   = P1^2;
//sbit T2EX   = P1^1;
//sbit T2     = P1^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; /* alternative SM0_0 */
sbit SM1    = SCON^6; /* alternative SM1_0 */
sbit SM2    = SCON^5; /* alternative SM2_0 */
sbit REN    = SCON^4; /* alternative REN_0 */
sbit TB8    = SCON^3; /* alternative TB8_0 */
sbit RB8    = SCON^2; /* alternative RB8_0 */
sbit TI     = SCON^1; /* alternative TI_0  */
sbit RI     = SCON^0; /* alternative RI_0  */

/* AUXR  */
//sbit WDIDLE = AUXR^4;
//sbit DISRTO = AUXR^3;
//sbit DISALE = AUXR^0;

/* AUXR1  */
//sbit DPS    = AUXR1^0;

/*  WDTRST  */
//sbit WSTRST  = WDTRST^7;
//sbit WSTRST  = WDTRST^0;


#endif // __AT89S51_H__

⌨️ 快捷键说明

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