版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实例解读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。第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工作寄存器共有8个,分别为R0、R1、R2、R3、R4、R5、R6、R7,前面有许多程序已经涉及工作寄存器。这8个工作寄存器可以用来装载1个字节长度的数据,在程序中可视为一个变量来使用,常常用来作为计数值、显示值等。指令“MOVR0,#24H”,把立即数24H装载到工作寄存器R0中。第7章解剖单片机7.4.2工作寄存器区(00H~1FH)19
欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》
Allyouneedtoknowaboutthe8051microcontroller编著:杨欣YangX张延强ZhangY主审:莱·诺克斯NokesL王玉凤WangY刘湘黔LiuX工作寄存器R0~R7指向片内数据存储器中的地址,当单片机上电复位时,R0~R7映射片内数据存储器的00H~07H,即第0组。执行指令“MOVR0,#24H”,立即数24H装载到R0,实际上被装载到00H地址空间上。执行“MOVR5,#3FH”,那R5映射的片内数据存储器05H地址上即被装载3FH。第7章解剖单片机7.4.2工作寄存器区(00H~1FH)20
欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》
Allyouneedtoknowaboutthe8051microcontroller编著:杨欣YangX张延强ZhangY主审:莱·诺克斯NokesL王玉凤WangY刘湘黔LiuX工作寄存器R0~R7除了映射片内数据存储器的地址00H~07H外,还可以映射向其余的地址08H~1FH。工作寄存器可用不同组别来称呼。第7章解剖单片机7.4.2工作寄存器区(00H~1FH)21
欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》
Allyouneedtoknowaboutthe8051microcontroller编著:杨欣YangX张延强ZhangY主审:莱·诺克斯NokesL王玉凤WangY刘湘黔LiuXAT89551单片机上电复位时工作寄存器默认的组别是第0组,即R0~R7映射00H~07H。如果想改变当前程序使用的工作寄存器组别,可以通过更改程序状态字PSW中的第3位(RS0)和第4位(RS1)。第7章解剖单片机7.4.3位寻址区(20H~2FH)22
欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》
Allyouneedtoknowaboutthe8051microcontroller编著:杨欣YangX张延强ZhangY主审:莱·诺克斯NokesL王玉凤WangY刘湘黔LiuX片内数据存储器的20H~2FH(共16个字节)为位寻址区,这16个字节共有16×8=128位的空间可进行位寻址。位寻址的意思是可对某一位单独进行操作,比如指令SETB可让位寻址区的任何一位置1,指令CLR可清0位寻址区的任何一位。第7章解剖单片机7.4.3位寻址区(20H~2FH)23
欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》
Allyouneedtoknowaboutthe8051microcontroller编著:杨欣YangX张延强ZhangY主审:莱·诺克斯NokesL王玉凤WangY刘湘黔LiuX在使用位寻址区时,并不是直接操作20H~2FH这16个地址,而是用图示的映射地址来完成。假如程序中需要把20H上的B0位清0,就需要操作20H上的B0位所映射的地址——00H,于是指令可设计为:“CLR 00H”。再如想把2AH上的B4位置1,指令则为“SETB 54H”。第7章解剖单片机7.4.4开放区(30H~7FH)24
欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》
Allyouneedtoknowaboutthe8051microcontroller编著:杨欣YangX张延强ZhangY主审:莱·诺克斯NokesL王玉凤WangY刘湘黔LiuX片内数据存储器的地址30H~7FH是开放给用户使用的空间,用户可以在这段空间里存储单片机运行时产生的数据,也可以读取存储的数据到工作寄存器、累加器等中。例如以下指令实现将累加器A的数据载入33H上,执行过后(33H)=8FH。第7章解剖单片机7.5■
单片机的特殊功能寄存器7.5.1特殊功能寄存器分布图25
欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》
Allyouneedtoknowaboutthe8051microcontroller编著:杨欣YangX张延强ZhangY主审:莱·诺克斯NokesL王玉凤WangY刘湘黔LiuXAT89S51单片机共有26个特殊功能寄存器,位于地址80H~0FFH上。其中有前面使用过的累加器A、程序状态字PSW、P0~P3口等。第7章解剖单片机7.5.2特殊功能寄存器的功能26
欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》
Allyouneedtoknowaboutthe8051microcontroller编著:杨欣YangX张延强ZhangY主审:莱·诺克斯NokesL王玉凤WangY刘湘黔LiuXAT89S51单片机多个内部功能模块如中断控制、Timer0/1、串行口等都由特殊功能寄存器控制。每个特殊功能寄存器的长度都是1个字节,它们的详细介绍将在随后的章节中详细展开。第7章解剖单片机7.5.3特殊功能寄存器的字节操作27
欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》
Allyouneedtoknowaboutthe8051microcontroller编著:杨欣YangX张延强ZhangY主审:莱·诺克斯NokesL王玉凤WangY刘湘黔LiuX操作特殊功能寄存器寄存器的过程,实际就是控制单片机充分发挥自身功能的过程。例如指令“MOVP1,#00H”,这条指令把立即数00H从P1口送出去。P1也是特殊功能寄存器的一份子,它的地址为90H。所以指令“MOVP1,#00H”就是对特殊功能寄存器的操作,会让特殊功能寄存器区的(90H)=00H。以上这种操作我们称为字节操作,因为在执行“MOVP1,#00H”时,P1就像一个符号,实际上立即数是送到P1对应的特殊功能寄存器地址空间上,也就是90H。所以,这和我们往片内数据存储器的开放区某一个地址装载1个字节的数据的过程是一样的。第7章解剖单片机7.5.4特殊功能寄存器的位操作28
欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》
Allyouneedtoknowaboutthe8051microcontroller编著:杨欣YangX张延强ZhangY主审:莱·诺克斯NokesL王玉凤WangY刘湘黔LiuX某些特殊功能寄存器还支持位操作,比较常用的是置1指令“SETB”和清0指令“CLR”。例如指令“CLRP2.0”将P2.0清0。执行这条指令后,只有P2.0=0,之相连的发光二极管点亮。而P2.1~P2.7仍然保持原来的状态。支持位操作的特殊功能寄存器:P0(P0口锁存器) P1(P1口锁存器)P2(P2口锁存器) P3(P3口锁存器)ACC(累加器) B(B寄存器)PSW(程序状态字寄存器) TCON(定时/计数器控制寄存器)SCON(串行口控制寄存器) IE(中断使能寄存器)IP(中断优先控制寄存器)第7章解剖单片机7.6■
应用体验——用取表方式实现流水灯7.6.1取表法29
欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》
Allyouneedtoknowaboutthe8051microcontroller编著:杨欣YangX张延强ZhangY主审:莱·诺克斯NokesL王玉凤WangY刘湘黔LiuX要实现流水灯需要在P2口按图示依次输出每一行数据,如果用十六进制表示每一行数据为:FEH、FDH、FBH、F7H、EFH、DFH、BFH、7FH。取表法的思路就是把这些数据预先放在一个数据表中,作为程序的一部分。单片机执行时每次取一个数据从P2口送出,延时后再取下一个数据送出,这样就可以从发光二极管上看到流水灯的效果了。第7章解剖单片机7.6.1取表法30
欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》
Allyouneedtoknowaboutthe8051microcontroller编著:杨欣YangX张延强ZhangY主审:莱·诺克斯NokesL王玉凤WangY刘湘黔LiuX第7章解剖单片机7.6.1取表法31
欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》
Allyouneedtoknowaboutthe8051microcontroller编著:杨欣YangX张延强ZhangY主审:莱·诺克斯NokesL王玉凤WangY刘湘黔LiuX第7章解剖单片机7.6.3体验流水灯3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智能家居在家庭金融管理中的应用与创新考核试卷
- 文具行业品牌全球化战略考核试卷
- 发动机气动特性与工艺优化设计考核试卷
- 2024年度家具定制购销合同
- 2024年度大豆期货交易合同
- 2024年度固废处理与资源化利用技术服务合同
- 2024年度大数据驱动的仓储优化合同
- 2024年度茶叶仓储物流合同
- 2024年度新能源汽车电池研发合同
- 2024年度房地产买卖与过户合同
- 高等代数参考答案
- 车间生产计划完成情况统计表
- 妇科病史及体查
- 教师评课意见和建议
- 2023年初级游泳救生员理论知识考试题库(浓缩400题)
- 施工现场临时用电安全技术规范
- 小数四则混合运算练习【说课稿】苏教版数学五年级上册
- 部编版道德与法治四年级上册第11课《变废为宝有妙招》优质课件
- 全面无反应性量表(FOUR)
- (完整word版)新《中华颂》朗诵稿
- 棒球比赛记录基础手册
评论
0/150
提交评论