第二章单片机原理与应用

上传人:re****.1 文档编号:580618546 上传时间:2024-08-29 格式:PPT 页数:46 大小:1.30MB
返回 下载 相关 举报
第二章单片机原理与应用_第1页
第1页 / 共46页
第二章单片机原理与应用_第2页
第2页 / 共46页
第二章单片机原理与应用_第3页
第3页 / 共46页
第二章单片机原理与应用_第4页
第4页 / 共46页
第二章单片机原理与应用_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《第二章单片机原理与应用》由会员分享,可在线阅读,更多相关《第二章单片机原理与应用(46页珍藏版)》请在金锄头文库上搜索。

1、第第2章章 AT89C51单片机的结构单片机的结构2.1 基本结构基本结构一、一、AT89C51片内资源片内资源1. CPU:核心部件,由运算器和控制器构成核心部件,由运算器和控制器构成(1)(1)运算器运算器( (ALU) ):8位位, ,算术和逻辑运算、数据传输等算术和逻辑运算、数据传输等l 累加器累加器( (Acc): ): 8位寄存器,提供数据,存储计算结果位寄存器,提供数据,存储计算结果l 程序状态寄存器程序状态寄存器( (PSW):):8位寄存器位寄存器, ,保存操作结果状态保存操作结果状态(2)(2)控制器控制器( (ALU) ):控制单片机的工作控制单片机的工作接收存储器指令接

2、收存储器指令译码译码产生并发出控制信息产生并发出控制信息2.1 AT89C51单片机的基本结构单片机的基本结构2.1 AT89C51单片机的基本结构单片机的基本结构2.1 AT89C51单片机的基本结构单片机的基本结构2. 内部内部RAM:256 B,地址,地址: 00 HFF Hl 高高128 B: 特殊功能寄存器(特殊功能寄存器(SFR)占用)占用l 低低128 B: 存放程序运行的中间结果,用作缓存、堆栈等存放程序运行的中间结果,用作缓存、堆栈等 3. 内部内部ROM:4 KB,地址,地址: 0000 H0FFF HFlash-ROM,存放用户程序,表格常数等,存放用户程序,表格常数等4

3、. 定时定时/计数器计数器:存在两个,存在两个,16位位5. 并行并行I/O口口:四个四个8位端口位端口(P0、P1、P2、P3)6. 串行端口串行端口:全双工(同时收发),串行通信全双工(同时收发),串行通信7. 中断系统中断系统:五个中断源五个中断源两个外部中断、两个定时两个外部中断、两个定时/ /计数中断、一个串行口中断计数中断、一个串行口中断2.1 AT89C51单片机的基本结构单片机的基本结构8. 时钟电路时钟电路:为单片机产生时钟脉冲序列为单片机产生时钟脉冲序列二、二、AT89C51引脚功能引脚功能DPI40封装封装PQFP/TQFP44封装封装2.1 AT89C51单片机的基本结

4、构单片机的基本结构主电源,接主电源,接+5 V公共地端公共地端1. 电源引脚电源引脚Vcc和和GND (Vss)2.1 AT89C51单片机的基本结构单片机的基本结构时钟电路引脚时钟电路引脚2. 时钟电路引脚时钟电路引脚XTAL1 和和 XTAL2 (1)(1)内部时钟方式内部时钟方式内部反向放大器内部反向放大器构成的振荡电路构成的振荡电路(2)(2)外部时钟方式外部时钟方式外部振荡脉冲外部振荡脉冲2.1 AT89C51单片机的基本结构单片机的基本结构3. 控制信号引脚控制信号引脚外部外部ROM允允许许/ /编程电源输入端编程电源输入端地址锁存使能输出地址锁存使能输出/ /编程脉冲输入端编程脉

5、冲输入端外部外部ROM读选通信号输出端读选通信号输出端( (1) ) EA/VPP (复用端口复用端口)l EA=1时时,CPU访问内部访问内部ROM, 超过超过4KB后转向外部后转向外部ROM=0时时,CPU仅访问外部仅访问外部ROMl VPP: 对片内对片内flash-ROM烧写时,烧写时,VPP接接+12V编程电源编程电源2.1 AT89C51单片机的基本结构单片机的基本结构外部外部ROM允允许许/ /编程电源输入端编程电源输入端地址锁存使能输出地址锁存使能输出/ /编程脉冲输入端编程脉冲输入端外部外部ROM读选通信号输出端读选通信号输出端( (2) ) ALE/PROG (复用端口复用

6、端口)l ALECPU访问外部存储器时,访问外部存储器时,ALE下降沿用于锁存下降沿用于锁存P0口输口输出的低出的低8位地址。否则,对外输出固定频率脉冲信号。位地址。否则,对外输出固定频率脉冲信号。l PROG对对flash-ROM编程时,用于输入编程脉冲编程时,用于输入编程脉冲2.1 AT89C51单片机的基本结构单片机的基本结构外部外部ROM允允许许/ /编程电源输入端编程电源输入端地址锁存使能输出地址锁存使能输出/ /编程脉冲输入端编程脉冲输入端外部外部ROM读选通信号输出端读选通信号输出端( (3) ) PSENCPU访问外部访问外部ROM时,每个机器周期中该端口两次有时,每个机器周期

7、中该端口两次有效(给出两个脉冲);访问外部效(给出两个脉冲);访问外部RAM时,无脉冲输出。时,无脉冲输出。( (4) ) RST(复位端)(复位端)该引脚出现该引脚出现2个机器周期以上的高电平时,使单片机复位。个机器周期以上的高电平时,使单片机复位。2.1 AT89C51单片机的基本结构单片机的基本结构4. 并行并行I/O口口(1)P0口:口:8位漏极开路双向位漏极开路双向I/O口口2.1 AT89C51单片机的基本结构单片机的基本结构4. 并行并行I/O口口(1)P0口:口:8位漏极开路双向位漏极开路双向I/O口口 通用通用I/O口口l作为输出口作为输出口:需外接上拉电阻,可驱动:需外接上

8、拉电阻,可驱动8个个LSTTL负载。负载。l作为输入口作为输入口:需先人为对:需先人为对端口锁存器端口锁存器写写入入 “1” 地址地址/数据分时复用口数据分时复用口l前提条件前提条件:CPU访问外部存储器访问外部存储器l功能功能:分时向外部存储器提供低:分时向外部存储器提供低8位地位地址,传送址,传送8位双向数据。位双向数据。2.1 AT89C51单片机的基本结构单片机的基本结构(2) P1口:口:8位带上拉电阻准双向位带上拉电阻准双向I/O口口l输入输入:需先对端口锁存器写:需先对端口锁存器写 “1”l输出输出:可驱动电流负载:可驱动电流负载2.1 AT89C51单片机的基本结构单片机的基本

9、结构(3) P2口:口:8位带上拉电阻准双向位带上拉电阻准双向I/O口口2.1 AT89C51单片机的基本结构单片机的基本结构(3) P2口:口:8位带上拉电阻准双向位带上拉电阻准双向I/O口口输入输入/输出功能与输出功能与P1口相同口相同 通用通用I/O口口 地址总线口地址总线口CPU访问外部存储器时,输出高访问外部存储器时,输出高8位地址位地址低低8位地址?位地址?2.1 AT89C51单片机的基本结构单片机的基本结构(4) P3口:口:8位带上拉电阻多功能准双向位带上拉电阻多功能准双向I/O口口 通用通用I/O口口: 与与P1、P2口相同口相同 第二功能(见表第二功能(见表2-1)一、一

10、、配置特点配置特点1. 物理结构上:物理结构上:分为四个存储空间分为四个存储空间2.2 AT89C51存储器配置存储器配置片内片内和和片外片外程序存储器程序存储器片内片内和和片外片外数据存储器数据存储器2. 逻辑上:逻辑上:分为三个逻辑空间分为三个逻辑空间( (1) )片内外统一编址片内外统一编址64 KB ROM空间空间( (2) )256 B 片内片内RAM空间空间( (3) )64 KB 片外片外RAM空间空间3. 存储器结构存储器结构2.2 AT89C51存储器配置存储器配置特殊功能特殊功能寄存器寄存器(21个个SFR)内部内部RAM128B00H7FH80HFFH外部外部RAM(64

11、KB)0000HFFFFHWERD外部外部ROM(60KB)EA=0/1内部内部ROM(4KB)EA=1外部外部ROM(4KB)EA=0PSEN0000H0FFFH1000HFFFFH1. 程序存储器的功能与访问程序存储器的功能与访问2.2 AT89C51存储器配置存储器配置二、二、AT89C51程序存储器程序存储器(1) 功能:功能:存放工作程序及表格常数存放工作程序及表格常数l 在控制器控制下,依次从在控制器控制下,依次从ROM中取出指令送给中取出指令送给CPU执行。执行。l CPU中设有程序计数器中设有程序计数器PC(指针),每取出一条指令(指针),每取出一条指令PC自动加自动加1,并指

12、向下一条要执行的指令。,并指向下一条要执行的指令。(2) 访问:访问:由由EA控制控制l EA1,从片内,从片内ROM读指令,读指令,PC范围:范围:0000H0FFFH超过范围才访问片外超过范围才访问片外ROM。l EA0,仅访问片外,仅访问片外ROM,PC范围:范围:0000HFFFFH2. 程序存储器的程序存储器的6个特殊地址个特殊地址2.2 AT89C51存储器配置存储器配置(1) 0000 H:复位初始单元,即复位后复位初始单元,即复位后PC0000 H(2) 0003 H:外部中断外部中断0入口地址入口地址(3) 000B H:定时定时/计数计数0中断入口地址中断入口地址(4) 0

13、013 H:外部中断外部中断1入口地址入口地址(5) 001B H:定时定时/计数器计数器1中断入口地址中断入口地址(6) 0023 H:串行口中断入口地址串行口中断入口地址中中断断入入口口地地址址以上相邻地址仅相差以上相邻地址仅相差8个单元!个单元!2.2 AT89C51存储器配置存储器配置【注注】:l中断入口地址处设一条中断入口地址处设一条绝对转移指令绝对转移指令,转向中断服务,转向中断服务程序实际所在地址。程序实际所在地址。l 0000H地址处设置一条地址处设置一条绝对转移指令绝对转移指令,跳过中断地址,跳过中断地址,转向用户程序实际地址。转向用户程序实际地址。l 一般将用户程序一般将用

14、户程序(包括中断服务程序包括中断服务程序)放在从放在从0100 H开始开始的区域。的区域。三、三、AT89C51片内片内RAM(低(低128 B)1. 低低128B RAM功能功能存放程序运算的中间结果,用作缓存、堆栈等存放程序运算的中间结果,用作缓存、堆栈等2.2 AT89C51存储器配置存储器配置2. 配置配置工作寄存器工作寄存器3 3区区工作寄存器工作寄存器2 2区区工作寄存器工作寄存器1 1区区工作寄存器工作寄存器0 0区区07 H00 H08 H0F H10 H17 H18 H1F H用户用户RAMRAM区区工作寄存器区工作寄存器区位寻址区位寻址区00 H2F H30 H7F H1F

15、 H20 H32 B16 B80 B2.2 AT89C51存储器配置存储器配置3. 工作寄存器区工作寄存器区 (00 H1F H)RS1RS0寄存器组寄存器组片内片内RAM地址地址00第第0组组00H07H01第第1组组08H0FH10第第2组组10H17H11第第3组组18H1FH(1). 分四组,每组分四组,每组8个单元,组成通用寄存器个单元,组成通用寄存器R0R7(2). CPU同时只能选中其中一组作为当前工作寄存器;同时只能选中其中一组作为当前工作寄存器;(3). 工作寄存器组的切换,可通过设置工作寄存器组的切换,可通过设置PSW中中RS1和和 RS0的取值组合实现;单片机复位后默认选

16、第的取值组合实现;单片机复位后默认选第0组。组。2.2 AT89C51存储器配置存储器配置4. 位寻址区位寻址区 (20 H2F H)(1). 即可按即可按字节字节读写,又可按读写,又可按位位存取存取(直接操作位直接操作位)。(2). 位地址:位地址:00 H7F H,共,共128位,如表位,如表2-3。(3). 区分位地址和字节地址:区分位地址和字节地址:l 所存二进制数据位数不同所存二进制数据位数不同l 访问指令或操作数不同,举例:访问指令或操作数不同,举例:MOV A, 20 H ; A为为8位累加器位累加器MOV C, 20 H ; C为位操作累加器为位操作累加器(4). 可用可用“字

17、节地址字节地址位位”的方式表示位地址的方式表示位地址2.2 AT89C51存储器配置存储器配置5. 用户用户RAM区区 (30 H7F H)(1). 一般一般RAM区,数据缓冲区,还可存放程序运算中间结果区,数据缓冲区,还可存放程序运算中间结果(2). 只能按字节存取,不能进行位操作只能按字节存取,不能进行位操作(3). 工作寄存器区和位寻址区中空闲单元,也可供用户作为工作寄存器区和位寻址区中空闲单元,也可供用户作为一般一般RAM使用使用6. 用户用户RAM区区 中的堆栈中的堆栈(1). 堆栈:按先进后出堆栈:按先进后出(后进先出后进先出)原则管理的原则管理的RAM缓冲区缓冲区(2). 堆栈区

18、常设置在用户堆栈区常设置在用户RAM区中区中(3). 堆栈指针堆栈指针SP:8位专用寄存器,始终指向栈顶单元位专用寄存器,始终指向栈顶单元2.2 AT89C51存储器配置存储器配置堆栈和堆栈指针示意图堆栈和堆栈指针示意图 6BH6BHSP89H1EHF5H60H61H栈顶栈顶栈底栈底RAM (4). 堆栈原理堆栈原理2.2 AT89C51存储器配置存储器配置 (5). 堆栈操作的两种方式堆栈操作的两种方式l 指令方式:用堆栈操作指令,由用户掌控指令方式:用堆栈操作指令,由用户掌控进进栈指令:栈指令:PUSH;出栈指令:;出栈指令:POPl 自动方式:调用函数或产生中断时,由硬件实现自动进自动方

19、式:调用函数或产生中断时,由硬件实现自动进出栈操作,不需用户干预出栈操作,不需用户干预(6). 堆栈的功能堆栈的功能* *堆栈主要用于子程序调用和产生中断的场合堆栈主要用于子程序调用和产生中断的场合* *l 保护断点:用堆栈保存断点地址,确保正确返回保护断点:用堆栈保存断点地址,确保正确返回l 保护现场:某些寄存器会被占用,用堆栈将这些寄存器保护现场:某些寄存器会被占用,用堆栈将这些寄存器内容保存起来,调用或中断返回后,将其恢复内容保存起来,调用或中断返回后,将其恢复2.2 AT89C51存储器配置存储器配置 【例例2-1】:(题意略):(题意略) SPXXRAM60H61H62H PUSH

20、30HPUSH 31H(31H)(30H)30HPOP 30HPOP 31H31HSP60H61H 62H60H【注注】:l 程序设计时尽量减少子程序嵌套调用程序设计时尽量减少子程序嵌套调用l 堆栈要有足够深度,但不能超过用户堆栈要有足够深度,但不能超过用户RAM区范围区范围2.2 AT89C51存储器配置存储器配置四、四、AT89C51特殊功能寄存器特殊功能寄存器 (SFR)1. 概述概述(1)(1)离散分布在片内离散分布在片内RAM高高128B,共,共21个个(2)(2)每个每个SFR占用占用1B,并定义标识符,并定义标识符(3)(3)功能:专门用于功能:专门用于控制和管理控制和管理片内各

21、功能模块的工作片内各功能模块的工作(4)(4)用户只能直接寻址方式给其设定值或赋初值用户只能直接寻址方式给其设定值或赋初值(5)(5)字节地址低位为字节地址低位为8或或0的的SFR,可进行位操作,可进行位操作2. SFR简介简介(1) (1) CPU专用寄存器专用寄存器2.2 AT89C51存储器配置存储器配置 程序状态寄存器程序状态寄存器 PSW,D0 H单元单元位位D7D6D5D4D3D2D1D0位地址位地址 D7HD6HD5HD4HD3HD2HD1HD0H名称名称CYACF0RS1RS0OVF1Pl功能:保存功能:保存CPU操作或运算结果的状态操作或运算结果的状态l各位名称和功能各位名称

22、和功能奇奇偶偶标标识识位位用用户户标标志志位位溢溢出出标标志志位位工工作作寄寄存存器器组组选选择择位位用用户户标标志志位位半半进进位位标标志志位位进进位位标标志志位位2.2 AT89C51存储器配置存储器配置 累加器累加器 Acc,E0 H单元单元l功能:存放功能:存放CPU运算结果或指令的操作数运算结果或指令的操作数l最常用、最重要的最常用、最重要的SFRl指令系统中,助记符为:指令系统中,助记符为:A 寄存器寄存器B,F0 H单元单元用于乘除法操作指令;对其它指令,可作为用于乘除法操作指令;对其它指令,可作为RAM的一个单元的一个单元 堆栈指针堆栈指针 SP,81 H单元单元l用于存放栈顶

23、单元地址用于存放栈顶单元地址l单片机复位后单片机复位后SP07H;故使用时;故使用时SP应设在应设在30H7FH之间之间2.2 AT89C51存储器配置存储器配置l16位位, 可分为高可分为高8位位(DPH, 83H单元单元)和低和低8位位(DPL, 82H单元单元) 数据指针数据指针 DPTR,82 H和和83H单元单元l用于对外部存储器和用于对外部存储器和I/O口进行寻址,存放口进行寻址,存放16位地址位地址 程序计数器程序计数器 PC(独立于(独立于21个个SFR之外的专用寄存器)之外的专用寄存器)l16位专用寄存器,存放要执行的位专用寄存器,存放要执行的下一条指令下一条指令的地址的地址

24、l可自动加可自动加1,指明程序执行方向和路线,指明程序执行方向和路线l单片机复位后,单片机复位后,PC0000 Hl PC寄存器不在寄存器不在RAM中,而在中,而在CPU中,不可寻址中,不可寻址(2) (2) 并行并行I/O口寄存器口寄存器l P0, 80H; P1, 90H; P2, A0H; P3, B0H2.2 AT89C51存储器配置存储器配置l SFR P0P3分别是分别是I/O口口P0P3的锁存器的锁存器 (D触发器触发器)l I/O口作为输入时,都需向相应锁存器写口作为输入时,都需向相应锁存器写“1”(3) (3) 串行串行口寄存器口寄存器l 串行口控制寄存器串行口控制寄存器 S

25、CON,98 Hl 串行口数据缓冲器串行口数据缓冲器 SBUF,99 Hl 电源控制寄存器电源控制寄存器 PCON,87 H(4) (4) 定时定时/ /计数器计数器l 控制寄存器控制寄存器 TCON,88 Hl 方式寄存器方式寄存器TMOD,89 Hl 初值寄存器初值寄存器TH0, 8CH; TL0, 8AH; TH1, 8DH; TL1, 8BH2.2 AT89C51存储器配置存储器配置(5) (5) 中断寄存器中断寄存器l 中断允许寄存器中断允许寄存器 IE,A8 Hl 中断优先级寄存器中断优先级寄存器IP,B8 H五、五、AT89C51片外数据存储器片外数据存储器1. 片外片外RAM和

26、片内和片内RAM功能基本一致,但片外功能基本一致,但片外RAM只能用间接只能用间接寻址寻址方式访问方式访问2. 解决存储器地址重叠问题方法解决存储器地址重叠问题方法l 访问指令不同:访问指令不同:片内片内RAM,MOV;片外;片外RAM,MOVX片内外片内外ROM,MOVC2.2 AT89C51存储器配置存储器配置l 片外片外RAM的读写由的读写由RD和和WR信号控制,而片外信号控制,而片外ROM的的读通过读通过PSEN控制控制六、六、AT89C52存储器配置(存储器配置(略略)一、时钟电路一、时钟电路1. 时钟电路时钟电路:产生时钟信号进而控制各部件同步工作的电路产生时钟信号进而控制各部件同

27、步工作的电路2.3 AT89C51时钟电路与时钟电路与CPU时序时序2. 内部时钟方式内部时钟方式:内部振荡器结合外部晶振电路(常用)内部振荡器结合外部晶振电路(常用)(时钟脉冲频率晶振频率)(时钟脉冲频率晶振频率)3. 外部时钟方式外部时钟方式:从外部直接引入时钟脉冲(很少用)从外部直接引入时钟脉冲(很少用)二、二、CPU时序时序1. 时序时序:执行指令过程中,执行指令过程中,CPU产生的各种控制信号在时间产生的各种控制信号在时间上的相互关系上的相互关系2.3 AT89C51时钟电路与时钟电路与CPU时序时序2. 时序分类时序分类:(1) 用于片内各功能部件控制的时序信号用于片内各功能部件控

28、制的时序信号 (2) 通过引脚送到片外,用于外部存储器或通过引脚送到片外,用于外部存储器或I/O口的时序信号口的时序信号(多而复杂,无需了解多而复杂,无需了解)(有利于硬件设计,重要有利于硬件设计,重要)3. 时序定时单位时序定时单位:(1) 时序信号是以时序信号是以时钟周期时钟周期为基础而形成的为基础而形成的 (2) 时钟周期时钟周期:振荡周期:振荡周期 / /时钟脉冲频率的倒数时钟脉冲频率的倒数(单片机最小时间单位)(单片机最小时间单位)(3) 机器周期机器周期:完成一个基本操作所需时间:完成一个基本操作所需时间(1机器周期机器周期12时钟周期)时钟周期)2.3 AT89C51时钟电路与时

29、钟电路与CPU时序时序(4) 指令周期指令周期:单片机取一条指令至执行完该指令所需时间:单片机取一条指令至执行完该指令所需时间l 以机器周期为单位;不同指令,指令周期也不同以机器周期为单位;不同指令,指令周期也不同l 单周期指令和双周期指令(最多);四周期指令(极少)单周期指令和双周期指令(最多);四周期指令(极少)(指(指机器周期机器周期数)数)4. 时序举例时序举例l单片机开发应重点了解不同单片机开发应重点了解不同指令下指令下I/O口口的时序,即片外时序的时序,即片外时序l MOVX A, DPTR ; 双周期指令双周期指令【意义意义】:将:将DPTR所存地址对应的,片外所存地址对应的,片

30、外RAM中的单元存中的单元存储内容,传送给累加器储内容,传送给累加器Al 应重点分析应重点分析ALE、P0、P2、RD的时序信号的时序信号2.3 AT89C51时钟电路与时钟电路与CPU时序时序一、复位状态一、复位状态2. 应用场合应用场合:单片机上电时;程序运行出错或进入死循环时单片机上电时;程序运行出错或进入死循环时2.4 AT89C51复位与复位电路复位与复位电路1. 复位复位:使使CPU和内部其它部件处于一个确定的初始状态和内部其它部件处于一个确定的初始状态3. 复位状态复位状态:初始化一些专用寄存器,如表初始化一些专用寄存器,如表2-7【注注】复位后片内复位后片内RAM中的数据不变中

31、的数据不变二、复位电路二、复位电路1. 复位条件复位条件:RST引脚出现引脚出现2个机器周期以上的高电平个机器周期以上的高电平2.4 AT89C51复位与复位电路复位与复位电路2. 复位电路复位电路上电复位电路上电复位电路(1) 上电复位上电复位l 利用电容器的充电实现利用电容器的充电实现l 高电平持续时间高电平持续时间由由RC电电路路的时间常数决定的时间常数决定2.4 AT89C51复位与复位电路复位与复位电路按键复位电路按键复位电路(2) 按键复位按键复位可实现两种复位方式:可实现两种复位方式:l K1断开:上电复位,断开:上电复位,过程同上过程同上l K1闭合:按键复位,用于单片机闭合:按键复位,用于单片机工作过程中复位工作过程中复位2.4 AT89C51复位与复位电路复位与复位电路(3) 外接芯片复位(外接芯片复位(MAX810 / IMP810)提高复位的可靠性,用于频繁复位的情况提高复位的可靠性,用于频繁复位的情况门限电压门限电压VccVREF, RESET=1持续持续240ms后为后为0能使单片机工作的,由最少器件构成的系统能使单片机工作的,由最少器件构成的系统2.4 AT89C51单片机最小系统单片机最小系统1. 什么是最小系统什么是最小系统2. 最小系统构成最小系统构成电源,时钟电路,复位电路电源,时钟电路,复位电路

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号