找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2540|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

stm8/89c52頭文件

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:370473 發(fā)表于 2020-1-19 22:44 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
經(jīng)過比較
stc8a8的頭文件可以完全兼容stc89c52使用
已經(jīng)把它換過去了其實(shí)只要改一個(gè)名字就ok
好像可以迭代兼容
stm8+52
//(171009起以\WEB_STCISP2\header_file\STC8.H 為最終版本)

#ifndef __REG52_H__
#define __REG52_H__

//#ifndef __STC8F_H_
//#define __STC8F_H_

/////////////////////////////////////////////////
//包含本頭文件后,不用另外再包含"REG51.H"
//STC8系列單片機(jī):-1T8051/8K RAM/64K ROM/12位ADC/8組PWM/I2C/SPI/4串口
//詳細(xì)數(shù)據(jù)手冊(cè)等資料請(qǐng)至STC官網(wǎng)下載.
//本STC8系列單片機(jī)頭文件從STC-ISP V6.85o導(dǎo)出,由第三方STCISP.COM根據(jù)STC8-160506數(shù)據(jù)手冊(cè)整理@2016.07.12;13//11.04

//內(nèi)核特殊功能寄存器
sfr ACC         =   0xe0;                                       //累加器
sfr B           =   0xf0;                                       //B寄存器
sfr PSW         =   0xd0;                                       //程序狀態(tài)字寄存器
sbit CY         =   PSW^7;
sbit AC         =   PSW^6;
sbit F0         =   PSW^5;
sbit RS1        =   PSW^4;                                      //-工作寄存器選擇位1
sbit RS0        =   PSW^3;                                      //-工作寄存器選擇位0
sbit OV         =   PSW^2;
sbit P          =   PSW^0;
sfr SP          =   0x81;                                       //堆棧指針
sfr DPL         =   0x82;                                       //數(shù)據(jù)指針(低字節(jié))
sfr DPH         =   0x83;                                       //數(shù)據(jù)指針(高字節(jié))
sfr TA          =   0xae;                                       //DPTR時(shí)序控制寄存器
sfr DPS         =   0xe3;                                       //DPTR指針選擇器
sfr DPL1        =   0xe4;                                       //第二組數(shù)據(jù)指針(低字節(jié))
sfr DPH1        =   0xe5;                                       //第二組數(shù)據(jù)指針(高字節(jié))


//I/O 口特殊功能寄存器
sfr P0          =   0x80;                                       //P0端口
sfr P1          =   0x90;                                       //P1端口
sfr P2          =   0xa0;                                       //P2端口
sfr P3          =   0xb0;                                       //P3端口
sfr P4          =   0xc0;                                       //P4端口
sfr P5          =   0xc8;                                       //P5端口
sfr P6          =   0xe8;                                       //P6端口
sfr P7          =   0xf8;                                       //P7端口
sfr P0M0        =   0x94;                                       //P0口配置寄存器0
sfr P0M1        =   0x93;                                       //P0口配置寄存器1
sfr P1M0        =   0x92;                                       //P1口配置寄存器0
sfr P1M1        =   0x91;                                       //P1口配置寄存器1
sfr P2M0        =   0x96;                                       //P2口配置寄存器0
sfr P2M1        =   0x95;                                       //P2口配置寄存器1
sfr P3M0        =   0xb2;                                       //P3口配置寄存器0
sfr P3M1        =   0xb1;                                       //P3口配置寄存器1
sfr P4M0        =   0xb4;                                       //P4口配置寄存器0
sfr P4M1        =   0xb3;                                       //P4口配置寄存器1
sfr P5M0        =   0xca;                                       //P5口配置寄存器0
sfr P5M1        =   0xc9;                                       //P5口配置寄存器1
sfr P6M0        =   0xcc;                                       //P6口配置寄存器0
sfr P6M1        =   0xcb;                                       //P6口配置寄存器1
sfr P7M0        =   0xe2;                                       //P7口配置寄存器0
sfr P7M1        =   0xe1;                                       //P7口配置寄存器1

sbit P00        =   P0^0;
sbit P01        =   P0^1;
sbit P02        =   P0^2;
sbit P03        =   P0^3;
sbit P04        =   P0^4;
sbit P05        =   P0^5;
sbit P06        =   P0^6;
sbit P07        =   P0^7;
sbit P10        =   P1^0;
sbit P11        =   P1^1;
sbit P12        =   P1^2;
sbit P13        =   P1^3;
sbit P14        =   P1^4;
sbit P15        =   P1^5;
sbit P16        =   P1^6;
sbit P17        =   P1^7;
sbit P20        =   P2^0;
sbit P21        =   P2^1;
sbit P22        =   P2^2;
sbit P23        =   P2^3;
sbit P24        =   P2^4;
sbit P25        =   P2^5;
sbit P26        =   P2^6;
sbit P27        =   P2^7;
sbit P30        =   P3^0;
sbit P31        =   P3^1;
sbit P32        =   P3^2;
sbit P33        =   P3^3;
sbit P34        =   P3^4;
sbit P35        =   P3^5;
sbit P36        =   P3^6;
sbit P37        =   P3^7;
sbit P40        =   P4^0;
sbit P41        =   P4^1;
sbit P42        =   P4^2;
sbit P43        =   P4^3;
sbit P44        =   P4^4;
sbit P45        =   P4^5;
sbit P46        =   P4^6;
sbit P47        =   P4^7;
sbit P50        =   P5^0;
sbit P51        =   P5^1;
sbit P52        =   P5^2;
sbit P53        =   P5^3;
sbit P54        =   P5^4;
sbit P55        =   P5^5;
sbit P56        =   P5^6;
sbit P57        =   P5^7;
sbit P60        =   P6^0;
sbit P61        =   P6^1;
sbit P62        =   P6^2;
sbit P63        =   P6^3;
sbit P64        =   P6^4;
sbit P65        =   P6^5;
sbit P66        =   P6^6;
sbit P67        =   P6^7;
sbit P70        =   P7^0;
sbit P71        =   P7^1;
sbit P72        =   P7^2;
sbit P73        =   P7^3;
sbit P74        =   P7^4;
sbit P75        =   P7^5;
sbit P76        =   P7^6;
sbit P77        =   P7^7;

//如下特殊功能寄存器位于擴(kuò)展RAM區(qū)域
//訪問這些寄存器,需先將P_SW2的BIT7設(shè)置為1,才可正常讀寫
#define P0PU        (*(unsigned char volatile xdata *)0xfe10)   //P0口上拉電阻控制寄存器
#define P1PU        (*(unsigned char volatile xdata *)0xfe11)   //P1口上拉電阻控制寄存器
#define P2PU        (*(unsigned char volatile xdata *)0xfe12)   //P2口上拉電阻控制寄存器
#define P3PU        (*(unsigned char volatile xdata *)0xfe13)   //P3口上拉電阻控制寄存器
#define P4PU        (*(unsigned char volatile xdata *)0xfe14)   //P4口上拉電阻控制寄存器
#define P5PU        (*(unsigned char volatile xdata *)0xfe15)   //P5口上拉電阻控制寄存器
#define P6PU        (*(unsigned char volatile xdata *)0xfe16)   //P6口上拉電阻控制寄存器
#define P7PU        (*(unsigned char volatile xdata *)0xfe17)   //P7口上拉電阻控制寄存器
#define P0NCS       (*(unsigned char volatile xdata *)0xfe18)   //P0口施密特觸發(fā)控制寄存器
#define P1NCS       (*(unsigned char volatile xdata *)0xfe19)   //P1口施密特觸發(fā)控制寄存器
#define P2NCS       (*(unsigned char volatile xdata *)0xfe1a)   //P2口施密特觸發(fā)控制寄存器
#define P3NCS       (*(unsigned char volatile xdata *)0xfe1b)   //P3口施密特觸發(fā)控制寄存器
#define P4NCS       (*(unsigned char volatile xdata *)0xfe1c)   //P4口施密特觸發(fā)控制寄存器
#define P5NCS       (*(unsigned char volatile xdata *)0xfe1d)   //P5口施密特觸發(fā)控制寄存器
#define P6NCS       (*(unsigned char volatile xdata *)0xfe1e)   //P6口施密特觸發(fā)控制寄存器
#define P7NCS       (*(unsigned char volatile xdata *)0xfe1f)   //P7口施密特觸發(fā)控制寄存器

//系統(tǒng)管理特殊功能寄存器
sfr PCON        =   0x87;                                       //電源控制寄存器
#define SMOD        0x80                                        //-串口1波特率控制位
#define SMOD0       0x40                                        //-幀錯(cuò)誤檢測(cè)控制位
#define LVDF        0x20                                        //-低壓檢測(cè)標(biāo)志位
#define POF         0x10                                        //-上電標(biāo)志位
#define GF1         0x08
#define GF0         0x04
#define PD          0x02                                        //-掉電模式控制位
#define IDL         0x01                                        //-IDLE(空閑)模式控制位
sfr AUXR        =   0x8e;                                       //輔助寄存器
#define T0x12       0x80                                        //-定時(shí)器0速度控制位
#define T1x12       0x40                                        //定時(shí)器1速度控制位
#define UART_M0x6   0x20                                        //-串口1模式0的通訊速度控制位
#define T2R         0x10                                        //-定時(shí)器2的運(yùn)行控制位
#define T2_CT       0x08                                        //-定時(shí)器0用作定時(shí)器或計(jì)數(shù)器控制位
#define T2x12       0x04                                        //-定時(shí)器2速度控制位
#define EXTRAM      0x02                                        //-擴(kuò)展RAM訪問控制位
#define S1ST2       0x01                                        //-串口1波特率發(fā)射器選擇位
sfr AUXR2       =   0x97;                                       //輔助寄存器2
#define TXLNRX      0x10                                        //-串口1中繼廣播方式控制位
sfr BUS_SPEED   =   0xa1;                                       //總線速度控制寄存器
sfr P_SW1       =   0xa2;                                       //外設(shè)端口切換寄存器1
sfr P_SW2       =   0xba;                                       //外設(shè)端口切換寄存器2
#define EAXFR       0x80
sfr VOCTRL      =   0xbb;                                       //電壓控制寄存器
sfr RSTCFG      =   0xff;                                       //復(fù)位配置寄存器

//如下特殊功能寄存器位于擴(kuò)展RAM區(qū)域
//訪問這些寄存器,需先將P_SW2的BIT7設(shè)置為1,才可正常讀寫
#define CKSEL       (*(unsigned char volatile xdata *)0xfe00)   //時(shí)鐘選擇寄存器
#define CKDIV       (*(unsigned char volatile xdata *)0xfe01)   //時(shí)鐘分頻寄存器(DUP)
#define CLKDIV      (*(unsigned char volatile xdata *)0xfe01)   //時(shí)鐘分頻寄存器
#define IRC24MCR    (*(unsigned char volatile xdata *)0xfe02)   //內(nèi)部24M振蕩器控制寄存器
#define XOSCCR      (*(unsigned char volatile xdata *)0xfe03)   //外部晶振控制寄存器
#define IRC32KCR    (*(unsigned char volatile xdata *)0xfe04)   //內(nèi)部32K振蕩器控制寄存器

//中斷特殊功能寄存器
sfr IE          =   0xa8;                                       //中斷允許寄存器
sbit EA         =   IE^7;                                       //-總中斷允許控制位
sbit ELVD       =   IE^6;                                       //-低壓檢測(cè)中斷允許位
sbit EADC       =   IE^5;                                       //-A/D轉(zhuǎn)換中斷允許位
sbit ES         =   IE^4;                                       //-串行口1中斷允許位
sbit ET1        =   IE^3;                                       //-定時(shí)/計(jì)數(shù)器T1的溢出中斷允許位
sbit EX1        =   IE^2;                                       //-外部中斷1中斷允許位
sbit ET0        =   IE^1;                                       //-定時(shí)/計(jì)數(shù)器T0的溢出中斷允許位
sbit EX0        =   IE^0;                                       //-外部中斷0中斷允許位
sfr IE2         =   0xaf;                                       //中斷允許寄存器2
#define ET4         0x40                                        //-定時(shí)/計(jì)數(shù)器T4的溢出中斷允許位
#define ET3         0x20                                        //-定時(shí)/計(jì)數(shù)器T3的溢出中斷允許位
#define ES4         0x10                                        //-串行口4中斷允許位
#define ES3         0x08                                        //-串行口3中斷允許位
#define ET2         0x04                                        //定時(shí)/計(jì)數(shù)器T2的溢出中斷允許位
#define ESPI        0x02                                        //SPI中斷允許位
#define ES2         0x01                                        //串行口2中斷允許位
sfr IP          =   0xb8;                                       //中斷優(yōu)先級(jí)控制寄存器
sbit PPCA       =   IP^7;                                       //-CCP/PCA中斷優(yōu)先級(jí)控制位
sbit PLVD       =   IP^6;                                       //-低壓檢測(cè)中斷優(yōu)先級(jí)控制位
sbit PADC       =   IP^5;                                       //-ADC中斷優(yōu)先級(jí)控制位
sbit PS         =   IP^4;                                       //-串口1中斷優(yōu)先級(jí)控制位
sbit PT1        =   IP^3;                                       //-定時(shí)器1中斷優(yōu)先級(jí)控制位
sbit PX1        =   IP^2;                                       //-外部中斷1中斷優(yōu)先級(jí)控制位
sbit PT0        =   IP^1;                                       //-定時(shí)器0中斷優(yōu)先級(jí)控制位
sbit PX0        =   IP^0;                                       //-外部中斷0中斷優(yōu)先級(jí)控制位
sfr IP2         =   0xb5;                                       //中斷優(yōu)先級(jí)控制寄存器2
#define PI2C        0x40                                        //-I2C中斷優(yōu)先級(jí)控制位
#define PCMP        0x20                                        //-比較器中斷優(yōu)先級(jí)控制位
#define PX4         0x10                                        //-外部中斷4中斷優(yōu)先級(jí)控制位
#define PPWMFD      0x08                                        //-強(qiáng)型PWM異常檢測(cè)中斷優(yōu)先級(jí)控制位
#define PPWM        0x04                                        //-增強(qiáng)型PWM中斷優(yōu)先級(jí)控制位
#define PSPI        0x02                                        //-SPI中斷優(yōu)先級(jí)控制位
#define PS2         0x01                                        //-串口2中斷優(yōu)先級(jí)控制位
sfr IPH         =   0xb7;                                       //高中斷優(yōu)先級(jí)控制寄存器
#define PPCAH       0x80                                        //-CCP/PCA中斷優(yōu)先級(jí)控制位
#define PLVDH       0x40                                        //-低壓檢測(cè)中斷優(yōu)先級(jí)控制位
#define PADCH       0x20                                        //-ADC中斷優(yōu)先級(jí)控制位
#define PSH         0x10                                        //-串口1中斷優(yōu)先級(jí)控制位
#define PT1H        0x08                                        //-定時(shí)器1中斷優(yōu)先級(jí)控制位
#define PX1H        0x04                                        //-外部中斷1中斷優(yōu)先級(jí)控制位
#define PT0H        0x02                                        //-定時(shí)器0中斷優(yōu)先級(jí)控制位
#define PX0H        0x01                                        //-外部中斷0中斷優(yōu)先級(jí)控制位
sfr IP2H        =   0xb6;                                       //高中斷優(yōu)先級(jí)控制寄存器2
#define PI2CH       0x40                                        //-I2C中斷優(yōu)先級(jí)控制位
#define PCMPH       0x20                                        //-比較器中斷優(yōu)先級(jí)控制位
#define PX4H        0x10                                        //-外部中斷4中斷優(yōu)先級(jí)控制位
#define PPWMFDH     0x08                                        //-增強(qiáng)型PWM異常檢測(cè)中斷優(yōu)先級(jí)控制位
#define PPWMH       0x04                                        //-增強(qiáng)型PWM中斷優(yōu)先級(jí)控制位
#define PSPIH       0x02                                        //-SPI中斷優(yōu)先級(jí)控制位
#define PS2H        0x01                                        //-串口2中斷優(yōu)先級(jí)控制位
sfr INTCLKO     =   0x8f;                                       //中斷與時(shí)鐘輸出控制寄存器
#define EX4         0x40                                        //-外部中斷4中斷允許位
#define EX3         0x20                                        //-外部中斷3中斷允許位
#define EX2         0x10                                        //-外部中斷2中斷允許位
#define T2CLKO      0x04                                        //-定時(shí)器2時(shí)鐘輸出控制
#define T1CLKO      0x02                                        //-定時(shí)器1時(shí)鐘輸出控制
#define T0CLKO      0x01                                        //-定時(shí)器0時(shí)鐘輸出控制
sfr AUXINTIF    =   0xef;                                       //擴(kuò)展外部中斷標(biāo)志寄存器
#define INT4IF      0x40                                        //-外部中斷4中斷請(qǐng)求標(biāo)志
#define INT3IF      0x20                                        //外部中斷3中斷請(qǐng)求標(biāo)志
#define INT2IF      0x10                                        //外部中斷2中斷請(qǐng)求標(biāo)志
#define T4IF        0x04                                        //-定時(shí)器4溢出中斷標(biāo)志
#define T3IF        0x02                                        //-定時(shí)器3溢出中斷標(biāo)志
#define T2IF        0x01                                        //-定時(shí)器2溢出中斷標(biāo)志

//定時(shí)器特殊功能寄存器
sfr TCON        =   0x88;                                       //定時(shí)器控制寄存器
sbit TF1        =   TCON^7;                                     //-T1溢出中斷標(biāo)志
sbit TR1        =   TCON^6;                                     //-定時(shí)器T1的運(yùn)行控制位
sbit TF0        =   TCON^5;                                     //-T0溢出中斷標(biāo)志
sbit TR0        =   TCON^4;                                     //-定時(shí)器T0的運(yùn)行控制位
sbit IE1        =   TCON^3;                                     //-外部中斷1請(qǐng)求源(INT1/P3.3)標(biāo)志
sbit IT1        =   TCON^2;                                     //-外部中斷源1觸發(fā)控制位
sbit IE0        =   TCON^1;                                     //-外部中斷0請(qǐng)求源(INT0/P3.2)標(biāo)志
sbit IT0        =   TCON^0;                                     //-外部中斷源0觸發(fā)控制位
sfr TMOD        =   0x89;                                       //定時(shí)器模式寄存器
#define T1_GATE     0x80                                        //-控制定時(shí)器
#define T1_CT       0x40                                        //-控制定時(shí)器1用作定時(shí)器或計(jì)數(shù)器
#define T1_M1       0x20                                        //定時(shí)器定時(shí)器/計(jì)數(shù)器1模式選擇1
#define T1_M0       0x10                                        //定時(shí)器定時(shí)器/計(jì)數(shù)器1模式選擇0
#define T0_GATE     0x08                                        //-控制定時(shí)器0
#define T0_CT       0x04                                        //-控制定時(shí)器0用作定時(shí)器或計(jì)數(shù)器
#define T0_M1       0x02                                        //定時(shí)器定時(shí)器/計(jì)數(shù)器0模式選擇1
#define T0_M0       0x01                                        //定時(shí)器定時(shí)器/計(jì)數(shù)器0模式選擇0
sfr TL0         =   0x8a;                                       //定時(shí)器0低8位寄存器
sfr TL1         =   0x8b;                                       //定時(shí)器1低8位寄存器
sfr TH0         =   0x8c;                                       //定時(shí)器0高8位寄存器
sfr TH1         =   0x8d;                                       //定時(shí)器1高8位寄存器
sfr T4T3M       =   0xd1;                                       //定時(shí)器4/3控制寄存器
#define T4R         0x80                                        //-定時(shí)器4的運(yùn)行控制位
#define T4_CT       0x40                                        //-控制定時(shí)器4用作定時(shí)器或計(jì)數(shù)器
#define T4x12       0x20                                        //-定時(shí)器4速度控制位
#define T4CLKO      0x10                                        //-定時(shí)器4時(shí)鐘輸出控制
#define T3R         0x08                                        //-定時(shí)器3的運(yùn)行控制位
#define T3_CT       0x04                                        //-控制定時(shí)器3用作定時(shí)器或計(jì)數(shù)器
#define T3x12       0x02                                        //-定時(shí)器3速度控制位
#define T3CLKO      0x01                                        //-定時(shí)器3時(shí)鐘輸出控制
sfr T4H         =   0xd2;                                       //定時(shí)器4高字節(jié)
sfr T4L         =   0xd3;                                       //定時(shí)器4低字節(jié)
sfr T3H         =   0xd4;                                       //定時(shí)器3高字節(jié)
sfr T3L         =   0xd5;                                       //定時(shí)器3低字節(jié)
sfr T2H         =   0xd6;                                       //定時(shí)器2高字節(jié)
sfr T2L         =   0xd7;                                       //定時(shí)器2低字節(jié)
sfr TH4         =   0xd2;
sfr TL4         =   0xd3;
sfr TH3         =   0xd4;
sfr TL3         =   0xd5;
sfr TH2         =   0xd6;
sfr TL2         =   0xd7;
sfr WKTCL       =   0xaa;                                       //掉電喚醒定時(shí)器低字節(jié)
sfr WKTCH       =   0xab;                                       //掉電喚醒定時(shí)器高字節(jié)
#define WKTEN       0x80                                        //-掉電喚醒定時(shí)器的使能控制位
sfr WDT_CONTR   =   0xc1;                                       //看門狗控制寄存器
#define WDT_FLAG    0x80                                        //-看門狗溢出標(biāo)志
#define EN_WDT      0x20                                        //-看門狗使能位
#define CLR_WDT     0x10                                        //-看門狗定時(shí)器清零
#define IDL_WDT     0x08                                        //-IDLE模式時(shí)的看門狗控制位

//串行口特殊功能寄存器
sfr SCON        =   0x98;                                       //串口1控制寄存器
sbit SM0        =   SCON^7;                                     //-串口1的通信工作模式控制0
sbit SM1        =   SCON^6;                                     //-串口1的通信工作模式控制1
sbit SM2        =   SCON^5;                                     //-允許模式2或模式3多機(jī)通信控制位
sbit REN        =   SCON^4;                                     //-允許/禁止串口接收控制位
sbit TB8        =   SCON^3;                                     //-當(dāng)串口1使用模式2或模式3時(shí),TB8為要發(fā)送的第9位數(shù)據(jù)
sbit RB8        =   SCON^2;                                     //-當(dāng)串口1使用模式2或模式3時(shí),RB8為接收到的第9位數(shù)據(jù)
sbit TI         =   SCON^1;                                     //-串口1發(fā)送中斷請(qǐng)求標(biāo)志位
sbit RI         =   SCON^0;                                     //-串口1接收中斷請(qǐng)求標(biāo)志位
sfr SBUF        =   0x99;                                       //串口1數(shù)據(jù)寄存器
sfr S2CON       =   0x9a;                                       //串口2控制寄存器
#define S2SM0       0x80                                        //-串口2的通信工作模式控制位
#define S2ST4       0x40
#define S2SM2       0x20                                        //-允許串口2在模式1時(shí)允許多機(jī)通信控制位
#define S2REN       0x10                                        //-串口2允許/禁止串口接收控制位
#define S2TB8       0x08                                        //-當(dāng)串口2使用模式1時(shí),S2TB8為要發(fā)送的第9位數(shù)據(jù)
#define S2RB8       0x04                                        //-當(dāng)串口2使用模式1時(shí),S2RB8為接收到的第9位數(shù)據(jù)
#define S2TI        0x02                                        //-串口2發(fā)送中斷請(qǐng)求標(biāo)志位
#define S2RI        0x01                                        //-串口2接收中斷請(qǐng)求標(biāo)志位
sfr S2BUF       =   0x9b;                                       //串口2數(shù)據(jù)寄存器
sfr S3CON       =   0xac;                                       //串口3控制寄存器
#define S3SM0       0x80                                        //-串口3的通信工作模式控制位
#define S3ST4       0x40
#define S3SM2       0x20                                        //-允許串口3在模式1時(shí)允許多機(jī)通信控制位
#define S3REN       0x10                                        //-串口3允許/禁止串口接收控制位
#define S3TB8       0x08                                        //-當(dāng)串口3使用模式1時(shí),S3TB8為要發(fā)送的第9位數(shù)據(jù)
#define S3RB8       0x04                                        //-當(dāng)串口3使用模式1時(shí),S3RB8為接收到的第9位數(shù)據(jù)
#define S3TI        0x02                                        //-串口3發(fā)送中斷請(qǐng)求標(biāo)志位
#define S3RI        0x01                                        //-串口3接收中斷請(qǐng)求標(biāo)志位
sfr S3BUF       =   0xad;                                       //串口3數(shù)據(jù)寄存器
sfr S4CON       =   0x84;                                       //串口4控制寄存器
#define S4SM0       0x80                                        //-串口4的通信工作模式控制位
#define S4ST4       0x40                                        //-選擇串口4的波特率發(fā)生器
#define S4SM2       0x20                                        //-允許串口4在模式1時(shí)允許多機(jī)通信控制位
#define S4REN       0x10                                        //-串口4允許/禁止串口接收控制位
#define S4TB8       0x08                                        //-當(dāng)串口4使用模式1時(shí),S3TB8為要發(fā)送的第9位數(shù)據(jù)
#define S4RB8       0x04                                        //-當(dāng)串口4使用模式1時(shí),S3RB8為接收到的第9位數(shù)據(jù)
#define S4TI        0x02                                        //-串口4發(fā)送中斷請(qǐng)求標(biāo)志位
#define S4RI        0x01                                        //-串口4接收中斷請(qǐng)求標(biāo)志位
sfr S4BUF       =   0x85;                                       //串口4數(shù)據(jù)寄存器
sfr SADDR       =   0xa9;                                       //串口1從機(jī)地址寄存器
sfr SADEN       =   0xb9;                                       //串口1從機(jī)地址屏蔽寄存器

//ADC 特殊功能寄存器
sfr ADC_CONTR   =   0xbc;                                       //ADC控制寄存器
#define ADC_POWER   0x80                                        //-ADC電源控制位
#define ADC_START   0x40                                        //-ADC轉(zhuǎn)換啟動(dòng)控制位
#define ADC_FLAG    0x20                                        //-ADC轉(zhuǎn)換完成中斷請(qǐng)求標(biāo)志
sfr ADC_RES     =   0xbd;                                       //ADC轉(zhuǎn)換結(jié)果高位寄存器
sfr ADC_RESL    =   0xbe;                                       //ADC轉(zhuǎn)換結(jié)果低位寄存器
sfr ADCCFG      =   0xde;                                       //ADC配置寄存器
#define ADC_RESFMT  0x20                                        //-ADC轉(zhuǎn)換結(jié)果格式控制位

//SPI 特殊功能寄存器
sfr SPSTAT      =   0xcd;                                       //SPI狀態(tài)寄存器
#define SPIF        0x80                                        //-SPI中斷標(biāo)志位
#define WCOL        0x40                                        //-SPI寫沖突標(biāo)志位
sfr SPCTL       =   0xce;                                       //SPI控制寄存器
#define SSIG        0x80                                        //-SS引腳功能控制位
#define SPEN        0x40                                        //-SPI使能控制位
#define DORD        0x20                                        //-SPI數(shù)據(jù)位發(fā)送/接收的順序
#define MSTR        0x10                                        //-器件主/從模式選擇位
#define CPOL        0x08                                        //-SPI時(shí)鐘極性控制
#define CPHA        0x04                                        //-SPI時(shí)鐘相位控制
sfr SPDAT       =   0xcf;                                       //數(shù)據(jù)寄存器

//IAP/ISP 特殊功能寄存器
sfr IAP_DATA    =   0xc2;                                       //IAP數(shù)據(jù)寄存器
sfr IAP_ADDRH   =   0xc3;                                       //IAP高地址寄存器
sfr IAP_ADDRL   =   0xc4;                                       //IAP低地址寄存器
sfr IAP_CMD     =   0xc5;                                       //IAP命令寄存器
#define IAP_IDL     0x00                                        //IAP_空操作
#define IAP_READ    0x01                                        //IAP_讀
#define IAP_WRITE   0x02                                        //IAP_寫
#define IAP_ERASE   0x03                                        //IAP_擦除
sfr IAP_TRIG    =   0xc6;                                       //IAP觸發(fā)寄存器
sfr IAP_CONTR   =   0xc7;                                       //IAP控制寄存器
#define IAPEN       0x80                                        //-EEPROM操作使能控制位
#define SWBS        0x40                                        //-軟件復(fù)位選擇控制位
#define SWRST       0x20                                        //-軟件復(fù)位控制位
#define CMD_FAIL    0x10                                        //-EEPROM操作失敗狀態(tài)位
sfr ISP_DATA    =   0xc2;                                       //ISP數(shù)據(jù)寄存器
sfr ISP_ADDRH   =   0xc3;                                       //ISP高地址寄存器
sfr ISP_ADDRL   =   0xc4;                                       //ISP低地址寄存器
sfr ISP_CMD     =   0xc5;                                       //ISP命令寄存器
sfr ISP_TRIG    =   0xc6;                                       //ISP觸發(fā)寄存器
sfr ISP_CONTR   =   0xc7;                                       //ISP控制寄存器

//比較器特殊功能寄存器
sfr CMPCR1      =   0xe6;                                       //比較器控制寄存器1
#define CMPEN       0x80                                        //-比較器模塊使能位
#define CMPIF       0x40                                        //-比較器中斷標(biāo)志位
#define PIE         0x20                                        //-比較器上升沿中斷使能位
#define NIE         0x10                                        //-比較器下降沿中斷使能位
#define PIS         0x08                                        //-比較器的正極選擇位
#define NIS         0x04                                        //-比較器的負(fù)極選擇位
#define CMPOE       0x02                                        //-比較器結(jié)果輸出控制位
#define CMPRES      0x01                                        //-比較器的比較結(jié)果
sfr CMPCR2      =   0xe7;                                       //比較器控制寄存器2
#define INVCMPO     0x80                                        //-比較器結(jié)果輸出控制
#define DISFLT      0x40                                        //-模擬濾波功能控制

//PCA/PWM 特殊功能寄存器
sfr CCON        =   0xd8;                                       //PCA控制寄存器
sbit CF         =   CCON^7;                                     //-PCA計(jì)數(shù)器溢出中斷標(biāo)志
sbit CR         =   CCON^6;                                     //-PCA計(jì)數(shù)器允許控制位
sbit CCF3       =   CCON^3;                                     //-PCA模塊3中斷請(qǐng)求標(biāo)志
sbit CCF2       =   CCON^2;                                     //-PCA模塊2中斷請(qǐng)求標(biāo)志
sbit CCF1       =   CCON^1;                                     //-PCA模塊1中斷請(qǐng)求標(biāo)志
sbit CCF0       =   CCON^0;                                     //-PCA模塊0中斷請(qǐng)求標(biāo)志
sfr CMOD        =   0xd9;                                       //PCA模式寄存器
#define CIDL        0x80                                        //-空閑模式下是否停止PCA計(jì)數(shù)
#define ECF         0x01                                        //PCA計(jì)數(shù)器溢出中斷允許位
sfr CL          =   0xe9;                                       //PCA計(jì)數(shù)器低字節(jié)
sfr CH          =   0xf9;                                       //PCA計(jì)數(shù)器高字節(jié)
sfr CCAPM0      =   0xda;                                       //PCA模塊0模式控制寄存器
#define ECOM0       0x40                                        //允許PCA模塊0的比較功能
#define CCAPP0      0x20                                        //允許PCA模塊0進(jìn)行上升沿捕獲
#define CCAPN0      0x10                                        //允許PCA模塊0進(jìn)行下降沿捕獲
#define MAT0        0x08                                        //允許PCA模塊0的匹配功能
#define TOG0        0x04                                        //允許PCA模塊0的高速脈沖輸出功能
#define PWM0        0x02                                        //允許PCA模塊0的脈寬調(diào)制輸出功能
#define ECCF0       0x01                                        //允許PCA模塊0的匹配/捕獲中斷
sfr CCAPM1      =   0xdb;                                       //PCA模塊1模式控制寄存器
#define ECOM1       0x40                                        //允許PCA模塊1的比較功能
#define CCAPP1      0x20                                        //允許PCA模塊1進(jìn)行上升沿捕獲
#define CCAPN1      0x10                                        //允許PCA模塊1進(jìn)行下降沿捕獲
#define MAT1        0x08                                        //允許PCA模塊1的匹配功能
#define TOG1        0x04                                        //允許PCA模塊1的高速脈沖輸出功能
#define PWM1        0x02                                        //允許PCA模塊1的脈寬調(diào)制輸出功能
#define ECCF1       0x01                                        //允許PCA模塊1的匹配/捕獲中斷
sfr CCAPM2      =   0xdc;                                       //PCA模塊2模式控制寄存器
#define ECOM2       0x40                                        //允許PCA模塊2的比較功能
#define CCAPP2      0x20                                        //允許PCA模塊2進(jìn)行上升沿捕獲
#define CCAPN2      0x10                                        //允許PCA模塊2進(jìn)行下降沿捕獲
#define MAT2        0x08                                        //允許PCA模塊2的匹配功能
#define TOG2        0x04                                        //允許PCA模塊2的高速脈沖輸出功能
#define PWM2        0x02                                        //允許PCA模塊2的脈寬調(diào)制輸出功能
#define ECCF2       0x01                                        //允許PCA模塊2的匹配/捕獲中斷
sfr CCAPM3      =   0xdd;                                       //PCA模塊3模式控制寄存器
#define ECOM3       0x40                                        //-允許PCA模塊3的比較功能
#define CCAPP3      0x20                                        //-允許PCA模塊3進(jìn)行上升沿捕獲
#define CCAPN3      0x10                                        //-允許PCA模塊3進(jìn)行下降沿捕獲
#define MAT3        0x08                                        //-允許PCA模塊3的匹配功能
#define TOG3        0x04                                        //-允許PCA模塊3的高速脈沖輸出功能
#define PWM3        0x02                                        //-允許PCA模塊3的脈寬調(diào)制輸出功能
#define ECCF3       0x01                                        //-允許PCA模塊3的匹配/捕獲中斷
sfr CCAP0L      =   0xea;                                       //PCA模塊0低字節(jié)
sfr CCAP1L      =   0xeb;                                       //PCA模塊1低字節(jié)
sfr CCAP2L      =   0xec;                                       //PCA模塊2低字節(jié)
sfr CCAP3L      =   0xed;                                       //PCA模塊3低字節(jié)
sfr CCAP0H      =   0xfa;                                       //PCA模塊0高字節(jié)
sfr CCAP1H      =   0xfb;                                       //PCA模塊1高字節(jié)
sfr CCAP2H      =   0xfc;                                       //PCA模塊2高字節(jié)
sfr CCAP3H      =   0xfd;                                       //PCA模塊3高字節(jié)
sfr PCA_PWM0    =   0xf2;                                       //PCA0的PWM模式寄存器
sfr PCA_PWM1    =   0xf3;                                       //PCA1的PWM模式寄存器
sfr PCA_PWM2    =   0xf4;                                       //PCA2的PWM模式寄存器
sfr PCA_PWM3    =   0xf5;                                       //PCA3的PWM模式寄存器

//增強(qiáng)型PWM波形發(fā)生器特殊功能寄存器
sfr PWMCFG      =   0xf1;                                       //PWM計(jì)數(shù)器
#define CBIF        0x80                                        //-增強(qiáng)型PWM計(jì)數(shù)器中斷請(qǐng)求標(biāo)志
#define ETADC       0x40                                        //-PWM是否與ADC關(guān)聯(lián)
sfr PWMIF       =   0xf6;                                       //增強(qiáng)型PWM中斷標(biāo)志寄存器
#define C7IF        0x80                                        //增強(qiáng)型PWM通道7中斷請(qǐng)求標(biāo)志(需要軟件清零)
#define C6IF        0x40                                        //增強(qiáng)型PWM通道6中斷請(qǐng)求標(biāo)志(需要軟件清零)
#define C5IF        0x20                                        //增強(qiáng)型PWM通道5中斷請(qǐng)求標(biāo)志(需要軟件清零)
#define C4IF        0x10                                        //增強(qiáng)型PWM通道4中斷請(qǐng)求標(biāo)志(需要軟件清零)
#define C3IF        0x08                                        //增強(qiáng)型PWM通道3中斷請(qǐng)求標(biāo)志(需要軟件清零)
#define C2IF        0x04                                        //增強(qiáng)型PWM通道2中斷請(qǐng)求標(biāo)志(需要軟件清零)
#define C1IF        0x02                                        //增強(qiáng)型PWM通道1中斷請(qǐng)求標(biāo)志(需要軟件清零)
#define C0IF        0x01                                        //增強(qiáng)型PWM通道0中斷請(qǐng)求標(biāo)志(需要軟件清零)
sfr PWMFDCR     =   0xf7;                                       //PWM異常檢測(cè)控制寄存器
#define INVCMP      0x80                                        //-比較器器結(jié)果異常信號(hào)處理
#define INVIO       0x40                                        //-外部端口P3.5異常信號(hào)處理
#define ENFD        0x20                                        //-PWM外部異常檢測(cè)控制位
#define FLTFLIO     0x10                                        //-發(fā)生PWM外部異常時(shí)對(duì)PWM輸出口控制位
#define EFDI        0x08                                        //-PWM異常檢測(cè)中斷使能位
#define FDCMP       0x04                                        //-比較器輸出異常檢測(cè)使能位
#define FDIO        0x02                                        //-P3.5口電平異常檢測(cè)使能位
#define FDIF        0x01                                        //-增強(qiáng)型PWM異常檢測(cè)中斷請(qǐng)求標(biāo)志
sfr PWMCR       =   0xfe;                                       //PWM控制寄存器
#define ENPWM       0x80                                        //-增強(qiáng)型PWM波形發(fā)生器使能位
#define ECBI        0x40                                        //-PWM計(jì)數(shù)器歸零中斷使能位

//如下特殊功能寄存器位于擴(kuò)展RAM區(qū)域
//訪問這些寄存器,需先將P_SW2的BIT7設(shè)置為1,才可正常讀寫
#define PWMC        (*(unsigned int  volatile xdata *)0xfff0)   //PWM計(jì)數(shù)器
#define PWMCH       (*(unsigned char volatile xdata *)0xfff0)   //PWM計(jì)數(shù)器高字節(jié)
#define PWMCL       (*(unsigned char volatile xdata *)0xfff1)   //PWM計(jì)數(shù)器低字節(jié)
#define PWMCKS      (*(unsigned char volatile xdata *)0xfff2)   //PWM時(shí)鐘選擇
#define TADCP       (*(unsigned char volatile xdata *)0xfff3)   //觸發(fā)ADC計(jì)數(shù)值
#define TADCPH      (*(unsigned char volatile xdata *)0xfff3)   //觸發(fā)ADC計(jì)數(shù)值高字節(jié)
#define TADCPL      (*(unsigned char volatile xdata *)0xfff4)   //觸發(fā)ADC計(jì)數(shù)值低字節(jié)
#define PWM0T1      (*(unsigned int  volatile xdata *)0xff00)   //PWM0T1計(jì)數(shù)值
#define PWM0T1H     (*(unsigned char volatile xdata *)0xff00)   //PWM0T1計(jì)數(shù)值高字節(jié)
#define PWM0T1L     (*(unsigned char volatile xdata *)0xff01)   //PWM0T1計(jì)數(shù)值低字節(jié)
#define PWM0T2      (*(unsigned int  volatile xdata *)0xff02)   //PWM0T2數(shù)值
#define PWM0T2H     (*(unsigned char volatile xdata *)0xff02)   //PWM0T2數(shù)值高字節(jié)
#define PWM0T2L     (*(unsigned char volatile xdata *)0xff03)   //PWM0T2數(shù)值低字節(jié)
#define PWM0CR      (*(unsigned char volatile xdata *)0xff04)   //PWM0控制寄存器
#define PWM0HLD     (*(unsigned char volatile xdata *)0xff05)   //PWM0電平保持控制寄存器
#define PWM1T1      (*(unsigned int  volatile xdata *)0xff10)   //PWM1T1計(jì)數(shù)值
#define PWM1T1H     (*(unsigned char volatile xdata *)0xff10)   //PWM1T1計(jì)數(shù)值高字節(jié)
#define PWM1T1L     (*(unsigned char volatile xdata *)0xff11)   //PWM1T1計(jì)數(shù)值低字節(jié)
#define PWM1T2      (*(unsigned int  volatile xdata *)0xff12)   //PWM1T2數(shù)值
#define PWM1T2H     (*(unsigned char volatile xdata *)0xff12)   //PWM1T2數(shù)值高字節(jié)
#define PWM1T2L     (*(unsigned char volatile xdata *)0xff13)   //PWM1T2數(shù)值低字節(jié)
#define PWM1CR      (*(unsigned char volatile xdata *)0xff14)   //PWM1控制寄存器
#define PWM1HLD     (*(unsigned char volatile xdata *)0xff15)   //PWM1電平保持控制寄存器
#define PWM2T1      (*(unsigned int  volatile xdata *)0xff20)   //PWM2T1計(jì)數(shù)值
#define PWM2T1H     (*(unsigned char volatile xdata *)0xff20)   //PWM2T1計(jì)數(shù)值高字節(jié)
#define PWM2T1L     (*(unsigned char volatile xdata *)0xff21)   //PWM2T1計(jì)數(shù)值低字節(jié)
#define PWM2T2      (*(unsigned int  volatile xdata *)0xff22)   //PWM2T2數(shù)值
#define PWM2T2H     (*(unsigned char volatile xdata *)0xff22)   //PWM2T2數(shù)值高字節(jié)
#define PWM2T2L     (*(unsigned char volatile xdata *)0xff23)   //PWM2T2數(shù)值低字節(jié)
#define PWM2CR      (*(unsigned char volatile xdata *)0xff24)   //PWM2控制寄存器
#define PWM2HLD     (*(unsigned char volatile xdata *)0xff25)   //PWM2電平保持控制寄存器
#define PWM3T1      (*(unsigned int  volatile xdata *)0xff30)   //PWM3T1計(jì)數(shù)值
#define PWM3T1H     (*(unsigned char volatile xdata *)0xff30)   //PWM3T1計(jì)數(shù)值高字節(jié)
#define PWM3T1L     (*(unsigned char volatile xdata *)0xff31)   //PWM3T1計(jì)數(shù)值低字節(jié)
#define PWM3T2      (*(unsigned int  volatile xdata *)0xff32)   //PWM3T2數(shù)值
#define PWM3T2H     (*(unsigned char volatile xdata *)0xff32)   //PWM3T2數(shù)值高字節(jié)
#define PWM3T2L     (*(unsigned char volatile xdata *)0xff33)   //PWM3T2數(shù)值低字節(jié)
#define PWM3CR      (*(unsigned char volatile xdata *)0xff34)   //PWM3控制寄存器
#define PWM3HLD     (*(unsigned char volatile xdata *)0xff35)   //PWM3電平保持控制寄存器
#define PWM4T1      (*(unsigned int  volatile xdata *)0xff40)   //PWM4T1計(jì)數(shù)值
#define PWM4T1H     (*(unsigned char volatile xdata *)0xff40)   //PWM4T1計(jì)數(shù)值高字節(jié)
#define PWM4T1L     (*(unsigned char volatile xdata *)0xff41)   //PWM4T1計(jì)數(shù)值低字節(jié)
#define PWM4T2      (*(unsigned int  volatile xdata *)0xff42)   //PWM4T2數(shù)值
#define PWM4T2H     (*(unsigned char volatile xdata *)0xff42)   //PWM4T2數(shù)值高字節(jié)
#define PWM4T2L     (*(unsigned char volatile xdata *)0xff43)   //PWM4T2數(shù)值低字節(jié)
#define PWM4CR      (*(unsigned char volatile xdata *)0xff44)   //PWM4控制寄存器
#define PWM4HLD     (*(unsigned char volatile xdata *)0xff45)   //PWM4電平保持控制寄存器
#define PWM5T1      (*(unsigned int  volatile xdata *)0xff50)   //PWM5T1計(jì)數(shù)值
#define PWM5T1H     (*(unsigned char volatile xdata *)0xff50)   //PWM5T1計(jì)數(shù)值高字節(jié)
#define PWM5T1L     (*(unsigned char volatile xdata *)0xff51)   //PWM5T1計(jì)數(shù)值低字節(jié)
#define PWM5T2      (*(unsigned int  volatile xdata *)0xff52)   //PWM5T2數(shù)值
#define PWM5T2H     (*(unsigned char volatile xdata *)0xff52)   //PWM5T2數(shù)值高字節(jié)
#define PWM5T2L     (*(unsigned char volatile xdata *)0xff53)   //PWM5T2數(shù)值低字節(jié)
#define PWM5CR      (*(unsigned char volatile xdata *)0xff54)   //PWM5控制寄存器
#define PWM5HLD     (*(unsigned char volatile xdata *)0xff55)   //PWM5電平保持控制寄存器
#define PWM6T1      (*(unsigned int  volatile xdata *)0xff60)   //PWM6T1計(jì)數(shù)值
#define PWM6T1H     (*(unsigned char volatile xdata *)0xff60)   //PWM6T1計(jì)數(shù)值高字節(jié)
#define PWM6T1L     (*(unsigned char volatile xdata *)0xff61)   //PWM6T1計(jì)數(shù)值低字節(jié)
#define PWM6T2      (*(unsigned int  volatile xdata *)0xff62)   //PWM6T2數(shù)值
#define PWM6T2H     (*(unsigned char volatile xdata *)0xff62)   //PWM6T2數(shù)值高字節(jié)
#define PWM6T2L     (*(unsigned char volatile xdata *)0xff63)   //PWM6T2數(shù)值低字節(jié)
#define PWM6CR      (*(unsigned char volatile xdata *)0xff64)   //PWM6控制寄存器
#define PWM6HLD     (*(unsigned char volatile xdata *)0xff65)   //PWM6電平保持控制寄存器
#define PWM7T1      (*(unsigned int  volatile xdata *)0xff70)   //PWM7T1計(jì)數(shù)值
#define PWM7T1H     (*(unsigned char volatile xdata *)0xff70)   //PWM7T1計(jì)數(shù)值高字節(jié)
#define PWM7T1L     (*(unsigned char volatile xdata *)0xff71)   //PWM7T1計(jì)數(shù)值低字節(jié)
#define PWM7T2      (*(unsigned int  volatile xdata *)0xff72)   //PWM7T2數(shù)值
#define PWM7T2H     (*(unsigned char volatile xdata *)0xff72)   //PWM7T2數(shù)值高字節(jié)
#define PWM7T2L     (*(unsigned char volatile xdata *)0xff73)   //PWM7T2數(shù)值低字節(jié)
#define PWM7CR      (*(unsigned char volatile xdata *)0xff74)   //PWM7控制寄存器
#define PWM7HLD     (*(unsigned char volatile xdata *)0xff75)   //PWM7電平保持控制寄存器

//I2C特殊功能寄存器
//如下特殊功能寄存器位于擴(kuò)展RAM區(qū)域
//訪問這些寄存器,需先將P_SW2的BIT7設(shè)置為1,才可正常讀寫
#define I2CCFG      (*(unsigned char volatile xdata *)0xfe80)   //I2C配置寄存器
#define ENI2C       0x80                                        //-I2C功能使能控制位
#define MSSL        0x40                                        //-I2C工作模式選擇位
#define I2CMSCR     (*(unsigned char volatile xdata *)0xfe81)   //I2C主機(jī)控制寄存器
#define EMSI        0x80                                        //-I2C主機(jī)模式中斷使能控制位
#define I2CMSST     (*(unsigned char volatile xdata *)0xfe82)   //I2C主機(jī)狀態(tài)寄存器
#define MSBUSY      0x80                                        //-主機(jī)模式時(shí)I2C控制器狀態(tài)位(只讀位)
#define MSIF        0x40                                        //-主機(jī)模式的中斷請(qǐng)求位(中斷標(biāo)志位)
#define MSACKI      0x02                                        //-主機(jī)模式時(shí),發(fā)送“011”命令到I2CMSCR的MSCMD位后所接收到的ACK數(shù)據(jù)
#define MSACKO      0x01                                        //-主機(jī)模式時(shí),準(zhǔn)備將要發(fā)送出去的ACK信號(hào)
#define I2CSLCR     (*(unsigned char volatile xdata *)0xfe83)   //I2C從機(jī)控制寄存器
#define ESTAI       0x40                                        //-I2C從機(jī)接收START事件中斷允許位
#define ERXI        0x20                                        //-I2C從機(jī)接收數(shù)據(jù)完成事件中斷允許位
#define ETXI        0x10                                        //-I2C從機(jī)發(fā)送數(shù)據(jù)完成事件中斷允許位
#define ESTOI       0x08                                        //-從機(jī)模式時(shí)接收到STOP信號(hào)中斷允許位
#define SLRST       0x01                                        //-復(fù)位從機(jī)模式
#define I2CSLST     (*(unsigned char volatile xdata *)0xfe84)   //I2C從機(jī)狀態(tài)寄存器
#define SLBUSY      0x80                                        //-從機(jī)模式時(shí)I2C控制器狀態(tài)位(只讀位)
#define STAIF       0x40                                        //-從機(jī)模式時(shí)接收到START信號(hào)后的中斷請(qǐng)求
#define RXIF        0x20                                        //-從機(jī)模式時(shí)接收到1字節(jié)的數(shù)據(jù)后的中斷請(qǐng)
#define TXIF        0x10                                        //-從機(jī)模式時(shí)發(fā)送完成1字節(jié)的數(shù)據(jù)后的中斷
#define STOIF       0x08                                        //-從機(jī)模式時(shí)接收到STOP信號(hào)后的中斷請(qǐng)求
#define TXING       0x04
#define SLACKI      0x02                                        //-從機(jī)模式時(shí),接收到的ACK數(shù)據(jù)
#define SLACKO      0x01                                        //-從機(jī)模式時(shí),準(zhǔn)備將要發(fā)送出去的ACK信號(hào)
#define I2CSLADR    (*(unsigned char volatile xdata *)0xfe85)   //I2C從機(jī)地址寄存器
#define I2CTXD      (*(unsigned char volatile xdata *)0xfe86)   //I2C數(shù)據(jù)發(fā)送寄存器
#define I2CRXD      (*(unsigned char volatile xdata *)0xfe87)   //I2C數(shù)據(jù)接收寄存器
/////////////////////////////////////////////////
#endif





評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表