#ifndef __REG52_H__
#define __REG52_H__
//特殊功能寄存器的定义 地址均为字节地址,51单片机用的地址一般都为字节地址
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;
sfr T2CON = 0xC8;
sfr RCAP2L = 0xCA;
sfr RCAP2H = 0xCB;
sfr TL2 = 0xCC;
sfr TH2 = 0xCD;
//PSW各特殊位的定义 ^为异或
sbit CY = PSW^7; //地址即为0xD7,只是一个位地址映射,不能理解为实际的地址
sbit AC = PSW^6; //在reg51.h中写的还是0xD7,在这里却PSW^7,也是在提醒我们不要搞混吧,具体
sbit F0 = PSW^5; //内部怎么映射的估计可以不管它了吧
sbit RS1 = PSW^4;
sbit RS0 = PSW^3;
sbit OV = PSW^2;
sbit P = PSW^0; //8052 only
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;
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;
sbit PT2 = IP^5;
sbit PS = IP^4;
sbit PT1 = IP^3;
sbit PX1 = IP^2;
sbit PT0 = IP^1;
sbit PX0 = IP^0;
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;
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;
sbit T2EX = P1^1; // 8052 only
sbit T2 = P1^0; // 8052 only
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
//sfr 特殊功能寄存器的定义
//sbit 特殊位的定义
关键字:C52通用 头文件 REG52.H详解
引用地址:
C52通用的头文件REG52.H详解
推荐阅读最新更新时间:2024-03-16 13:50
stm32 各头文件或C文件功能
stm32f10x_con.h 配置文件:加载哪个外设、使能assert 对参数进行检查,如果使能了assert 需要在main文件中添加 _assert_faild 函数。 使能assert会增大编译出执行文件的大小,调试完后可以将assert 屏蔽。 stm32f10x.h头文件中包含了stm32f10x_conf.h 。 stm32f10x.h 1、对所有的外设的地址进行映射,映射到存储区,即定义某外设结构体变量,因为结构体是连续存储的只要将外设的基地址强制转换为结构体类型的指针,那么该外设的寄存器就可以通过指针进行访问,以GPIO为例: 定义外设的结构体,结构体变量都是volatile类型,告诉编译器不
[单片机]
C52通用的头文件REG52.H详解
#ifndef __REG52_H__ #define __REG52_H__ //特殊功能寄存器的定义 地址均为字节地址,51单片机用的地址一般都为字节地址 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 = 0
[单片机]
嵌入式学习笔记17——AVR单片机之头文件简介和使用
1. ICCAVR的头文件形式为: #include io*v.h 芯片使用的不是mega类;或#include iom*v.h 使用的芯片为mega类。其中 * 用相应的芯片型号代替,如芯片ATmega8,则头文件为#include iom8v.h 2. 在AVR单片机的使用中有一个重要的头文件,macros.h,该头文件定义了一些常用的宏,如BIT(X),以及看门狗复位,开/关全局中断等等。 3. AVR单片机的位操作:AVR中没有像51单片机中sbit的用法,但是同样可对单个I/O口进行操作,其具体方法如下: DDRB | =(1 3); DDRB | =BIT(3); DDRB | =BIT(DDR
[单片机]
PIC头文件——寄存器位地址定义代码解析
编译工具:MPLAB X IDE v4.15 单片机型号:PIC16F1938 MPLAB开发环境中,包含各种PIC系列单片机的头文件,我在理解头文件中关于寄存器位地址定义时绕了些弯路,所以特意写出来加强记忆。 以LATA寄存器为例:在pic16f1938.h头文件中,关于LATA寄存器的定义如下 // Register: LATA volatile unsigned char LATA @ 0x10C; // bit and bitfield definitions volatile bit LATA0 @ ((unsigned)&LATA*8)+0; volatile bi
[单片机]
led裸机程序分析一(头文件2440addr.ini)
在mini2440的myled裸机程序中头文件 2440addr.ini 定义了寄存器符号。 ;==================================================================== ; File Name : 2440addr.a ; Function : S3C2440 Define Address Register (Assembly) ; Date : March 27, 2002 ; Revision : Programming start (February 18,2002) - SOP ; Revision : 03.11.2003 ver 0.0 Attat
[单片机]
STM32 HAL库头文件包含关系
如图,从左到右下的顺序写: -------------------------------------------------------------------------------------------------------------------------------- The header of the common HAL driver file(stm32f1xx_hal.h) includes the common configurations for the whole HAL library.It is the only header file that is included in th
[单片机]
s3c2440头文件之Def.h
#ifndef __DEF_H__ #define __DEF_H__ #define U32 unsigned int #define U16 unsigned short #define S32 int #define S16 short int #define U8 unsigned char #define S8 char #define TRUE 1 #define FALSE 0 #define OK 1 #define FAIL 0 #define ESC_KEY ('q') // 0x1b #endif /*__DEF_H__*/
[单片机]
LPC824-头文件应用
通过前面的分析,大家已经了解了预定义部分的内容。但如果每次设计程序都把需要的头文件内容全部写出来,不仅代码占用较多的篇幅,还会影响程序的结构化。因此,规范的程序设计都会把这部分内容通过头文件包含的形式引入进来。下面就来讨论如何实现这一形式。 头文件是以“.h”为后缀的文本文件,它的名称、数量都与开发环境有关,不同的开发环境(甚至同一开发环境的不同版本)所带的头文件都不一定相同。因此本节在讨论LPC824开发的头文件配置时,都以ARM-MDK5.26.2版本开发环境为准,其他版本的可参考使用。 先来看,同样实现LED交替闪烁的功能,若用包含头文件的写法,代码可换成如下形式: #include LPC82x.h //****
[单片机]