c51特殊功能寄存器

合集下载

C51中data,idata,xdata 区别

C51中data,idata,xdata 区别

dATa: 固定指前面0x00-0x7f的128个RAM,可以用acc直接读写的,速度最快,生成的代码也最小。

idATa: 固定指前面0x00-0xff的256个RAM,其中前128和dATa的128完全相同,只是因为访问的方式不同。

idA Ta是用类似C中的指针方式访问的。

汇编中的语句为:mox ACC,@Rx.(不重要的补充:c中idATa做指针式的访问效果很好)xdA Ta: 外部扩展RAM,一般指外部0x0000-0xffff空间,用DPTR访问。

pdA Ta: 外部扩展RAM的低256个字节,地址出现在A0-A7的上时读写,用movx ACC,@Rx 读写。

这个比较特殊,而且C51好象有对此BUG, 建议少用。

但也有他的优点,具体用法属于中级问题,这里不提。

startup.a51的作用,和汇编一样,在C中定义的那些变量和数组的初始化就在startup.a51中进行,如果你在定义全局变量时带有数值,如unsigned char dATa xxx="100";,那startup.a51中就会有相关的赋值。

如果没有=100,startup.a51就会把他清0。

(startup.a51==变量的初始化)。

这些初始化完毕后,还会设置SP指针。

对非变量区域,如堆栈区,将不会有赋值或清零动作。

有人喜欢改startup.a51,为了满足自己一些想当然的爱好,这是不必要的,有可能错误的。

比如掉电保护的时候想保存一些变量, 但改startup.a51来实现是很笨的方法,实际只要利用非变量区域的特性,定义一个指针变量指向堆栈低部:0xff处就可实现。

, 为什么还要去改? 可以这么说:任何时候都可以不需要改startup.a51,如果你明白它的特性。

bit是在内部数据存储空间中20H .. 2FH 区域中一个位的地址,这在DATA的20H以后以字节形式出现,可互相参照。

另外加上8051 可寻址的SFR,但刚刚试过,只是00H--7FH起作用,也就是说当数据有变化时颜色变红,以后的从80H到--FFH就不是位寻址区了,是位寻址的特殊寄存器,如涉及到了可位寻址的那11个当然会有反应。

单片机寄存器_MCS-51单片机特殊功能寄存器详解

单片机寄存器_MCS-51单片机特殊功能寄存器详解

1、定时器/计数器的方式寄存器TMODTMOD是一个8位的特殊功能寄存器,对应的地址是89H,不可位寻址。

A.主要完成三个功能:*确定选择定时器还是计数器;*选择何种工作方式;*是否借用外中断控制定时器和计数器的启停;B.TMOD的低4位是控制T0的字段(T0--P3.4 定时器/计数器0外部事件脉冲输入端);TMOD的高4位是控制T1的字段(T1--P3.5定时器/计数器1外部事件脉冲输入端)C.控制字的格式和含义a、GATE(TMOD.7)分为两种情况:GATE=0,定时器的启停和INT1无关,只取决于TR0;GATE=1,定时器的启停不仅要由TR0来控制,而且要INT1引脚的控制,只有二者都为高电平时定时器才开始工作;b、C/T(TMOD.6)分为两种情况:C/T=0,用作定时器;C/T=1,用作计数器;d、M1(TMOD.5), M0(TMOD.4)用M1,M0来控制定时器/计数器的4种工作方式:*方式0:M1=0,M0=0.13位定时/计数方式*方式1:M1=0,M0=1.16位定时/计数器*方式2,M1=1,M0=0.8位初值自动重新装入的8位定时/计数器*方式3,M1=1,M0=1.仅适用于T0,分为两个8位计数器,T1停止计数2、定时器/计数器控制寄存器TCONTCON是一个8位的特殊功能寄存器,对应的地址为88H,可为寻址。

A 控制字的格式和含义a、TF1(TCON.7),TF0(TCON.5)----T1、T0计数溢出标志位当计数器计数溢出时,该位置“1”。

使用查询方式时,此位作为状态位供cpu查询,但应注意在查询该位有效后应以软件方法及时将该位清“0”。

使用中断方式时,此位作为中断申请标志位,进入中断服务程序后由硬件自动清0.b、TR1(TCON.6),TR0(TCON.4)----计数运行控制位TR1(TR0)=1,启动定时/计数器工作的必要条件,还与GATE位的状态有关。

51单片机结构功能

51单片机结构功能

51单片机结构功能51单片机是指基于Intel的8051微处理器为核心的单片机,其结构功能丰富,被广泛应用于各种嵌入式系统。

一、结构51单片机采用冯·诺依曼结构,具有指令存储器和数据存储器,其中程序存储器(ROM)用于存储程序和表格数据,而数据存储器(RAM)用于存储可变数据。

51单片机还具有特殊功能寄存器(SFR),这些寄存器专门用于控制和设置单片机的各种功能。

二、功能1、运算功能:51单片机具有8位运算器,可以进行算术、逻辑和位运算。

2、控制功能:51单片机具有丰富的控制指令,可以实现如条件转移、跳转、中断等功能,还可以进行定时器和计数器的控制。

3、通信功能:51单片机可以通过串行口实现串行通信,也可以通过并行口实现并行通信。

4、存储功能:51单片机内部具有少量的RAM和ROM存储器,同时还可以外接扩展存储器。

5、定时/计数功能:51单片机内部具有定时器和计数器,可以实现定时和计数的功能。

6、中断功能:51单片机具有多个中断源,可以实现多级中断控制。

7、输入/输出功能:51单片机具有多个输入/输出端口,可以实现多种输入/输出控制。

51单片机以其结构紧凑、功能丰富、易于使用等特点,被广泛应用于工业控制、智能家居、消费电子等领域。

C51单片机寄存器功能湖山网络广播系统设计方案一、概述随着科技的发展和数字化的普及,网络广播系统在各种场所扮演着越来越重要的角色。

湖山网络广播系统设计方案旨在满足湖山地区对高质量、高效的网络广播系统的需求。

该方案旨在构建一个稳定、可靠、易用的网络广播系统,以满足湖山地区在公共广播、紧急通知、日常资讯等方面的需求。

二、系统需求分析1、稳定性:系统应具备高度的稳定性,能够保证长时间的连续运行,避免因设备故障或网络问题导致的广播中断。

2、可靠性:系统应具备可靠的备份机制,确保在主设备出现问题时,备份设备能够迅速接管,保证广播的连续性。

3、易用性:系统应具备良好的用户界面,操作简单易懂,方便管理员进行配置和管理。

C51单片机引脚功能与特殊功能寄存器详解

C51单片机引脚功能与特殊功能寄存器详解

80C51单片机引脚图及引脚功能介绍首先我们来介绍一下单片机的引脚图及引脚功能 介绍单片机的40个引脚大致可分为 4类:电源、时钟、控制和 I/O 弓|脚。

1. 电源:⑴VCC -芯片电源,接+5V; ⑵VSS -接地端;2. 时钟:XTAL1、XTAL2 -晶体振荡电路反相输入端和输出端。

3. 控制线:控制线共有4根,⑴ALE/PROG 地址锁存允许 /片内EPRO 陶程脉冲 ① ALE 功能:用来锁存 P0 口送出的低8位地址② PROG 功能:片内有 EPROM 勺芯片,在EPRO 嘲程期间,此引脚输入编程脉冲。

fl. 0 — Fl. 1 — P1 2 — P1.3 — FL 4 — FL5 — FL6 —FL7 — EST/Vm — RXD/F3. 0 — TXD/F3, 1 — IFT0/F3. 2 — IKTT/F3. 3 —T0/F3. 4 — T1/F3 5 — 阀F3. S — 而 P3 T —XTAL1 —JITALE —焰一 —Vm —FO.O —F0 1一F0 7—P0.3 —F0.4 —F。

S—F0 6 —FO T —EA/VfT —AU/PBDG —FSEN —F2T—F2 6—F2 S一E2 4 —F2.3—P22—F2 1 —F2 0Vce — ViS ____ XT AMXTAL2EST/Vn^EA/V IF +*FSEM^— ALE/P ROG +—二二二二r i — L口F51口 口口 扣P2F3地址数催总皴 地址德鳗双噬口 fTHTTH 克习(如下图所示 ),引脚的具体功能将在下面详细⑵PSEN:夕卜RO皿选通信号。

⑶RST/VPD:复位/备用电源。

①RST (Reset)功能:复位信号输入端。

②VPD功能:在Vcc掉电情况下,接备用电源。

⑷EA/Vpp:内外RO曜择/片内EPRO陶程电源。

①EA功能:内外ROM先择端。

②Vpp功能:片内有EPROM勺芯片,在EPRO惭程期间,施加编程电源Vpp。

c51单片机常用寄存器速查

c51单片机常用寄存器速查

C51单片机常用寄存器速查表一 : 定时器 / 计数器方式选择 : TMOD 地址 (89H) 不可位寻址D7 D6 D5 D4 D3 D2 D1 D0 GATEC/TM1M0GATEC/TM1M0GATE : 门控制位(定时操作开关控制位),当GATE=1时,INT0或INT1引脚为高电平,同时TCON 中的TR0或TR1控制位为1时,计时/计数器0或1才开始工作。

若GATE=0,则只要将TR0或TR1控制位设为1,计时/计数器0或1就开始工作C/T : 定时、计数 方式选择位。

C/T=0 时为定时方式 C/T=1 时计数方式T0、T1工作模式选择位:M1 、M0:T0、T1工作模式选择位M1 M0 工作模式0 0 方式0,13位计数/计时器 0 1 方式,1,16位计数/计时器 1 0 方式2,8位自动加载计数/计时器11方式3,仅适用于T0,定时器0分为两个独立的8位定时器/计数器TH0及TL0,T1在方式3时停止工作二 : 中断标志与中断控制寄存器 : TCON 地址( 88H ) 可位寻址D7 D6 D5 D4 D3 D2 D1 D0TF1TR1TF0TR0IE1IT1IE0IT0TR1、TR0 是 T1 、T0 的启动控制位,置 1 起动。

置 0 停止 定时/计数器。

TF1、TF0是T1、T0的溢出标志位,溢出时由硬件置1,CPU 响应中断后由硬件清0,软件询时由软件清0IT0 、 IT1 为外部中断1,0INT INT 的触发方式控制位:IT0/1 =0时为电平触发=1时下降沿触发当INT0(P3.2)输入低电平时,置位IE0。

当INT1(P3.3)输入低电平时,置位IE1。

IE0 、 IE1 为外部中断 0 、 1 请求标志,当有中断信号时由硬件置 1 ,完成中断时由硬件清 0IE1:外部中断1请示源(INT1,P3.3)标志。

IE1=1,外部中断1正在向CPU 请求中断,当CPU 响应该中断时由硬件清“0”IE1(边沿触发方式)。

C51特殊功能寄存器列表

C51特殊功能寄存器列表

(一)TMOD(定时器模式控制寄存器)1、字节地址89H,不可位寻址2、各位定义(MSB) (LSB)7 6 5 4 3 2 1 0GATE C/T M1 M0 GATE C/T M1 M0---------------- -----------------控制 T1 控制 T0GATE:门控位。

当GATE=1时计数器受外部中断信号控制C/T :计数器和定时器选择位。

C/T=0为定时器M1M0 操作方式 功能0 0 方式0 13位计数器0 1 方式1 16位计数器1 0 方式2 可以自动重新装载的8位计数器1 1 方式3 T0分为2个独立的计数器、T1停止计数。

注意:当单片机复位时TMOD各位都为0。

(二)TCON(定时器/外部中断控制寄存器)1、字节地址88H,可位寻址。

2、各位定义MSB LSB7 6 5 4 3 2 1 0TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0TF1:T1溢出标志。

当T1溢出时,有硬件置1,可向CPU发出中断请 求,CPU响应中断后由硬件 TR1:启动T1标志。

IE1:外部中断1请求标志IT1:外部中断触发方式,IT1=0为电平触发方式,低电平有效。

IT1=1为边沿触发标志高电平(三)IE(中断允许寄存器)1、字节地址A8H,可位寻址。

2、各位定义MSB LSB7 6 5 4 3 2 1 0EA *ET2 ES ET1 EX1 ET0 EX0EA:总中断允许位 ==1允许ES:串口中断允许位ET1:T1中断允许位(四)IP(中断优先级寄存器)1、字节地址B8H,可位寻址。

2、各位定义MSB LSB7 6 5 4 3 2 1 0/ / PT2 PS PT1 PX1 PT0 PX0-----------------------------------》优先级从低到高(五)T2CON(T2方式控制寄存器)1、字节地址:C8H2、各位定义:MSB LSB7 6 5 4 3 2 1 0TF2 EXF2 RCLK TCLK EXEN2 RT2 C/T2 CP/RL2(六)TL0,THO,TL1,TH1,TL2,TH2,RCAP2L,RCAP2H(七)SCON(串口控制寄存器)1、位地址98H,可以位寻址2、各位定义MSB LSB7 6 5 4 3 2 1 0SM0 SM1 SM2 REN TB8 RB8 TI RISM0SM1 工作方式 功能说明0 0 0 移位寄存器方式(用于IO扩展)0 1 1 8位UART波特率可变1 02 9位UART1 1 3 9位UARTREN:允许接收控制位。

MCS-51单片机的特殊功能寄存器

MCS-51单片机的特殊功能寄存器

MCS-51单片机的特殊功能寄存器从图中我们可以看出,在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。

在一个51单片机的内部包含了这么多的东西。

对图进行进一步的分析,我们已知,对并行I/O口的读写只要将数据送入到相应I/O 口的锁存器就可以了,那么对于定时/计数器,串行I/O口等怎么用呢?在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SFR)。

事实上,我们已接触过P1这个特殊功能寄存器了,还有哪些呢?看下表下面,我们介绍一下几个常用的SFR。

1、ACC---是累加器,通常用A表示。

这是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东西,为什么给它这么一个名字呢?或许是因为在运算器做运算时其中一个数一定是在ACC中的缘故吧。

它的名字特殊,身份也特殊,稍后在中篇中我们将学到指令,可以发现,所有的运算类指令都离不开它。

自身带有全零标志Z,若A=0则Z=1;若A≠0则z=0。

该标志常用作程序分枝转移的判断条件。

2、B--一个寄存器。

在做乘、除法时放乘数或除数,不做乘除法时,随你怎么用。

3指针寄存器(1)程序计数器PC指明即将执行的下一条指令的地址,16位,寻址64KB范围,复位时PC = 0000H(2)堆栈指针SP指明栈顶元素的地址,8位,可软件设置初值,复位时SP = 07H(3)数据指针DPTR@R0、@R1、@DPTR;指明访问的数据存储器的单元地址,16位,寻址范围64KB。

DPTR = DPH + DPL。

可以用它来访问外部数据存储器中的任一单元,如果不用,也可以作为通用寄存器来用,由我们自已决定如何使用。

分成DPL(低8位)和DPH(高8位)两个寄存器。

用来存放16位地址值,以便用间接寻址或变址寻址的方式对片外数据RAM或程序存储器作64K字节范围内的数据操作4、PSW-----程序状态字。

C51单片机寄存器功能

C51单片机寄存器功能

单片机重要知识8051单片机的引脚图特殊功能寄存器SCON 串行口控制寄存器(1)SM0,SM1:串行口工作方式选择位。

各位的状态对应的方式功能如下(2) SM2 :多级通信控制位。

在方式2、方式3中用于多机通信控制。

在方式2、方式3的接收状态中,若SM2=1,接收到第九位(RB8)为0时,舍弃接收到的数据,RI清0;RB8为1时将接收到的数据送接收SBUF中,将RI置1,对于方式1,接收到有效停止位时,激活RI;对于方式0,SM2应置0.(3) REN:允许接收位。

REN=1时允许接收,REN由指令置位或复位。

REN=0 禁止串行口接收数据(4) TB8:第9位发送的数据,多机通信时(方式2、方式3)TB8标明主机发送的是地址还是数据,TB8=0为数据,TB8=1为地址。

TB8由指令置位或复位。

(5)RB8:接收到的第9位数据工作在方式2和3时,RB8存放接收到的第9位数据。

在方式1,如果SM2=0,RB8是接收到的停止位。

在方式0,不使用RB8。

(6)TI-发送中断标志位串行口工作在方式0时,串行发送第8位数据结束时由硬件置1.在其它工作方式中,串行口发送停止位的开始时置1.TI=1,表示一帧数据发送结束,可供软件查询,也可申请中断。

CPU响应中断后,在服务程序中向SBUF写入要发送的下一帧数据。

TI必须由软件清0.(7)RI-接收中断标志位串行口工作在方式0时,接收完第8位数据时,RI由硬件置1.在其它工作方式中,串行口接收到停止位时,该位置1。

RI=1表示一帧数据接收完毕,并申请中断,要求CPU从接收SBUF取走数据。

该位的状态也可供软件查询。

RI必须由软件清0.SCON的所有位都可以进行位操作清0或置1TCON 定时器/计数器控制寄存器(1)ITO-选择外部中断请求0为跳沿触发方式还是电平触发方式;IT0=0为电平触发方式,加到引脚/INT0上的外部中断请求输入信号为低电平有效IT0=1 为跳沿触发方式,加到引脚/INT0上面的外部中断请求输入信号电平从高到低的负跳变有效。

MCS-51单片机的(SFR)特殊功能寄存器

MCS-51单片机的(SFR)特殊功能寄存器

MCS-51单片机的特殊功能寄存器从图中我们可以看出,在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。

在一个51单片机的内部包含了这么多的东西。

对图进行进一步的分析,我们已知,对并行I/O口的读写只要将数据送入到相应I/O 口的锁存器就可以了,那么对于定时/计数器,串行I/O口等怎么用呢?在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SFR)。

事实上,我们已接触过P1这个特殊功能寄存器了,还有哪些呢?看下表下面,我们介绍一下几个常用的SFR。

1、ACC---是累加器,通常用A表示。

这是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东西,为什么给它这么一个名字呢?或许是因为在运算器做运算时其中一个数一定是在ACC中的缘故吧。

它的名字特殊,身份也特殊,稍后在中篇中我们将学到指令,可以发现,所有的运算类指令都离不开它。

自身带有全零标志Z,若A=0则Z=1;若A≠0则z=0。

该标志常用作程序分枝转移的判断条件。

2、B--一个寄存器。

在做乘、除法时放乘数或除数,不做乘除法时,随你怎么用。

3指针寄存器(1)程序计数器PC指明即将执行的下一条指令的地址,16位,寻址64KB范围,复位时PC = 0000H(2)堆栈指针SP指明栈顶元素的地址,8位,可软件设置初值,复位时SP = 07H(3)数据指针DPTR@R0、@R1、@DPTR;指明访问的数据存储器的单元地址,16位,寻址范围64KB。

DPTR = DPH + DPL。

可以用它来访问外部数据存储器中的任一单元,如果不用,也可以作为通用寄存器来用,由我们自已决定如何使用。

分成DPL(低8位)和DPH(高8位)两个寄存器。

用来存放16位地址值,以便用间接寻址或变址寻址的方式对片外数据RAM或程序存储器作64K字节范围内的数据操作4、PSW-----程序状态字。

C51存储器类型MCS-51单片机物理存储器区域

C51存储器类型MCS-51单片机物理存储器区域

C51存储器类型MCS-51单⽚机物理存储器区域1、 data区空间⼩,所以只有频繁⽤到或对运算速度要求很⾼的变量才放到data区内,⽐如for循环中的计数值。

2、 data区内最好放局部变量。

因为局部变量的空间是可以覆盖的(某个函数的局部变量空间在退出该函数是就释放,由别的函数的局部变量覆盖),可以提⾼内存利⽤率。

当然静态局部变量除外,其内存使⽤⽅式与全局变量相同;3、确保你的程序中没有未调⽤的函数。

在Keil C⾥遇到未调⽤函数,编译器就将其认为可能是中断函数。

函数⾥⽤的局部变量的空间是不释放,也就是同全局变量⼀样处理。

这⼀点Keil C做得很愚蠢,但也没办法。

4、程序中遇到的逻辑标志变量可以定义到bdata中,可以⼤⼤降低内存占⽤空间。

在51系列芯⽚中有16个字节位寻址区bdata,其中可以定义8*16=128个逻辑变量。

定义⽅法是: bdata bit LedState;但位类型不能⽤在数组和结构体中。

5、其他不频繁⽤到和对运算速度要求不⾼的变量都放到xdata区。

6、如果想节省data空间就必须⽤large模式,将未定义内存位置的变量全放到xdata区。

当然最好对所有变量都要指定内存类型。

7、当使⽤到指针时,要指定指针指向的内存类型。

在C51中未定义指向内存类型的通⽤指针占⽤3个字节;⽽指定指向data区的指针只占1个字节;指定指向xdata区的指针占2个字节。

如指针p是指向data区,则应定义为: char data *p;。

还可指定指针本⾝的存放内存类型,如:char data * xdata p;。

其含义是指针p指向data区变量,⽽其本⾝存放在xdata区。

bit是在内部数据存储空间中 20H .. 2FH 区域中⼀个位的地址,或者 8051 位可寻址 SFR 的⼀个位地址。

code是在 0000H .. 0FFFFH 之间的⼀个代码地址。

data是在 0 到 127 之间的⼀个数据存储器地址,或者在 128 .. 255 范围内的⼀个特殊功能寄存器(SFR)地址。

C51数据类型

C51数据类型

C51数据类型C51数据类型是指在C51单片机编程中所使用的数据类型。

C51单片机是一种广泛应用于嵌入式系统中的8位微控制器,它具有高性能、低功耗和易于编程等特点。

在C51单片机编程中,数据类型的选择和使用对于程序的正确性和效率至关重要。

C51数据类型主要包括整型、字符型、浮点型和枚举型等。

下面将详细介绍每种数据类型的特点和使用方法。

1. 整型(int):整型是C51中最常用的数据类型之一,用于表示整数值。

C51单片机中的整型数据通常占用16位(2个字节)的存储空间,范围为-32768到32767。

可以使用关键字"int"来声明整型变量,例如:```cint a = 10;```2. 字符型(char):字符型用于表示单个字符,占用8位(1个字节)的存储空间。

在C51中,字符型数据使用ASCII码表示,范围为0到255。

可以使用关键字"char"来声明字符型变量,例如:```cchar ch = 'A';```3. 浮点型(float):浮点型用于表示带有小数部分的数值。

C51单片机中的浮点型数据通常占用32位(4个字节)的存储空间,范围为3.4E-38到3.4E+38。

可以使用关键字"float"来声明浮点型变量,例如:```cfloat f = 3.14;```4. 枚举型(enum):枚举型用于定义一组具有名称的常量。

在C51中,枚举型常量默认从0开始递增,可以手动指定初始值。

可以使用关键字"enum"来声明枚举型变量,例如:```cenum Weekday { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday };enum Weekday today = Tuesday;```除了以上常用的数据类型,C51还支持其他数据类型,如无符号整型(unsigned int)、长整型(long)、双精度浮点型(double)等。

80C51的基本结构

80C51的基本结构

80C51的基本结构80C51的引脚封装时钟电路总线控制CPUROM/EPROM/FLASH4K 字节RAM 128字节 SFR 21个定时/计数器2个中断系统5中断源、2优先级串行口 全双工 2个并行口 4个RST EAALE PSENXTAL2XTAL1P0 P1 P2 P3V CCV SS一、80C51的内部结构:1.80C51的微处理器(CPU)(1)运算器:累加器ACC ;寄存器B ;程序状态字寄存器PSW 。

(2)控制器:程序计数器PC ;指令寄存器IR ;定时与控制逻辑2.80C51的片内存储器在物理上设计成程序存储器和数据存储器两个独立的空间:(1)内部ROM容量4K字节,范围是:000H~0FFFH(2)内部RAM容量128字节,范围是:00H~7FH3.80C51的I/O口及功能单元(1)四个8位的并行口,即P0~P3。

它们均为双向口,既可作为输入,又可作为输出。

每个口各有8条I/O线。

(2)有一个全双工的串行口(利用P3口的两个引脚P3.0和P3.1);(3)有2个16位的定时/计数器;(4)有1套完善的中断系统。

4.80C51的特殊功能寄存器(SFR)内部有SP,DPTR(可分成DPH、DPL两个8位寄存器),PCON,…,IE,IP等21个特殊功能寄存器单元,它们同内部RAM的128个字节统一编址,地址范围是80H~FFH。

增强型单片机的SFR有26个字节单元,所增加的5个单元均与定时/计数器2相关。

二、80C51的时钟与时序1.80C51的时钟产生方式可分为内部时钟和外部时钟2.80C51的时钟信号一个机器周期包含12个晶荡周期或6个时钟周期,指令的执行时间称作指令周期(单、双周期)。

各指令的微操作在时间上有严格的次序,这种微操作的时间次序我们称作时序。

三、80C51单片机的复位复位目的是使单片机或系统中的其它部件处于某种确定的初始状态。

复位有上电复位和上电复位和按键均有效的复位。

C51单片机21个特殊功能寄存器

C51单片机21个特殊功能寄存器

21个特殊功能寄存器(52系列是26个)不连续地分布在128个字节的SFR存储空间中,地址空间为80H-FFH,在这片SFR空间中,包含有128个位地址空间,地址也是80H-FFH,但只有83个有效位地址,可对11个特殊功能寄存器的某些位作位寻址操作(这里介绍一个技巧:其地址能被8整除的都可以位寻址)。

在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。

在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SFR)。

这样的特殊功能寄存器51单片机共有21个并且都是可寻址的列表如下(其中带*号的为52系列所增加的特殊功能寄存器):分别说明如下:1、ACC---是累加器,通常用A表示这是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东西,为什么给它这么一个名字呢?或许是因为在运算器做运算时其中一个数一定是在ACC中的缘故吧。

它的名字特殊,身份也特殊,稍后在中篇中我们将学到指令,可以发现,所有的运算类指令都离不开它。

自身带有全零标志Z,若A=0则Z=1;若A ≠0则z=0。

该标志常用作程序分枝转移的判断条件。

2、B--一个寄存器在做乘、除法时放乘数或除数,不做乘除法时,随你怎么用。

3、PSW-----程序状态字。

这是一个很重要的东西,里面放了CPU工作时的很多状态,借此,我们可以了解CPU的当前状态,并作出相应的处理。

它的各位功能请看下表:下面我们逐一介绍各位的用途CY:进位标志。

8051中的运算器是一种8位的运算器,我们知道,8位运算器只能表示到0-255,如果做加法的话,两数相加可能会超过255,这样最高位就会丢失,造成运算的错误,怎么办?最高位就进到这里来。

这样就没事了。

有进、借位,CY=1;无进、借位,CY=0例:78H+97H(01111000+10010111)AC:辅助进、借位(高半字节与低半字节间的进、借位)。

C51单片机复习题

C51单片机复习题
6、片内RAM的20H~2FH为位寻址区,所包含的位地址是( )。
A、00H~20H B、00H~7FH C、20H~2FH D、00H~FFH
7、使用宏来访问绝对地址时,一般需包含的库文件是(B)
A、reg51.h B、absacc.h C、intrins.h D、startup.h
8、8255A是可编程的并行输入/输出接口芯片,内部有(C)个8位的并行口。
二、选择题(每小题1分,共20分)
1、一字节补码所能表示的整数范围是(A)。
A、-128~+127 B、-127~+127 C、-129~+128 D、-128~+128
2、12MHz晶振的单片机在定时工作方式下,定时器计一个数所用的定时时间是(A)
A、1 s B、2 s C、4 s D、8 s
3、通过串行口发送或接收数据时,发送或接收的数据暂存在(D)寄存器中。
A、主电源+5V B、接地C、备用电源D、访问片外存贮器
17、支持写入单片机或仿真调试的目标程序的文件格式是D。
A、.ASM B、.CC、.EXE D、.HEX
18、在串行通信过程中,下面关于TI和RI说法正确的是C。
A、在查询方式中,系统自动清零TI和RI。
B、在中断方式中,系统自动清零TI和RI。
12、定时/计数器中断发生在()
A、送入初值时B、启动定时/计数时C、定时/计数停止时D、计数值满量程时
13、与外部中断无关的寄存器是()
A、TCON B、PCONC、SCOND、IP
14、在8为单片机中-50H的补码是()
A、00110010B B、CFHC、10110010BD、CEH
15、若以下ASCII码中有奇偶校验位,采用偶校验的是()

c51复习题(2)

c51复习题(2)

一、填空1.KeiL C51软件中,工程文件的扩展名是___.c______,编译连接后生成可烧写的文件扩展名是_______HEX____。

2.C51支持的指针有基于存储器的指针和一般指针。

3.C51中,没有专门的循环语句,我们可以用函数___________完成一个字节的循环左移,用______完成二个字节的循环左移。

4.函数是C语言的基本单位。

5.C语言中输入和输出操作是由库函数和等函数来完成。

6.若有说明int i,j,k;则表达式i=10,j=20,k=30,k*=i+j的值为__ ______。

7.是一组有固定数目和相同类型成分分量的有序集合。

8.变量的指针就是变量的;指针变量的值是。

9.在C语言中,把多个不同类型的变量结合在一起形成的一个组合型变量,称为,简称。

10.C51的数据类型有、、、。

11.C51的基本数据类型有、、、、、。

12.C51的构造数据类型有、、、。

13.C51的存储类型有data 、idata 、bdata 、xdata 、pdata 、code 。

14.C51的存储模式有SMALL模式、COMPACT模式和LARGE模式。

15.C51程序与其他语言程序一样,程序结构也分为、、三种。

16.数组的一个很重要的用途就是。

17.二、单项选择题:1.89S51的内部程序存储器与数据存储器容量各为多少?(c )(A)64KB、 128B ( B)4KB、64KB(C)4KB、128B (D)8KB、256B2.在8x51芯片里,哪个引脚用于控制使用内部程序存储器还是外部程序存储器?( b)(A)XTAL1 (B)/EA (C)/PSEN (D)ALE3.下列哪个不是KeilC的预处理命令?( c(A)#include (B)#define (C)#exit (D)#if4.下列哪个不是KeilC的数据类型?( b)(A)void (B)string (C)char (D)float5.在8x51的输入/输出端口里,哪个输入/输出端口执行在输出功能时没有内部上拉电阻( A)(A)P0 (B)P1 (C)P2 (D)P36.在KeilC的程序里,若要指定P0口的bit3,如何编写?( C)(A)P0.3 (B)Port0.3 (C)P0^3 (D)Port^37.在8x51里,若要扩展外部存储器时,数据总线连接哪个输入/输出端口?(A )(A)P0 (B)P1 (C)P2 (D)P38.点亮一般的LED所耗的电流约为多少?( D)(A)1~5uA (B)10~20uA (C)1~5mA (D)10~20mA9.在8x51的程序里,若要将个输入/输出端口设置成输入功能,应如何处理?( A)(A)先输出高电平到该输入/输出端口(B)先输出低电平到该输入/输出端口(C)先读取该输入/输出端口的状态(D)先保存该输入/输出端口的状态10.根据实验统计,当操作开关时,其不稳定关态大约持续多久?( B)(A)1~5ms (B)10~20ms (C)100~150ms (D)150~250us11.在KeilC里,判读开关状态时,使用if_else if语句与使用switch语句有何差异?( B)(A)if-else if 语句较快(B)if-else if语句有优先级(C)switch语句可判读较多开关状态(D)switch 语句有优先级12.对于低电平动作(低电平触发)的开关而言,下列哪个不是在输入口上连接一个上拉电阻VCC的目的?( A)(A)提供足够的驱动电流(B)防止确定状态(C)保持输入高电平(D)防止噪声干扰13.中断功能具有什么好处?(C )(A)让程序更复杂(B)让程序执行速度更快(C)让程序更有效率(D)以上皆非14.8x51的IP缓存器的功能为何?(A )(A)设置中断优先级(B)启用中断功能(C)设置中断触发信号(D)定义CPU的网址15.在KeilC里,中断子程序与函数有何不同?( A)(A)中断子程序不必声明(B)函数不必声明(C)中断子程序必须有形式参数(D)中断子程序一定会有返回值16.若要同时启用INT0及INT1中断功能,则应如何设置?(B )(A)TCON=0x81 (B)IE=0x85 (C)IP=0x83 (D)IE=0x0317.若要提高INT1的优先级,则应如何设置?( C)(A)IP=0x01 (B)IE=0x01 (C)IP=0x04 (D)IE=0x0418.在8x51的Timer里,若使用Mode 0,其最大计数值为多少个机器周期?(B )(A)65536 (B)8192 (C)1024 (D)25619.12 MHz的8x51系统里,哪一种方式一次可定时5ms?( A)(A)Mode0及Mode1 (B)Mode1及Mode2 (C ) Mode2及Mode3 (D) Mode3及Mode120.8x51的定时器,在下列哪种方式下具有自动加载功能?( C)(A)Mode0 (B) Mode1 (C)Mode2 (D)Mode321.若将Timer0设置为外部启动,则可由哪个引脚启动?( A)(A)P3.2 (B)P3.3 (C)P3.4 (D)P3.522.下列哪个IC具有将串行数据转换成并行数据的功能?( B)(A)74138 (B)74164 (C)74165 (D)7416823.在同一时刻,只能接收或发送信号者称为什么?( A(A)半双工(B)全双工(C)半单工(D)单工24‘在8x51的串行口里,在哪一种方式下,可利用Timer1产生波特率?(C )(A)Mode0 (B)Mode1 (C)Mode2 (D)Mode325.在8x51里,若通过串行端口传出数据,则只要将数据放入哪个寄存器,CPU就会自动将它会传出?( B)(A)SMOD (B)SBUF (C)PCON (D)RBUF26.在8x51里,若CPU完成串行端口数据的接收将会如何?( D)(A)将TI标志变为0 (B)将RI标志为0 (C)将TI标志变为了 1 (D)将RI标志变为127.若要设置8x51串行端口方式,可在哪个寄存器中设置?( B)(A)SMOD (B)SCON (C)PCON (D)TCON28.在共阳极8*8LED点阵里,其阳极如何连接?(C)(A)各行阳极连接到行引脚(B)各列阳极连接到列引脚(C)各行阳极连接到列引脚(D)各列阳极连接到行引脚29.在共阳极8*8点阵里,其阴极如何连接?( C)(A)各行阴极连接到行引脚(B)各列阴极连接到列引脚(C)各行阴极连接到列引脚(D)各列阴极连接到行引脚30.通常8*8LED点阵的驱动方式是什么?( B)(A)直接驱动(B)扫描驱动(C)双向驱动(D)以上皆非31.若要对LCM下指令,则应如保设置?(A )(A)RS=0,R/~W=0 (B)RS=1,R/~W=0 (C)RS=1,R/~W=1(D)RS=0,R/~W=132.若要在LCM中显示些字符,则需把所要显示的字符放入何处?(B )(A)CG RAM (B)DDRAM (C)IRAM (D)GDRAM33.若要将数据写入LCM,则应如何设置?(B )(A)RS=0,R/~W=0 (B)RS=1,R/~W=0 (C)RS=1,R/~W=1 (D)RS=0,R/~w=134.利用下列( D )关键字可以改变工作寄存器组A、interruptB、sfrC、whileD、using35.C51中一般指针变量占用( C )字节存储。

51单片机寄存器详解

51单片机寄存器详解

定时器/计数器的方式寄存器TMODTMOD是一个8位的特殊功能寄存器,对应的地址是89H,不可位寻址。

TMOD:工作方式控制寄存器寄存器地址89H,不可位寻址。

位序 B7 B6 B5 B4 B3 B2 B1 B0位符号GATE C/T M1 M0 GATE C/T M1 M0GATE——门控位当=0时,以运行TR0(或TR1)启动或禁止定时器、计数器当=1时,以TR0*/INT0(或TR1*/INT1)启动或禁止定时器、计数器GATE=0 以TR0(TR1)启动定时器GATE=1 以INT0(INT1)启动定时器C/T=0 定时/计数工作方式选择位M1M0——工作方式选择位T2MOD:工作方式控制寄存器寄存器地址0C9H,不可位寻址------T2OE DCENT2OE:定时器2输出允许位,当=1时,P1.0/T2引脚输出连续脉冲信号DCEN:当=1时,T2配置成向上向下计数器A 主要完成三个功能:*确T0计数溢出标志位当计数器计数溢出时,该位置“1”。

使用查询方式时,此位作为状态位供cpu查询,但应注意在查询该位有效后应以软件方法及时将该位清“0”。

使用中断方式时,此位作为中断申请标志位,进入中定选择定时器还是计数器;*选择何种工作方式;*是否借用外中断控制定时器和计数器的启停;B TMOD的低4位是控制T0的字段(T0--P3.4 定时器/计数器0外部事件脉冲输入端)TMOD的高4位是控制T1的字段(T1--P3.5定时器/计数器1外部事件脉冲输入端)C 控制字的格式和含义a、 GATE(TMOD.7)分为两种情况:GATE=0,定时器的启停和INT1无关,只取决于TR0;GATE=1,定时器的启停不仅要由TR0来控制,而且要INT1引脚的控制,只有二者都为高电平时定时器才开始工作; b、 C/T(TMOD.6) 分为两种情况:C/T=0,用作定时器;C/T=1,用作计数器; d、 M1(TMOD.5),M0(TMOD.4)用M1,M0来控制定时器/计数器的4种工作方式:*方式0:M1=0,M0=0.13位定时/计数方式*方式1:M1=0,M0=1.16位定时/计数器*方式2,M1=1,M0=0.8位初值自动重新装入的8位定时/计数器*方式3,M1=1,M0=1.仅适用于T0,分为两个8位计数器,T1停止计数定时器/计数器控制寄存器TCONTCON是一个8位的特殊功能寄存器,对应的地址为88H,可为寻址。

C51关键字 数据类型 及 存储类型总结

C51关键字 数据类型 及 存储类型总结

C51关键字数据类型及存储类型总结一、数据类型1.char 字符类型char 类型的长度是一个字节,通常用于定义处理字符数据的变量或常量。

分无符号字符类型unsigned char 和有符号字符类型signed char,默认值为signed char 类型。

unsigned char 类型用字节中所有的位来表示数值,所能表达的数值范围是0~255。

signed char 类型用字节中最高位字节表示数据的符号,“0”表示正数,“1”表示负数,负数用补码表示。

所能表示的数值范围是-128~+127。

unsigned char 常用于处理ASCII 字符或用于处理小于或等于255 的整型数。

2.int 整型int 整型长度为两个字节,用于存放一个双字节数据。

分有符号int 整型数signed int 和无符号整型数unsigned int,默认值为signed int 类型。

signed int 表示的数值范围是-32768~+32767,字节中最高位表示数据的符号,“0”表示正数,“1”表示负数。

unsigned int 表示的数值范围是0~65535。

3.long 长整型long 长整型长度为四个字节,用于存放一个四字节数据。

分有符号long 长整型signed long 和无符号长整型unsigned long,默认值为signed long 类型。

signed int 表示的数值范围是-2147483648~+2147483647,字节中最高位表示数据的符号,“0”表示正数,“1”表示负数。

unsigned long 表示的数值范围是0~4294967295。

4.float 浮点型float 浮点型在十进制中具有7 位有效数字,是符合IEEE-754 标准的单精度浮点型数据,占用四个字节。

因浮点数的结构较复杂在以后的章节中再做详细的讨论。

5.指针型指针型本身就是一个变量,在这个变量中存放的指向另一个数据的地址。

C51单片机21个特殊功能寄存器

C51单片机21个特殊功能寄存器

21个特殊功能寄存器(52系列是26个)不连续地分布在128个字节的SFR存储空间中,地址空间为80H-FFH,在这片SFR空间中,包含有128个位地址空间,地址也是80H-FFH,但只有83个有效位地址,可对11个特殊功能寄存器的某些位作位寻址操作(这里介绍一个技巧:其地址能被8整除的都可以位寻址)。

在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。

在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SFR)。

这样的特殊功能寄存器51单片机共有21个并且都是可寻址的列表如下(其中带*号的为52系列所增加的特殊功能寄存器):分别说明如下:1、ACC---是累加器,通常用A表示这是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东西,为什么给它这么一个名字呢?或许是因为在运算器做运算时其中一个数一定是在ACC中的缘故吧。

它的名字特殊,身份也特殊,稍后在中篇中我们将学到指令,可以发现,所有的运算类指令都离不开它。

自身带有全零标志Z,若A=0则Z=1;若A ≠0则z=0。

该标志常用作程序分枝转移的判断条件。

2、B--一个寄存器在做乘、除法时放乘数或除数,不做乘除法时,随你怎么用。

3、PSW-----程序状态字。

这是一个很重要的东西,里面放了CPU工作时的很多状态,借此,我们可以了解CPU的当前状态,并作出相应的处理。

它的各位功能请看下表:下面我们逐一介绍各位的用途CY:进位标志。

8051中的运算器是一种8位的运算器,我们知道,8位运算器只能表示到0-255,如果做加法的话,两数相加可能会超过255,这样最高位就会丢失,造成运算的错误,怎么办?最高位就进到这里来。

这样就没事了。

有进、借位,CY=1;无进、借位,CY=0例:78H+97H(01111000+10010111)AC:辅助进、借位(高半字节与低半字节间的进、借位)。

C51单片机引脚功能与特殊功能寄存器详解

C51单片机引脚功能与特殊功能寄存器详解

C51单片机引脚功能与特殊功能寄存器详解单片机是一种集成电路,通过内部的处理器、存储器和各种输入输出接口,实现了复杂的计算和控制功能。

C51单片机是一种广泛应用于微控制器领域的经典产品,具有丰富的引脚功能和特殊功能寄存器。

本文将详细解析C51单片机引脚功能与特殊功能寄存器的特点和用途。

引脚功能C51单片机具有多个引脚,每个引脚都可以设置为不同的功能,如输入、输出、复用等。

通过合理配置引脚功能,可以满足不同的应用需求。

下面我们将介绍C51单片机常用的引脚功能。

1. 输入功能输入引脚常用于接收外部信号,如传感器的输出、按键信号等。

C51单片机的输入引脚通常具有高阻抗特性,可以对外部信号进行高阻抗电平的读取。

在程序中,可以通过相应的寄存器配置引脚为输入功能。

2. 输出功能输出引脚用于向外部设备发送信号,如控制LED灯的亮灭。

C51单片机的输出引脚可以设置为高电平或低电平,以控制外部设备的状态。

在程序中,可以通过相应的寄存器配置引脚为输出功能,并设置输出电平。

3. 复用功能C51单片机的引脚还支持复用功能。

复用功能允许多个引脚共用一个功能,提高引脚的利用效率。

通过配置相应的寄存器,可以将引脚设置为不同的复用功能,如串口通信、定时器输入等。

特殊功能寄存器特殊功能寄存器是一种特殊的内部寄存器,用于配置和控制C51单片机的各种功能。

它们通常位于特定的地址,通过读写这些地址,可以对单片机进行各种操作。

下面我们将介绍几个常用的特殊功能寄存器。

1. P0寄存器P0寄存器是一个8位的寄存器,对应C51单片机的8个I/O引脚。

通过读写P0寄存器,可以对引脚进行输入输出控制。

例如,将P0寄存器设置为输出模式,然后通过写入相应的值,即可控制引脚的电平。

2. P1寄存器P1寄存器也是一个8位的寄存器,对应C51单片机的另外8个I/O引脚。

它具有与P0寄存器类似的功能,但是默认配置为输入模式。

通过设置P1寄存器的相应位,可以将引脚设置为输出模式。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

51单片机的特殊功能寄存器
2009-03-16 10:16
通过前面课程的学习,我们已知道了单片机的内部有ROM、有RAM、有并行I/O 口,那么,除了这些东西之外,单片机内部究竟还有些什么?这些个零碎的东西怎么连在一起的?
下面就让我们来对单片机内部作一个完整的分析吧!
从图中我们可以看出,在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有 RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。

在一个51单片机的内部包含了这么多的东西。

对图进行进一步的分析,我们已知,对并行I/O口的读写只要将数据送入到相应I/O口的锁存器就可以了,那么对于定时/计数器,串行I/O口等怎么用呢?在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SFR)。

事实上,我们已接触过P1这个特殊功能寄存器了,还有哪些呢?看下表
下面,我们介绍一下几个常用的SFR。

1、ACC---是累加器,通常用A表示。

这是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东西,为什么给它这么一个名字呢?或许是因为在运算器做运算时其中一个数一定是在ACC中的缘故吧。

它的名字特殊,身份也特殊,稍后在中篇中我们将学到指令,可以发现,所有的运算类指令都离不开它。

自身带有全零标志Z,若A=0则 Z=1;若A≠0则z=0。

该标志常用作程序分枝转移的判断条件。

2、B--一个寄存器。

在做乘、除法时放乘数或除数,不做乘除法时,随你怎么用。

3、PSW-----程序状态字。

这是一个很重要的东西,里面放了CPU工作时的很多状态,借此,我们可以了解CPU的当前状态,并作出相应的处理。

它的各位功能请看下表:
下面我们逐一介绍各位的用途
CY:进位标志。

8051中的运算器是一种8位的运算器,我们知道,8位运算器只能表示到0-255,如果做加法的话,两数相加可能会超过255,这样最高位就会丢失,造成运算的错误,怎么办?最高位就进到这里来。

这样就没事了。

有进、借位,CY=1;无进、借位,CY=0
例:78H+97H(01111000+10010111)
AC:辅助进、借位(高半字节与低半字节间的进、借位)。

例:57H+3AH(01010111+00111010)
F0:用户标志位,由用户(编程人员)决定什么时候用,什么时候不用。

RS1、RS0:工作寄存器组选择位。

这个我们已知了。

0V:溢出标志位。

运算结果按补码运算理解。

有溢出,OV=1;无溢出,OV=0。

什么是溢出我们后面的章节会讲到。

P:奇偶校验位:它用来表示ALU运算结果中二进制数位“1”的个数的奇偶性。

若为奇数,则P=1,否则为0。

运算结果有奇数个1,P=1;运算结果有偶数个1,P=0。

例:某运算结果是78H(01111000),显然1的个数为偶数,所以P=0。

4、P0、P1、P2、P3------这个我们已经知道,是四个并行输入/输出口的寄存器。

它里面的内容对应着管脚的输出。

5、IE-----中断充许寄存器
按位寻址,地址:A8H
EA (IE.7):EA=0时,所有中断禁止(即不产生中断)
EA=1时,各中断的产生由个别的允许位决定
- (IE.6):保留
ET2(IE.5):定时2溢出中断充许(8052用)
ES (IE.4):串行口中断充许(ES=1充许,ES=0禁止)
ET1(IE.3):定时1中断充许
EX1(IE.2):外中断INT1中断充许
ET0(IE.1):定时器0中断充许
EX0(IE.0):外部中断INT0的中断允许
7、IP-----中断优先级控制寄存器
按位寻址,地址位B8H
6、指针寄存器
(1)程序计数器PC
指明即将执行的下一条指令的地址,16位,寻址64KB范围,
复位时PC = 0000H
(2)堆栈指针SP
指明栈顶元素的地址,8位,可软件设置初值,复位时SP = 07H
(3)数据指针DPTR
@R0、 @R1、@DPTR;指明访问的数据存储器的单元地址,16位,寻址范围64KB。

DPTR = DPH + DPL。

可以用它来访问外部数据存储器中的任一单元,如果不用,也可以作为通用寄存器来用,由我们自已决定如何使用。

分成DPL(低8位)和DPH(高8位)两个寄存器。

用来存放16位地址值,以便用间接寻址或变址寻址的方式对片外数据RAM或程序存储器作64K字节范围内的数据操作。

7、定时/计数器
(1)定时器方式寄存器:TMOD
(2)定时器控制寄存器:TCON
(3)计数寄存器:TH0、TL0;TH1、TL1。

可用于设定计数初值。

8052/8032增设专用寄存器
(1)定时器2控制寄存器T2CON;控制、设置工作方式。

(2)计数寄存器:TH2、TL2
(3)定时器2捕获/重装载寄存器:RCAP2H、RCAP2L
存放自动重装载到TH2、TL2的数据。

相关文档
最新文档