第二行程序的开始地址是02,第二条机器码程序有两个指令有分别是“0B”、“05”,其中02地址单元中存放“0B”指令,03地址单元中存放“05”数据。第三条程序的开始地址是04,第三条机器码程序有三个指令有分别是“12”、“05”、“02”。......
2023-11-07
1.MCS51系列单片机内部结构
MCS51系列单片机是将CPU、程序存储器、各种I/O接口、串行接口电路、定时器/计数器以及中断系统等电路组成并集成在同一块芯片上而得名,又称“微控制器”,其内部系统结构框图如图3-17所示。
图3-17 MCS51系列单片机内部结构框图
2.MCS51系列单片机AT89C51与AT89C2051芯片引脚排列图(见图3-18)
图3-18 AT89C51和AT89C2051引脚排列图
AT89C51是标准的40引脚双列直插式集成电路芯片,信号引脚定义及简单功能说明简单介绍如下:
1)P0.0~P0.7,P0口8位双向口线;P1.0~P1.7,P1口8位双向口线;P2.0~P2.7,P2口8位双向口线;P3.0~P3.7,P3口8位双向口线。
2)ALE,地址锁存控制信号。
3)PSEN,外部程序存储器读选通信号。
4)EA,访问程序存储器控制信号。
5)RST,复位信号。
6)XTAL1和XTAL2,外接晶体引线端。
7)GND,地线。
8)VCC,+5V电源。
AT89C5P3口线的第二功能,见表3-8。
表3-8 P3口线的第二功能
3.内部存储器
MCS51系列单片机芯片内部有数据存储器和程序存储器,也就是所谓的内部RAM和内部ROM,由于MCS51系列单片机中内部RAM和ROM存储器的容量和形式不尽相同,为具体起见,我们以AT89C51为例进行说明。
(1)AT89C51内部数据存储器配置图(见图3-19)
图3-19 AT89C51内部数据存储器配置图
(2)内部数据存储器低128单元
AT89C51的内部共有256个数据存储器单元,通常把这256个单元按其功能划分为两部分:低128单元(单元地址00H~7FH)和高128单元(单元地址80H~FFH)。其中低128单元是单片机中供用户使用的数据存储器单元,称之为内部RAM的存储器,按用途可把低128单元可划分为3个区域:
1)寄存器区。内部RAM的前32个单元是作为寄存器使用的,共分为4组,每组有8个寄存器,组号依次为0、1、2、3。每个寄存器都是8位,在组中按R0~R7编号。寄存器常用于存放操作数及中间结果等,由于它们的功能及使用不作预先规定,因此称之为通用寄存器,有时也叫工作寄存器。
2)位寻址区。内部RAM的20H~2FH单元,既可作为一般RAM单元使用,进行字节操作,也可以对单元中的每一位进行位操作,因此把该区称之为位寻址区。位寻址区共有16个RAM单元,总计128位,位地址为00H~7FH。位寻址区是为位操作而准备的,是MCS51位处理器的数据存储空间,其中的所有位均可以直接寻址。位寻址区的位地址见表3-9。(www.chuimin.cn)
通常在使用中,“位”有两种表示方式。一种是以位地址的形式(如表3-9所示),例如,位寻址区的最后一个位是7FH;另一种是以存储单元地址加位的形式表示,例如同样的最后位表示为2FH.7。
表3-9 位寻址区的位地址
3)用户RAM区。在内部RAM低128单元中,通用寄存器占去32个单元,位寻址区占去16个单元,剩余80个单元,这就是供用户使用的一般RAM区,其单元地址为30H~7FH。对于用户RAM区,只能以存储单元的形式来使用,其他没有任何规定或限制。但应当提及,在一般应用中常把堆栈开辟在此区中。
(3)内部数据存储器高128单元
内部数据存储器的高128单元是为专用寄存器提供的,因此称之为专用寄存器区,其单元地址为80H~FFH,用于存放相应功能部件的控制命令、状态或数据。因这些寄存器的功能已作专门规定,故而称为专用寄存器(SFR),有时也称为特殊功能寄存器。MCS51系列单片机中80C51的专用寄存器共有22个,其中可寻址的为21个。
1)专用寄存器的字节寻址。80C51的22个专用寄存器中,有21个是可寻址的。在这21个是可寻址的专用寄存器中有11个寄存器是可以位寻址的。现将这些可寻址寄存器的名称、符号及地址列于表3-10中。注意表中寄存器符号前打星号(*)的寄存器可以进行位寻址。
对专用寄存器的字节寻址问题有如下几点说明:
①21个可寻址的专用寄存器是不连续地分散在内部RAM高128单元之中。尽管还剩余许多空闲单元,但用户并不能使用。如果访问了这些没有定义的单元,读出的为不定数,而写入的数会被舍弃。
表3-10 可寻址寄存器的名称、符号和地址
②在22个专用寄存器中,唯一一个不可寻址的专用寄存器就是程序计数器(PC)。PC在物理上是独立的,不占据RAM单元,因此是不可寻址的寄存器。
③对专用寄存器只能使用直接寻址方式,在指令中既可使用寄存器符号表示,也可使用寄存器地址表示。
2)专用寄存器的位寻址。AT89C51专用寄存器中可寻址位共有83个,其中许多位还有其专用的名称,寻址时既可使用位地址,也可使用位名称。专用寄存器的可寻址位加上位寻址区的128个通用位,构成了MCS51位处理器的整个数据位存储空间。各专用寄存器的位地址/位名称见表3-11。
表3-11 专用寄存器的位地址/位名称
4.内部程序存储器
AT89C51内有4KB ROM存储单元,其地址为0000H~0FFFH,这就是我们所说的内部程序存储器(或简称为内部ROM)。在程序存储器中有一组特殊的保留单元0000H~002AH,使用时应特别注意。其中0000H~0002H是系统的启动单元。因为系统复位后,PC变为0000H,单片机从0000H单元开始取指令执行程序。使用时应当在这三个单元存放一条无条件转移指令,以便直接转去执行指定的程序。而0003H~002AH共40个单元被均匀地分为五段,每段8个单元,分别作为五个中断源的中断地址区。具体划分如下:
1)0003H~000AH,外部中断0中断地址区。
2)000BH~0012H,定时器/计数器0中断地址区。
3)0013H~001AH,外部中断1中断地址区。
4)001BH~0022H,定时器/计数器1中断地址区。
5)0023H~002AH,串行中断地址区。
中断响应后,系统能按中断种类,自动转到各中断区的首地址去执行程序。因此在中断地址区中应存放中断服务程序。但通常情况下,8个单元难以存下一个完整的中断服务程序,因此一般也是从中断地址区首地址开始存放一条无条件转移指令,以便中断响应后,通过中断地址区,再转到中断服务程序的实际入口地址去。
5.MCS51系列单片机系统的存储器结构特点
单片机存储器的结构与微型计算机的存储器有很大不同。MCS51系列单片机的存储器结构有两个重要的特点:一是把数据存储器和程序存储器分开;二是存储器有内外之分。对于面向控制应用且又不可能具有磁盘的单片机系统来说,程序存储器是至关重要的,数据存储器也不可少。为此,单片机的存储器分为数据存储器和程序存储器,其地址空间、存取指令和控制信号各有一套。单片机应用系统的存储器除类型不同外,还有内外之分,即有片内存储器和片外存储器。片内存储器的特点是使用方便,对于简单的应用系统,有时只使用片内存储器就是够了。但片内存储器的容量受到限制,程序存储器一般只有4KB,数据存储器也就是128个单元,这对于复杂一点的应用是不够的。为此,单片机应用系统时常需要在芯片之外另行扩展存储器。为了与芯片内固有的存储器区别,通常把扩展的存储器称之为外部存储器。为了扩展外部存储器,单片机芯片的引脚已经做了预先准备。例如通过口线最多可提供16位地址,对外部存储器的寻址范围达64KB。此外还有一些引脚信号也是供存储器扩展使用的,例如ALE信号用于外部存储器的地址锁存控制,PSEN信号用于外部程序存储器的读选通,EA信号用于内外程序存储器的访问控制等。总的来说,由芯片内存储器和芯片外扩展存储器构成了单片机应用系统的整个存储器系统。
由于本书篇幅有限,对单片机的硬件结构和原理就不做进一步详细讲述了。
有关零起点学习单片机多语言编程的文章
第二行程序的开始地址是02,第二条机器码程序有两个指令有分别是“0B”、“05”,其中02地址单元中存放“0B”指令,03地址单元中存放“05”数据。第三条程序的开始地址是04,第三条机器码程序有三个指令有分别是“12”、“05”、“02”。......
2023-11-07
安装在单片机上的两个数码管从“00”开始累加1显示,到“99”后循环。需要讲解的指令重点是累加器A加1赋值指令“INC A”和十进制变换指令“DA A”。低位数码管逐段循环显示源程序实例程序运行效果:在完成了源文件建立、汇编、下载的步骤后,单片机自动运行该程序。......
2023-11-07
单片机是将CPU+ROM+RAM+I/O集成在一块小小的芯片上,这种结构使用非常灵活,可以“嵌入”任何控制对象内,组成嵌入式系统。单片机中的片内程序存储器是一种可编程可擦除的只读存储器。通用计算机的CPU主要是进行高速数据处理。单片机体积很小,可以直接“嵌入”到机器的控制板上,实际上就是将计算机系统嵌入到机器内,组成所谓的“嵌入式系统”。......
2023-11-07
定时器/计数器是MCS51系列单片机芯片内的一个组件,简写为T/C。它有2个相同的定时器/计数器,称为定时器/计数器0和定时器/计数器1。实际上定时器/计数器是一个计数器,可以8位、13位或16位计数,对应的两组4个8位计数器。TCON定时控制位共4位。TR0=0,停止定时器/计数器工作;TR0=1,开启定时器/计数器工作。TMOD是专业寄存器,用于设定定时器/计数器0和定时器/计数器1的工作方式,只能用字节传送设置。......
2023-11-07
位运算是以运算量的二进制位为单位所进行的运算。一般位逻辑运算都是以十六进制数形式进行。在右移运算中,左端的空位补0,右端移出位则舍弃。按条件将a=0x85,b=0x36,执行位运算具体如下:P3=a<<1,左移1位后a=00001010=0x0A显示正确,左位取消,右位补0。......
2023-11-07
尽管单片机有许多特点,但仍然属于计算机的范围。这种特殊的语言就是程序设计语言,也就是由一系列语句组成的程序。程序设计语言从原理上可分为机器语言、汇编语言和高级语言三种类型,单片机也不例外。由于汇编语言指令具有直接对应机器语言指令的特点,因而生成的机器代码效率高,执行速度快,至今在单片机程序设计中仍被采用。在众多高级语言中,只有C语言成了应用于单片机系统的高级语言。......
2023-11-07
所谓独立键,就是各个按键的功能线之间没有电的连接,每个按键独立存在。这种连接方法一只按键要占用一个接口。常用于键少的应用场合。若再次查询按键并没有闭合,则认为按键未被按下,无效。流程图的作用就是将一个应用任务转化为计算机的工作流程。这是用计算机解决应用问题的必要前提。对于任何程序,只有三种基本结构,即顺序结构、分支结构和循环结构。反复执行,则P1.0反复取反状态,表示程序执行正确。......
2023-11-07
所谓DIY即自己做。要实现DIY并不困难,只要具备基本的电子电路的焊接技能,了解电子元器件的基础知识,会使用多用表(万用表),就可以按照本书的步骤完成本单片机实验机的自装,并能顺利地投入使用。一般用5色环表示阻值和准确度。用数字万用表测量所有电阻阻值,应在规定误差范围内。若最后数字万用表的显示不能超出量程,说明电容存在漏电,耐压条件不合格,不能使用。......
2023-11-07
相关推荐