首页 51单片机_头文件详解教程

51单片机_头文件详解教程

举报
开通vip

51单片机_头文件详解教程 /********************************** 51 单片机头文件 单片机头文件原理及内部接口技术 王俊涛整理 修改 QQ:853210627 page 页码为郭天祥《新概念 51 单片机 c 语言教程》中页码 将其复制到文本文档 改扩展名为.h ***********************************/ /*-----------------------------------...

51单片机_头文件详解教程
/********************************** 51 单片机头文件 单片机头文件原理及内部接口技术 王俊涛整理 修改 QQ:853210627 page 页码为郭天祥《新概念 51 单片机 c 语言教程》中页码 将其复制到文本文档 改扩展名为.h ***********************************/ /*-------------------------------------------------------------------------- REG51.H Header file for generic 80C51 and 80C31 microcontroller. Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc. All rights reserved. --------------------------------------------------------------------------*/ #ifndef __REG51_H__ #define __REG51_H__ /* BYTE Register */ // 四个 IO 口全部能位寻址 sfr P0 = 0x80; //三态双向 IO 口 P0 口 //低 8 位地址总线/数据总线 sfr P1 = 0x90; //准双向 IO 口 P1 口 //用户专用 sfr P2 = 0xA0; //准双向 IO 口 P2 口 //高 8 位地址总线/无外部 ram 或 rom 时 为用户 IO 口 sfr P3 = 0xB0; //双功能 //1.准双向 IO 口 P3 口 //2.P30 RXD 串行数据接受 // P31 TXD 串行数据发送 // P32 外部中断 0 信号申请 // P33 外部中断 1 信号申请 // P34 定时/计数器 T0 外部计数脉冲输入 // P35 定时/计数器 T1 外部计数脉冲输入 // P36 WR 片外 RAM 写脉冲信号输入 // P37 RD 片外 ram 读脉冲信号输入 sfr PSW = 0xD0; // 可以位寻址 //程序状态寄存器 Program Status WORD ()程序状态信息 //psw.7(CY) 进位标志 //psw.6(AC) 辅助进位标志位 低四位向高四位 进位或借位时 AC=1 // 主要用于十进制调整 //psw.5(F0) 用户可自定义的程序标志位 //psw.4(RS1) //psw.3(RS0) // 工作寄存器选择位 // 任一时刻只有一组寄存器在工作 // 0 0 0 区 00H~07H // 0 1 1 区 08H~0fH // 1 0 2 区 10H~17H // 1 1 3 区 18H~1FH // //psw.2(OV) 溢出标志位 //psw.1( ) 保留为 ,不可使用 //psw.0(P) 奇偶校验位 sfr ACC = 0xE0; //累加器 A 特殊功能寄存器 可位寻址 sfr B = 0xF0; //寄存器 B 主要用于乘除运算 sfr SP = 0x81; //堆栈指针寄存器 SP 存放站定栈顶地址 sfr DPL = 0x82; // sfr DPH = 0x83; //数据指针寄存器 DPTR //对片外 RAM 及扩展 IO 进行存取用的地址指针 sfr PCON = 0x87; //电源控制寄存器 不能位寻址 page131 //管理单片机的电源部分包括上电复位、掉电模式、空闲模 式等 //单片机复位时 PCON 被全部清 0 //D7 SMOD 该位与串口通信波特率有关 // SMOD=0 串口方式 1 2 3 波特率正常 // SMOD=1 串口方式 1 2 3 波特率加倍 //D6 SMOD0 //D5 LVDF //D4 P0F // 这三位 STC 特有功能 //D3 GF1 //D2 GF0 // 两个通用工作标志位 //D1 PD 掉电模式设定位 // PD=0; 正常工作模式 // PD=1; 进入掉电模式, // 由外部中断低电平触发或下降沿触发或 硬件复位触发 // 掉电模式中:外部晶振,cpu,定时器, 串行口全部停止工作 // 只有外部中断继续工作 //D0 IDL 空闲模式设定位 // IDL=0; 正常工作状态 // IDL=1; 单片机进入空闲模式 // 空闲模式中,除 CPU 不工作外,其余仍 然继续工作 // 可由任意个中断或硬件复位唤醒 sfr TCON = 0x88; //定时器/计数器 控制寄存器 可以位寻址 page70 //D7 TF1 定时器 1 溢出标志位 //D6 TR1 定时器 1 运行控制位 //D5 TF0 定时器 0 溢出标志位 //D4 TR0 定时器 0 运行控制位 //D3 IE1 外部中断 1 请求标志 //D2 IT1 外部中断 1 触发方式选择位 //D1 IE0 外部中断 0 请求标志 //D0 IT0 外部中断 0 触发方式选择位 sfr TMOD = 0x89; //定时器/计数器 工作方式寄存器 不能位寻址 //确定工作方式和功能 page70 //D7 GATE 门控制位 // GATE=0;定时器/计数器由 TRX(x=0,1)来控 制 // GATE=1;定时器/计数器由 TRX(x=0,1) // 和外部中断引脚(init0,1)来共同控制 //D6 C/T 定时器、计数器选择位 // 0 选择定时器模式 // 1 选择计数器模式 //D5 M1 //D4 M0 // M1 M0 工作方式 // 0 0 方式 0 13 位定时器/计数 器 // 0 1 方式 1 16 位定时器/计数 器 // 1 0 方式 2 8 位自动重装定 时器/计数器 // 1 1 方式 3 仅适用 T0 分 成两个 8 位计数器,T1 停止计数 //D3 GATE 门控制位 // GATE=0;定时器/计数器由 TRX(x=0,1)来控 制 // GATE=1;定时器/计数器由 TRX(x=0,1) // 和外部中断引脚(init0,1)来共同控制 //D2 C/T 定时器、计数器选择位 // 0 选择定时器模式 // 1 选择计数器模式 //D1 M1 //D0 M0 // M1 M0 工作方式 // 0 0 方式 0 13 位定时器/计数 器 // 0 1 方式 1 16 位定时器/计数 器 // 1 0 方式 2 8 位自动重装定 时器/计数器 // 1 1 方式 3 仅适用 T0 分 成两个 8 位计数器,T1 停止计数 sfr TL0 = 0x8A; //定时器/计数器 0 高 8 位 容器 加 1 计数器 sfr TL1 = 0x8B; //定时器/计数器 1 高 8 位 容器 sfr TH0 = 0x8C; //定时器/计数器 0 低 8 位 容器 sfr TH1 = 0x8D; //定时器/计数器 1 低 8 位 容器 sfr IE = 0xA8; //中断允许寄存器 可以位寻址 //D7 EA 全局中断允许位 //D6 NULL //D5 ET2 定时器/计数器 2 中断允许位 interrupt 5 //D4 ES 串行口中断允许位 interrupt 4 //D3 ET1 定时器/计数器 1 中断允许位 interrupt 3 //D2 EX1 外部中断 1 中断允许位 interrupt 2 //D1 ET0 定时器/计数器 0 中断允许位 interrupt 1 //D0 EX0 外部中断 0 中断允许位 interrupt 0 sfr IP = 0xB8; //中断优先级寄存器 可进行位寻 址 //D7 NULL //D6 NULL //D5 NULL //D4 PS 串行口中断定义优先级控制位 // 1 串行口中断定义为高优先级中断 // 0 串行口中断定义为低优先级中断 // //D3 PT1 // 1 定时器/计数器 1 中断定义为高优先级中 断 // 0 定时器/计数器 1 中断定义为低优先级中 断 //D2 PX1 // 1 外部中断 1 定义为高优先级中断 // 0 外部中断 1 定义为低优先级中断 //D1 PT0 // 1 定时器/计数器 0 中断定义为高优先级中 断 // 0 定时器/计数器 0 中断定义为低优先级中 断 //D0 PX0 // 1 外部中断 0 定义为高优先级中断 // 0 外部中断 0 定义为低优先级中断 sfr SCON = 0x98; //串行口控制寄存器 可以进行位寻址 page134 //D7 SM0 //D6 SM1 // SM0 SM1 串行口工作方式 // 0 0 同步移位寄存器方式 // 0 1 10 位异步收发(8 位数 据),波特率可变(定时器 1 溢出率控制) // 1 0 11 位异步收发(9 位数 据),波特率固定 // 1 1 11 异步收发(9 位数 据) ,波特率可变(定时器 1 溢出率控制) //D5 SM2 多机通信控制位 主要用于方式 2 和方 式 3 //D4 REN 允许串行接收位 //D3 TB8 方式 2,3 中发送数据的第 9 位 //D2 RB8 方式 2,3 中接受数据的第 9 位 //D1 TI 发送中断标志位 //D0 RI 接受中断标志位 sfr SBUF = 0x99; //串行数据缓冲区 /***************************************************************************** 下面是位寻址区 上面做过解释的就不在下面一一解释了 ******************************************************************************/ /* BIT Register */ /* PSW */ sbit CY = 0xD7; sbit AC = 0xD6; sbit F0 = 0xD5; sbit RS1 = 0xD4; sbit RS0 = 0xD3; sbit OV = 0xD2; sbit P = 0xD0; /* TCON */ sbit TF1 = 0x8F; sbit TR1 = 0x8E; sbit TF0 = 0x8D; sbit TR0 = 0x8C; sbit IE1 = 0x8B; sbit IT1 = 0x8A; sbit IE0 = 0x89; sbit IT0 = 0x88; /* IE */ sbit EA = 0xAF; sbit ES = 0xAC; sbit ET1 = 0xAB; sbit EX1 = 0xAA; sbit ET0 = 0xA9; sbit EX0 = 0xA8; /* IP */ sbit PS = 0xBC; sbit PT1 = 0xBB; sbit PX1 = 0xBA; sbit PT0 = 0xB9; sbit PX0 = 0xB8; /* P3 */ sbit RD = 0xB7; sbit WR = 0xB6; sbit T1 = 0xB5; sbit T0 = 0xB4; sbit INT1 = 0xB3; sbit INT0 = 0xB2; sbit TXD = 0xB1; sbit RXD = 0xB0; /* SCON */ sbit SM0 = 0x9F; sbit SM1 = 0x9E; sbit SM2 = 0x9D; sbit REN = 0x9C; sbit TB8 = 0x9B; sbit RB8 = 0x9A; sbit TI = 0x99; sbit RI = 0x98; #endif
本文档为【51单片机_头文件详解教程】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_643938
暂无简介~
格式:pdf
大小:97KB
软件:PDF阅读器
页数:8
分类:互联网
上传时间:2012-07-12
浏览量:44