单片机人门 (汇编)第7章 解剖单片机

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实例解读51单片机完全学习与应用Allyouneedtoknowaboutthe8051microcontroller杨欣YangX张延强ZhangY编著莱·诺克斯NokesL王玉凤WangY刘湘黔LiuX主审电子工业出版社2011.21欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》Allyouneedtoknowaboutthe8051microcontroller编著:杨欣YangX张延强ZhangY主审:莱·诺克斯NokesL王玉凤WangY刘湘黔LiuX第7章解剖单片机2第7章解剖单片机AT89S51单片机的内部结构3欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》Allyouneedtoknowaboutthe8051microcontroller编著:杨欣YangX张延强ZhangY主审:莱·诺克斯NokesL王玉凤WangY刘湘黔LiuX第7章解剖单片机7.1■单片机的功耗7.1.1运行功耗4在时钟频率较高时,如表中的4.0MHz,单片机运算速度较快,相应的1.25mA工作电流比在时钟频率为1.0MHz时的550µA工作电流要高。12MHz下的运行功耗达25mA。欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》Allyouneedtoknowaboutthe8051microcontroller编著:杨欣YangX张延强ZhangY主审:莱·诺克斯NokesL王玉凤WangY刘湘黔LiuX第7章解剖单片机7.1.2I/O口驱动功耗5I/O口都会使能驱动电路去控制功率较大的外设,如蜂鸣器、电机等。根据AT89S51单片机的技术手册,其I/O口的输出电流不能超过15mA。所以在谈I/O口驱动功耗时,我们更多关注的是外设通过驱动电路所消耗的功率。欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》Allyouneedtoknowaboutthe8051microcontroller编著:杨欣YangX张延强ZhangY主审:莱·诺克斯NokesL王玉凤WangY刘湘黔LiuX第7章解剖单片机7.2■单片机内部结构7.2.1从I/O口到内部结构6比较一下图(a)和(b),前者显示出4根数据线:读锁存器、内部总线、写锁存器、读管脚。这4根数据线与单片机内部结构中的总线相连。而后者则用一个双向箭头()来表示这4根数据线,说明锁存器与总线之间的关系。欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》Allyouneedtoknowaboutthe8051microcontroller编著:杨欣YangX张延强ZhangY主审:莱·诺克斯NokesL王玉凤WangY刘湘黔LiuX第7章解剖单片机7.2.1从I/O口到内部结构7可把整个P1口都抽象出一个结构框图,如图示,其中把8位I/O口的独立结构抽象到了P1口锁存器和P1口驱动两个方框中,这与图7-1所示的P0、P1、P2、P3口结构是一致的。由于I/O口都是双向的,所有的数据线都使用双向箭头。欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》Allyouneedtoknowaboutthe8051microcontroller编著:杨欣YangX张延强ZhangY主审:莱·诺克斯NokesL王玉凤WangY刘湘黔LiuX第7章解剖单片机7.2.2数据在内部交换8举例:RAM是单片机的随机访问存储器,用于存储运行过程中的数据。假设RAM中地址30H上存储了数据“3CH”,现在单片机执行指令“MOVA,30H”,之后,RAM中地址30H上的数据3CH“跑”到总线上,而累加器A根据指令要求,从总线上接收这个数据,执行完毕后,A=3CH。欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》Allyouneedtoknowaboutthe8051microcontroller编著:杨欣YangX张延强ZhangY主审:莱·诺克斯NokesL王玉凤WangY刘湘黔LiuX第7章解剖单片机7.2.3算术逻辑单元(ALU)9ALU为“进行算术运算和逻辑运算的处理单元”。它能进行加、减法等算术运算,也能做与、或、异或等逻辑运算。ALU就是单片机的“CPU”,ALU的输入端A和B,它们的数据都来自总线,经过ALU运算后,结果通过R又输出到总线上。在运算过程中,ALU通过输出D向程序状态字PSW输出状态,PSW会随着ALU的运算发生相应的变化。如执行加法指令ADD时,当最高位有进位时,PSW的进位标志C就被置1,这都归功于ALU通过D向PSW的C位输出高电平。欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》Allyouneedtoknowaboutthe8051microcontroller编著:杨欣YangX张延强ZhangY主审:莱·诺克斯NokesL王玉凤WangY刘湘黔LiuX第7章解剖单片机7.3■单片机的程序存储器7.3.1整体结构10欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》Allyouneedtoknowaboutthe8051microcontroller编著:杨欣YangX张延强ZhangY主审:莱·诺克斯NokesL王玉凤WangY刘湘黔LiuX第7章解剖单片机7.3.2程序下载到哪里?11欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》Allyouneedtoknowaboutthe8051microcontroller编著:杨欣YangX张延强ZhangY主审:莱·诺克斯NokesL王玉凤WangY刘湘黔LiuX以.HEX为后缀的执行代码文件可通过下载线下载到单片机中(4.4节)。如果用记事本打开执行代码文件会得到一串十六进制数,其中包含了每条指令的执行代码。比如指令“MOVA,#88H”执行代码为“74”、“88”,其他指令都可从附录C中找到相应的执行代码。执行代码通过下载线下载到了单片机的片内ROM中。因为片内ROM中下载的是程序,所以也称这个片内ROM为片内程序存储器。第7章解剖单片机7.3.3片内程序存储器12欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》Allyouneedtoknowaboutthe8051microcontroller编著:杨欣YangX张延强ZhangY主审:莱·诺克斯NokesL王玉凤WangY刘湘黔LiuXAT89S51单片机的片内程序存储器容量为4Kbytes,即4×1024=4096bytes。这4096bytes片内程序存储器可用地址0000H~0FFFH来指向。在我们通过下载线往单片机下载程序时,执行代码将从0000H开始,被依次存储到单片机中。如图示的执行代码,存储到0000H里的是74H,即“01110100”;0001H里的是88H,即“10001000”。按照这种方法直到程序全部下载完毕,根据程序的长短不同,程序存储器被占用的空间多少也就不同。第7章解剖单片机7.3.4程序计数器PC13欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》Allyouneedtoknowaboutthe8051microcontroller编著:杨欣YangX张延强ZhangY主审:莱·诺克斯NokesL王玉凤WangY刘湘黔LiuX程序计数器PC,它用于指示单片机下一条将要执行的代码的地址。当单片机上电复位时,PC=0000H,即指向程序存储器中的0000H,单片机就把0000H上的代码取出执行。之后PC自动增加1,变成0001H,如图示,接着单片机就执行0001H地址上的代码。第7章解剖单片机7.3.4程序计数器PC14欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》Allyouneedtoknowaboutthe8051microcontroller编著:杨欣YangX张延强ZhangY主审:莱·诺克斯NokesL王玉凤WangY刘湘黔LiuX由于程序计数器PC是个两个字节(16位)的寄存器,于是受PC的制约,AT89S51单片机最大的寻址范围是0000H~FFFFH,共64Kbytes。也就是说,除了AT89S51单片机片内的4Kbytes程序存储器(地址0000H~0FFFH)外,单片机能寻址的外部扩展的程序存储器空间最大为64Kbytes-4Kbytes=60Kbytes,即地址1000H~FFFFH。第7章解剖单片机7.3.5是片内还是片外程序存储器?15欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》Allyouneedtoknowaboutthe8051microcontroller编著:杨欣YangX张延强ZhangY主审:莱·诺克斯NokesL王玉凤WangY刘湘黔LiuX当接高电平时,单片机复位时读取片内程序存储器中的程序,即从PC=0000H开始,依次读取0000H~0FFFH上的程序。当PC增加到0FFFH时,PC再增加1等于1000H,单片机将自动转到片外程序存储器上执行其中的程序。而当接低电平时,单片机则完全读取片外程序存储器中的程序,即从片外程序存储器中的0000H开始,依次读取程序来执行。由于受到程序计数器PC的位数限制,读取片内或片外程序存储器的最大地址范围为0000H~FFFFH。EA/VPPEA/VPP第7章解剖单片机7.4■单片机的数据存储器7.4.1片内数据存储器16欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》Allyouneedtoknowaboutthe8051microcontroller编著:杨欣YangX张延强ZhangY主审:莱·诺克斯NokesL王玉凤WangY刘湘黔LiuX单片机的数据存储器也有片内和片外之分。片内数据存储器就是单片机中原有的数据存储器,即片内RAM。片内数据存储器可分成三个部分:工作寄存器区、位寻址区、开放区。这三个区都可用来保存单片机运行过程所产生的数据。但片内数据存储器是一个RAM,即随机访问存储器,在掉电后其中的数据将会丢失。第7章解剖单片机7.4.1片内数据存储器17欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》Allyouneedtoknowaboutthe8051microcontroller编著:杨欣YangX张延强ZhangY主审:莱·诺克斯NokesL王玉凤WangY刘湘黔LiuX单片机的128×8-bit的片内数据存储器只有其中的20H~7FH共96个字节(开放区+位寻址区)给我们使用的,而00H~1FH则是工作寄存器区,一般通过工作寄存器R0~R7来使用。AT89S51单片机最大的数据存储器(片内+片外)寻址范围也为0000H~FFFFH,共64Kbytes的空间。第7章解剖单片机7.4.2工作寄存器区(00H~1FH)18欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》Allyouneedtoknowaboutthe8051microcontroller编著:杨欣YangX张延强ZhangY主审:莱·诺克斯NokesL王玉凤WangY刘湘黔LiuX工作

1 / 36
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功