里面宏定义了uchar和uint分别叫u8和u16,写程序添加头文件后省了这两个宏定义,可以直接引用。

   /*--------------------------------------------------------------------------

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 __STC89C52_H__

#define __STC89C52_H__


typedef unsigned char u8;

typedef unsigned int u16;


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


sfr ISP_DATA  = 0xe2;

sfr ISP_ADDRH = 0xe3;

sfr ISP_ADDRL = 0xe4;

sfr ISP_CMD   = 0xe5;

sfr ISP_TRIG  = 0xe6;

sfr ISP_CONTR = 0xe7;


#endif


关键字:STC89C52  头文件  宏定义 引用地址:分享一个STC89C52的头文件

上一篇:简易同位升降系统的单片机源码(用超声波测距实现)
下一篇:51单片机驱动直流电机,测试可用,可调速

推荐阅读

最近博主用STM32F103C8T6做了一个温度测控模块,用到PB3,PB4,PA15等引脚控制外设。发现不管怎么配置,这三个引脚都不能置零。后来发现是包括这三个引脚在内的PB3,PB4,PA13,PA14,PA15是特殊的IO口,用作JTAG/SWD仿真器的调试接口。其中PA13,PA14分别作为SWD调试的SWIO和SWCLK;PB3,PB4,PA13,PA14,PA15共同用于JTAG。这五个引脚的中英文描述如下...
在红米新品发布会上,红米品牌总经理卢伟冰发布70英寸Redmi电视,对比智慧荣耀屏,吐槽三连:把两秒息屏唤醒称作开机、设计的界面雷同,拿来主义、价格贵。他称,真正的智慧是同样的价钱买更大的小米。
万用表是电力维修人员必备的故障查找工具,“一人,一笔,一表”很形象的告诉我们电工作业人员的基本要求就是:电工+电笔+万用表,这是作为一个电力作业人员的基本配置,,在日常的维修保养过程中,万用表发挥着极其重要的作用。今天就给大家具体说说,万用表各个档位的含义,怎么测电压、电流、电阻、电容等等问题,可以说是非常详细了。一,万用表使用前...
链接脚本的语法SECTIONS {...secname start BLOCK(align) (NOLOAD) : AT ( ldadr ) { contents } >region :phdr =fill...}解释: secname :段名 start :起始地址:运行时的地址(runtime addr);重定位地址(relocate addr) AT ( ldadr ) :可有可无(load addr:加载地址) 不写时LoadAddr = runtime addr { contents } ...

史海拾趣

问答坊 | AI 解惑

认识ARM体系结构的发展

处理器的体系结构定义了指令集(ISA)和基于这一体系结构下处理器的程序员模型。尽管每个处理器 性能不同,所面向的应用不同,每个处理器的实现都要遵循这一体系结构。ARM体系结构为嵌入系统发展 商提供很高的系统性能,同时保持优异的功耗和 面 ...…

查看全部问答∨

FPGA、CPLD常用protel库

FPGA、CPLD常用protel库…

查看全部问答∨

那位大虾帮帮忙,明天就考试了,开卷完全找不到答案

11.        基于ARM7 、9、11处理器设计的产品,类似Intel的Xscale架构产品的设计方案 (功能特点、结构、作用  举例子说明设计方案,如GPS、游戏机、POS……) 12.        嵌入式系统实时性? ...…

查看全部问答∨

我的cisco2600路由器被人把IOS删掉了,我要从另一个2600路由器下载IOS,怎么下呢??高分求助!

        我用的是COPY FLASH  TFTP命令 ,但是总是报错:TFTP://10.1.1.3 timeout 10.1.1.3是我设置的本机IP。 怎么解决呢》?求高手指教啊 …

查看全部问答∨

网卡后面的显示灯是红色的,为什么?

以前不是这样的,并且在电脑属性里面的硬件里面的设备管理器中看不到网络适配器.高手们快点过来指点下…

查看全部问答∨

linux下gcc的安装

请问linux下gcc怎么安装,我没有光盘,只有一个gcc-3.2.2-5.i386.rpm,安装的错误提示为: Missing Dependency: glibc-devel >= 2.2.90-12 is needed by package gcc Missing Dependency: cpp = 3.2.2-5 is needed by package gcc 还有,linux ...…

查看全部问答∨

[求助]求高人帮我看下程序

;-------------------------------------------------------------------------- ;[H1+H2]+[ADR]+[CMD]+[CRC] ;[L1+L2]+[ID]+[TEM_1]+[TEM_2]+[TEM_3]+[TEM_4]+[TEM_5]+[DOOR] ;-------------------------------------------------------------- ...…

查看全部问答∨

水质检测器电路

本帖最后由 jameswangsynnex 于 2015-3-3 19:54 编辑   …

查看全部问答∨

MC68HC711K4VFU4代替型号

各位大侠,有谁用过这块芯片MC68HC711K4VFU4,谁知道其他的可以代替?…

查看全部问答∨

user error: Reset failed - Target not halted

ST研讨会的时候拿了一块 DISCOVERY的板子,最近在学习,现在用IAR下程序的时候碰到错误提示user error: Reset failed - Target not halted,有知道为什么会出现这个错误的吗?怎么解决…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved