02单片机原理与应用技术第二章
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.4 单片机最小系统
5V电源、时钟电路、复位电路、EA引脚接到正电源端,以 使用单片机内部程序存储器 2.4.1单片机时钟信号电路
图2-8 单片机时钟产生方式
3.时钟周期、机器周期、指令周期
图2-9 时钟周期、机器周期、指令周期之间的关系
2.4.2单片机的复位电路
图2-10 复位电路
2.4.3单片机最小系统电路
电源
电源指示灯 复位电路 时钟电路 LED模块电路
USB口取电
①绿色LED ②1K电阻 ①按键 ×1②电解电容100uF ×1③1K电阻 ×1 ①晶振11.0592M ×1 ②30P电容 ×1 ①红色LED ×8 ②1K电阻 ×8
4.制作所需最基本工具 ①烙铁②焊锡丝③导线 5.将程序写入单片机 单片机的程序编写完后,经过反复编译调试,排除程序中的错误 和缺陷。最后需要将编译好的程序文件写入单片机的程序存储器, 这个过程通常需要使用编程器。
直重复上述过程直到程序中的所有指令执行完毕,这就是单片机的基本工作
过程。
2.7 组装与焊接单片机最小系统(实训一)
实训目的:熟悉单片机的硬件结构及最小系统的组成 单片机芯片选择及最小系统电路图
(a)最小系统板
(b)杜邦线 (c)8个发光LED
图2-15 连线图
3.所需元器件
功能 单片机 元器件 AT89S51
(2)PC的内容自动加1变为0001H,指向下一个指令字节;
(3)地址寄存器中的内容0000H通过地址总线送到片内存储器,经存储器中地址译 码器选中0000H单元;
(4)CPU通过控制总线发出读命令;
(5)将选中单元0000H的内容74H送内部数据总线上,因为是取指令周期,该内容通 过内部数据总线送到指令寄存器。到此取指令结束,进入执行指令过程。
串行通信输入(RXD) 串行通信输出(TXD) 外部中断 0( INT0) 外部中断 1(INT1) 定时器 0 输入(T0) 定时器 1 输入(T1) 外部数据存储器写选通 WR 外部数据存储器读选通 RD
2.1.2控制信号类引脚
(1)/VPP 外部程序存储器地址允许/固化编程电压输入端。 (2)RST/VPD RST是复位信号输入端,VPD是备用电源输入端。 (3)时钟振荡电路引脚XTALl、XTAL2 (4)电源引脚 Vcc:电源的输入端,+5V;Vss:电源的接地端。 (5) 外部程序存储器读选通信号。 (6)ALE/ 地址锁存允许/编程信号。
表2-3
工作寄存器地址表
区号
RSl(PSW.4)
RS0(PSW.3)
R0
R1
R2
R3
R4
R5
R6
R7
0 1 2 3
0 0 1 1
0 1 0 1
Hale Waihona Puke Baidu
00H 08H 10H 18H
01H 09H l1H 19H
02H 03H 04H 05H 06H 0AH 0BH 0CH 0DH 0EH 12H 13H 14H 15H 16H 1AH lBH 1CH 1DH 1EH
图2-16 TOP853型编程器
编程器使用TopWin软件,支持Windows98se/Me/2000/XP。具体步骤 如下: (1)通过USB线将编程器与计算机连接,编程器电源指示灯亮; (2)运行“TOPWin.exe”;工作指示灯(绿色)亮; (3)在主菜单中选择“文件”,注意后缀名是“.hex”,装载数 据到文件缓冲区; (4)将芯片插在插座上并锁紧,准备对器件进行读写操作。 (5)单击 “操作”菜单 项,单击工具按钮为“型号”,执行后 弹出“选择厂家/型号”窗口,选择单片机型号。以89C51为例,在 “选择厂家/型号”窗口中选择如下: 类型: 单片机 制造厂家: ATMEL 器件型号: AT89C51 (6)单击“读写” 工具按钮,按“确认”键,弹出单片机读写窗 口,如图2-17所示。
2.2 51单片机的内部组成
图2-6 89S51单片机的系统结构框图
2.3 51单片机的CPU结构
CPU从功能上可分为控制器和运算器两部分 1.控制器由程序计数器PC、指令寄存器IR、指令译 码器ID、数据指针DPTR、堆栈指针SP、缓冲器以 及定时与控制逻辑电路等组成。主要功能是对来自 存储器中的指令进行译码,通过定时控制电路,在 规定的时刻发出各种操作所需的全部内部和外部控 制信号,协调各功能元件的工作,完成指令所规定 的功能。 2.运算器主要由算术逻辑运算部件ALU、累加器Acc、 暂存器、程序状态字寄存器PSW、BCD码运算调整 电路等组成。
单片机指令的执行过程如下: (1)指令寄存器中的内容经指令译码后,说明这条指令是取数指令,即把
一个立即数送累加器A中;
(2)PC的内容为0001H,送地址寄存器,译码后选中0001H单元,同时PC的 内容自动加1变为0002H;
(3)CPU同样通过控制总线发出读命令;
(4)将选中单元0001H单元的内容0FH读出经内部数据总线送到送累加器A中。 至此本指令执行结束。PC=0002H,机器又进入下一条指令的取指令过程。一
图2-11
单片机的最小系统电路
2.5 单片机存储结构及寄存器
2.5.1 AT89S51单片机存储器的分类及配置
图2-12
单片机的存储器结构
2.5.2单片机的数据存储器
AT89S51单片机的数据存储器用于存放运算中间结 果、数据暂存和缓冲、标志位、待调试的程序等。 1.低128字节的片内RAM区
(1)寄存器区
思考与练习
1、51单片机的内部组成及各部分功能
2、51单片机各引脚的功能是什么?
3、说明89S51单片机最小系统的构建方法
4、说明89S51单片机的RAM低128单至元划分为那三个主要
部分?各部分主要功能是什么?
5、P3口有哪些第二功能?
6、什么是指令周期、机器周期和时钟周期?如何计算机器 周期的确切时间?
2.5.3单片机的专用功能寄存器SFR
专用功寄存器专用于控制、管理单片机内算术逻 辑部件、 并行I/O口锁存器、 串行口数据缓冲器、 定时器/计数器、 中断系统等功能模块的工作。 部分专用寄存器 1.累加器(ACC-Accumulator) 2.B寄存器 3.数据指针DPTR 4.堆栈指针(SP-Stack Pointer) 5.程序状态字寄存器(PSW- Program Status Word) 6.I/O端口的专用寄存器 7.串行数据缓冲器SBUF 8.定时器/计数器
本章要点 ●掌握51单片机的内部组成及各部分功能 ●掌握51单片机的引脚功能 ●理解51单片机的存储器结构 ●理解51单片机的时钟电路与复位电路 ●掌握51单片机最小系统的构建方法
2.1 51单片机引脚定义及功能
2.1.1 输入/输出类引脚(并行I/O端口)
51单片机有32条I/O端口,构成四个8位双向端 口。分别是P0 、P1、 P2 、P3。
图2-2
P0口的结构
P0口既能用作通用I/O口,又能用作地址/数据总线
图2-3
P1口的结构
图2-4
P2口的结构
图2-5
P3口的结构
P0口:一般用作I/O口,扩展存储器时用 作存储器的低8位地址与数据线。 P1口:输入输出口。 P2口:一般用作I/O口,扩展存储器时地 址线的高8位。 P3口:双功能口,若不用第二功能,可 作为一般的I/O口。
表2-1
引脚 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 兼用功能
P3口的第二功能
使P3端口处于第二功能的条件 串行I/O处于运行状态(RXD,TXD) 串行I/O处于运行状态(RXD,TXD) 打开了处部中断INT0 打开了处部中断INT1 T0处于外部计数状态 T1处于外部计数状态 执行写外部RAM的指令 执行读外部RAM的指令
2.8 单片机的编程
单片机的内部硬件资源包括CPU、存储器、I/O口、定时器、中断、串 口几个部分。单片机的CPU、存储器与编程开发无关。单片机程序开发就 是对I/O口、定时器、中断、串口几个部分进行编程。 我们使用C语言开发,是在C语言的基础上对上述功能部件进行开发。 其中I/O口一共4条语句(端口输入、端口输出、引脚输入、引脚输 出),而与单片机硬件有关的语句中大部分就是这4条语句。 定时器编程包括初始化语句语句3条(工作模式设置、定时时间/计数 大小设置、启动、),1条查询是否定时器已经溢出的语句或中断处理函 数。 中断编程包括始化语句语句1条(允许开放那个中断),一个中断处 理函数。 串口编程需要时再用,含初始化语句7条,1条查询发送或接收成功的 语句或中断处理函数。 单片机的C语言要求的知识点不多见3.9节的小提示内容。所以单片机 编程是简单的,只需要掌握少数几条语句就能控制硬件工作,但需要灵活 应用。
2.5.4程序存储器
1.不同型号的机型,片内的程序存储器结构和空间 也不同。 2. 5l子系列单片机的片外最多能扩展64k字节。 3.程序存储器的某些单元已被保留作为特定的程序
入口地址(中断服务程序入口地址),这些单元具
有特殊功能。
2.6 单片机的工作过程
单片机的工作过程实际上是执行程序语句的过程,而执行程序语句的过程又是执行 一系列指令的过程,执行指令又是一个取指令、分析指令和执行指令的周而复始的 过程。 单片机中的程序一般事先都已固化在程序存储器中,因而开机即可执行指令。 下面以MOV A,#0FH指令的执行过程来说明单片机的工作过程,此指令的机器码为7 4H,0FH,并已存在0000H开始的单元中。 单片机开机时,PC=0000H,即从0000H开始执行程序。首先是取指令过程: (1)PC中的0000H送到片内地址寄存器;
位寻址区与位地址
D5 7D H 75 H 6D H 65 H 5D H 55 H 4D H 45 H 3D H 35 H 2D H 25 H 1D H 15 H 0D H D4 7C H 74 H 6C H 64 H 5C H 54 H 4C H 44 H 3C H 34 H 2C H 24 H 1C H 14 H 0C H D3 7B H 73 H 6B H 63 H 5B H 53 H 4B H 43 H 3B H 33 H 2B H 23 H 1B H 13 H 0B H D2 7A H 72 H 6A H 62 H 5A H 52 H 4A H 42 H 3A H 32 H 2A H 22 H 1A H 12 H 0A H D1 79 H 71 H 69 H 61 H 59 H 51 H 49 H 41 H 39 H 31 H 29 H 21 H 19 H 11 H 09 H D0 78 H 70 H 68 H 60 H 58 H 50 H 46 H 40 H 38 H 30 H 28 H 20 H 18 H 10 H 08 H
2.1.3单片机I/O端口的负载能力
●P0口的每一位输出可驱动8个TTL负载。当把它作通用I/ O口输出使用时,输出级是开漏电路,当它驱动拉电流负载 时,需要外接上拉电阻才有高电平输出。 ●P1~P3口的输出级均接有内部上拉电阻,他们的每一位的 输出均可以驱动4个TTL负载。当Pl和P3口作输入时,任何 TTL或HMOS电路都能以正常的方法驱动这些口。 ●P1~P3口的输入端都可以被集电极开路或漏极开路电路所 驱动,而无需再外接上拉电阻。 ●单片机的端口输出能力只能提供几毫安的输出电流,当作 为输出口去驱动负载时,应考虑电平和电流的匹配,使用时 应注意。
07H 0FH 17H 1FH
(2)位寻址区与位地址 (3)用户RAM区 表2-4
字节地址 2FH 2EH 2DH 2CH 2BH 2AH 29H 28H 27H 26H 25H 24H 23H 22H 21H D7 7F H 77 H 6F H 67 H 5F H 57 H 4F H 47 H 3F H 37 H 2F H 27 H 1F H 17 H 0F H D6 7E H 76 H 6E H 66 H 5E H 56 H 4E H 46 H 3E H 36 H 2E H 26 H 1E H 16 H 0E H