51单片机头文件reg51h详解Word文档格式.docx

上传人:b****2 文档编号:13709173 上传时间:2022-10-13 格式:DOCX 页数:12 大小:156.15KB
下载 相关 举报
51单片机头文件reg51h详解Word文档格式.docx_第1页
第1页 / 共12页
51单片机头文件reg51h详解Word文档格式.docx_第2页
第2页 / 共12页
51单片机头文件reg51h详解Word文档格式.docx_第3页
第3页 / 共12页
51单片机头文件reg51h详解Word文档格式.docx_第4页
第4页 / 共12页
51单片机头文件reg51h详解Word文档格式.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

51单片机头文件reg51h详解Word文档格式.docx

《51单片机头文件reg51h详解Word文档格式.docx》由会员分享,可在线阅读,更多相关《51单片机头文件reg51h详解Word文档格式.docx(12页珍藏版)》请在冰豆网上搜索。

51单片机头文件reg51h详解Word文档格式.docx

为能直接访问80C51中的SFR 

而提供了一个新的关键词,其用法是:

特殊功能寄存器名=地址值(注意对于头文件里“特殊功能寄存器名”,用户实际上也可以修改的,如P1=0x80,也可改为A1=0x80,但sfr 

和地址值则不能更改,否者会编译出错。

些位赋的变量和数值才能正确保存,然后才能供CPU正确的调用,完成相应的功能。

上段文字出现了寄存器(SFR)、位,地址、内存等,单片机学习过程中还会出现ROM、RAM等名词,可能大家觉得不是很好理解,这里可以通俗的解释一下,如下面三个图所示。

我们把内存比作宾馆,ROM、RAM、SFR相当于宾馆里具体的有三种不同功能楼层(具体这个宾馆多少层即多少ROM、RAM、SFR,视各个宾馆或者每种单片机而不同),每层8个房间相当于8位,每个房间要么住男人要么住女人相当于每位要么放入数字1要么放入数字0,keil编译器就相当于宾馆的工作人员,旅客去住旅馆相当写程序的过程,住宾馆的人必须事先要给工作人员说你是哪一层哪一个房间(即声明寄存器地址和位地址,)宾馆工作人员才能把你带到你的房间里去(这里假设这个宾馆可以由旅客自己决定住哪个房间)。

即:

只有对寄存器及相关位进行声明地址后,我们才能对其进行赋相关的值,keil软件才能编译通过。

4)REG51.H头文件原文及解释

打开reg51.h 

可以看到这样的一些内容(此文件一般在C:

\KEIL\C51\INC下 

INC文件夹根目录里有不少头文件,并且里面还有很多以公司分类的文件夹,里面也都是相关产品的头文件。

如果我们要使用自己写的头文件,使用的时候只需把对应头文件拷贝到INC文件夹里就可以了。

下面附出头文件的原文,并把注释文件一并附后。

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

REG51.H

Headerfileforgeneric80C51and80C31microcontroller.

Copyright(c)1988-2002KeilElektronikGmbHandKeilSoftware,Inc.

Allrightsreserved. 

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

#ifndef__REG51_H__

#define__REG51_H__

/* 

BYTERegister 

*/

sfrP0 

=0x80;

//三态双向 

IO口 

P0口 此句话的意思是:

特殊功能寄存器 P0 地址为0x80,可位寻址,下同

//低8位地址总线/数据总线(一般不用而只作普通I/O口,注意作I/O口用时,硬件上需接上接电阻)

sfrP1 

=0x90;

//准双向 

P1口

sfrP2 

=0xA0;

P2口

//高8位地址总线,一般也作普通I/O用

sfrP3 

=0xB0;

//双功能

 //1.准双向 

P3口

  //2. 

P30 

RXD串行数据接受

  // 

P31 

TXD串行数据发送

  

// 

P32 

外部中断0 

信号申请

P33 

外部中断1 

P34 

定时/计数器T0 

外部计数脉冲输入

P35 

定时/计数器T1 

P36 

WR 

片外RAM写脉冲信号输入

P37 

  RD 

片外ram读脉冲信号输入

sfrPSW 

=0xD0;

可以位寻址(C语言编程时可不考虑此寄存器)

//程序状态寄存器ProgramStatusWORD 

(程序状态信息)

//psw.7(CY) 

进位标志

//psw.6(AC)辅助进位标志位低四位向高四位进位或借位时 

AC=1

//主要用于十进制调整

//psw.5(F0)用户可自定义的程序标志位

//psw.4(RS1)

//psw.3(RS0)

//工作寄存器选择位

//任一时刻只有一组寄存器在工作

//00 

0区 

00H~07H

//01 

1区 

08H~0fH

//10 

2区 

10H~17H

//11 

3区 

18H~1FH

//psw.2(OV) 

溢出标志位

//psw.1( 

) 

保留为 

,不可使用

//psw.0(P) 

奇偶校验位

sfrACC 

=0xE0;

//累加器A 

特殊功能寄存器 

可位寻址

sfrB 

=0xF0;

//寄存器B 

主要用于乘除运算

sfrSP 

=0x81;

//堆栈指针寄存器SP 

存放站定栈顶地址、

sfrDPL 

=0x82;

//

sfrDPH 

=0x83;

//数据指针寄存器DPTR、//对片外RAM及扩展IO进行存取用的地址指针

sfrPCON=0x87;

//电源控制寄存器 

、不能位寻址 

//管理单片机的电源部分包括上电复位、掉电模式、空闲模式等

//单片机复位时PCON被全部清0,编程时一般是用到SMOD位,其它的一般不用

//D7 

SMOD该位与串口通信波特率有关

//SMOD=0 

串口方式123 

波特率正常

//SMOD=1 

波特率加倍

sfrTCON=0x88;

//定时器/计数器 

控制寄存器 

可以位寻址 

         

//D7  

TF1 

定时器1溢出标志位

//D6 

TR1 

定时器1运行控制位

//D5 

TF0 

定时器0溢出标志位

//D4 

TR0 

定时器0运行控制位

//D3 

IE1 

外部中断1请求标志

//D2 

IT1 

触发方式选择位

//D1 

IE0 

外部中断0请求标志

//D0 

IT0 

sfrTMOD=0x89;

工作方式寄存器 

不能位寻址

//确定工作方式和功能 

GATE 

门控制位

//GATE=0;

定时器/计数

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1