1.ALE:地址锁存使能输出(Address Latch Enable),下跳沿时锁存
2./PESN:程序存储器读选通信号(Progrom Store Enable),访问代码空间
3.外部ROM访问允许
EA=0:访问片外程序存储器
EA=1:访问片内程序存储器,
当PC值大于0FFFH后,转向访问片外程序存储器。
4./WR:访问数据空间,写外部数据存储器控制信号
5./RD:访问数据空间,读外部数据存储器控制信号
ALU:算术逻辑部件
组成:加法器和其他电路
主要功能:算术运算和逻辑运算
A:累加器,存放操作数或中间运算结果的寄存器
B:寄存器,一般用于乘、除法指令
PSW:程序状态字寄存器
CY(PSW.7)——进位标志:
在进行加或减运算时,如果操作结果最高位有进位或借位时,CY由硬件置“1”,否则清“0”。
AC(PSW.6)——半进位标志:
在进行加或减运算时,如果操作结果的低半字节向高半字节产生进位或借位时,将由硬件置“1”,否则清“0”。
OV(PSW.2) ——溢出标志:
在有符号数加减运算中,若有异常结果,OV硬件置1,否则硬件清0。
P(PSW.0) ——奇偶标志位
该位始终跟踪累加器A中含“1”个数的奇偶性。
如果A中有奇数个“1”,则P置“1”,否则置“0”。满足偶校验原则。
IR:中断允许控制寄存器
ID:中断优先级控制寄存器
PC:程序计数器(Program Counter)
SP:堆栈指针(Stack Pointer)
DPTR:数据指针寄存器(Data Pointer)
寻址方式类型:
1.立即寻址
特点:操作数可以从指令中直接取得,速度快。
用途:用于对寄存器或存储单元进行初始赋值。
2.直接寻址
特点:在指令中直接给出操作数的字节地址或位地址。
适用范围:只能在下述三种地址空间内寻址。
(1)特殊功能寄存器(SFR);
(2)内部数据存储器RAM的低128个字节;
(3)位地址空间。
3.寄存器寻址
特点:指令短,速度快
适用范围:
(1)工作寄存器区中的R0-R7
(2)A(累加器)、B(仅限于乘除法指令)、DPTR、C(布尔处理器)
4.寄存器间接寻址
特点:指令简洁,便于对连续存放的数据进行处理
适用范围(特定寄存器):
R0,R1:用于访问片上RAM空间
DPTR:用于访问外部数据空间
SP:用于访问堆栈空间
5.变址寻址
特点:操作数的有效地址为基址寄存器与变址寄存器内容之和;基址寄存器:PC(或DPTR),变址寄存器:A
适用范围:用于查表指令,读取存放于程序空间中的常数表,如函数表,字模表等。
6.相对寻址
适用范围:用于确定下一条执行指令的入口地址 ,在指令中给出程序跳转的偏移量rel,用于转移指令中。
7.位寻址
特点:直接操作单元中的某一个位,方便了程序设计,提高了程序的可读性。
适用范围:
(1)片内RAM区支持位寻址方式的单元,即20H-2FH。
(2)SFR中支持位寻址方式的寄存器。
掌握MOV、MOVC、MOVX指令的使用特点
掌握ADD,AADC,SUBB,DA,INC,DEC指令的特点
掌握PUSH、POP、LCALL、ACALL、RET、RETI指令
掌握控制转移类指令的应用:DJNZ,CJNE;JC/JNC; JB/JNB/JBC
掌握逻辑操作类指令的应用:CPL,ANL,ORL,XRL,RR/RRC, RL/RLC
定时/计数信号的来源及对计数信号的要求 中断源:发出中断请求的设备和电路
中断信号形式:电平信号或边沿信号
基于网络的单片机控制:
控制系统是指由控制主体、控制客体和控制媒体组成的具有自身目标和功能的管理系统。
将模拟信号电平分成N=2n等分
每一等分用一个n位定点数表示
例: 被采样的电压值范围-5V ~ +5V ,用8位二进制数表示
则: -5V ~ +5V的电压范围将等分为256个等级
在此范围内的任一电压值都将被量化为一个8位二进制数
即: 00000000 – 11111111,10/256 = 0.039V为一个等级
所谓抗干扰,就是针对干扰的产生、性质、传播途径、侵入的位置和侵入的形式,采取适当的方法消除干扰源,抑制耦合通道,减弱电路对噪声干扰的敏感性。
消除干扰源
抑制耦合通道
减弱电路对噪声干扰的敏感性
硬件:
光电隔离是由光电耦合器来完成的
继电器隔离
变压器隔离
未使用的中断向量区
MSC-51单片机的中断向量区为0003H~002FH,当未使用的中断因干扰而开放时,在对应的中断服务程序中设置软件陷阱,就能及时截获错误的中断。在中断服务程序中返回指令用RETI也可以用LJMP。
未使用的EPROM空间
程序一般都不会占用EPROM芯片的全部空间,对于未使用完的EPROM空间,一般都维持原状,即其内容为0FFH,0FFH对于MSC-51单片机来说是一条单字节指令“MOV R7, A”。如果程序“跑飞”到这一区域,则将顺利向下执行,不再跳跃(除非又受到新的干扰),因此在非程序区内用0000020000或020202020000数据填满。注意,最后一条填入数据必须为020000。当“乱飞”程序进入此区后,读到的数据为0202H,这是一条转移指令,使PC转入0202H入口,在主程序0202H设有出错处理程序,或转到程序的入口地址0000H执行程序。