目录

reg52.h注释

C51关键字说明

参考


reg52.h注释

/*  BYTE Registers  */
sfr P0    = 0x80;    //P0口锁存器
sfr P1    = 0x90;    //P1口锁存器
sfr P2    = 0xA0;    //P2口锁存器
sfr P3    = 0xB0;    //P3口锁存器
sfr PSW   = 0xD0;    //程序状态寄存器
sfr ACC   = 0xE0;    //累加器
sfr B     = 0xF0;    //B寄存器
sfr SP    = 0x81;    //堆栈指针
sfr DPL   = 0x82;    //数据地址指针(低8位)
sfr DPH   = 0x83;    //数据地址指针(高8位)
sfr PCON  = 0x87;    //电源控制寄存器
sfr TCON  = 0x88;    //T0、T1定时器/计数器控制寄存器
sfr TMOD  = 0x89;    //T0、T1定时器/计数器方式控制寄存器
sfr TL0   = 0x8A;    //定时器/计数器0(低8位)
sfr TL1   = 0x8B;    //定时器/计数器1(低8位)
sfr TH0   = 0x8C;    //定时器/计数器0(高8位)
sfr TH1   = 0x8D;    //定时器/计数器1(高8位)
sfr IE    = 0xA8;    //中断允许控制寄存器
sfr IP    = 0xB8;    //中断优先级控制寄存器
sfr SCON  = 0x98;    //串行口控制寄存器
sfr SBUF  = 0x99;    //串行口锁存器/*  8052 Extensions  */
sfr T2CON  = 0xC8;    //T2定时器/计数器控制寄存器
sfr RCAP2L = 0xCA;    //外部输入(P1.1)计数器/自动再装入模式时初值寄存器(高8位)
sfr RCAP2H = 0xCB;    //外部输入(P1.1)计数器/自动再装入模式时初值寄存器(低8位)
sfr TL2    = 0xCC;    //定时器/计数器2(低8位)
sfr TH2    = 0xCD;    //定时器/计数器2(高8位)/*  BIT Registers  */
/*  PSW  */            //程序状态字
sbit CY    = PSW^7;    //进位标志(有进、借位,CY=1;否则CY=0)
sbit AC    = PSW^6;    //辅助进、借位
sbit F0    = PSW^5;    //用户标志位
sbit RS1   = PSW^4;    //工作寄存器组选择位
sbit RS0   = PSW^3;    //工作寄存器组选择位
sbit OV    = PSW^2;    //溢出标志位(有溢出,OV=1;否则OV=0)
sbit P     = PSW^0; //8052 only//奇偶校验位/*  TCON  */
sbit TF1   = TCON^7;    //定时器T1溢出标志
sbit TR1   = TCON^6;    //T1允许计数控制位
sbit TF0   = TCON^5;    //定时器T0溢出标志
sbit TR0   = TCON^4;    //T0允许计数控制位
sbit IE1   = TCON^3;    //外部中断1请示源标志
sbit IT1   = TCON^2;    //外部中断源1触发方式控制位
sbit IE0   = TCON^1;    //外部中断0请示源标志
sbit IT0   = TCON^0;    //外部中断源0触发方式控制位/*  IE  */
sbit EA    = IE^7;                //EA=0时,所有中断禁止;EA=1时,各中断由个别的允许位决定
sbit ET2   = IE^5; //8052 only    //定时器2溢出中断允许
sbit ES    = IE^4;                //串口中断允许
sbit ET1   = IE^3;                //定时器1中断允许
sbit EX1   = IE^2;                //外部中断INT1中断允许
sbit ET0   = IE^1;                //定时器0中断允许
sbit EX0   = IE^0;                //外部中断INT0中断允许/*  IP  */
sbit PT2   = IP^5;    //定时器2中断优先
sbit PS    = IP^4;    //串口中断优先
sbit PT1   = IP^3;    //定时器1中断优先
sbit PX1   = IP^2;    //外部中断INT1中断优先
sbit PT0   = IP^1;    //定时器0中断优先
sbit PX0   = IP^0;    //外部中断INT0中断优先/*  P3  */            //P3口引脚第二功能
sbit RD    = P3^7;    //外部数据存储器读脉冲
sbit WR    = P3^6;    //外部数据存储器写脉冲
sbit T1    = P3^5;    //定时器/计数器1外部输入端
sbit T0    = P3^4;    //定时器/计数器0外部输入端
sbit INT1  = P3^3;    //外部中断1
sbit INT0  = P3^2;    //外部中断0
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;    //发送数据位8
sbit RB8   = SCON^2;    //接收数据位8
sbit TI    = SCON^1;    //发送中断标志位
sbit RI    = SCON^0;    //接收中断标志位/*  P1  */         //P1口引脚的第二功能
sbit T2EX  = P1^1; // 8052 only //T2EX捕捉、重装触发,T2的外部控制端
sbit T2    = P1^0; // 8052 only //T2定时器的外部输入/*  T2CON  */
sbit TF2    = T2CON^7;    //T2溢出中断标志
sbit EXF2   = T2CON^6;    //定时器T2外部中断标志
sbit RCLK   = T2CON^5;    //串口的接收时钟选择标志
sbit TCLK   = T2CON^4;    //串口的发送时钟选择标志
sbit EXEN2  = T2CON^3;    //T2的外部中断允许标志
sbit TR2    = T2CON^2;    //T2计数/定时控制位
sbit C_T2   = T2CON^1;    //外部计数器/定时器选择位
sbit CP_RL2 = T2CON^0;    //捕捉和常数自动再装入方式选择位

C51关键字说明

  1. sfr:特殊功能寄存器声明,声明一个8位特殊功能寄存器
  2. sbit:特殊功能寄存器位变量声明
特殊功能位变量声明方式
序号 语句格式
1 sbit 位变量名  = 特殊功能寄存器名^位位置(0~7有效)
2 sbit 位变量名 = 字节地址^位位置(0~7有效)
3 sbit 位变量名 = 位地址

参考

  • 51单片机寄存器功能一览表
  • 51单片机的基本信息
  • 特殊功能寄存器位的声明
  • STC51单片机使用手册(中文版)
  • STC51单片机使用手册(中文版)备份

rwg52_h头文件注释相关推荐

  1. c语言编写conio库函数,c语言库函数头文件注释

    1.代码中只要有用到printf scanf 等函数,头文件就要写 #include 这个在代码中是必不可少的,因为编写代码就是为了输出结果 用到像getch()这种键盘输入函数的话,就需要用到#in ...

  2. Vs2013 头文件注释

    在vs2013的默认安装目录 1.CS类修改方式 在C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ItemTempla ...

  3. java action的头文件注释_有没有java大神,帮我详细注释下面的代码,action里面复制来的...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 public String gzaddbefore() { Yg bean = dao.findById(id); System.out.println( ...

  4. 使用命名空间、头文件和实现文件

    *************************************************** 更多精彩,欢迎进入:http://shop115376623.taobao.com ****** ...

  5. 嵌入式linux头文件,飞凌嵌入式知识汇092期:C工程的组织方式(头文件的功能)以及Linux下常用的头文件的作用...

    1.1每个C++/C程序通常分为两个文件.一个文件用于保存程序的声明(declaration),称为头文件.另一个文件用于保存程序的实现(implementation),称为定义(definition ...

  6. C++ 笔记(02)— 程序结构(头文件说明、命名空间、函数返回值、函数参数、注释、语句结束符、cin/cout)

    先看以下代码 #include <iostream> #include <string> using namespace std;int main() // main() 是程 ...

  7. 【C 语言】文件操作 ( 配置文件读写 | 框架搭建 | 头文件定义 | 头文件导入限制 | 兼容 C++ 语言 | 函数形参输入输出属性注释)

    文章目录 一.头文件定义 1.头文件导入限制 2.兼容 C++ 语言 3.函数形参输入输出属性 4.代码示例 一.头文件定义 1.头文件导入限制 头文件导入限制 : 防止头文件多次导入 , 将头文件的 ...

  8. [原创]Enterprise Architecture V7.5 C++代码生成时,头文件中函数声明没有注释,CPP中函数定义却有注释。...

    这几天一直在用Enterprise Architecture来抽象项目中要用到的一些数据结构和类,然后都做得差不多了之后发现,生成代码的时候.h文件中类成员函数部分没有注释,但是.cpp文件中的函数定 ...

  9. 【STC头文件】STC8系列之STC8G头文件寄存器注释

    [STC头文件]STC8系列之STC8G头文件寄存器注释 特殊功能寄存器介绍 定时器/计数器工作方式寄存器(TMOD ) 符号 地址 B7 B6 B5 B4 B3 B2 B1 B0 TMOD(定时器模 ...

最新文章

  1. python定时刷新tkinter界面_如何在python中“刷新”Tkinter窗口?
  2. kmeans算法_实战 | KMeans 聚类算法
  3. javabeans_膨胀的JavaBeans –不要在您的API中添加“ Getters”
  4. JavaScript学习笔记(三)--操作运算符
  5. hdc mfc 画扇形图_canvas画扇形、饼图
  6. JDK 8.0 新特性——接口默认方法与静态方法
  7. Bat脚本多开微信分析
  8. Java入门第44课——打印员工信息
  9. HTMLCSS 【三】-- TABLES, DIVS, AND SPANS
  10. ORACLE 触发器控制用户登录之权限限制
  11. PHP代码审计8—SSRF 漏洞
  12. 基础矩阵和极点、极线关系
  13. 空间计量经济学学习笔记(一)
  14. 网络基础——综合布线
  15. 国科gk7102s上cp2528值i2c触摸按键驱动实现
  16. 新手如何运营推广微信公众号
  17. kodi资源_Kodi下载-Kodi官方版下载-PC下载网
  18. 骚年~来一起撸一撸,这些面试必问的知识
  19. 平替SD3403/SS928对标Hi3559A可以朔源的处理器 GK7608RFCFV100
  20. 股票交易接口除了通信达还有哪些

热门文章

  1. Java中List判空问题白话详解
  2. git clone server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile
  3. merge合并两个有序数组
  4. 【oracle】常用函数总结
  5. Hash类的键值对允不允许为空的问题
  6. 算法不会,尚能饭否之树(2)
  7. Ext js框架模拟Windows桌面菜单管理模板
  8. 【题解】【A % B Problem(P1865)】-C++
  9. 【刷题记录】GCJ 2.71~2.72
  10. ThinkPHP V5.0 正式版发布