《单片机原理与实践 第3章 MCS-51单片机应用基础.ppt》由会员分享,可在线阅读,更多相关《单片机原理与实践 第3章 MCS-51单片机应用基础.ppt(34页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第 1 页u51内核单片机内核单片机CPU以以MCS-51/52为基础为基础系统结构相同系统结构相同指令集兼容指令集兼容3.1 MCS-513.1 MCS-51单片机简介单片机简介 51系列:系列:8031、8051、8751等等52系列:系列:8032、8052、8752等等3.MCS-513.MCS-51单片机应用基础单片机应用基础 第 2 页3.1 MCS-513.1 MCS-51单片机简介单片机简介 型号型号片内存储器片内存储器片外片外存储器存储器数据数据+程序程序I IO O口线口线中断中断个数个数定时器计数器定时器计数器(个(个/位)位)工作工作频率频率(MHzMHz)机器机器周期
2、周期(s)ROMROMEPROMEPROMCPUCPURAMRAM并并串串8031803112812864K+64K64K+64K8*48*4UARTUART5 52/162/162 2121212/12/频率频率805180514K4K12812864K+64K64K+64K8*48*4UARTUART5 52/162/162 2121212/12/频率频率875187514K4K12812864K+64K64K+64K8*48*4UARTUART5 52/162/162 2121212/12/频率频率8032803225625664K+64K64K+64K8*48*4UARTUART6 6
3、3/163/162 2121212/12/频率频率805280528K8K25625664K+64K64K+64K8*48*4UARTUART6 63/163/162 2121212/12/频率频率875287528K8K25625664K+64K64K+64K8*48*4UARTUART6 63/163/162 2121212/12/频率频率第 3 页控制器控制器运算器运算器RAMRAMROMROMSFRSFR等等片内总线片内总线片外总线片外总线I/OI/OI/OI/O第 4 页u控制器控制器振荡器振荡器指令寄存器指令寄存器定时与控制单元定时与控制单元与控制器共同完成控制作用的寄存器与控制器
4、共同完成控制作用的寄存器程序计数器程序计数器PC,16位、位、程序无法直接访问程序无法直接访问堆栈指针堆栈指针SP(Stack Pointer),),8位,指向在位,指向在CPU内部内部RAM中建立的堆栈的栈顶中建立的堆栈的栈顶数据指针数据指针DPTR(Data Pointer),地址不同的),地址不同的 两个两个8位,可构成一个位,可构成一个16位位3.2 MCS-513.2 MCS-51单片机的组成单片机的组成第 5 页u运算器运算器ALU和两个暂存器组成和两个暂存器组成累加器,双重身份:累加器,双重身份:A累加器,累加器,ACC通用寄存通用寄存器器B寄存器,主要用于乘法和除法操作,通用寄
5、寄存器,主要用于乘法和除法操作,通用寄存器存器逻辑处理机(又称布尔处理机)逻辑处理机(又称布尔处理机)程序状态字程序状态字PSW(Program Status Word)用来存储表示单片机运行结果的一些标志用来存储表示单片机运行结果的一些标志3.2 MCS-513.2 MCS-51单片机的组成单片机的组成第 6 页进位标志进位标志CY(CarrY flag)表示运算是否有进位(或借位)产生表示运算是否有进位(或借位)产生用于无符号数运算结果的判断用于无符号数运算结果的判断辅助进位标志辅助进位标志AC(Auxiliary Carry flag)半进位标志半进位标志用于用于BCD(binary c
6、oded decimal)运算调整)运算调整溢出标志位溢出标志位OV(OVery flag)用于符号数的加减运算用于符号数的加减运算表示乘法的积的位数扩展表示乘法的积的位数扩展当除法溢出时(除数为零)当除法溢出时(除数为零)3.2 MCS-513.2 MCS-51单片机的组成单片机的组成uPSWPSW第 7 页奇偶标志奇偶标志P(Parity flag)反映累加器或反映累加器或ACC内容的奇偶性内容的奇偶性P与累加器(与累加器(ACC)组成偶校验)组成偶校验保证此保证此9位数据中位数据中1的个数为偶数的个数为偶数 如(如(ACC)=11001100B,则,则P=0用户的标志:用户的标志:F1(
7、Flag 1)、)、F0(Flag 0)无特定的含义,可供用户使用无特定的含义,可供用户使用在在51系列单片机中系列单片机中F1未定义未定义3.2 MCS-513.2 MCS-51单片机的组成单片机的组成第 8 页通用寄存器的组号通用寄存器的组号RSRegister bank Selector bit用于表示当前操作的寄存器组的组号用于表示当前操作的寄存器组的组号用自然二进制数表示用自然二进制数表示3.2 MCS-513.2 MCS-51单片机的组成单片机的组成第 9 页u总线总线片内总线,连接单片机内部的部件片内总线,连接单片机内部的部件片外总线,提供扩展外部器件的总线接口片外总线,提供扩展
8、外部器件的总线接口u存储器存储器非标准的非标准的哈佛结构哈佛结构lROM与与RAM独立编址(两个独立的存储器空独立编址(两个独立的存储器空间)间)l数据总线和地址总线共用数据总线和地址总线共用一个与一个与CPU内部内部RAM高高128字节地址重叠的特字节地址重叠的特殊功能寄存器殊功能寄存器SFR3.2 MCS-513.2 MCS-51单片机的组成单片机的组成第 10 页ROM通过总线与单片机连接通过总线与单片机连接寻址能力是寻址能力是64KB(16位地址,位地址,0000H到到0FFFFH)CPU外部外部RAM通过总线与单片机连接通过总线与单片机连接寻址能力是寻址能力是64KBI0总线扩展与总
9、线扩展与CPU外部外部RAM统一编址统一编址有些有些51内核的单片机已集成部分内核的单片机已集成部分CPU外部外部RAM,称之为片内,称之为片内RAM,而称通过外部总线扩展,而称通过外部总线扩展的的CPU外部外部RAM为片外为片外RAM3.2 MCS-513.2 MCS-51单片机的组成单片机的组成第 11 页CPU内部内部RAM通过总线与单片机连接通过总线与单片机连接8XX1是是128个字节,地址为个字节,地址为00H7FH8XX2是是256个字节,地址为个字节,地址为00H0FFH 其中高其中高128个字节的地址与个字节的地址与SFR重叠重叠通用寄存器区通用寄存器区l地址从地址从00H到到
10、1FH,分成四个寄存器组,分成四个寄存器组l每组占用每组占用8个字节,记为个字节,记为R0R7l组号由组号由RS1和和RS0确定确定3.2 MCS-513.2 MCS-51单片机的组成单片机的组成第 12 页3.2 MCS-513.2 MCS-51单片机的组成单片机的组成RS1RS1、RS0RS0组号组号CPUCPU内部内部RAMRAM的地址的地址00000 000H00H07H07H01011 108H08H0FH0FH10102 210H10H17H17H11113 318H18H1FH1FH字节地址字节地址=8*RS1RS0+寄存器的下标寄存器的下标如:如:RS1RS0=10,求,求R2
11、的地址的地址 R2的地址的地址=8*2+2 =18 =12H第 13 页位寻址区位寻址区字节地址从字节地址从20H到到2FH位地址从位地址从00H到到7FH3.2 MCS-513.2 MCS-51单片机的组成单片机的组成第 14 页SFR完成软件与硬件的交互作用完成软件与硬件的交互作用通过总线与单片机连接通过总线与单片机连接部件的控制命令字、状态字和数据缓存部件的控制命令字、状态字和数据缓存l与芯片的引脚有关与芯片的引脚有关l片内功能的控制片内功能的控制地址范围为地址范围为80H0FFH当地址是当地址是8的整数倍时可位寻址的的整数倍时可位寻址的 位地址位地址=SFR地址地址+位的序号(位的序号
12、(80H0FFH)不同型号的不同型号的51内核单片机可能会有区别内核单片机可能会有区别3.2 MCS-513.2 MCS-51单片机的组成单片机的组成第 15 页3.2 MCS-513.2 MCS-51单片机的组成单片机的组成符号符号地址地址功能介功能介绍绍复位复位值值BF0HB寄存器寄存器00HACCE0H与与A为为同一个物理寄存器同一个物理寄存器00HPSWD0H程序状程序状态态字字00HIPB8H中断中断优优先先级级控制寄存器控制寄存器XX000000P3B0HP3口口锁锁存器存器0FFHIEA8H中断允中断允许许控制寄存器控制寄存器0X000000P2A0HP2口口锁锁存器存器0FFH
13、SBUF99H串行口串行口锁锁存器存器XSCON98H串行口控制寄存器串行口控制寄存器00H第 16 页定时器计数器定时器计数器51系列:两个系列:两个16位的定时器计数器(位的定时器计数器(0/1)52系列:三个系列:三个16位的定时器计数器(位的定时器计数器(2)定时器计数器的信号引脚与端口定时器计数器的信号引脚与端口3(0/1)和)和端口端口1(2)的某些位共用)的某些位共用输入输出接口输入输出接口四个四个8位的通用输入输出位的通用输入输出GIO端口端口一个通用异步收发器一个通用异步收发器UART3.2 MCS-513.2 MCS-51单片机的组成单片机的组成第 17 页GIOlP0P3
14、四个四个8位位l其中大部分都有第二功能其中大部分都有第二功能l准双向接口,数据通过引脚直接输入准双向接口,数据通过引脚直接输入l输出一般采用漏极开路(输出一般采用漏极开路(Open Drain,OD),),输出的高电平由上拉电阻(输出的高电平由上拉电阻(pull-up risistor)实现实现UARTl一种同步模式一种同步模式l三种异步模式三种异步模式3.2 MCS-513.2 MCS-51单片机的组成单片机的组成第 18 页3.3.1 MCS-513.3.1 MCS-51单片机的存储器体系结构单片机的存储器体系结构3.3 3.3 存储器体系结构与寻址方式存储器体系结构与寻址方式 第 19
15、页u操作规则操作规则 先进后出(先进后出(First-In Last-Out,FILO)后进先出(后进先出(Last-In First-Out,LIFO)u特性特性位于位于CPU内部内部RAM浮动浮动堆底可设在任何位置,深度可变堆底可设在任何位置,深度可变满递增满递增堆栈指针堆栈指针SP指向栈顶位置(最后指向栈顶位置(最后压入的数据的地址)、方向由低到高压入的数据的地址)、方向由低到高SP复位后的值为复位后的值为7,一般需根据,一般需根据CPU内部内部RAM的使用情况进行设定的使用情况进行设定3.3.2 MCS-513.3.2 MCS-51单片机的堆栈单片机的堆栈 第 20 页堆栈操作可分为入
16、栈和出栈操作堆栈操作可分为入栈和出栈操作硬件自动硬件自动l返回地址入栈返回地址入栈响应中断响应中断子程序调用子程序调用l返回地址出栈返回地址出栈响应中断返回(响应中断返回(RETI)子程序调用返回(子程序调用返回(RET)软件控制软件控制只支持只支持直接寻址直接寻址入栈指令为入栈指令为PUSH ADDR出栈指令为出栈指令为POP ADDR3.3.2 MCS-513.3.2 MCS-51单片机的堆栈单片机的堆栈第 21 页3.3.2 MCS-513.3.2 MCS-51单片机的堆栈单片机的堆栈第 22 页u外部总线的存储器所支持的寻址方式外部总线的存储器所支持的寻址方式ROMMOVC指令指令目的
17、操作数必须是累加器寻址目的操作数必须是累加器寻址源操作数必须是使用源操作数必须是使用A+DPTR或或A+PC的变址基的变址基址接寻址址接寻址RAMMOVX指令指令一个操作数必须是累加器寻址一个操作数必须是累加器寻址而另一个操作数只支持寄存器间接寻址而另一个操作数只支持寄存器间接寻址16位地址使用位地址使用DPTR、8位地址使用位地址使用R0或或R13.3.2 MCS-513.3.2 MCS-51单片机的寻址方式单片机的寻址方式第 23 页u内部总线的存储器内部总线的存储器MOV等指令等指令完成对所有内部总线的存储器的操作完成对所有内部总线的存储器的操作通过不同的寻址方式来指定不同的区域通过不同
18、的寻址方式来指定不同的区域SFR直接寻址(字节地址:直接寻址(字节地址:80H0FFH)位寻址(位地址:位寻址(位地址:80H0FFH)高高128个字节的个字节的CPU内部内部RAM寄存器间接寻址寄存器间接寻址地址寄存器必须使用地址寄存器必须使用R0或或R13.3.2 MCS-513.3.2 MCS-51单片机的寻址方式单片机的寻址方式第 24 页低低128个字节的个字节的CPU内部内部RAM直接寻址或寄存器间接寻址直接寻址或寄存器间接寻址寄存器寻址(寄存器寻址(4组,组,R0R7)位寻址(位地址:位寻址(位地址:00H7FH)3.3.2 MCS-513.3.2 MCS-51单片机的寻址方式单
19、片机的寻址方式第 25 页p编程语言:汇编程语言:汇编、编、C及汇编和及汇编和C混合编程混合编程p编程方法编程方法 u基于嵌入式操作系统基于嵌入式操作系统以操作系统内核为基础,完成任务的编程以操作系统内核为基础,完成任务的编程程序的实时性和可靠性由操作系统保障程序的实时性和可靠性由操作系统保障适用于功能复杂的应用系统适用于功能复杂的应用系统3.4 MCS-513.4 MCS-51单片机常用的编程语言和方法单片机常用的编程语言和方法 第 26 页u基于处理器的直接编程基于处理器的直接编程功能较简单或对软件代码长度敏感的系统功能较简单或对软件代码长度敏感的系统开发较复杂,软件的修改和维护较困难开发
20、较复杂,软件的修改和维护较困难需完成全部软件的编写需完成全部软件的编写程序的实时性和可靠性与编程人员的水平密程序的实时性和可靠性与编程人员的水平密切相关切相关3.4 MCS-513.4 MCS-51单片机常用的编程语言和方法单片机常用的编程语言和方法 第 27 页前后台系统(超循环系统)前后台系统(超循环系统)3.4 MCS-513.4 MCS-51单片机常用的编程语言和方法单片机常用的编程语言和方法 第 28 页p监视定时器监视定时器WDT作用作用当干扰导致系统软件故障,当干扰导致系统软件故障,WDT使系统复位使系统复位原理原理l可重触发的单稳态触发器可重触发的单稳态触发器l不能被简单的程序
21、指令关闭不能被简单的程序指令关闭3.4 MCS-513.4 MCS-51单片机常用的编程语言和方法单片机常用的编程语言和方法 第 29 页3.5 513.5 51内核单片机常用的开发工具内核单片机常用的开发工具 第 30 页3.5 513.5 51内核单片机常用的开发工具内核单片机常用的开发工具第 31 页3.5 513.5 51内核单片机常用的开发工具内核单片机常用的开发工具组件组件PK51 DK51 CA51 A51 FR51Vision3工程管理和编工程管理和编辑器辑器Ax51汇编器汇编器Cx51编译器编译器BL51、L Lx51连接器定连接器定位器位器LIB51库管理器库管理器Visi
22、on3调试模拟器调试模拟器RTX51 TinyRTX51 Full第 32 页3.5 513.5 51内核单片机常用的开发工具内核单片机常用的开发工具编程编程调试器、调试器、烧写器烧写器软件软件仿真仿真DEBDEB调试器调试器接口接口第 33 页程序程序 3 1#define pi 3.14159float data x,y;float data r=12.1/2;void main(void)x=pi*r*r;/圆的圆的面积面积 y=(pi*r*r*r*4)/3;/球的体积球的体积 while(1);3.4 MCS-513.4 MCS-51单片机常用的编程语言和方法单片机常用的编程语言和方法 第 34 页PP.62PP.626363:3.3.8.8.,14.14.第三章作业第三章作业