收藏 分享(赏)

单片机stc89(STC89C52,C51)系列头文件.doc.doc

上传人:精品资料 文档编号:10855302 上传时间:2020-01-15 格式:DOC 页数:11 大小:81KB
下载 相关 举报
单片机stc89(STC89C52,C51)系列头文件.doc.doc_第1页
第1页 / 共11页
单片机stc89(STC89C52,C51)系列头文件.doc.doc_第2页
第2页 / 共11页
单片机stc89(STC89C52,C51)系列头文件.doc.doc_第3页
第3页 / 共11页
单片机stc89(STC89C52,C51)系列头文件.doc.doc_第4页
第4页 / 共11页
单片机stc89(STC89C52,C51)系列头文件.doc.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、/*-*/* - 宏晶科技STCMCU -*/* - Mobile: (86)13922805190 -*/* - Fax: 86-755-82944243 -*/* - Tel: 86-755-82948412 -*/* - Web: www.STCMCU.com -*/* 适用于: STC89C5xRC STC89LE5xRC -*/* - STC89C5xRD+ STC89LE5xRD+ -*/*-*/#ifndef _STC89_H_#define _STC89_H_/sfr PSW = 0xd0; /程序状态字 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 B

2、it0/位描述 CY AC F0 RS1 RS0 OV F1 P/初始值=0000,0000 0 0 0 0 0 0 0 0sbit CY = PSW7; /进位标志sbit AC = PSW6; /辅助进位标志sbit F0 = PSW5; /用户标志sbit RS1 = PSW4; /寄存器组选择位sbit RS0 = PSW3; /寄存器组选择位sbit OV = PSW2; /溢出标志sbit P = PSW0; /ACC的偶校验位/sfr ACC = 0xe0; /累加器 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0/初始值=0000,0000 0

3、0 0 0 0 0 0 0sbit ACC7 = ACC7; /累加器第位sbit ACC6 = ACC6; /累加器第位sbit ACC5 = ACC5; /累加器第位sbit ACC4 = ACC4; /累加器第位sbit ACC3 = ACC3; /累加器第位sbit ACC2 = ACC2; /累加器第位sbit ACC1 = ACC1; /累加器第位sbit ACC0 = ACC0; /累加器第位/sfr B = 0xf0; /B寄存器 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0/初始值=0000,0000 0 0 0 0 0 0 0 0/sfr

4、SP = 0x81; /堆栈指针 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0/初始值=0000,0111 0 0 0 0 0 1 1 1/sfr DPL = 0x82; /数据指针低字节 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0/初始值=0000,0000 0 0 0 0 0 0 0 0sfr DPH = 0x83; /数据指针高字节 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0/初始值=0000,0000 0 0 0 0 0 0 0 0/sfr PCON = 0x87; /电源控制寄存

5、器 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0/位描述 SMOD SMOD0 - POF GF1 GF0 PD IDL/初始值=00x1,0000 0 0 x 1 0 0 0 0#define SMOD 0x80 /串口波特率倍速位,置可使波特率快倍#define SMOD0 0x40 /FE/SM0选择位,0:SCON.7为SM0 1:SCON.7为FE#define POF 0x10 /上电复位标志位,上电时由硬件置,需由软件清#define GF1 0x08 /通用标志位#define GF0 0x04 /通用标志位#define PD 0x02 /掉

6、电控制位,写可以使MCU进入PowerDown模式#define IDL 0x01 /空闲控制位,写可以使MCU进入Idle模式/sfr WDT_CONTR = 0xe1; /看门狗定时器控制器 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0/位描述 - - EN_WDT CLR_WDT IDL_WDT PS2 PS1 PS0/初始值=xx00,0000 x x 0 0 0 0 0 0#define EN_WDT 0x20 /软件使能看门狗,打开后不能用软件的方式关闭#define CLR_WDT 0x10 /清看门狗定时器#define IDLE_WDT 0x

7、08 /IDLE模式下,看门狗定时器是否继续计时/sfr AUXR = 0x8e; /辅助寄存器 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0/位描述 - - - - - - EXTRAM S1BRS/初始值=xxxx,xx00 x x x x x x 0 0#define EXTRAM 0x02 /内部扩展RAM禁能位,0:内部扩展RAM有效1:禁用内部扩展RAM#define ALEOFF 0x01 /禁止ALE信号输出,0:使能ALE信号输出1:关闭ALE信号输出/sfr AUXR1 = 0xa2; /辅助寄存器 Bit7 Bit6 Bit5 Bit4

8、Bit3 Bit2 Bit1 Bit0/位描述 - - - - GF2 - - DPS/初始值=xxxx,0xx0 x x x x 0 x x 0#define GF2 0x08 /通用标志位#define DPS 0x01 /DPTR0/DPTR1选择位,0:DPTR0 1:DPTR1/sfr P0 = 0x80; /I/O端口 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0/位描述 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0/初始值=1111,1111 1 1 1 1 1 1 1 1sbit P07 = P07; /I/O

9、口P0.7sbit P06 = P06; /I/O口P0.6sbit P05 = P05; /I/O口P0.5sbit P04 = P04; /I/O口P0.4sbit P03 = P03; /I/O口P0.3sbit P02 = P02; /I/O口P0.2sbit P01 = P01; /I/O口P0.1sbit P00 = P00; /I/O口P0.0/sfr P1 = 0x90; /I/O端口 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0/位描述 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0/初始值=1111,1111

10、 1 1 1 1 1 1 1 1sbit P17 = P17; /I/O口P1.7sbit P16 = P16; /I/O口P1.6sbit P15 = P15; /I/O口P1.5sbit P14 = P14; /I/O口P1.4sbit P13 = P13; /I/O口P1.3sbit P12 = P12; /I/O口P1.2sbit P11 = P11; /I/O口P1.1sbit P10 = P10; /I/O口P1.0sbit T2 = P10; /定时器的外部信号输入口sbit T2CLKO = P10; /定时器定的时钟溢出脉冲输出脚sbit T2EX = P11; /定时器的中

11、断控制源/sfr P2 = 0xa0; /I/O端口 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0/位描述 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0/初始值=1111,1111 1 1 1 1 1 1 1 1sbit P27 = P27; /I/O口P2.7sbit P26 = P26; /I/O口P2.6sbit P25 = P25; /I/O口P2.5sbit P24 = P24; /I/O口P2.4sbit P23 = P23; /I/O口P2.3sbit P22 = P22; /I/O口P2.2sbit P21 =

12、 P21; /I/O口P2.1sbit P20 = P20; /I/O口P2.0/sfr P3 = 0xb0; /I/O端口 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0/位描述 P3.7 P3.6 P3.5 P3.4 P3.3 P3.2 P3.1 P3.0/初始值=1111,1111 1 1 1 1 1 1 1 1sbit P37 = P37; /I/O口P3.7sbit P36 = P36; /I/O口P3.6sbit P35 = P35; /I/O口P3.5sbit P34 = P34; /I/O口P3.4sbit P33 = P33; /I/O口P3.

13、3sbit P32 = P32; /I/O口P3.2sbit P31 = P31; /I/O口P3.1sbit P30 = P30; /I/O口P3.0sbit RXD = P30; /串口的数据接收口sbit TXD = P31; /串口的数据发送口sbit INT0 = P32; /外部中断的信号输入口sbit INT1 = P33; /外部中断的信号输出口sbit T0 = P34; /定时器的外部信号输入口sbit T1 = P35; /定时器的外部信号输入口sbit WR = P36; /外部数据存储器的写信号sbit RD = P37; /外部数据存储器的读信号/sfr P4 =

14、0xc0; /I/O端口 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0/位描述 - P4.6 P4.5 P4.4 P4.3 P4.2 P4.1 P4.0/初始值=xxxx,1111 x x x x 1 1 1 1sbit P43 = P43; /I/O口P4.3sbit P42 = P42; /I/O口P4.2sbit P41 = P41; /I/O口P4.1sbit P40 = P40; /I/O口P4.0/sfr IE = 0xa8; /中断使能寄存器 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0/位描述 EA - ET2

15、 ES ET1 EX1 ET0 EX0/初始值=0x00,0000 0 x 0 0 0 0 0 0sbit EA = IE7; /总中断开关sbit ET2 = IE5; /定时器中断使能位sbit ES = IE4; /串口中断使能位sbit ET1 = IE3; /定时器中断使能位sbit EX1 = IE2; /外部中断中断使能位sbit ET0 = IE1; /定时器中断使能位sbit EX0 = IE0; /外部中断中断使能位/sfr IPH = 0xb7; /中断优先级寄存器高位 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0/位描述 PX3H PX

16、2H PT2H PSH PT1H PX1H PT0H PX0H/初始值=0000,0000 0 0 0 0 0 0 0 0#define PX3H 0x80 /外部中断中断优先级控制高位#define PX2H 0x40 /外部中断中断优先级控制高位#define PT2H 0x20 /定时器中断优先级控制高位#define PSH 0x10 /串口中断优先级控制高位#define PT1H 0x08 /定时器中断优先级控制高位#define PX1H 0x04 /外部中断中断优先级控制高位#define PT0H 0x02 /定时器中断优先级控制高位#define PX0H 0x01 /外部

17、中断中断优先级控制高位/sfr IP = 0xb8; /中断优先级寄存器 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0/位描述 - - PT2 PS PT1 PX1 PT0 PX0/初始值=xx00,0000 x x 0 0 0 0 0 0sbit PT2 = IP5; /定时器中断优先级控制低位sbit PS = IP4; /串口中断优先级控制低位sbit PT1 = IP3; /定时器中断优先级控制低位sbit PX1 = IP2; /外部中断中断优先级控制低位sbit PT0 = IP1; /定时器中断优先级控制低位sbit PX0 = IP0; /外部

18、中断中断优先级控制低位/sfr XICON = 0xe8; /辅助中断使能寄存器 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0/位描述 PX3 EX3 IE3 IT3 PX2 EX2 IE2 IT2/初始值=0000,0000 0 0 0 0 0 0 0 0sbit PX3 = XICON7; /外部中断中断优先级控制低位sbit EX3 = XICON6; /使能外部中断sbit IE3 = XICON5; /外部中断的中断请求位,由硬件置,可由软件清或者在中断处理程序完成后由硬件自动清sbit IT3 = XICON4; /外部中断的触发类型,0:低电平触

19、发外部中断1:下降沿触发外部中断sbit PX2 = XICON3; /外部中断中断优先级控制低位sbit EX2 = XICON2; /使能外部中断sbit IE2 = XICON1; /外部中断的中断请求位,由硬件置,可由软件清或者在中断处理程序完成后由硬件自动清sbit IT2 = XICON0; /外部中断的触发类型,0:低电平触发外部中断1:下降沿触发外部中断#define X0_INTNO 0 /外部中断中断号,入口地址为H#define T0_INTNO 1 /定时器中断号,入口地址为BH#define X1_INTNO 2 /外部中断中断号,入口地址为H#define T1_I

20、NTNO 3 /定时器中断号,入口地址为BH#define UART_INTNO 4 /串口中断号,入口地址为H#define T2_INTNO 5 /定时器中断号,入口地址为BH#define X2_INTNO 6 /外部中断中断号,入口地址为H#define X3_INTNO 7 /外部中断中断号,入口地址为BH/sfr TCON = 0x88; /定时器/1控制寄存器 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0/位描述 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0/初始值=0000,0000 0 0 0 0 0 0 0 0sbit T

21、F1 = TCON7; /定时器溢出标志,由硬件置,可由软件清或者在中断处理程序完成后由硬件自动清sbit TR1 = TCON6; /定时器的启动控制位,1:启动定时器0:停止定时器sbit TF0 = TCON5; /定时器溢出标志,由硬件置,可由软件清或者在中断处理程序完成后由硬件自动清sbit TR0 = TCON4; /定时器的启动控制位,1:启动定时器0:停止定时器sbit IE1 = TCON3; /外部中断的中断请求位,由硬件置,可由软件清或者在中断处理程序完成后由硬件自动清sbit IT1 = TCON2; /外部中断的触发类型,0:低电平触发外部中断1:下降沿触发外部中断s

22、bit IE0 = TCON1; /外部中断的中断请求位,由硬件置,可由软件清或者在中断处理程序完成后由硬件自动清sbit IT0 = TCON0; /外部中断的触发类型,0:低电平触发外部中断1:下降沿触发外部中断/sfr TMOD = 0x89; /定时器/1模式寄存器 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0/位描述 GATE C/T# M1 M0 GATE C/T# M1 M0/初始值=0000,0000 0 0 0 0 0 0 0 0#define GATE1 0x80 /定时器启动控制位,0:TR1为时启动定时器1:TR1为且INT1为高电平时

23、才启动定时器#define C_T1 0x40 /定时器/计数器选择位,0:定时器(时钟源为内部时钟) 1:计数器(时钟源为T1引脚的外部时钟)#define T1_M0 0x00 /定时器操作模式:13位定时器#define T1_M1 0x10 /定时器操作模式:16位定时器#define T1_M2 0x20 /定时器操作模式:8位自动重载定时器#define T1_M3 0x30 /定时器操作模式:定时器停止#define GATE0 0x08 /定时器启动控制位,0:TR0为时启动定时器1:TR0为且INT0为高电平时才启动定时器#define C_T0 0x04 /定时器/计数器选

24、择位,0:定时器(时钟源为内部时钟) 1:计数器(时钟源为T0引脚的外部时钟)#define T0_M0 0x00 /定时器操作模式:13位定时器#define T0_M1 0x01 /定时器操作模式:16位定时器#define T0_M2 0x02 /定时器操作模式:8位自动重载定时器#define T0_M3 0x03 /定时器操作模式:TL0和TH0为两组独立位定时器/sfr TL0 = 0x8a; /定时器的低位计数值 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0/初始值=0000,0000 0 0 0 0 0 0 0 0/sfr TL1 = 0x8b

25、; /定时器的低位计数值 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0/初始值=0000,0000 0 0 0 0 0 0 0 0/sfr TH0 = 0x8c; /定时器的高位计数值 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0/初始值=0000,0000 0 0 0 0 0 0 0 0/sfr TH1 = 0x8d; /定时器的高位计数值 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0/初始值=0000,0000 0 0 0 0 0 0 0 0/sfr T2CON = 0xc8; /定时器控

26、制寄存器 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0/位描述 TF2 EXF2 RCLK TCLK EXEN2 TR2 C/T2# CP/RL#/初始值=0000,0000 0 0 0 0 0 0 0 0sbit TF2 = T2CON7; /定时器溢出标志,由硬件置,必须由软件清sbit EXF2 = T2CON6; /定时器的外部标志,由硬件置,必须由软件清sbit RCLK = T2CON5; /接收时钟标志,0:使用定时器作为串口接收发生器1:使用定时器作为串口接收发生器sbit TCLK = T2CON4; /发送时钟标志,0:使用定时器作为串口发

27、送发生器1:使用定时器作为串口发送发生器sbit EXEN2 = T2CON3; /定时器的外部使能标志sbit TR2 = T2CON2; /启动定时期sbit C_T2 = T2CON1; /定时器/计数器选择位,0:定时器(时钟源为内部时钟) 1:计数器(时钟源为T2引脚的外部时钟)sbit CP_RL2 = T2CON0; /捕获/重载标志/sfr T2MOD = 0xc9; /定时器/1模式寄存器 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0/位描述 - - - - - - T2OE DCEN/初始值=xxxx,xx00 x x x x x x 0

28、0#define T2OE 0x02 /定时器输出使能,输出溢出率到T2脚#define DCEN 0x01 /定时器向下计数,0:向上计数1:向下计数/sfr RCAP2L = 0xca; /定时器重载/捕获低位Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0/初始值=0000,0000 0 0 0 0 0 0 0 0/sfr RCAP2H = 0xcb; /定时器重载/捕获高位Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0/初始值=0000,0000 0 0 0 0 0 0 0 0/sfr TL2 = 0xcc; /定时器的低位

29、计数值 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0/初始值=0000,0000 0 0 0 0 0 0 0 0/sfr TH2 = 0xcd; /定时器的高位计数值 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0/初始值=0000,0000 0 0 0 0 0 0 0 0/sfr SCON = 0x98; /串口控制寄存器 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0/位描述 SM0/FE SM1 SM2 REN TB8 RB8 TI Ri/初始值=0000,0000 0 0 0 0 0 0

30、0 0sbit FE = SCON7; /帧错误检测位,当串口模块在接收数据时没有检测到正确的停止位时,FE被硬件置,需要由软件来清(当SMOD0为时,FE有效)sbit SM0 = SCON7; /串口模式设置位sbit SM1 = SCON6; /SM0/SM1=0/0:移位寄存器0/1:8位可变波特率1/0:9位固定波特率1/1:9位可变波特率sbit SM2 = SCON5; /自动地址识别使能位sbit REN = SCON4; /使能串口接收模块sbit TB8 = SCON3; /发送的第位数据sbit RB8 = SCON2; /接收的第位数据sbit TI = SCON1;

31、/发送完成中断标志sbit RI = SCON0; /接收完成中断标志/sfr SBUF = 0x99; /串口接收/发送数据 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0/初始值=xxxx,xxxx x x x x x x x x/sfr SADDR = 0xa9; /串口设备从地址寄存器 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0/初始值=0000,0000 0 0 0 0 0 0 0 0/sfr SADEN = 0xb9; /串口设备从地址屏蔽位 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 B

32、it0/初始值=0000,0000 0 0 0 0 0 0 0 0/sfr ISP_DATA = 0xe2; /ISP数据寄存器 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0/初始值=1111,1111 1 1 1 1 1 1 1 1/sfr ISP_ADDRH = 0xe3; /ISP地址高位寄存器 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0/初始值=0000,0000 0 0 0 0 0 0 0 0/sfr ISP_ADDRL = 0xe4; /ISP地址低位寄存器 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0/初始值=0000,0000 0 0 0 0 0 0 0 0/sfr ISP_CMD = 0xe5; /ISP命令寄存器 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0/初始值=xxxx,xx00 x x x x x 0 0 0#define ISP_IDLE 0x0

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报