单片机原理及应用教案.doc
《单片机原理及应用教案.doc》由会员分享,可在线阅读,更多相关《单片机原理及应用教案.doc(55页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、单 片 机 原 理 及 应 用教案第一章 绪论第一节 单片机单片机即单片机微型计算机,是将计算机主机(CPU、内存和 I/O 接口)集成在一小块硅片上的微型机。第二节 单片机的历史与现状第一阶段(19761978 年):低性能单片机的探索阶段。以 Intel 公司的 MCS-48 为代表,采用了单片结构,即在一块芯片内含有 8 位 CPU、定时/计数器、并行 I/O 口、RAM和 ROM 等。主要用于工业领域。第二阶段(19781982 年):高性能单片机阶段,这一类单片机带有串行 I/O 口,8位数据线、16 位地址线可以寻址的范围达到 64K 字节、控制总线、较丰富的指令系统等。这类单片机
2、的应用范围较广,并在不断的改进和发展。第三阶段(19821990 年):16 位单片机阶段。16 位单片机除 CPU 为 16 位外,片内RAM 和 ROM 容量进一步增大,实时处理能力更强,体现了微控制器的特征。例如 Intel公司的 MCS-96 主振频率为 12M,片内 RAM 为 232 字节,ROM 为 8K 字节,中断处理能力为 8 级,片内带有 10 位 A/D 转换器和高速输入/输出部件等。第四阶段(1990 年):微控制器的全面发展阶段,各公司的产品在尽量兼容的同时,向高速、强运算能力、寻址范围大以及小型廉价方面发展。第三节 单片机的应用领域一、单片机在仪器仪表中的应用二、单
3、片机在机电一体化中的应用三、单片机在智能接口和多机系统中的应用四、单片机在生活中的应用第二章 硬件结构第一节 MCS-51 单片机及其演变特点(1)一个 8 位微处理器 CPU。(2)数据存储器 RAM 和特殊功能寄存器 SFR。(3)内部程序存储器 ROM。(4)两个定时/计数器,用以对外部事件进行计数,也可用作定时器。(5)四个 8 位可编程的 I/O(输入/输出)并行端口,每个端口既可做输入,也可做输出。(6)一个串行端口,用于数据的串行通信。(7)中断控制系统。(8)内部时钟电路。第二节 80C51 单片机的基本结构1)中央处理器(CPU)中央处理器是单片机的核心,完成运算和控制功能。
4、MCS-51 的 CPU 能处理 8 位二进制数或代码。CPU时钟电路P0P3P2P1TXDRXDINT0INT1并行接口串行接口中断系统定时/计数器RAMROMT0T12)内部数据存储器(内部 RAM)8051 芯片中共有 256 个 RAM 单元,但其中后 128 单元被专用寄存器占用,能作为寄存器供用户使用的只是前 128 单元,用于存放可读写的数据。因此通常所说的内部数据存储器就是指前 128 单元,简称内部 RAM。3)内部程序存储器(内部 ROM)8051 共有 4 KB 掩膜 ROM,用于存放程序、原始数据或表格,因此,称之为程序存储器,简称内部 ROM。4)定时/计数器8051
5、 共有两个 16 位的定时/计数器,以实现定时或计数功能,并以其定时或计数结果对计算机进行控制。5)并行 I/O 口MCS-51 共有 4 个 8 位的 I/O 口(P0、P1、P2、P3),以实现数据的并行输入/输出。在实训中我们已经使用了 P1 口,通过 P1 口连接 8 个发光二极管。第三节 80C51 单片机的引脚功能MCS-51 是标准的 40 引脚双列直插式集成电路芯片,引脚排列请参见图P0.0 P0.7:P0 口 8 位双向口线。P1.0 P1.7:P1 口 8 位双向口线。P2.0 P2.7:P2 口 8 位双向口线。P3.0 P3.7:P3 口 8 位双向口线。ALE:地址锁
6、存控制信号。在系统扩展时,ALE 用于控制把 P0 口输出的低 8 位地址锁存起来,以实现低位地址和数据的隔离。此外,由于 ALE 是以晶振 1/6 的固定频率输出的正脉冲,因此,可作为外部时钟或外部定时脉冲使用。PSEN:外部程序存储器读选通信号。在读外部 ROM时,PSEN 有效(低电平),以实现外部 ROM 单元的读操作。EA:访问程序存储控制信号。当信号为低电平时,对ROM 的读操作限定在外部程序存储器;当信号为高电平时,对 ROM 的读操作是从内部程序存储器开始,并可延至外部程序存储器。RST:复位信号。当输入的复位信号延续两个机器周期以上的高电平时即为有效,用以完成单片机的复位初始
7、化操作。P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78RST/VPD9RXD P3.010TXD P3.111INT0 P3.212INT1 P3.313T0 P3.414T1 P3.515WR P3.616RD P3.717XTAL218XTAL119VSS20P2.021P2.122P2.223P2.324P2.425P2.526P2.627P2.728PSEN29ALE/PROG30EA/VPP31P0.732P0.633P0.534P0.435P0.336P0.237P0.138P0.039VCC408031 8051 8751XTAL1 和 XTAL
8、2:外接晶体引线端。当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。VSS:地线。VCC:+5 V 电源。以上是 MCS-51 单片机芯片 40 条引脚的定义及简单功能说明,读者可以对照实训电路找到相应引脚,在电路中查看每个引脚的连接使用。P3 口线的第二功能。P3 的 8 条口线都定义有第二功能第四节 存储器结构MCS-51 单片机的芯片内部有 RAM 和 ROM 两类存储器,即所谓的内部 RAM 和内部 ROMMCS-51 内部程序存储器MCS-51 的程序存储器用于存放编好的程序和表格常数。8051 片内有 4 KB 的 ROM,87
9、51片内有4 KB的EPROM,8031片内无程序存储器。MCS-51的片外最多能扩展64 KB程序存储器,片内外的 ROM 是统一编址的。如端保持高电平,8051 的程序计数器 PC 在0000H0FFFH 地址范围内(即前 4 KB 地址)是执行片内 ROM 中的程序,当 PC 在1000HFFFFH 地址范围时,自动执行片外程序存储器中的程序;当保持低电平时,只能寻址外部程序存储器,片外存储器可以从 0000H 开始编址。MCS-51 的程序存储器中有些单元具有特殊功能,使用时应予以注意。其中一组特殊单元是 0000H0002H。系统复位后,(PC)=0000H,单片机从 0000H单元
10、开始取指令执行程序。如果程序不从 0000H 单元开始,应在这三个单元中存放一条无条件转移指令,以便直接转去执行指定的程序。还有一组特殊单元是 0003H002AH,共 40 个单元。这 40 个单元被均匀地分为 5段,作为 5 个中断源的中断地址区。其中:0003H000AH外部中断 0 中断地址区000BH0012H定时/计数器 0 中断地址区0013H001AH外部中断 1 中断地址区001BH0022H定时/计数器 1 中断地址区0023H002AH串行中断地址区中断响应后,按中断种类,自动转到各中断区的首地址去执行程序,因此在中断地址区中理应存放中断服务程序。但通常情况下,8 个单元
11、难以存下一个完整的中断服务程序,因此通常也是从中断地址区首地址开始存放一条无条件转移指令,以便中断响应后,通过中断地址区,再转到中断服务程序的实际入口地址。MCS-51 内部数据存储器内部数据存储器低 128 单元8051 的内部 RAM 共有 256 个单元,通常把这 256 个单元按其功能划分为两部分:低 128 单元(单元地址 00H7FH)和高 128 单元(单元地址 80HFFH)。如图所示为低 128 单元的配置图。寄存器区8051 共有 4 组寄存器,每组 8 个寄存单元(各为 8),各组都以 R0R7 作寄存单元编号。寄存器常用于存放操作数中间结果等。由于它们的功能及使用不作预
12、先规定,因此称之为通用寄存器,有时也叫工作寄存器。4 组通用寄存器占据内部 RAM 的 00H1FH单元地址。在任一时刻,CPU 只能使用其中的一组寄存器,并且把正在使用的那组寄存器称之为当前寄存器组。到底是哪一组,由程序状态字寄存器 PSW 中 RS1、RS0 位的状态组合来决定。通用寄存器为 CPU 提供了就近存储数据的便利,有利于提高单片机的运算速度。此外,使用通用寄存器还能提高程序编制的灵活性,因此,在单片机的应用编程中应充分利用这些寄存器,以简化程序设计,提高程序运行速度。位寻址区特殊功能寄存器通用RAM区位寻址区00H1FH20H2FH30H7FH80HFFH80H88H90H98
13、HA0HA8HB0HB8HD0HE0HF0H特殊功能寄存器中位寻址外部ROM内部ROM(EA=1)外部ROM(EA=0)0000H0000H0FFFH0FFFH1000HFFFFH外 部RAM(I/O口地址)0000HFFFFH内部数据存储器(a)外部数据存储器(b)程序存储器(c)工作寄存器区内部 RAM 的 20H2FH 单元,既可作为一般 RAM 单元使用,进行字节操作,也可以对单元中每一位进行位操作,因此把该区称之为位寻址区。位寻址区共有 16 个 RAM单元,计 128 位,地址为 00H7FH。MCS-51 具有布尔处理机功能,这个位寻址区可以构成布尔处理机的存储空间。这种位寻址能
14、力是 MCS-51 的一个重要特点。用户 RAM 区在内部 RAM 低 128 单元中,通用寄存器占去 32 个单元,位寻址区占去 16 个单元,剩下 80 个单元,这就是供用户使用的一般 RAM 区,其单元地址为 30H7FH。对用户RAM 区的使用没有任何规定或限制,但在一般应用中常把堆栈开辟在此区中。内部数据存储器高 128 单元内部 RAM 的高 128 单元是供给专用寄存器使用的,其单元地址为 80HFFH。因这些寄存器的功能已作专门规定,故称之为专用寄存器(Special Function Register),也可称为特殊功能寄存器。第五节 特殊功能存储器 SFR8051 共有 2
15、1 个专用寄存器,现把其中部分寄存器简单介绍如下:程序计数器(PCProgram Counter)。在实训中,我们已经知道 PC 是一个 16 位的计数器,它的作用是控制程序的执行顺序。其内容为将要执行指令的地址,寻址范围达 64 KB。PC 有自动加 1 功能,从而实现程序的顺序执行。PC 没有地址,是不可寻址的,因此用户无法对它进行读写,但可以通过转移、调用、返回等指令改变其内容,以实现程序的转移。因地址不在 SFR(专用寄存器)之内,一般不计作专用寄存器。累加器(ACCAccumulator)。累加器为 8 位寄存器,是最常用的专用寄存器,功能较多,地位重要。它既可用于存放操作数,也可用
16、来存放运算的中间结果。MCS-51 单片机中大部分单操作数指令的操作数就取自累加器,许多双操作数指令中的一个操作数也取自累加器。B 寄存器。B 寄存器是一个 8 位寄存器,主要用于乘除运算。乘法运算时,B 存乘数。乘法操作后,乘积的高 8 位存于 B 中,除法运算时,B 存除数。除法操作后,余数存于 B中。此外,B 寄存器也可作为一般数据寄存器使用。程序状态字(PSWProgram Status Word)。程序状态字是一个 8 位寄存器,用于存放程序运行中的各种状态信息。其中有些位的状态是根据程序执行结果,由硬件自动设置的,而有些位的状态则使用软件方法设定。PSW 的位状态可以用专门指令进行
17、测试,也可以用指令读出。一些条件转移指令将根据 PSW 有些位的状态,进行程序转移。PSW 的各位定义如下:PSW 位 地址D7HD6HD5HD4HD3HD2HD1HD0H字节地址CYACF0RS1RS0OVF1P除 PSW.1 位保留未用外,其余各位的定义及使用如下:CY(PSW.7)进位标志位。CY 是 PSW 中最常用的标志位。其功能有二:一是存放算术运算的进位标志,在进行加或减运算时,如果操作结果的最高位有进位或借位时,CY 由硬件置“1”,否则清“0”;二是在位操作中,作累加位使用。位传送、位与位或等位操作,操作位之一固定是进位标志位。AC(PSW.6)辅助进位标志位。在进行加减运算
18、中,当低 4 位向高 4 位进位或借位时,AC 由硬件置“1”,否则 AC 位被清“0”。在 BCD 码调整中也要用到 AC 位状态。F0(PSW.5)用户标志位。这是一个供用户定义的标志位,需要利用软件方法置位或复位,用以控制程序的转向。RS1 和 RS0(PSW.4,PSW.3)寄存器组选择位。它们被用于选择 CPU 当前使用的通用寄存器组。通用寄存器共有 4 组,其对应关系如下:00:0 组01:1 组10:2 组11:3 组这两个选择位的状态是由软件设置的,被选中的寄存器组即为当前通用寄存器组。但当单片机上电或复位后,RS1 RS0=00。OV(PSW.2)溢出标志位。在带符号数加减运
19、算中,OV=1 表示加减运算超出了累加器 A 所能表示的符号数有效范围(-128 +127),即产生了溢出,因此运算结果是错误的,否则,OV=0 表示运算正确,即无溢出产生。P(PSW.0)奇偶标志位。表明累加器 A 中内容的奇偶性。如果 A 中有奇数个“1”,则 P 置“1”,否则置“0”。凡是改变累加器 A 中内容的指令均会影响 P 标志位。此标志位对串行通信中的数据传输有重要的意义。在串行通信中常采用奇偶校验的办法来校验数据传输的可靠性。数据指针(DPTR)。数据指针为 16 位寄存器。编程时,DPTR 既可以按 16 位寄存器使用,也可以按两个 8 位寄存器分开使用,即:DPHDPTR
20、 高位字节,DPLDPTR 低位字节。DPTR 通常在访问外部数据存储器时作地址指针使用。由于外部数据存储器的寻址范围为 64 KB,故把 DPTR 设计为 16 位。堆栈指针(SPStack Pointer)。堆栈是一个特殊的存储区,用来暂存数据和地址,它是按“先进后出”的原则存取数据的。堆栈共有两种操作:进栈和出栈。由于 MCS-51 单片机的堆栈设在内部 RAM 中,因此 SP 是一个 8 位寄存器。系统复位后,SP 的内容为 07H,从而复位后堆栈实际上是从 08H 单元开始的。但 08H1FH 单元分别属于工作寄存器 13 区,如程序要用到这些区,最好把 SP 值改为 1FH 或更大
21、的值。对专用寄存器的字节寻址问题作如下几点说明:(1)21 个可字节寻址的专用寄存器是不连续地分散在内部 RAM 高 128 单元之中,尽管还余有许多空闲地址,但用户并不能使用。(2)程序计数器 PC 不占据 RAM 单元,它在物理上是独立的,因此是不可寻址的寄存器。(3)对专用寄存器只能使用直接寻址方式,书写时既可使用寄存器符号,也可使用寄存器。第六节 输入输出端口单片机芯片内还有一项主要内容就是并行 I/O 口。MCS-51 共有 4 个 8 位的并行 I/O口,分别记作 P0、P1、P2、P3。每个口都包含一个锁存器、一个输出驱动器和输入缓冲器。实际上,它们已被归入专用寄存器之列,并且具
22、有字节寻址和位寻址功能。在访问片外扩展存储器时,低 8 位地址和数据由 P0 口分时传送,高 8 位地址由 P2口传送。在无片外扩展存储器的系统中,这 4 个口的每一位均可作为双向的 I/O 端口使用。第七节 时钟电路在 MCS-51 芯片内部有一个高增益反相放大器,其输入端为芯片引脚 XTAL1,其输出端为引脚 XTAL2。而在芯片的外部,XTAL1 和 XTAL2 之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器,这就是单片机的时钟电路。VCC锁存器P1.XDCPQQP1.X引脚读锁存器写锁存器内部总线读引脚内部上拉电阻XTAL2XTAL1MCS-51C1C2CYSXTAL2XT
23、AL1MCS-51+5VVSSTTL外部时钟源1振荡周期:为单片机提供时钟信号的振荡源的周期。2时钟周期:是振荡源信号经二分频后形成的时钟脉冲信号。3机器周期:通常将完成一个基本操作所需的时间称为机器周期。4指令周期:是指 CPU 执行一条指令所需要的时间。一个指令周期通常含有 14 个机器周期。P1P2S1P2振荡周期时钟周期机器周期机器周期指令周期XTAL2(OSC)S2S3S4S5S6S1S2S4S5S3S6P1P1P1P1P1P1P1P1P1P1P1P2P2P2P2P2P2P2P2P2P2P2第八节 复位电路单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状
24、态开始工作,例如复位后MCS-51VCCVCCRESETVSS22 F1 kMCS-51VCCVCCRESETVSS22 FRESETR1R2(a)(b)200 PC=0000H,使单片机从第一个单元取指令。实训中已经看出,无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位,所以我们必须弄清楚 MCS-51 型单片机复位的条件、复位电路和复位后状态。第三章 MCS-51 指令系统第一节 指令格式采用助记符表示的汇编语言指令格式如下:标号是程序员根据编程需要给指令设定的符号地址,可有可无;标号由 18 个字符组成,第一个字符必须是英文字,不能是数字或其它符号;标号后必须用冒号。操作
25、码表示指令的操作种类,如 MOV 表示数据传送操作,ADD 表示加法操作等。操作数或操作数地址表示参加运算的数据或数据的有效地址。操作数一般有以下几种形式:没有操作数项,操作数隐含在操作码中,如 RET 指令;只有一个操作数,如 CPLA指令;有两个操作数,如 MOVA,#00H 指令,操作数之间以逗号相隔;有三个操作数,如 CJNEA,#00H,NEXT 指令,操作数之间也以逗号相隔。注释是对指令的解释说明,用以提高程序的可读性;注释前必须加分号。第二节 寻址方式寻找操作数地址的方式称为寻址方式。1.寄存器寻址寄存器寻址是指将操作数存放于寄存器中,寄存器包括工作寄存器 R0R7、累加器 A、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 原理 应用 教案
限制150内