MCS-51单片机的算术运算类指令包括加、减、乘、除、加1、减1等指令。这类指令有ADD、ADDC、INC、SUBB、DEC、DA、MUL、DIV共8种。表3-3算术运算类指令注:√表示该指令影响某一标志位。运算结果对PSW的影响同上述4条ADD指令。6.十进制调整指令十进制调整指令只有以下1条:该指令用于BCD码加法运算时,对BCD码的加法运算结果自动进行调整,但对BCD码的减法运算不能用此指令来调整。在运算过程中,单片机按二进制规则进行运算。......
2023-11-17
程序存储器以程序计数器PC作为地址指针,通过16位地址总线,可寻址的地址空间为64KB,片内/外统一编址。片内有4KB的ROM存储单元,地址为0000H~0FFFH;片外最多可扩至64KB的ROM,地址为1000H~FFFFH。单片机复位以后,PC的内容为0000H,故CPU总是从0000H单元开始执行程序。
根据单片机的类型及引脚的电平,CPU可从内部也可从外部程序存储器开始执行。
1)对于内部无程序存储器的单片机(如8031),在外扩程序存储器后必须接低电平(EA=0),程序从外部程序存储器的0000H开始执行。
2)对于内部有程序存储器而外部没有扩展程序存储器的单片机,应将引脚固定接高电平=1),程序从内部程序存储器的0000H开始执行。
3)对于内部有程序存储器而外部有扩展程序存储器的单片机,若=1,则从内部程序存储器的0000H开始执行,当PC值超出内部ROM的容量时,顺序执行外部的程序(不是从外部的0000H,而是从内部程序存储器最后地址再加1的外部程序存储器的地址执行)。而当EA=0时,内部程序存储器被忽略,程序直接从外部程序存储器的0000H开始执行。读片外ROM时,CPU从PC中取出当前ROM的16位地址,分别由P0口(低8位)和P2口(高8位)同时输出,当ALE信号有效时,由地址锁存器锁存低8位地址信号,地址锁存器输出的低8位地址信号和P2口输出的高8位地址信号同时加到片外ROM 16位地址输入端;当信号有效时,片外ROM将相应地址存储单元中的数据送至数据总线(P0口),CPU读入后存入指定单元。
64KB程序存储器中有一些特殊的单元,在使用时应加以注意。
1)0000H~0002H:MCS-51单片机复位后,PC指向0000H单元,CPU从该单元开始执行程序。如果主程序不是从0000H单元开始的,则应在这3个单元中存放一条无条件转移指令,使CPU转去执行用户指定的程序。
2)0003H~002AH:这40个单元被均匀地分为5段,每段占有8个单元,分别作为5个中断源的中断地址区,具体划分见表2-2。
表2-2 保存的存储单元
(www.chuimin.cn)
中断响应后,系统能按中断类型自动转到各中断区的首地址去执行程序。例如,当外部中断0引脚(P3.2)有效时,即引起中断申请,CPU响应中断后自动将地址0003H装入PC,程序就转到0003H单元开始执行。因此,在中断地址区0003H~000AH中本应存放外部中断0的中断服务程序。但通常情况下,8个单元难以存放一个完整的中断服务程序,因而一般在0003H~000AH存放一条无条件转移指令,将程序转移到真正存放中断服务程序的地址空间去执行。因此,这些中断地址区的首地址也称为中断入口地址,其对应关系如下:
0003H——外部中断0的中断服务子程序入口地址。
000BH——定时/计数器0的中断服务子程序入口地址。
0013H——外部中断1的中断服务子程序入口地址。
001BH——定时/计数器1的中断服务子程序入口地址。
0023H——串行口的中断服务子程序入口地址。
002BH——定时器2的中断服务子程序入口地址(52子系列单片机)。
中断入口地址使用说明
有关单片机基础及应用的文章
MCS-51单片机的算术运算类指令包括加、减、乘、除、加1、减1等指令。这类指令有ADD、ADDC、INC、SUBB、DEC、DA、MUL、DIV共8种。表3-3算术运算类指令注:√表示该指令影响某一标志位。运算结果对PSW的影响同上述4条ADD指令。6.十进制调整指令十进制调整指令只有以下1条:该指令用于BCD码加法运算时,对BCD码的加法运算结果自动进行调整,但对BCD码的减法运算不能用此指令来调整。在运算过程中,单片机按二进制规则进行运算。......
2023-11-17
故对于8031,其内部没有用户可用的程序存储器需接地;对于8051、8751、8951单片机,其内部存在用户程序存储器,为了充分利用单片机资源,一般接高电平,如图8-12所示为8051扩展一片2716EPROM的连接方法。控制信号,程序存储器的扩展只涉及,把该信号连接到2716的引脚,用于存储器读出选通。......
2023-11-17
1.片内数据存储器片内数据存储器可分为两个不同的块,除内部RAM块外,还有特殊功能寄存器块。由于访问它们所用的指令不同,并不会引起混乱,片内数据存储器的编址如图2-4所示。1)工作寄存器区。表2-3工作寄存器组与RS1、RS0的关系及地址2)位寻址区。2.片外数据存储器当内部RAM不够用时,最多可以外扩64KB的外部数据存储器,即CPU可以寻址64KB的外部数据存储器。......
2023-11-17
8051有5个中断源,即两个外部中断、两个定时/计数器中断和一个串行发送/接收中断。1.外部中断外部中断是由连接到单片机外部引脚信号变化而引起的中断,反映外部某一事件的发生。CPU是在每个机器周期的S5P2检测P 3.2和P 3.3上的信号,如果是有效信号则对定时器控制寄存器TCON中的IE0或IE1置1,建立中断请求标志。表6-1中断源的主要内容及说明......
2023-11-17
1.生产厂商常见的单片机生产厂商有Intel公司、Motorola公司、Philips公司、Atmel公司、Zilog公司、NEC公司、MicroChip公司、ADI公司、Epson公司、NS公司、AMD公司、WinBond公司、Scenix公司、Toshiba公司、Fujitsu公司、Samsung公司等。2.单片机系列常见的单片机系列有Intel公司的MCS-51、MCS-96/98系列,Motorola公司的68HC05、68HC5X、68HC12、68HC16、683XX系列,Philips公司的80C5X系列,Atmel公司的AT89系列,Zilog公司的Z8、Z86系列,ADI公司的MC-6801系列,MicroChip公司的PIC16CX、PIC16FX、PIC17CX、PIC18CX系列,NEC公司的μPD7800系列,Toshiba公司的MB8900、MB90系列等。......
2023-11-17
流程控制语句不论对汇编语言还是C51都是程序设计中最重要的部分,C51同C语言一样是结构化程序设计语言。C51的结构化程序由若干个函数构成,函数由若干个基本结构构成,基本结构由若干条语句构成。结构化的C51程序设计语言有3种基本结构,即顺序结构、选择结构和循环结构。另外,在C51中还支持多分支结构,多分支结构既可以通过if和else if语句嵌套实现,也可用switch/case语句实现。......
2023-11-17
◎内容提要本章讲述MCS-51单片机的C51程序的基础知识,主要包括C51数据类型及存储类型、C51运算符及其表达式、C51流程控制语句、C51构造数据类型、C51指针的定义及使用、C51函数的定义及使用和预编译的用法。◇C51函数的定义、调用及使用时应注意的事项。※重点及难点◇C51存储类型和存储模式的区别。◇C51函数中参数的传递问题。教学目标:掌握MCS-51单片机的C51程序设计的基础知识。通过编程实例,快速掌握C51程序设计的思路和方法。......
2023-11-17
软件设计包括题目定义、题目细分、确定算法、画流程图和编写程序5部分内容。1.题目定义题目定义是在对软件设计任务书分析后,根据系统软件功能的要求,作出软件的总体规划和详细说明,必须明确如下内容:1)输入/输出信息列表。3.确定算法确定算法是软件非常重要的工作。......
2023-11-17
相关推荐