c51(用于单片机开发的一种c语言)的头文件。类似于头文件AT89X52.h。这两个头文件基本是一样的,只是在使用时对位的定义不一样,at89x52.h文件中对P1.1的操作是写成P1_1;reg52.h文件中的操作则写成P1^1。表示方法不一样而已。另外前者是特指ATMEL公司的52系列单片机,后者指所有52系列的单片机。

Table of Contents

reg51.h

reg52.h


reg51.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 */
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 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;
/* 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

reg52.h

/*--------------------------------------------------------------------------
REG52.H
Header file for generic 80C52 and 80C32 microcontroller.
Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc.
All rights reserved.
--------------------------------------------------------------------------*/
#ifndef __REG52_H__
#define __REG52_H__
/* BYTE Registers */
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 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;
/* 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;
#endif

reg51.h和reg52.h头文件相关推荐

  1. c语言windows头文件包含,不包含windows.h和window.h内的任何头文件,弹框 “Hello, world!”...

    本帖最后由 天上飞来一只 于 2020-10-22 15:36 编辑 前言:在windows应用程序下,不包含windows.h和window.h内的任何头文件,弹框 "Hello, wor ...

  2. 对于reg51.h、reg52.h、regx52.h、stc15f2k60s2.h的思考

    早在学习51单片机时就在想这几个头文件到底有什么区别,在不同的地方有不同的用法.现在再回过头来看心中不禁了然. reg52.h和stc15f2k60s2.h对于使用蓝桥杯的板子,都可以正常使用,但是又 ...

  3. MAC OSX stdio.h或iostream等头文件无法找到的解决办法

    C程序头文件 今天发现在命令行用clang编译一个普通的c文件时报错: fatal error: 'stdio.h' file not found 查了一下,普遍的说法是: 安装xcode-selec ...

  4. c语言cstdio头文件,从cstdio与stdio.h浅析加c头文件与.h头文件的区别

    加C头文件是C++为了兼容纯C语法而对.h文件进行了处理,例如cstdio // cstdio standard header #pragma once #ifndef _CSTDIO_ #defin ...

  5. C语言disp的头文件,TM1638.h 单片机C语言头文件

    /* --EL------------------------------ ------------*/ /* -----------------通用--------------------*/ /* ...

  6. mem.h是C语言头文件吗,说那个“mem.h”头文件打不开 怎么改啊 高手们帮帮忙

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include "stdio.h" #include "stdlib.h" #include "str ...

  7. LW_OOPC.H 面向对象C MISOO 头文件

    Use Case(用例)的主要内涵及其表达为: 1)描述该服务的名称及返回的信息类型,她描述What 2)描述服务过程中,用户与系统之间有哪些交互,其描述How和When.但是请留意,这个How不是员 ...

  8. 关于skeaz128.h芯片包总头文件V1.3版本与V1.2版本的变更说明

    认为顶格起的注释说明中写的不全(上图),特在此记录,除各外设中外围实例基址的表述格式不同外,还有如下变动: 中断向量表中,各外设分布不同,枚举变量赋值常数不同(但没有缺少也没有添加): 1.3版本省去 ...

  9. 51单片机c语言编程的头文件,51单片机编程的头文件reg51.h详解

    我们在用c语言编程时往往第一行就是头文件,51单片机为reg51.h或reg52.h,51单片机相对来说比较简单,头文件里面内容不多,像飞思卡尔.ARM系列的单片机头文件往往内容就非常多,尽管如此,对 ...

最新文章

  1. 福利模块功能实现及考勤模块准备
  2. [Java]ping或扫描端口的工具类
  3. azure考试_我如何通过AZ-900 Microsoft Azure基础考试
  4. Flask使用ajax进行前后端交互
  5. 安全数组-简易矩阵容器-STL及迭代器仿写作业
  6. 获取当前3Ds MAX版本
  7. scala-协变、逆变、上界、下界
  8. 将DLL注册成COM组件
  9. 使用用AI制作logo图标教程
  10. 计算机专业考研2021,2021考研:计算机专业考研方向有哪些?
  11. 终极.NET混淆器丨.NET Reactor产品介绍
  12. 计算机9网络连接不上,本地连接连不上,教您电脑本地连接连不上怎么解决
  13. 20160226.CCPP体系详解(0036天)
  14. MySQL中常见的日志文件
  15. 大型OA协同办公系统 - 利用力软工作流引擎实现复杂业务流程
  16. 购买二手DTX-1800注意事项
  17. Nacos2.0启动报错:Your project setup is incompatible with our requirements due to following reasons:
  18. C和C++语言的注释
  19. 【Pycharm教程】PyCharm 安装、卸载和升级包
  20. “空头”突袭瑞幸 浑水再次折戟?

热门文章

  1. docker环境,搭建kafka集群
  2. MySQL高级-内存管理及优化
  3. Vue.js之使用vue-cli初始化项目
  4. appium在android7.0上无法启动问题
  5. [HDU] 1312Red and Black -用广搜求能探寻到的点的数目
  6. Jquery 小技巧
  7. postgreSQL源码分析——索引的建立与使用——GIST索引(2)
  8. spring 扫描所有_自定义Spring事件监听机制
  9. python 数组 元组 列表_python_Day_02[数组、列表、元组之篇]
  10. python字符串_Python字符串格式化%s%d%f详解