文档库 最新最全的文档下载
当前位置:文档库 › S7-200 PLC SM特殊功能寄存器赋值与功能

S7-200 PLC SM特殊功能寄存器赋值与功能

S7-200 PLC SM特殊功能寄存器赋值与功能
S7-200 PLC SM特殊功能寄存器赋值与功能

SMB0至SMB29(S7-200只读特殊内存)

每次扫描循环后,S7-200 CPU操作系统将新改动写入特殊内存中存储的系统数据中。如果从程序读取SMB0至SMB29,此为只读地址。如果程序尝试对只读SM地址写入,Micro/WIN会编译程序,不会出错。但是,CPU程序编译程序会拒绝程序,并显示“操作数范围错误,下载失败。”

程序可以读取存储在特殊内存地址中数据、评估当前系统状态、并使用有条件逻辑决定如何应答。

在运行模式中,对程序的连续扫描提供对所选系统数据的连续监管。

SMB0 系统状态位

SMB1 指令执行状态位

SMB2 自由端口接收字符

SMB3 自由端口奇偶校验错误

SMB4 中断队列溢出、运行时间程序错误、中断启用、自由端口传输器被强制

SMB5I/O 错误状态位

SMB6 CPU代码寄存器

SMB8-SMB21 I/O模块代码和错误寄存器

SMW22-SMW26 扫描时间

SMB28-SMB29 模拟调整

SMB30至SMB549(S7-200读取/写入特殊内存)

根据要求,S7-200 CPU操作系统从特殊内存读取配置/控制数据,并将新改动写入存储在特殊内存

中的系统数据。程序可以读取和写入所有SM地址30或更大的地址,但是SM数据的普通用法根据每个地址的功能不同而异。程序可以读取通常写入数据的SM地址。

程序可以在SM地址中读取和写入数据。SM地址提供一种解释系统状态数据、配置系统选项和控制

系统功能的方法。在运行模式中,对程序的连续扫描提供对特殊系统功能的连续存取能力。

SMB30和SMB130 自由端口控制寄存器

SMB31-SMW32 永久性内存(EEPROM)写入控制

SMB34-SMB35 用于定时中断的时间间隔寄存器

SMB36-SMB65 HSC0、HSC1和HSC2高速计数器寄存器

SMB66-SMB85 PTO / PWM高速输出寄存器

SMB86-SMB94和SMB186-SMB194 接收讯息控制

SMW98 I/O 扩充总线—通讯错误

SMB136-SMB165 HSC3、HSC4和HSC5高速计数器寄存器

SMB166-SMB194 用于PLC(脉冲)指令的PTO包络表

SMB200-SMB549 为智能扩充模块提供的状态信息保留,例如EM 277

PROFIBUS-DP模块。SMB200至SMB249为系统中的第一个智能扩充模块(离CPU最近的模块)保留;SMB250至SMB299为第二个智能模块保留。

SMB0系统状态位

特殊内存字节0( - )提供八个位,在每次扫描循环结尾处由S7-200 CPU更新。程序可以读取这些位的状态,然后根据位值作出决定。

S7-200符号名SM地址用户程序读取SMB0状态数据

Always_On 该位总是打开。

First_Scan_On 首次扫描循环时该位打开,一种用途是调用初始化子例行程序。

Retentive_Lost 如果保留性数据丢失,该位为一次扫描循环打开。该位可用作错误内存位或激活

特殊启动顺序的机制。

RUN_Power_Up 从电源开启条件进入RUN(运行)模式时,该位为一次扫描循环打开。该位可用

于在启动操作之前提供机器预热时间。

Clock_60s 该位提供时钟脉冲,该脉冲在1分钟的周期时间内OFF(关闭)30秒,ON(打开)

30秒。该位提供便于使用的延迟或1分钟时钟脉冲。

Clock_1s 该位提供时钟脉冲,该脉冲在1秒钟的周期时间内OFF(关闭)秒,ON(打开)秒。该

位提供便于使用的延迟或1秒钟时钟脉冲。

Clock_Scan 该位是扫描循环时钟,为一次扫描打开,然后为下一次扫描关闭。该位可用作扫描计数

器输入。

Mode_Switch 该位表示“模式”开关的当前位置(关闭 =“终止”位置,打开 =“运行”位置)。开关

位于RUN(运行)位置时,您可以使用该位启用自由端口模式,可使用转换至“终

止”位置的方法重新启用带PC/编程设备的正常通讯。

SMB1指令执行状态位

特殊内存字节1( - )为各种不同的指令提供执行状态,例如表格和数学运算。这些位在执行时由指令设置和重新设置。程序可以读取位值,然后根据数值作出决定。

S7-200符号名 SM地址用户程序读取SMB1状态数据

Result_0 当操作结果为零时,某些指令的执行打开该位。

Overflow_Illegal 当溢出结果或检测到非法数字数值时,某些指令的执行打开该位。

Neg_Result 数学操作产生负结果时,该位打开。

Divide_By_0 尝试除以零时,该位打开。

Table_Overflow “增加至表格”指令尝试过度填充表格时,该位打开。

Table_Empty LIFO或FIFO指令尝试从空表读取时,该位打开。

Not_BCD 尝试将非BCD数值转换为二进制数值时,该位打开。

Not_Hex 当ASCII数值无法转换成有效的十六进制数值时,该位打开。

SMB2自由端口接收字符

特殊内存字节2是自由端口接收字符缓冲器。在自由端口模式中接收的每个字符均被置于该位置,易于程序存取。

S7-200符号名SM地址用户程序读取SMB2,以便载入输入自由端口数据

Receive_Char SMB2 该字节包含在自由端口通讯过程中从端口0或端口1接收的每个字符。SMB3自由端口奇偶校验错误

SMB3用于自由端口模式,包含在接收字符中检测到奇偶错误时设置的奇偶错误位。当检测到奇偶错误时,打开。在程序接受和读取存储在SMB2中的讯息字符数值之前,使用该位测试自由端口讯息字符是否有传输错误。S7-200符号名SM地址用户程序读取SMB3,确认输入自由端口数据

Parity_Err 该位表示在端口0和端口1中出现奇偶校验错误。(0 = 无错;1 = 错误)

保留

SMB4中断队列溢出、运行时间程序错误、中断启用、自由端口传输器闲置、数值被强制

特殊内存字节4( - )包含中断队列溢出位和一个显示中断是启用还是禁用的位(SM )。这些位表示中断发生速率比可处理速率更快,或中断被全局中断禁用指令禁用。其他位表示:

●运行时间程序错误

●自由端口传输器状态

●任何PLC内存数值是否目前被强制

S7-200符号名 SM地址用户程序读取SMB4状态数据

Comm_Int_Ovr ** 通讯中断队列溢出时,该位打开。

Input_Int_Ovr ** 输入中断队列溢出时,该位打开。

Timed_Int_Ovr ** 定时中断队列溢出时,该位打开。

RUN_Err 检测到运行时间编程错误时,该位打开。

Int_Enable 该位反映全局中断启用状态。启用中断时,该位打开。

Xmit0_Idle 传输器闲置(端口0)时,该位打开。

Xmit1_Idle 传输器闲置(端口1)时,该位打开。

Force_On 当任何内存位置被强制时该位打开(仅限22x)。

** 仅限在中断例行程序中使用状态位、和。队列空置且控制返回主程序时,这些状态位被重设。

SMB5 I/O错误状态位

特殊内存字节5( - )包含表示在I/O系统中检测到的错误条件状态位。这些位为检测到的I/O错误提供概述。S7-200符号名 SM地址用户程序读取SMB5错误状态数据

IO_Err 如果存在任何I/O错误,该位打开。

Too_Many_D_IO 如果过多数字I/O点与I/O总线连接,该位打开。

Too_Many_A_IO 如果过多模拟I/O点与I/O总线连接,该位打开。

Too_Many_IM 如果过多智能I/O模块与I/O总线连接,该位打开。

保留

保留

保留

DP_Err 如果存在DP标准总线故障,该位打开(仅限S7-215)。

SMB6 CPU代码寄存器

特殊内存字节6是CPU标识寄存器。 - 识别PLC的类型。 - 为将来使用保留

SMB8-SMB21 I/O模块代码和错误寄存器

SMB8至SMB21以成对字节组织,用于扩充模块0至6。每对偶数字节是模块标识寄存器。这些字节识别模块类型、I/O类型以及输入和输出次数。每对奇数字节是模块错误寄存器。这些字节提供该模块I/O中检测到的任何错误。

I/O 模块代码和错误寄存器

EM0_ID SMB8 模块 0 识别(ID)寄存器

EM0_Err SMB9 模块 0 错误寄存器

EM1_ID SMB10 模块 1 识别(ID)寄存器

EM1_Err SMB11 模块 1 错误寄存器

EM2_ID SMB12 模块 2 识别(ID)寄存器

EM2_Err SMB13 模块 2 错误寄存器

EM3_ID SMB14 模块 3 识别(ID)寄存器

EM3_Err SMB15 模块 3 错误寄存器

EM4_ID SMB16 模块 4 识别(ID)寄存器

EM4_Err SMB17 模块 4 错误寄存器

EM5_ID SMB18 模块 5 识别(ID)寄存器

EM5_Err SMB19 模块 5 错误寄存器

EM6_ID SMB20 模块 6 识别(ID)寄存器

EM6_Err SMB21 模块 6 错误寄存器

SMW22-SMW26扫描时间

SMW22、SMW24和SMW26包含有关扫描时间的信息。您可以毫秒为单位读取最后一次扫描时间、最小扫描时间和最大扫描时间。

S7-200符号名 SM地址用户程序读取SMW22-SMW26扫描时间数据

Last_Scan SMW22 该字提供最后一次扫描的扫描时间。

Minimum_Scan SMW24 该字提供自进入RUN(运行)模式以来记录的最小扫描时间。

Maximum_Scan SMW26 该字提供自进入RUN(运行)模式以来记录的最大扫描时间。

SMB28-SMB29模拟调整

特殊内存字节28和29包含与模拟调整0和1轴角位置对应的数字值。模拟调整电位器位于CPU前方存取门后方。用一把小螺丝刀调整电位器(沿顺时钟方向增加,或沿逆时钟方向减少)。此类只读数值可被程序用于各种不同的功能,例如,为计时器或计数器更新当前值,输入或改动预设值或设置限制。模拟调整有一个0至255的额定范围,以及?2计数的重合性。

S7-200符号名 SM 地址用户程序读取SMB28-SMB29,获取电位器位置数据

Pot0_Value SMB28 该字节存储随模拟调节0输入的数值。

Pot1_Value SMB29 该字节存储随模拟调节1输入的数值。

SMB30和SMB130 自由口控制寄存器

SMB30控制端口0的自由口通讯;SMB130控制端口1的自由口通讯。您可以从SMB30和SMB130读取或向SMB30和SMB130写入。这些字节配置各自的通讯端口,进行自由口操作,并提供自由口或系统协议支持选择。

S7-200符号名地址为程序指令和S7-200 CPU读取/写入地址 >= SMB30

0 = 关断 = 低 1 = 接通 = 高

P0_Config SMB30 配置端口 0 通信:校验、每个字符的数据位数目、波特率和协议

P0_Config_0 为端口 0 选择自由接口或系统协议

P1_Config SMB130 配置端口 1 通信:校验、每个字符的数据位数目、波特率和协议

P1_Config_0 为端口 1 选择自由接口或系统协议

SMB31 和 SMW32 永久性内存(EEPROM)写入控制

您可以将存储在V内存中的一个数值保存至受程序控制的永久性内存(EEPROM)中。欲执行此一功能,将需要保存的位置地址载入SMW32。然后,将命令载入SMB31,保存该数值。一旦您载入保存数值的命令,在 CPU复原表示保存操作已经完成之前,您不得改变V内存中的数值。

在每次扫描结尾处,CPU检查是否发出将数值保存至永久内存的命令。如果发出命令,指定的数值被保存在永久内存中。

SMB31定义了存入永久存储器的数据大小,且提供了初始化存储操作的命令。SMW32提供了被数据在V存储中起始地址

Save_to_EEPROM SMB31 设置保存参数,用于将存储在 V 存储区中的数值保存至永久性存储区。

和 ss:被存数据类型 00=字节 10=字 01=字节 11=双字

Save_to_EEPROM_7 用户请求执行永久性存储区保存操作(0 = 无请求,1 = 保存)在每次保存操作

后,CPU 复位该位

Save_Address SMW32 存储将被保存的 V 存储区单元地址,该值是相对于V0的偏移量。当执行存储命

令时,把该数据存到永久存储器中相应的位置。

SMB34-SMB35用于定时中断的时间间隔寄存器

特殊内存字节34和35控制中断0和中断1的时间间隔。您可以指定从1毫秒至255毫秒**的时间间隔(以1毫秒为增量)。相应的定时中断事件附加在中断例行程序中时,CPU捕获时间间隔数值。欲改变时间间隔,您必须将定时中断事件重新附加在相同的或不同的中断例行程序中。用分离事件的方法终止定时中断事件。

S7-200符号名SM地址以毫秒为单位的定时中断间隔

Time_0_Intrvl SMB34 定时中断0:时间间隔数值(以1毫秒为增量,从1毫秒至255毫秒**)。

Time_1_Intrvl SMB35 定时中断1:时间间隔数值(以1毫秒为增量,从1毫秒至255毫秒**)。

**对于21x系列,时间间隔(以1毫秒为增量)从5毫秒至255毫秒。

SMB36-SMB65 HSC0、HSC1 和 HSC2 高速计数器寄存器

HSC0 寄存器(高速计数器 0)

HSC0_Status SMB36 HSC0 计数器状态(仅限在执行由高速计数器事件触发的中断程序时有效。)

HSC0_Status_5 HSC0 当前计数方向状态:1 = 增计数

HSC0_Status_6 HSC0 当前值等于预置值状态:1 = 等于

HSC0_Status_7 HSC0 当前值大于预置值状态:1 = 大于

HSC0_Ctrl SMB37 配置和控制 HSC0

HSC0_Reset_Level HSC0 计数器复位有效电平控制:0 = 高电平有效;1 = 低电平有效

HSC0_Rate HSC0 计数速率选择器:0 = 4x(4 倍速);1=1x

HSC0_Dir HSC0 计数方向控制:0 = 减计数;1 = 增计数

HSC0_Dir_Update HSC0 更新计数方向:0 = 无更新;1 = 更新方向

HSC0_PV_Update HSC0 更新预置值:0 = 无更新;1 = 更新预置值

HSC0_CV_Update HSC0 更新当前值:0 = 无更新;1 = 更新当前值

HSC0_Enable HSC0 启用:0 = 禁止;1 = 启用

HSC0_CV SMD38 HSC0 新当前值

HSC0_PV SMD42 HSC0 新预置值

HSC1 寄存器(高速计数器 1)

HSC1_Status SMB46 HSC1 计数器状态(仅限在执行由高速计数器事件触发的中断程序时有效。) HSC1_Status_5 HSC1 当前计数方向状态:1 = 增计数

HSC1_Status_6 HSC1 当前值等于预置值状态:1 = 等于

HSC1_Status_7 HSC1 当前值大于预置值状态:1 = 大于

HSC1_Ctrl SMB47 配置和控制 HSC1

HSC1_Reset_Level HSC1 计数器复位有效电平控制:0 = 高电平有效;1 = 低电平有效HSC1_Start_Level HSC1 计数器启动有效电平控制:0 = 高电平有效;1 = 低电平有效HSC1_Rate HSC1 计数速率选择器:0 = 4x(4 倍速);1=1x

HSC1_Dir HSC1 计数方向控制:0 = 减计数;1 = 增计数

HSC1_Dir_Update HSC1 更新计数方向:0 = 无更新;1 = 更新方向

HSC1_PV_Update HSC1 更新预置值:0 = 无更新;1 = 更新预置

HSC1_CV_Update HSC1 更新当前值:0 = 无更新;1 = 更新当前值

HSC1_Enable HSC1 启用:0 = 禁止;1 = 启用

HSC1_CV SMD48 HSC1 新当前值

HSC1_PV SMD52 HSC1 新预置值

HSC2寄存器(高速计数器2)

HSC2_Status SMB56 HSC2 计数器状态(仅限在执行由高速计数器事件触发的中断程序时有效。) HSC2_Status_5 HSC2 当前计数方向状态:1 = 增计数

HSC2_Status_6 HSC2 当前值等于预置值状态:1 = 等于

HSC2_Status_7 HSC2 当前值大于预置值状态:1 = 大于

HSC2_Ctrl SMB57 配置和控制 HSC2

HSC2_Reset_Level HSC2 计数器复位有效电平控制:0 = 高电平有效;1 = 低电平有效HSC2_Start_Level HSC2 计数器启动有效电平控制:0 = 高电平有效;1 = 低电平有效HSC2_Rate HSC2 计数速率选择器:0 = 4x(4 倍速);1=1x

HSC2_Dir HSC2 计数方向控制:0 = 减计数;1 = 增计数

HSC2_Dir_Update HSC2 更新计数方向:0 = 无更新;1 = 更新方向

HSC2_PV_Update HSC2 更新预置值:0 = 无更新;1 = 更新预置值

HSC2_CV_Update HSC2 更新当前值:0 = 无更新;1 = 更新当前值

HSC2_Enable HSC2 启用:0 = 禁止;1 = 启用

HSC2_CV SMD58 HSC2 新当前值

HSC2_PV SMD62 HSC2 新预置值

SMB66-SMB85 PTO / PWM 高速输出寄存器

SMB66至SMB85被用于监控和控制PLC(脉冲)指令的脉冲链输出和脉冲宽度调制功能。

PTO0_Status SMB66 PTO0 状态

PLS0_Err_Abort PTO0 包络终止:0 = 无错;1 = 由于δ计算错误终止

PLS0_Cmd_Abort PTO0 包络终止:0 = 未被用户命令终止;1 = 被用户命令终止

PLS0_Ovr PTO0 管道溢出(使用外部包络时,由系统清除,否则必须由用户复位):0 = 无

溢出;1 = 管道溢出

PLS0_Idle PTO0 空闲:0 = PTO 正在执行;1 = PTO 空闲

PLS0_Ctrl SMB67 监控与控制上的 PTO0(脉冲串输出)和 PWM0(脉冲宽度调制)

PLS0_Cycle_Update PTO0/PWM0 更新周期值:1 = 写入新周期

PWM0_PW_Update PTO0/PWM0 更新脉冲宽度值:1 = 写入新脉冲宽度

PTO0_PC_Update PTO0 更新脉冲计数值:1 = 写入新脉冲计数

PLS0_TimeBase PTO0/PWM0 时间基准:0 = 1祍/tick,1 = 1ms/tick

PWM0_Sync 同步更新 PWM0:0 = 异步更新;1 = 同步更新

PTO0_Op PTO0:0 = 单段操作;1 = 多段操作

PLS0_Select PTO0/PWM0 模式选择:0 = PTO;1 = PWM.

PLS0_Enable PTO0/PWM0 启用:1 = 启用

PLS0_Cycle SMW68 字数据类型:PTO0/PWM0 周期值(2 至 65,535 个时间基准单位)

PWM0_PW SMW70 字数据类型:PWM0 脉冲宽度值(0 至 65,535 个时间基准单位)

PTO0_PC SMD72 双字数据类型:PTO0 脉冲计数值(1 至 2^32 - 1)

PTO1_Status SMB76 PTO1 状态

PLS1_Err_Abort PTO1 包络终止:0 = 无错;1 = 由于δ计算错误终止

PLS1_Cmd_Abort PTO1 包络终止:0 = 未被用户命令终止;1 = 被用户命令终止

PLS1_Ovr PTO1 管道溢出(使用外部包络时,由系统清除,否则必须由用户复位):0 = 无

溢出;1 = 管道溢出

PLS1_Idle PTO1 空闲:0 = PTO 正在执行;1 = PTO 空闲

PLS1_Ctrl SMB77 监控与控制上的 PTO1(脉冲串输出)和PWM1(脉冲宽度调制)

PLS1_Cycle_Update PTO1/PWM1 更新周期值:1 = 写入新周期

PWM1_PW_Update PTO1/PWM1 更新脉冲宽度值:1 = 写入新脉冲宽度

PTO1_PC_Update PTO1 更新脉冲计数值:1 = 写入新脉冲计数

PLS1_TimeBase PTO1/PWM1 时间基准:0 = 1祍/tick,1 = 1ms/tick

PWM1_Sync 同步更新 PWM1:0 = 异步更新;1 = 同步更新

PTO1_Op PTO1:0 = 单段操作;1 = 多段操作

PLS1_Select PTO1/PWM1 模式选择:0 = PTO;1 = PWM.

PLS1_Enable PTO1/PWM1 启用:1 = 启用

PLS1_Cycle SMW78 字数据类型:PTO1/PWM1 周期值(2 至 65,535 个时间基准单位)

PWM1_PW SMW80 字数据类型:PWM1 脉冲宽度值(0 至 65,535 个时间基准单位)

PTO1_PC SMD82 双字数据类型:PTO1 脉冲计数值(1 至 2^32 - 1)

SMB86-SMB94(端口0)和 SMB186-SMB194(端口1)接收信息控制

P0_Stat_Rcv SMB86 端口 0 接收信息状态

P0_Stat_Rcv_0 1 = 接收信息终止:校验错误

P0_Stat_Rcv_1 1 = 接收信息终止:达到最大字符计数

P0_Stat_Rcv_2 1 = 接收信息终止:定时器超时

P0_Stat_Rcv_5 1 = 接收信息终止:收到结束字符

P0_Stat_Rcv_6 1 = 接收信息终止:输入参数错误或缺少开始或结束条件

P0_Stat_Rcv_7 1 = 接收信息终止:用户禁止命令

P0_Ctrl_Rcv SMB87 端口 0接收信息控制

P0_Ctrl_Rcv_1 0 = 忽略断点,1 = 将断点用作信息开始检测

P0_Ctrl_Rcv_2 0 = 忽略 SMW92,1 = 如果超出 SMW92 中的时间间隔,终止接收

P0_Ctrl_Rcv_3 0 = 定时器是字符间定时器,1 = 定时器是信息间定时器

P0_Ctrl_Rcv_4 0 = 忽略 SMW90,1 = 使用 SMW90 中的数据检测空闲条件

P0_Ctrl_Rcv_5 0 = 忽略 SMB89,1 = 使用 SMB89 中的数据检测信息结束

P0_Ctrl_Rcv_6 0 = 忽略 SMB88, 1 = 使用 SMB88 中的数据检测信息开始

P0_Ctrl_Rcv_7 0 = 接收信息功能被禁止,1 = 接收信息功能被启用,每次执行RCV指令检查该位.

P0_Start_Char SMB88 信息字符开始

P0_End_Char SMB89 信息字符结束

P0_Idle_Time SMW90 空闲线时间间隔以毫秒表示,在空闲行时间结束后接收的第一个字符是新信息开始

P0_Timeout SMW92 字符间/信息间定时器超时数值,以毫秒表示。如果超过时间,就停止接收信息。P0_Max_Char SMB94 可接收的最大字符数(1 至 255 个字节)注意:这个区一定要设为希望的最大缓冲

区,即使不使用字符计数信息终止。

SMW98 I/O 扩充总线 - 通讯错误

SMW98提供有关扩充I/O总线中的错误数目的信息。

S7-200符号名 SM Byte(Read/Write) I/O扩充总线-错误总结

EM_Parity_Err SMW98 每当扩充I/O总线中检测到校验错误时,该字均被递增。电源开启时以

及用户写入零时被清除。

SMB136-SMB165 HSC3、HSC4 和 HSC5 高速计数器寄存器

HSC3寄存器(高速计数器3)

HSC3_Status SMB136 HSC3 计数器状态(仅限在执行由高速计数器事件触发的中断程序时有效。)

HSC3_Status_5 HSC3 当前计数方向状态:1 = 增计数

HSC3_Status_6 HSC3 当前值等于预置值状态:1 = 等于

HSC3_Status_7 HSC3 当前值大于预置值状态:1 = 大于

HSC3_Ctrl SMB137 配置和控制 HSC3

HSC3_Dir HSC3 计数方向控制:0 = 减计数;1 = 增计数

HSC3_Dir_Update HSC3 更新计数方向:0 = 无更新;1 = 更新方向

HSC3_PV_Update HSC3 更新预置值:0 = 无更新;1 = 更新预置值

HSC3_CV_Update HSC3 更新当前值:0 = 无更新;1 = 更新当前值

HSC3_Enable HSC3 启用:0 = 禁止;1 = 启用

HSC3_CV SMD138 HSC3 新当前值

HSC3_PV SMD142 HSC3 新预置值

HSC4 寄存器(高速计数器 4)

HSC4_Status SMB146 HSC4 计数器状态

HSC4_Status_5 HSC4 当前计数方向状态:1 = 增计数

HSC4_Status_6 HSC4 当前值等于预置值状态:1 = 等于

HSC4_Status_7 HSC4 当前值大于预置值状态:1 = 大于

HSC4_Ctrl SMB147 配置和控制 HSC4

HSC4_Reset_Level HSC4 计数器复位有效电平控制:0 = 高电平有效;1 = 低电平有效HSC4_Rate HSC4 计数速率选择器:0 = 4x(4 倍速);1 = 1x

HSC4_Dir HSC4 计数方向控制:0 = 减计数;1 = 增计数

HSC4_Dir_Update HSC4 更新计数方向:0 = 无更新;1 = 更新方向

HSC4_PV_Update HSC4 更新预置值:0 = 无更新;1 = 更新预设

HSC4_CV_Update HSC4 更新当前值:0 = 无更新;1 = 更新当前值

HSC4_Enable HSC4 启用:0 = 禁止;1 = 启用

HSC4_CV SMD148 HSC4 新当前值

HSC4_PV SMD152 HSC4 新预置值

HSC5 寄存器(高速计数器 5)

HSC5_Status SMB156 HSC5 计数器状态

HSC5_Status_5 HSC5 当前计数方向状态:1 = 增计数

HSC5_Status_6 HSC5 当前值等于预置值状态:1 = 等于

HSC5_Status_7 HSC5 当前值大于预置值状态:1 = 大于

HSC5_Ctrl SMB157 配置和控制 HSC5

HSC5_Dir HSC5 计数方向控制:0 = 减计数;1 = 增计数

HSC5_Dir_Update HSC5 更新计数方向:0 = 无更新;1 = 更新方向

HSC5_PV_Update HSC5 更新预置值:0 = 无更新;1 = 更新预置值

HSC5_CV_Update HSC5 更新当前值:0 = 无更新;1 = 更新当前值

HSC5_Enable HSC5 启用:0 = 禁止;1 = 启用

HSC5_CV SMD158 HSC5 新当前值

HSC5_PV SMD162 HSC5 新预置值

SMB166-SMB194 PLS(脉冲)指令 PTO 包络表

PTO0_Step SMB166 PTO0 的当前包络步计数值

PTO0_Profile SMW168 PTO0 包络表的 V 存储区地址(对 V0 的偏移量,字数据类型)PTO1_Step SMB176 PTO1 的当前包络步计数值

PTO1_Profile SMW178 PTO1 包络表的 V 存储区地址(对 V0 的偏移量,字数据类型)端口 1 接收信息控制

P1_Stat_Rcv SMB186 端口 1 接收信息状态

P1_Stat_Rcv_0 1 = 接收信息终止:校验错误

P1_Stat_Rcv_1 1 = 接收信息终止:达到最大字符计数

P1_Stat_Rcv_2 1 = 接收信息终止:定时器超时

P1_Stat_Rcv_5 1 = 接收信息终止:收到结束字符

P1_Stat_Rcv_6 1 = 接收信息终止:输入参数错误或缺少开始或结束条件

P1_Stat_Rcv_7 1 = 接收信息终止:用户禁止命令

P1_Ctrl_Rcv SMB187 接收信息控制

P1_Ctrl_Rcv_1 0 = 忽略断点,1 = 将断点用作信息开始检测

P1_Ctrl_Rcv_2 0 = 忽略 SMW92,1 = 如果超出 SMW92 中的时间间隔,终止接收

P1_Ctrl_Rcv_3 0 = 定时器是字符间定时器,1 = 定时器是信息间定时器

P1_Ctrl_Rcv_4 0 = 忽略 SMW90,1 = 使用 SMW90 中的数据检测空闲条件

P1_Ctrl_Rcv_5 0 = 忽略 SMB89,1 = 使用 SMB89 中的数据检测信息结束

P1_Ctrl_Rcv_6 0 = 忽略 SMB88, 1 = 使用 SMB88 中的数据检测信息开始

P1_Ctrl_Rcv_7 0 = 接收信息功能被禁止,1 = 接收信息功能被启用

P1_Start_Char SMB188 信息字符开始

P1_End_Char SMB189 信息字符结束

P1_Idle_Time SMW190 空闲行时间间隔以毫秒表示

P1_Timeout SMW192 字符间/信息间定时器超时数值以毫秒表示

P1_Max_Char SMB194 可接收的最大字符数(1 至 255 个字节)

SMB200到SMB549:智能模块状态

如表D-20所示,SMB200到SMB549预留存储智能扩展模块的信息。如EM277PROFIBUS--DP模块。参见附录A可得到您的模块如何使用SMB200到SMB549的信息以及您的指定模块的规范。

如果您使用版本之前的CPU,您要将所有的智能模块放置在所有非智能模块之前紧邻CPU的位置,以确保其兼容性。

表D-20 特殊存储字节SMB200--SMB549

单片机89C51特殊功能寄存器

单片机89C51特殊功能寄存器 高手从菜鸟忽略作起之(三)单片机共有21个特殊功能寄存器,下面从其功能,位结构,地址,读写方法对其作详细介绍。 一,特殊功能寄存器总述。 二,特殊功能寄存器分类:

1.CPU控制类(6个):Acc,B,PSW,DPL,DPH,SP. 2.中断控制类(2个):IE,IP. 3.计数/定时类(6个):TMOD,TCON,TL0,TL1,TH0,TH1. 4.并口端口类(4个):P0,P1,P2,P3. 5.串口端口类(2个):SCON,SBUF. 6.电源管理类(1个):PCON. 三,特殊功能寄存器详述: 1.CPU控制类(6个):Acc,B,PSW,DPL,DPH,SP 1.1 Acc:累加器,可按位,字节访问。 1.2 B:辅助寄存器,用于进行乘除运算。 P:奇偶校验位:P=0:1的个数为奇数;P=1,1的个数为偶数。 ---:保留位,没使用。 OV:Over flow,溢出标志,OV=0:没溢出;OV=1:溢出。 Rs0:Regedit select 0,寄存器选取0. RS1:Regedit select 1,寄存器选取1。 F0:User Flag bit:用户自定义位。 Ac: Auxiliary Carry,辅助进位标志,由低4位运算时,是否有向高4位进位。Cy:Carry,进位标志。字节运算时,是否有进位。 1.4 DPTL:Data Pointer Register Low,数据指针寄存器低8位。 1.5 DPTH:Data Pointer Register High,数据指针寄存器高8位。 1.6 SP: Stock Pointer:栈指针寄存器。 2.中断控制类寄存器(2个):IE,IP EX0: Enable Extra 0 ,INT0 中断允许位。 ET0: Enable Timer 0,C/T0 中断允许位。 EX1: Enable Extra 1 ,INT1 中断允许位。 ET1: Enable Timer 1,C/T1 中断允许位。 ES: Enable serial ,串行中断允许位。 ET2: Enable Timer 2,C/T2 中断允许位。

MCS-51系列特殊功能寄存器

MCS-51系列特殊功能寄存器(80H~FFH) 1.P0 (80H) 2.SP 栈指针(81H) 3.DPTR 数据指针(由DPH和DPL组成) DPL 数据指针低八位(82H) DPH 数据指针高八位(83H) 4.PCON 电源管理寄存器(87H) SMOD :波特率倍增位。SMOD=0时,不变;SMOD=1时,倍增。 GF1,GF0 :通用标志位。 PD :掉电方式位。PD=1时,进入掉电方式。 IDL :待机方式位。IDL=1时,进入待机方式。 5.TMOD 定时/记数方式寄存器(89H) GATE :门控位。GATE=0时,直接由TR启动定时器;GATE=1时,须外部INT为1时,且TR启动定时器。 C/T :功能选择位。C/T=0时,为定时器;C/T=1时,为计数器。 M1,M0 :方式选择位。

6.T CON 定时/记数控制寄存器(88H) TF1 :定时器1溢出标志。由硬件置1,并且进入中断;进入中断服务程序后,由硬件清0,查询方式下由软件清0。 TR1 :定时器运行控制位。TR1=0时,关闭T1;TR1=1时,启动T1。 TF0 :定时器0溢出标志。由硬件置1,并且进入中断;进入中断服务程序后,由硬件清0,查询方式下由软件清0。 TR0 :定时器运行控制位。TR0=0时,关闭T0;TR0=1时,启动T0。 IE1 :外部中断1请求标志。 IT1 :外部中断1触发方式。IT1=0时,为低电平触发方式;IT1=1时,为负跳变触发方式(边沿触发)。 IE0 :外部中断0请求标志。 IT0 :外部中断0触发方式。IT0=0时,为低电平触发方式;IT0=1时,为负跳变触发方式(边沿触发)。 7.P1 (90H) SM0,SM1 :串行方式控制。 SM2 :多机通讯控制位。SM2=0时,禁止多机通讯;SM2=1时,允许多机通讯。

51_52系列单片机特殊功能寄存器及资源映射方式总结

51系列单片机特殊功能寄存器总结 第一节:片内RAM映射: 51:00H_7FH 128B片内(DATA),其中00H-07H: bank0,08H-0FH: bank1, 10H-17H: bank2,18H-1FH:bank3. 20H-2FH: 位寻址区(bdata) 30H-7FH: 堆栈区。 80H-FFH: SFR区 52:增加了80H-FFH间接寻址的片内RAM(IDATA) 第二节:特殊功能寄存器(51) ①TCON,地址:88H,定时器计数器控制,中断控制 IT0/1:外部中断触发方式控制,置0,为低电平触发,置1,为下降沿触发。每个机器周期的S5P2器件多外部触发采样。响应中断需要两个机器 周期。 IE0/1:外部中断请求标志,CPU响应中断后,硬件自动将IE清0 TFx,定时器Tx溢出标志,计数溢出时,硬件将其置位,响应中断后,硬件将其清0,该位可由程序查询。 TRx, 定时器x运行控制,置1则启动定时器,清0则停止定时器。 ②TMOD,地址:89H, 定时器计数器工作方式控制 counter对外部输入外冲计数,计一次数需要两个机器周期。 GATE: 取反后与外部中断输入或运算后再同TCON的TRx位相与控制计数器的启与停,GATE为0时,允许TRx开启或停止计数器,为1时,允许INTx开启或停止计数器。 ③TL0, 地址:8AH, 定时器0低八位 ④TL1, 地址:8BH, 定时器1低八位

⑤TH0, 地址:8CH, 定时器0高八位 ⑥TH1, 地址:8DH, 定时器1高八位1 ⑦SCON, 地址:98H,串行通信控制寄存器 S M2:方式2和方式3的多机通信控制位,在方式0中,SM2应置0。 REN:允许串行接收位,由软件置1时,允许接收,清0时。禁止接收 TB8:方式2和方式3中,发送的第9位数据,需要时由软件置位或复位。 RB8: 方式2和方式3中,接收到的第9位数据,在方式1时,RB是接收到停止位,在方式0时,不使用RB8. TI:接收中断标志,由硬件置1,在方式0时,串行发送到第8位结束时置1;在其他方式,串行口发送停止位时置1。TI必须由软件清0。 RI:接收中断标志,由硬件置1。在方式0时(SM2应置0),接收到第8位结束时置1,当SM2=0的其他方式(方式0,1,3)时,接收到停止位置位“1”,当SM2=1时,若串口工作在方式2和3,接收到的第9位数据(RB8)为1时,才激活RI。在方式1时,只有接收到有效的停止位时才会激活RI。RI必须由软件清0 ⑧SBUF, 地址:99H,串行通信数据缓冲器 ⑨IE, 地址:A8H,中断使能控制寄存器 EA: globle interuption Enable, 1: Enable, 0: Disable ET2: timers2 flowover interuption Enable for52, 1: Enable, 0: Disable ES: serrial port interuption Enable, 1: Enable, 0: Disable ET1/0: timers1/0 flowover interuption Enable, 1: Enable, 0: Disable EX1/0: external interuption Enable, 1: Enable, 0: Disable

单片机特殊功能寄存器及相应功能

SPECIAL FUNCTION REGISTER ?? Register (MSB) (LSB) Byte Symbol b7 b6 b5 b4 b3 b2 b1 b0 Address P0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 80H(128) SP 81H(129) DPL 82H(130) DPH 83H(131) PCON SMOD - - - GF1 GF0 PD IDL 87H(135) *PCON SMOD - - WLE GF1 GF0 PD IDL 87H(135) TCON TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 88H(136) TMOD GATE C/T M1 M0 GATE C/T M1 M0 89H(137) TL0 8AH(138) TL1 8BH(139) TH0 8CH(140) TH1 8DH(141) P1 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 T2EX T2 90H(144) *P1 SDA SCL RT2 T2 CT3I CT2I CT1I CT0I 90H(144) SCON SM0 SM1 SM2 REN TB8 RB8 TI RI 98H(152) SBUF 99H(153) P2 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 0A0H(208) IE EA - ET2 ES ET1 EX1 ET0 EX0 0A8H(168) *IEN0 EA EAD ES1 ES0 ET1 EX1 ET0 EX0 0A8H(168) +CML0 0A9H(169) +CML1 0AAH(170) +CML2 0ABH(171) +CTL0 0ACH(172) +CTL1 0ADH(173) +CTL2 0AEH(174) +CTL3 0AFH(175) P3 RD WR T1 T0 INT1 INT0 TXD RXD 0B0H(176) IP - - PT2 PS PT1 PX1 PT0 PX0 0B8H(184) *IP0 - PAD PS1 PS0 PT1 PX1 PT0 PX0 0B8H(184) +P4 CMT1 CMT0 CMSR5 CMSR4 CMSR3 CMSR2 CMSR1 CMSR0 0C0H(192) +P5 ADC7 ADC6 ADC5 ADC4 ADC3 ADC2 ADC1 ADC0 0C4H(196) +ADCON ADC.1 ADC.0 ADEX ADCI ADCS AADR2 AADR1 AADR0 0C5H(197)

51单片机特殊功能寄存器功能一览表

51单片机特殊功能寄存器功能一览表 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:辅助进、借位(高半字节与低半字节间的进、借位)。

特殊功能寄存器地址与控制位

/************************************************************ * 特殊功能寄存器地址和控制位 ************************************************************/ /*中断使能1*/ #define IE1_ 0x0000 sfrb IE1 = IE1_; #define WDTIE 0x01 /*看门狗中断使能*/ #define OFIE 0x02 /*外部晶振故障中断使能*/ #define NMIIE 0x10 /*非屏蔽中断使能*/ #define ACCVIE 0x20 /*可屏蔽中断使能/flash写中断错误*/ #define URXIE0 0x40 /*串口0接收中断使能*/ #define UTXIE0 0x80 /*串口0发送中断使能*/ /*中断标志1*/ #define IFG1_ 0x0002 sfrb IFG1 = IFG1_; #define WDTIFG 0x01 /*看门狗中断标志*/ #define OFIFG 0x02 /*外部晶振故障中断标志*/ #define NMIIFG 0x10 /*非屏蔽中断标志*/ #define URXIFG0 0x40 /*串口0接收中断标志*/ #define UTXIFG0 0x80 /*串口0发送中断标志*/ /* 中断模式使能1 */ #define ME1_ 0x0004 sfrb ME1 = ME1_; #define URXE0 0x40 /* 串口0接收中断模式使能 */ #define USPIE0 0x40 /* 同步中断模式使能 */ #define UTXE0 0x80 /* 串口0发送中断模式使能 */ /* 中断使能2 */ #define IE2_ 0x0001 sfrb IE2 = IE2_; #define URXIE1 0x10 /* 串口1接收中断使能 */ #define UTXIE1 0x20 /* 串口1发送中断使能 */ /* 中断标志2 */ #define IFG2_ 0x0003 sfrb IFG2 = IFG2_; #define URXIFG1 0x10 /* 串口1接收中断标志 */ #define UTXIFG1 0x20 /* 串口1发送中断标志 */ /* 中断模式使能2 */ #define ME2_ 0x0005 sfrb ME2 = ME2_; #define URXE1 0x10 /* 串口1接收中断模式使能 */ #define USPIE1 0x10 /* 同步中断模式使能 */ #define UTXE1 0x20 /* 串口1发送中断模式使能 */ /************************************************************

单片机寄存器汇总表图文稿

单片机寄存器汇总表 Company number【1089WT-1898YT-1W8CB-9UUT-92108】

51单片机寄存器功能一览表 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 AC:辅助进、借位(高半字节与低半字节间的进、借位)。 例:57H+3AH(01010111+00111010)

51单片机特殊功能寄存器详细说明

/*-------------------------------------------------------------------------- REG51.H Header file for generic 80C51 and 80C31 microcontroller. Copyright (c 1988-2001 Keil Elektronik GmbH and Keil Software, Inc. All rights reserved. --------------------------------------------------------------------------*/ /* BYTE Register */ sfr P0 = 0x80; sfr P1 = 0x90; sfr P2 = 0xA0; sfr P3 = 0xB0; sfr PSW = 0xD0; 程序状态字 sfr ACC = 0xE0; 累加器 sfr B = 0xF0; B寄存器 sfr SP = 0x81; 堆栈指针 sfr DPL = 0x82; 数据指针低八位 sfr DPH = 0x83; 数据指针高八位 sfr PCON = 0x87; 波特率选择寄存器 sfr TCON = 0x88; 定时器/计数器控制寄存器

sfr TMOD = 0x89; 定时器方式选择寄存器 sfr TL0 = 0x8A; 定时器0低八位 sfr TL1 = 0x8B; 定时器1低八位 sfr TH0 = 0x8C; 定时器0高八位 sfr TH1 = 0x8D; 定时器1高八位 sfr IE = 0xA8; 中断允许寄存器 sfr IP = 0xB8; 中断优先级寄存器 sfr SCON = 0x98; 串行控制寄存器 sfr SBUF = 0x99; 串行数据缓冲器 /* BIT Register */ /* PSW */ 程序状态字 sbit CY = 0xD7; 有无进位或者借位 sbit AC = 0xD6; Auxiliary Carry有无低四位向高四位的进位或借位 sbit F0 = 0xD5; 用户管理的标志位,可根据自己的需求设定 sbit RS1 = 0xD4; 这两位用于选择当前工作寄存器区。8051有8个8位寄存器R0~R7,它 们在RAM中的地址可以根据用户需要来确定。 sbit RS0 = 0xD3; RS1 RS0:R0~R7的地址0 0:00H~07H 0 1:08H~0FH 1 0:10H~17H 1 1:18H~1FH

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

51单片机的特殊功能寄存器 通过前面课程的学习,我们已知道了单片机的内部有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 这个特殊功能寄存器了,还有哪些呢?看下表 符号地址功能介绍 B F0H B寄存器 ACC E0H 累加器 PSW D0H 程序状态字 IP B8H 中断优先级控制寄存器 P3 B0H P3口锁存器 IE A8H 中断允许控制寄存器

P2 A0H P2口锁存器 SBUF 99H串行口锁存器 SCON 98H串行口控制寄存器 P1 90H P1口锁存器 TH1 8DH定时器/计数器1(高8位) TH0 8CH 定时器/计数器1(低8位) TL1 8BH 定时器/计数器0(高8位) TL0 8AH 定时器/计数器0(低8位) TMOD 89H定时器/计数器方式控制寄存器 TCON 88H 定时器/计数器控制寄存器 DPH 83H 数据地址指针(高8位) DPL 82H 数据地址指针(低8位) SP 81H 堆栈指针 P0 80H P0口锁存器 PCON 87H电源控制寄存器 下面,我们介绍一下几个常用的SFR。 1、ACC---是累加器,通常用A表示。 这 是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东西,为什么给它这么一个名字呢?或许是因为在运算器做运算时其中一个数一定是在 ACC中的缘故吧。它的名字特殊,身份也特殊,稍后在中篇中我们将学到指令,可以发现,所有的运算类指令都离不开它。自身带有全零标志Z,若A=0则 Z=1;若A≠0则z=0。该标志常用作程序分枝转移的判断条件。 2、B--一个寄存器。 在做乘、除法时放乘数或除数,不做乘除法时,随你怎么用。 3、PSW-----程序状态字。这是一个很重要的东西,里面放了CPU工作时的很多状态,借此,我们可以了解CPU的当前状态,并作出相应的处理。它的各位功能请看下表: 下面我们逐一介绍各位的用途 CY:进位标志。8051中的运算器是一种8位的运算器,我们知道,8位运算器只

c51特殊功能寄存器

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:工作寄存器组选择位。这个我们已知了。

51单片机寄存器汇总表

51单片机寄存器功能一览表 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:进位标志。

单片机指令和寄存器英语词汇

按功能分为五大类: (1)数据传送类指令(7种助记符) MOV(英文为Move):对内部数据寄存器RAM和特殊功能寄存器SFR的数据进行传送;MOVC(Move Code)读取程序存储器数据表格的数据传送; MOVX(Move External RAM)对外部RAM的数据传送; XCH(Exchange)字节交换; XCHD(Exchange low-order Digit)低半字节交换; PUSH(Push onto Stack)入栈; POP (Pop from Stack)出栈; (2)算术运算类指令(8种助记符) ADD(Addition) 加法; ADDC(Add with Carry) 带进位加法; SUBB(Subtract with Borrow) 带借位减法; DA(Decimal Adjust) 十进制调整; INC(Increment) 加1; DEC(Decrement) 减1; MUL(Multiplication、Multiply) 乘法; DIV(Division、Divide) 除法; (3)逻辑运算类指令(10种助记符) ANL(AND Logic) 逻辑与; ORL(OR Logic) 逻辑或; XRL(Exclusive-OR Logic) 逻辑异或; CLR(Clear) 清零; CPL(Complement) 取反; RL(Rotate left) 循环左移; RLC(Rotate Left throught the Carry flag) 带进位循环左移; RR(Rotate Right) 循环右移; RRC(Rotate Right throught the Carry flag) 带进位循环右移; SWAP (Swap)低4位与高4位交换; (4)控制转移类指令(17种助记符) ACALL(Absolute subroutine Call)子程序绝对调用; LCALL(Long subroutine Call)子程序长调用; RET(Return from subroutine)子程序返回; RETI(Return from Interruption)中断返回; SJMP(Short Jump)短转移; AJMP(Absolute Jump)绝对转移; LJMP(Long Jump)长转移; CJNE (Compare Jump if Not Equal)比较不相等则转移; DJNZ (Decrement Jump if Not Zero)减1后不为0则转移; JZ (Jump if Zero)结果为0则转移;

51单片机的特殊功能寄存器详细表

51单片机的特殊功能寄存器详细列表 Symbol BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0Address P0P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.080H SP81H DPL82H DPH83H PCON SMOD---GF1GF0PD IDL87H *PCON SMOD--WLE GF1GF0PD IDL87H TCON TF1TR1TF0TR0IE1IT1IE0IT088H TMOD GATE C/T M1M0GATE C/T M1M089H TL08AH TL18BH TH08CH TH18DH P1P1.7P1.6P1.5P1.4P1.3P1.2T2EX T290H *P1SDA SCL RT2T2CT3I CT2I CT1I CT0I90H SCON SM0SM1SM2REN TB8RB8TI RI98H SBUF99H P2P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.00A0H IE EA-ET2ES ET1EX1ET0EX00A8H *IEN0EA EAD ES1ES0ET1EX1ET0EX00A8H +CML00A9H +CML10AAH +CML20ABH +CTL00ACH +CTL10ADH +CTL20AEH +CTL30AFH P3RD WR T1T0INT1INT0TXD RXD0B0H IP--PT2PS PT1PX1PT0PX00B8H *IP0-PAD PS1PS0PT1PX1PT0PX00B8H +P4CMT1CMT0CMSR 5 CMSR 4 CMSR 3 CMSR 2 CMSR 1 CMSR 0C0H +P5ADC7ADC6ADC5ADC4ADC3ADC2ADC1ADC00C4H +ADCON ADC.1ADC.0ADEX ADCI ADCS AADR 2 AADR 1 AADR 0C5H +ADCH0C6H T2CON TF2EXF2RCLK TCLK EXEN 2 TR2C/T2 3CP/R L2 0C8H *TM2IR T2OV CMI2CMI1CMI0CTI3CTI2CTI1CTI00C8H +CMH00C9H RCAP2L0CAH *CMH10CAH

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-----程序状态字。 这是一个很重要的东西,里面放了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。 5、P0、P1、P2、P3------这个我们已经知道,是四个并行输入/输出口的寄存器。它里面的内容对应着管脚的输出。

单片机寄存器名称

【转】【51单片机特殊功能寄存器功能一览表】 Posted on 2011-03-26 15:07 香格里拉\(^o^)/阅读(688) 评论(0)编辑收藏 【转】【51单片机寄存器功能一览表】 21个特殊功能寄存器(52系列是26个)不连续地分布在128个字节的SF R存储空间中,地址空间为80H-FFH,在这片SF R空间中,包含有128个位地址空间,地址也是80H-FFH,但只有83个有效位地址,可对11个特殊功能寄存器的某些位作位寻址操作(这里介绍一个技巧:其地址能被8整除的都可以位寻址)。 在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有R OM,用来存放程序,有R AM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能 寄存器(SF R)。这样的特殊功能寄存器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单片机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:进位标志。,如果做加法的话,两数位运算器只能表示到0-255中的运算器是一种8位的运算器,我们知道,88051,这样最高位就会丢失,造成运算的错误,怎么办?最高位就进到这里来。这样就没事了。有相加可能会超过2550 CY==1;无进、借位,进、借位,CY )78H+97H(01111000+10010111例: 。(高半字节与低半字节间的进、借位)AC:辅助进、借位)(01010111+0011101057H+3AH例::用户标志位F0 由用户(编程人员)决定什么时候用,什么时候不用。 :工作寄存器组选择位、RS0RS1现场保两位的状态,就能任选一个工作寄存器区。这个特点提高了MCS-51中的RS1、RS0通过修改PSW不需的工作效率和响应中断的速度是很有利的。若在一个实际的应用系统中,护和现场恢复的速度。对于提高CPU 要四组工作寄存器,那么这个区域中多余单元可以作为一般的数据缓冲器使用。 0V:溢出标志位0。什么是溢出我们后面的章节会讲到。运算结果按补码运算理解。有溢出,OV=1;无溢出,OV= :奇偶校验位P。运算结果有,否则为0P=1ALU它用来表示运算结果中二进制数位“1”的个

51单片机特殊功能寄存器与串行通讯

51单片机特殊功能寄存器与串行通讯 一、IE(中断允许控制寄存器) IE(字节地址A8H)寄存器格式: D7D6D5D4D3D2D1D0 IE EA X ET2ES ET1EX1ET0EX0 位地址AFH ADH ACH ABH AAH A9H A8H IE各位功能说明 EA(IE.7)中断允许总控制位 X(IE.6)保留位 ET2(IE.5)定时器/计数器T2中断响应控制位 ES(IE.4)串口中断响应控制位 ET1(IE.3)定时器/计数器T1中断响应控制位 EX1(IE.2)外部中断INT1中断响应控制位 ET0(IE.1)定时器/计数器T0中断响应控制位 EX0(IE.0)外部中断INT0中断响应控制位 中断优先级控制(1为高级;0位低级) 默认顺序: INT0T0INT1T1Ri Ti 中断号n中断源中断向量8n+3 0外部中断0(INT0)0003H 1定时器0(T0)000BH 2外部中断1(INT1)0013H 3定时器1(T1)001BH 4串行口(Ri,Ti)0023H 二、TMOD(定时器方式控制寄存器) TMOD(字节地址:89H,不可位寻址)寄存器格式: 定时器、计数器1定时器、计数器0 D7D6D5D4D3D2D1D0 TMOD GATE C/T M1M0GATE C/T M1M0 1、GATE---门控制 GATE=1,由外部中断引脚INT1、INT0和控制寄存器的TR0,TR1来启动定时器 当INT0引脚为高电平时TR0置位,启动定时器T0 当INT1引脚为高电平时TR1置位,启动定时器T1 2、C/T---功能选择位 为0:作为定时器 为1:作为计数器 3、M0、M1---方式选择功能4种工作方式 M1M0工作方式计数器模式TMOD(设置定时器0模式)00方式013位计数器TMOD=0x00 01方式116位计数器TMOD=0x01 10方式2自动重装8位计数器TMOD=0x02

相关文档
相关文档 最新文档