[单片机原理及应用举例及拓展_第1页
[单片机原理及应用举例及拓展_第2页
[单片机原理及应用举例及拓展_第3页
[单片机原理及应用举例及拓展_第4页
[单片机原理及应用举例及拓展_第5页
已阅读5页,还剩227页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1,单片机原理与应用,主讲教师:江娟娟,2,课程简介:“单片机原理及应用 ”是一门实践性、应用性很强的技术基础课,通过本课程的学习,使学生较好地掌握MCS-51系列单片微型计算机的基本结构、工作原理、接口技术和应用等方面的知识。掌握单片机应用系统的设计和应用程序的设计方法,学习单片机应用于工业测控等方面的基本技术。并通过实践环节的学习,学会单片机应用系统的设计和调试方法。为将来从事自动测控技术、智能电器、电子、检测等工业领域相关工作,进行各种智能化电子产品的设计和研发等提供技术准备,奠定坚实的技术基础。,3,单片机原理与应用,第一章 单片机概述第二章 MCS-51单片机的硬件结构与工作第三章 MCS-51单片机的指令系统与程序设计第四章 MCS-51单片机的中断系统第五章 MCS-51定时计数器及其应用第六章 串行接口第七章 MCS-51单片机的系统扩展第八章 单片机应用系统接口技术,4,第一章 单片机概述,5,第二章 MCS-51单片机的硬件结构与工作原理,6,第三章 MCS-51单片机的指令系统与程序设计,7,第四章 MCS-51单片机的中断系统,8,第五章 MCS51定时计数器及其应用,9,第六章 串行接口,10,第七章 MCS-51单片机的系统扩展,11,第八章 单片机应用系统接口技术,12,单片机原理与应用,本门课程主要的教学内容:单片微型机的基本工作原理汇编语言程序设计方法单片微型计算机应用单片微型计算机应用系统设计方法,学习方法? 掌握单片机应用系统硬件原理的分析方法。 单片机与外部设备连接的原理是什么? 掌握软件设计与调试的基本技能。,13,单片机学习邮箱: mcudsp_密码: auts_mcu_dsp,单片机学习网站网址: ,单片机参考书籍: 李广弟,单片机基础(修订本)北京:北京航空航天大学出版社,2001 年,14,第一章 单片机概述,讲授内容:1. 有关微型计算机、单片机的概念2. 单片机的一般结构及特点3. 单片机的发展过程4. 常用单片机系列简介5. 单片机的应用领域6. 数制、码制复习 本章重点: 1. 微处理器、微机和单片机的基本概念、单片机的结构特点 与应用。 2.数制、码制,15,回 顾:有关微型计算机的基础知识,第一节 微型计算机与单片机, 常见微型计算机的外形,一、微型计算机、微处理器和单片机的概念,1、微型计算机的硬件结构,16, 微型计算机的硬件组成,17,微型计算机系统通常由多块印刷电路板制成,18,软 件+ 系 统, 微型计算机的硬件内部结构,微型计算机系统,硬件系统:构成微型计算机的实体和装置,如微处理器,存储器,总线,I/O接口等;软件系统:微型计算机系统所使用的各种程序的总称,如系统软件,应用软件等。,19,2、单片微型计算机, 单片微型计算机的概念(P1.第一段),简单地说,单片微型计算机是指集成在一个芯片上的微型计算机。,20,微处理器(Microprocessor)微型计算机的控制和运算器部分; 微控制器(Microcontroller Unit )为了强调单片机的控制特点, 将其称为微控制器; 微型计算机(Microcomputer)有完整运算及控制功能的计算机, 包括微处理器、存储器、输入/输出(I/O)接口电路以及输入/输出设备等; 单片机(single chip microcomputer)直译为单片微型计算机,它将 CPU、RAM、ROM、定时器/计数器、输入/输出(I/O)接口电路、中断、 串行通信接口等主要计算机部件集成在一块大规模集成电路芯片上,具有一台计算机的属性,即组成单片微型计算机,简称为单片机 。 单片机的形态只是一块芯片,但是它已具有了微型计算机的组成结构和功能。由于单片机的结构特点,在实际应用中常常将它完全融入应用系统之中,故而也有将单片机称为嵌入式微控制器(Embedded microcontroller)。,列举几个名称,(P1.第二段),21,二、单片机的一般结构及特点,从体系结构来看,一般 单片机有2种基本结构形式: 一种是在通用微型计算机中广泛采用的将程序存储器和数据存储器合用一个存储空间的结构,称为冯诺依曼结构; 另一种是将程序存储器和数据存储器截然分开,分别寻址的结构,称为哈佛(Harvard)结构。目前的单片机以采用程序存储器和数据存储器截然分开的结构较多。,第二节 单片机的一般结构及特点,1、单片机的基本结构,22,一般根据控制应用需要,又可设计成通用型单片机、专用型单片机。(P1.第三段) 通用型单片机:是一种基本芯片,内部资源较丰富,性能全面且适应性强,能覆盖多种应用需求。 专用型单片机:专门针对某个特定产品或控制应用而专门设计的,设计时考虑系统结构最简化、软硬件资源利用最优化、可靠性和成本最佳化。,2、单片机的内部结构,23,单片机的中央处理器(CPU)和通用微处理器基本相同,只是增设了“面向控制”的处理功能。例如:位处理、查表、多种跳转、乘除法运算、状态检测、中断处理功能等,增强了控制的实用性和灵活性。,24,3、单片机的特点, 体积小,重量轻电源单一,功耗低 功能强,价格低 运行速度快,抗干扰能力强,可靠性高,4、单片机的芯片封装形式,双列直插式,贴片式,可以直接嵌入到电子产品中嵌入式应用系统,25,5、单片机应用系统, 掌握单片机应用系统硬件原理 的分析方法。单片机与外部设备连接的原理是什么? 掌握软件设计与调试的基本技能。,26,三、单片机的历史与发展,第一阶段:(1974-1976) 单片机初级阶段,以仙童公司的F8为代表。第二阶段:(1976-1978) 低性能单片机阶段,以MCS-48系列单片机为代表。 第三阶段:(1978-至今) 高性能单片机阶段,以MCS-51系列单片机为代表。 第四阶段:(1982-至今)在8位单片机基础上,推出16位、32位单片机,是单片机向微控制器发展的阶段。,第三节 单片机的发展过程,1、单片机的发展过程,单片机的发展经历了由1位到4位,4位到8位,再到16位/32位机的发展过程。,8位指的是什么?单片机CPU内部总线的个数,即有多少条总线,这也就决定了单元的个数!,目前,8位机仍是单片机的主流机型,教学中选用MCS-51系列单片机,主要因为其通用性强,应用广泛。,27,第四节 常用单片机系列, ATMEL单片机 ATMEL公司所生产的ATMEL89系列单片机(简称89系列单片机),就是基于Intel公司的MCS-5l系列而研制的,该公司技术优势在于Flash存储器技术。 应用较多的有: AT89C51系列 STC89C51/52系列 SST89系列 AT-tiny、AT90/、ATmega等系列的AVR单片机 这些都是一种可下载的Flash单片机,它和IBM微机通信进行下载程序十分方便。,1、常用单片机系列的简介,28, Philips单片机 Philips公司的的单片机都属于MCS-51系列兼容的单片机。 Maxim-Dallas单片机 WinBond单片机 Motorola单片机其他公司的单片机 1)NEC单片机; 2)东芝单片机; 3)Epson单片机; 提示:经常上网查询,关注发展动态,29,第五节 单片机的应用领域,1、工业方面,电梯、生产工具、生产设备、黑匣子(安装于飞机、轮船上,用于实时保存重要的数据和参数),2、民用方面,数码照相机、电视机、收音机、空调、洗衣机、电饭煲等。一般电脑电饭煲,内部只有一个单片机,这种控制系统是单核嵌入;对于分体式空调,室内机与室外机中分别有1个单片机,为双核嵌入结构。,30,3、电讯方面,手机、CALL机、电话机、交换机,4、汽车方面,越高档的汽车越能见到单片机的应用。,31,5、数据处理方面,打印机等,6、智能仪表方面,智能化仪表内部基本上都是用单片机进行信息控制与处理,扩展了单片机在智能仪器中的应用。,32,(1)总线(BUS) 总线是连接CPU与各功能部件并进行信息传递的公共通道。总线通常分为三种,即数据总线(DB)地址总线(AB)和控制总线(CB)。,复习一 微型计算机的基本结构及工作原理,1. 微型计算机的基本结构 微型计算机由微处理器(CPU)、存储器、 输入输出接口(I/O接口)三部分组成,各部分用总线相连。,33,(2)输入输出(I/O)接口 由于I/O设备中类繁多,它们在速度、电平、功率、信息形式等很多方面有很大差别,不能直接与CPU连接,必须经过I/O接口电路解决它们之间的匹配问题。 (3) 存储器 存储器分类 存储器存储的信息 存储器的读写操作过程,34,(4)微处理器(CPU) 运算器 寄存器阵列 控制器 内部总线 2. 复习基本概念与常用术语(1)位(Bit) 位是计算中构成信息的最小单位,表示二进制数中的某个数位“0”或“1”。Bit是Binarg Digit的缩写。(2)字(Word) 字是CPU与输入/输出设备和存储器之间传送数据的基本单位,由若干位组成它与数据总线的宽度(根数)一致。(3)字节(Byte) 一字节为8位(bit)。,35,(4)指令(Instruction): 指规定计算机完成某种操作的命令。目前计算机只能直接识别由二进制编码的指令,即机器码(5)指令系统(Instnction Set):指一台计算机所能识别的全部指令的集合。 。 (6)程序(Progrom):为完成特定任务而设计的一组指令有序的集合。(7)地址(Address)地址指存贮单元的编号。(8)K和KB计算机的存储器容量较大,K和KB常用作计算存储器 容量的单位 1K=210=1024; KB=1024Byte。 (9) 关于时序的概念 所谓时序,就是计算机在工作过程中,CPU控制器所发出的一系列控制信号在时间上的相互关系。,36,复习内容 二 计算机系统中的数制、码制复习,1.数制及其互换 常用数制:十进制、二进制、十六进制和八进制十进制:符合人们的习惯。二进制:便于物理实现。十六进制:便于识别、书写。,二进制特点:以2为底(基数),逢2进位;只有0、1两个符号。(B)2=Bn-1*2n-1+Bn-2*2n-2+B0*20+B-1*2-1+.+B-m*2-m十六进制特点:以16为底(基数),逢16进位。(B)16=Bn-1*16n-1+Bn-2*16n-2+B0*160+B-1*16-1+.+B-m*16-m,37,各进制数间的转换非十进制到十进制的转换 方法:按相应进位计数制的权表达式展开(待转换的数按位展开,各位数乘以相应的权值,再进行相加运算)。 10110010B=( ? )10 13FAH =( ? )10,十六进制与二进制的转换方法:8421码,38,2)十进制到非十进制的转换 十进制到二进制转换: 整数部分:除2取余; 小数部分:乘2取整。 (12.125)10=( ? )2 十进制到十六进制转换: 整数部分:除16取余; 小数部分:乘16取整。以小数点为起点,求得整数和小数的各个位。,39,2.二进制数的运算二进制数分为无符号二进制数和有符号二进制数。运算分为算术运算和逻辑运算。,有符号数的定义 计算机中有符号数的表示方法:将二进制数的最高位定义为符号位,符号位=0,是正数符号位=1,是负数,40,机器数:连同符号位一起数值化了的数。真值:机器数所表示的真实的数值。 +52=+0110100=00110100,41,无符号数的算术运算 加法:1+1=0(有进位)减法:0-1=1(有借位)乘法:乘以2相当于左移一位除法:除以2相当于右移一位,例: 00001011*0100=00101100B 00001011/0100=00000010B,42,3.原码、反码、补码特点: 8位二进制数表示原码、反码、补码的范围 (-127+127、-127+127、-128+127) 补码的运算 在微型计算机中,带符号数用补码表示,减法可用补码相加来实现,运算结果为补码。,43,主要内容:1.MCS-51单片机组成(结构、引脚功能)2.MCS-51单片机存储器组织与操作 3.MCS-51单片机并行I/O端口4.MCS-51单片机的时钟与定时5.MCS-51单片机的系统复位6.单片机的工作过程,重点理解: 1.MCS-51系列单片机存储器结构特点2. 单片机特殊功能寄存器的作用3.不同场合下单片机引脚的复用功能4. 单片机的位处理功能及其作用,第二章 MCS-51单片机的硬件结构与工作原理,44,8位CPU、只读存储器EPROMROM、读写存储器RAM、并行IO口、串行IO口、定时器计数器、中断系统、振荡器和时钟电路等部分组成。各部分之间通过内部总线相连。,第一节 MCS-51系列单片机的硬件结构,一、单片机的硬件结构,课本11页图2-1,45,1、MCS-51单片机的基本组成,46,中央处理器CPU,课本15页CPU,47,(1)是CPU中使用最频繁的8位寄存器,CPU中的数据传送大多通过A。(2)A是ALU单元的数据处理源之一,又是ALU运算结果的存放单元, 如ADD A, #data(3)因为A用的最频繁,容易产生堵塞现象,这是累加器结构特有的瓶颈现象。,(1)B是专门为执行乘除运算而设置的8位寄存器。(2)不在执行乘除指令的情况下,可以把寄存器B当作一个普通的寄存器使用。,(1)完成二进制数的加、减、乘、除四则运算(2)完成逻辑与、或、异或、循环、求补、清零等操作。(3)进行位处理操作,如置位、清零、求补、测试转移、逻辑与、或等。(4)根据运算的结果改变程序状态字PSW的值。, 算术逻辑单元ALU, 累加器A(ACC), 寄存器B, 程序状态字PSW,PSW用来存放程序运行的状态信息。,课本23页,48,课本16页 图2-4 PSW的格式,49,(1)PC内容为下一条将要执行的指令在程序存储器中的地址。(2)PC是一个16位的计数器,寻址范围达64KB。(3)PC没有地址,是不可寻址的(但物理上存在的),因此用户无法 对它进行读/写。(4)PC有自动加1功能,从而实现程序的顺序执行。(5)可能通过转移、调用返回等指令改变PC值,以实现程序的转移。, 程序计数器PC, 数据指针DPTR,(1)DPTR是唯一一个用户可使用的16位寄存器,由两个8位的寄存器DPH 和DPL组成。(2)DPTR可作为16位寄存器使用,也可作为2个独立的8位寄存器使用。(3)DPTR用户可读/写。如 MOVDPTR,#2000H(4)DPTR通常用来存放16位的地址,可访问片外RAM,也可访问ROM中 的数据。 如MOVXA,DPTR MOVCA,A+DPTR,课本18页,课本23页,50,二、MCS-51单片机的封装,课本12、13页图2-2、2-3,51,三、MCS-51单片机的信号引脚,P3口线的第二功能,课本13页,课本12页 图 2-2,52,40脚分三类:1、I/O口线32根- MCS-51系列单片机P0、P1、P2、P3共32位,对应着芯片的32根引脚。2、控制线4根RST/VPD复位信号,晶振工作后2个机器周期的高电平复位CPU. ALE地址锁存信号访问外部存储器时该信号锁存低8位地址;无RAM时,ALE为晶振6分频;PSEN*外部程序存储器读从程序存储器中取指令或读取数据时,该信号有效。EA*/VPP程序存储器有效地址,EA=1从内部开始执行程序;EA=0从外部开始执行程序.3、电源引脚2根VCC,VSS(GND)电源和地+5V电源供电。4、时钟引脚2根XTAL1时钟振荡器输入端,内部振荡器输入端;XTAL2时钟振荡器输出端,内部振荡器输出端;,对于信号引脚的小结,53,54,P3.0、P3.1: 又可以作为串行通讯的两条线; P3.2、P3.3:既是I/O控制端子又作为外部中断的请求输入信号; P3.4、P3.5:定时/计数器对外部事件进行计数的输入端; P3.6、P3.7:单片机与外部的数据存储器进行数据传输时的选通控制信号。, P3口线的第二功能,除此之外,脚30、脚31和脚9均可以被复用。,四、信号引脚的第二功能,55,一、MCS-51单片机的内部存储器,第二节 MCS-51单片机存储器组织与操作,MCS-51系列单片机其存储结构特点是: 在物理上有以下几个相互独立的存储空间, 片内程序存储器(4KB)和片外程序存储器; 片内数据存储器(128B)和片外数据存储器; 特殊功能寄存器SFR和位地址空间。 在逻辑上有三个彼此独立的地址空间:(1)片内外统一编地址的64KB程序存储器地址间;(2)128字节的片内数据存储器地址空间;(3)64KB片外数据存储器地址空间,56,外部RAM,外部ROM,扩展外部RAM和外部ROM,57,1、程序存储器,课本26页 图2-6,58,7个特殊单元:0000H 复位后,PC=0000H. 开始执行程序 0003H 外部中断0 (INT0)入口 000BH 定时器0中断( TF0)入口 0013H 外部中断1(INT1) 入口 001BH 定时器1 ( TF1)入口 0023H 串行口中断TI/RI入口 002BH 定时计数器2溢出或T2EX输入负跳变(52系列),MCS-5l单片机采用16位的程序计数器PC和l6位的地址总线,64KB片内、外的程序存储器空间连续、统一 。,59,2、数据存储器,课本20页,课本17页,60,数据存储器地址空间由内部和外部数据存储器空间组成。内部和外部数据存储器空间存在重叠,通过不同指令来区别。 内部数据存储器在物理上又可分成2部分:低128字节RAM、专用寄存器SFR (高128字节RAM仅80328052才有) 。,1.00H-1FH工作寄存器区,2. 20H-2FH位寻址区,既可进行字节寻址,又可进行位寻址。这16个单元共有168128位。 3. 30H-7FH 用户RAM区,4. 片外数据存储器 0000HFFFFH范围为64K字节,采用R0、R1或DPTR寄存器间址方式访问。当采用R0、R1间址时只能访问低256字节,采用DPTR间址可访问整个64K字节空间。,61,特殊功能寄存器,共有21个专用寄存器SFR(Special Functional Register ),它们离散地分布在80H0FFH单元中。 程序计数器PC不占据RAM单元,在除PC外的专用寄存器SFR中,有12个专用寄存器既可字节寻址,又可位寻址。,注意:(1)表中共有5个双字节寄存器。(2)PC也为双字节寄存器,但是不在80H - FFH 范围内。 (3)表中,凡地址能被8整除的寄存器都是可位寻址的寄存器。,课本21页 表2-2,62,特殊功能寄存器地址空间,课本21页 表2-2,63,1.累加器ACC 累加器A在大部分的算术运算中存放某个操作数和运算结果。2.寄存器B寄存器B主要用于与累加器A配合执行乘法和除法指令的操作。3.程序状态字PSW8位寄存器,用来存放程序状态信息。某些指令的执行结果会自动影响PSW的有关状态标志位,有些状态位可用指令来设置。,特殊功能寄存器的功用,CY:进位标志位AC:半进位标 F0:用户标志位RS1、RS0:工作寄存器组选择OV:溢出标志 P:奇偶标志, A中1的个数为奇数 P = 1;否则 P = 0。,RS1 RS0 寄存器组 内部RAM地址0 0 寄存器组0 00H07H0 1 寄存器组1 08H0FH1 0 寄存器组2 10H17H1 1 寄存器组3 18H1FH,课本21页,64,4.堆栈指针SP堆栈是在片内数据RAM区中一个特殊的存储区,用来暂时存放数据和地址,它是按照“先进后出”的原则存放数据。 栈指针SP是在MCS-51中存放当前的堆栈栈顶所指存储单元地址的一个8位寄存器,每存入(或取出)一个字节数据,SP就自动加1(或减1),SP始终指向新的栈顶。,堆栈共有两种操作:进栈和出栈。不论是数据进栈还是数据出栈,都是对栈顶单元进行的,即对栈顶单元的写和读操作。 MCS-51单片机的堆栈是向上生成的:进栈时,SP的内容增加的;出栈时,SP的内容是减少的。 MCS-51的堆栈区域可用软件设置堆栈指示器(SP)的值,在片内数据RAM区中予以定义。,系统复位后,SP内容为07H。如不重新定义,则以07H为栈底,压栈的内容从08H单元开始存放。通过软件对SP的内容重新定义,使堆栈区设定在片内数据RAM区中的某一区域内,堆栈深度以不超过片内RAM空间为限。,65,堆栈是为子程序调用和中断操作而设立的。其具体功能有两个:保护断点和保护现场。在MCS-51单片机中,既有与子程序调用和中断程序相伴随自动进栈和出栈,还有对堆栈的进栈和出栈指令(PUSH、POP)操作。,5.数据指针DPTR16位的专用寄存器,由高位字节DPH和低位字节DPL组成。可作为一个16位寄存器使用,也可以作为2个独立的8位寄存器DPH和DPL使用。,6.I/O端口P0P3 专用寄存器P0P3分别是I/O端口P0P3的锁存器。可以把I/O口当作般的专用寄存器来使用,没有专门设置的口操作指令,全部采用统一的MOV指令。,66,片外数据存储器,(1)根据地址总线宽度,在片外可扩展的存储器最大容量为64KB,地址范围为0000HFFFFH。(2)片外数据存储器与程序存储器的操作使用不同的指令和控制信号,允许两者的地址重复。因此,片外要扩展的数据存储器与程序存储器各为64KB。(3)片外数据存储器与片内数据存储器的操作指令亦不同(对片外RAM用MOVX指令),所以也允许两者的地址重复,内部数据存储器的地址00-FFH,外部扩展数据存储器的地址可以从0000H-FFFFH。注意:采用R0、R1或DPTR寄存器间址方式访问片外数据存储器。当采用R0、R1间址时只能访问低256字节,采用DPTR间址可访问整个64K字节空间。,67,内部RAM位寻址区的位地址,位地址表示方法:1.直接用位地址表示:如20H单元的07位可表示为00H07H。2.采用第n单元第n位表示:如27单元第6位表示为27H.6。3.对特殊功能寄存器直接用寄存器名称加位数表示: 如PSW.7。,课本24页 表2-3,68,第三节 MCS-51单片机的并行I/O接口,P3.0、P3.1: 又作为串行通讯的两条线; P3.2、P3.3:既是I/O控制端子又作为外部中断的请求输入信号; P3.4、P3.5:定时/计数器对外部事件进行计数的输入端; P3.6、P3.7:单片机与外部的数据存储器进行数据传输时的选通控制信号。,69,2、并行I/O口的逻辑结构,例1 :I/O口的输出举例,指令1:MOV P1,#00H指令2:MOV P1,#0FFH指令3:MOV P1,#0AAH指令4:CLR P1.0指令5:SETB P1.0,70,例2 :I/O口的输入举例,读端口:MOV P3,#11111111B MOV A,P3,71,P0口某位的组成,P0口某位的结构图,三态缓冲器,多路转换开关,数据输出锁存器(1个):进行数据位的锁存,三态输入缓冲器(2个):锁存器数据和引脚数据的输入缓冲,输出驱动电路(2个):由2个场效应管T1、T2组成,上一个FET构成上拉电路。,输出控制电路(2个):由1个与门,一个反相器和一个多路开关MUX构成。,3、并行I/O口,课本27页 图2-7,72,P0口的位结构与功能:8位漏极开路型双向并行IO口。使用:P0口为三态双向口,即可作为一般I/O口使用,也可作地址/数据总线口。(1)P0口作为通用I/O口使用; “读引脚先写1”-“在输入数据时应先把口置1,使两个FET都截止,引脚处于悬浮状态,可作高阻抗输入。”(2)P0口作为单片机系统的地址/数据线使用;访问外部存储器时,它是一个复用的地址/数据总线。(分时使用)输出地址总线低8位A7A0(利用ALE信号的下降沿将地址锁存,锁存)作数据总线 D7D0。,P0口,73,P0用作通用I/O口,在这种情况下,单片机硬件自动使C=0,MUX开关接向锁存器的反相输出端。另外,与门输出的“0”使输出驱动器的上拉场效应管T1处于截止状态。因此,输出驱动级工作在需外接上拉电阻的漏极开路方式。,P0用作输出口,CPU执行口的输出指令,内部数据总线上的数据在“写锁存器”信号的作用下由D端进入锁存器,经锁存器的反向端送至场效应管T2,再经T2反向,在P0.X引脚出现的数据正好是内部总线的数据。,74,数据可以读自口的锁存器,也可以读自口的引脚。这要根据输入操作采用的是“读锁存器”指令还是“读引脚”指令来决定。,P0用作输入口,执行“读修改写”类输入指令时:如:ANL P0,A,内部产生的“读锁存器”操作信号,使锁存器Q端数据进入内部数据总线,在与累加器A进行,在执行“MOV”类输入指令时(如:MOV A,P0),内部产生的操作信号是“读引脚”。注意,在执行该类输入指令前要先把锁存器写入“1”,使场效应管T2截止,使引脚处于悬浮状态,可以作为高阻抗输入。否则,在作为输入方式之前曾向锁存器输出过“0”,则T2导通会使引脚箝位在“0”电平,使输入高电平“1”无法读入。,逻辑运算之后,结果又送回P0的口锁存器并出现在引脚。读口锁存器可以避免因外部电路原因使原口引脚的状态发生变化造成的误读。,75,76,P1口也是一个准双向IO口,通常作一般I/O口使用。,P1口,P1口某位的结构图,P0口某位的结构图,从结构图来看,P1口和P0口相比,少了多路转换开关MUX。,课本28页 图2-8,77,(1)在结构上比P0口少了一个输出转换控制部分,多路开关MUX的倒向由CPU命令控制,且P2口内部接有固定的上拉电阻 。(2)P2口既可作为通用IO口使用(先写“1”),又可作为地址总线口,输出高8位地址。(A15A8),P0口某位的结构图,P2口,P2口通常作为系统的高8位地址。,P2口某位的结构图,课本28页 图2-9,78,P3口与Pl口的输出驱动部分及内部上拉电阻相同,但比P1口多了一个第二功能控制部分的逻辑电路。,P3口,P3口某位的结构图,P1口某位的结构图,课本29页 图2-10,79,P3.0(RXD):串行输入端。P3.1(TXD):串行输出端。P3.2(INT0):外部中断0输入端,低电平有效。P3.3(1NT1):外部中断1输入端,低电平有效。P3.4(T0):定时计数器0外部事件计数输入端。P3.5(T1):定时计数器1外部事件计数输入端。P3.6(RD):外部数据存储器写选通信号,低电平有效。P3.7(WR):外部数据存储器读选通信号,低电平有效。,P3口的第二功能,80,P0P3的功能及使用时的注意事项,课本30页 I/O端口应用特性,81,P0P3的功能及使用时的注意事项,课本30页 I/O端口应用特性,82,地址线:P0低8位地址,P2高8地址;数据线:P0输入输出8位数据;控制线:P3口的8位加上/PSEN、ALE共同完成 控制总线。,二、单片机的片外三总线结构,83,单片机的位处理功能很强,体现在:(1)具有专门的位累加器Cy;(2)具有专门的位存储区;(3)一些特殊功能寄存器可以 位寻址;(4)具有丰富的位操作指令。 如 SETB P1.0 CLR P1.0,三、单片机的位处理功能,84,一、时钟电路及工作方式,第四节 MCS-51单片机的时钟与定时,时钟电路:用于产生单片机工作所需要的时钟信号。时序:所研究的是指令执行中各个信号在时间上的相互关系。,图2-11 MCS-51单片机的振荡电路,1、片内振荡器与外部谐振电路(内部振荡方式), 振荡电路,内部结构:电阻和高增益反相放大器构成一个稳定的自激振荡器。XTAL1为输入,XTAL2为输出,对应于单片机的18、19管脚。芯片外部:在XTAL1为输入,XTAL2之间接晶体振荡器和微调电容。电容一般选择30PF(皮法)的磁片电容。晶振频率为1.2MHZ12MHZ。,单片机本身是一个复杂的同步时序系统,为保证同步工作方式的实现,单片机必须有时钟信号,以使其系统在时钟信号的控制下按时序协调工作。,课本31页,课本31页 图 2-11,85, 分频电路,振荡电路产生的振荡脉冲并不能直接使用,经分频后再为系统所用。振荡脉冲经过二分频后才作为系统的时钟信号,在二分频的基础上再三分频产生ALE信号,同时在二分频的基础上再六分频得到机器周期信号。,86,2、从外部引入脉冲信号驱动时钟电路(外部振荡方式),在由多个单片机构成的系统中,为了各单片机之间时钟信号的同步,应当引入唯一的公用外部脉冲信号作为各单片机的振荡脉冲。接法如右图,外部脉冲信号经XTAL2引脚注入。,对于80C51单片机,外引脉冲信号需从XTAL1引脚注入,而XTAL2引脚悬空。,87,各指令的微操作在时间上有严格的次序,这种微操作的时间次序我们称作时序。,二、CPU时序,振荡周期:振荡器产生的振荡脉冲的周期,也称节拍(用P表示)。振荡电路产生的振荡信号并不直接为单片机所用。,课本32页,88,时钟周期单片机的基本时间单位振荡脉冲经二分频后,就是单片机的时钟信号,把时钟信号的周期定义为时钟周期(注意时钟信号与振荡脉冲之间的二分频关系,否则会造成概念上的错误),时钟周期也称状态(用S表示)。这样,一个状态包含两个节拍,其前半周期对应的节拍叫节拍1(P1),后半周期对应的节拍叫节拍2(P2)。,机器周期6个时钟周期构成一个一个机器周期。一个机器周期的宽度为6个状态,并依次表示为S1S6,而一个状态又分为两个节拍,因此,一个机器周期共有12个节拍,即S1P1,S1P2,S6P2。当振荡周期脉冲频率为12MHz时,一个机器周期为1s;当振荡周期脉冲频率为6MHz时,一个机器周期为2s。,指令周期 指令周期是指一条指令所需要的时间。指令周期以机器的数目来表示。51系统的指令周期根据指令不同,可包含1个、2个或4个机器周期。,课本33页,89,有关MCS-51单片机CPU的时序,(1)振荡周期: 指为单片机提供定时信号的振荡源的周期,若为内部产生方式时,为石英晶体的振荡周期。(2)时钟周期:也称为状态周期,用S表示。时钟周期是计算机中最基本的时间单位,在一个时钟周期内,CPU完成一个最基本的动作。MCS51单片机中一个时钟周期为振荡周期的2倍。(3)机器周期:完成一个基本操作(例如,取指令、存储器读、存储器写等)所需要的时间称为机器周期。MCS51的一个机器周期含有6个时钟周期。(4)指令周期完成一条指令所需要的时间称为指令周期。MCS5l的指令周期含14个机器周期不等,其中多数为单周期指令,还有2周期和4周期指令。4周期指令只有乘、除两条指令。,90,例1 当单片机外接晶振频率12Mhz,各种时序单位的大小:,91,第五节 MCS-51单片机的系统复位,一、MCS-51单片机的复位方式和复位电路,1.复位操作,2.复位信号及其产生, 单片机复位的条件 必须使RST引脚持续2微秒高电平(外部时钟为12MHZ),RST引脚(管脚9)是复位信号的输入端,复位信号是高电平有效,其有效时间应至少要保持2个机器周期(24个振荡周期)以上,才完成一次复位。,复位是单片机的初始化操作,其作用是使CPU和系统中其它部件都处于一个确定的初始状态,并从这个状态开始工作 。,课本34页 2.7.1 第一段文字,图2-15 MCS-51的片内复位结构,92,复位后片内各专用寄存器的状态(非常重要),课本34页 表2-6 SFR复位状态,93,3.复位方式,MCS-51系列单片机有两种复位方式,上电复位(加电复位),按键复位,电平式,脉冲式,按键电平复位,按键脉冲复位,上电复位,a,b,a,b,94,第六节 MCS-51单片机的工作过程,例: MOV A,#09H 74H09H ;把09H送到累加器A中,000200010000,0 1 1 1 0 1 0 0,0 0 0 0 1 0 0 1,0000H,课本17页2.3.2第2自然段,95,例: MOVA,#0E0H(机器码是74HE0H),功能是把操作数E0H送入累加器A。 设:0000H单元中已经存放74H,0001H单元中已存放E0H。,96,取指阶段:(1)开机时,(PC)=0000H,PC值被送到地址寄存器,然后(PC)=0001H。(2)地址寄存器的内容(0000H)通过地址译码电路译码选中0000H单元。(3)CPU使读控制线有效,在读信号下将0000H单元中的内容(74H)送到数据总线上,并送到指令寄存器中。,分析和执行指令:根据指令寄存器中的内容(74H),指令译码器就知道该指令是将一个数送到A中,而该数存放在下一个存储单元。所以还要把下一个单元内容取出来,这次取出内容送的不是指令寄存器,而是累加器A。,97,本章重点(课本39页) 指令的寻址方式、功能、使用方法 程序设计的一般方法和技巧 讲授内容: MCS-51单片机的寻址方式 MCS-51单片机指令分类 程序设计方法和算法分析 应用程序设计举例,第三章MCS-51单片机的指令系统与程序设计,98,99,第一节MCS-51单片机的寻址方式,100,2、MCS-51单片机的指令格式, 单字节指令, 双字节指令, 三字节指令,单字节指令:操作码和操作数共同占用一个字节,在MCS-51指令系统中有49条单字节指令。,双字节指令:共有两个字节,前一个字节为操作码,后一个字节为操作数,在MCS-51指令系统中有45条双字节指令。,指令码为,例: MOV A,#data,课本39页3.2,101, 指令的格式,操作码,操作数或操作数地址,标号,注释,三字节指令:共有三个字节,操作码占一个字节,操作数占两个字节,操作数可以是数据也可以是地址,在MCS-51指令系统中有17条双字节指令。,例: ANL direct,#data ;直接寻址单元与立即数进行“与”操作,指令码为,指令的表示方式:由两个部分组成,操作码和操作数。操作码是用来规定指令进行什么操作。操作数则是指令操作的对象,可以是一个具体的数也可以指出到哪里取得数据的地址和符号。,例: DELAY: MOV R3,#0FFH ;一段延时程序,102,二、寻址方式,MCS-51单片机的指令系统共有111条指令,7种寻址方式,共分为5大类:数据传送类指令,算术运算类指令,逻辑运算类指令,控制转移类指令,位操作类指令,1、寻找操作数方式的举例,(课本40页,3.3指令系统的寻址方式),103,#data8、#data16:分别表示8位、16位立即数。 direct:片内RAM单元地址(8位),也可以指特殊功能寄存器的地址或符号名称。addr11、addr16:分别表示11位、16位地址码。rel:相对转移指令中的偏移量,为8位带符号数(补码形式)。bit:片内RAM中(可位寻址)的位地址。A:累加器A;ACC则表示累加器A的地址。Rn:当前寄存器组的8个工作寄存器R0R7。Ri:可用作间接寻址的工作寄存器,只能是R0、R1。:间接寻址的前缀标志。 当前指令存放的地址(x) x中的内容,2、MCS-51单片机指令常用符号说明,(课本44页,汇编指令中的符号约定),104,立即寻址 立即寻址是指在指令中直接给出其操作数,该操作数称为立即数。为了与直接寻址指令中的直接地址相区别,在立即数前面必需加上前缀“#”。例如: MOV A,#55H,3、七种寻址方式,MOV Rn,#01H n=07,MOV DPTR,#1FFFH,注意:寻址方式是以什么形式来定义?以“逗号”后面的寻找操作数的方式来确定的,逗号后就是操作数的,为立即寻址!与逗号前面的部分无关!这是一个约定,请大家记住!,MOV direct,#88H,direct的特定含义,一定要记住!,direct是指在单片机内部RAM中00H-FFH范围内内部RAM,只要有单元地址,可以用通用的符号direct来表示。,(课本40页),105,直接寻址 直接寻址是指在指令中直接给出存放数据的地址(注意:不是立即数,并且只限于片内RAM范围)。直接寻址只能访问特殊功能寄存器、内部数据存储器和位地址空间。例如:MOV A,20H 比较以上两指令的区别,没有#号,含义不同!,MOV direct,#88H,MOV 70H,#88H,CPU,内部RAM或SFR,106,MOV Rn,20H,MOV direct,30H,MOV Ri,30H,无“#”号,直接给出单元的地址,即直接给出操作数地址的方式。,由于直接寻址的操作数在指令中以存储单元形式出现,直接寻址只能使用8位二进制表示的地址,因此直接寻址只限于内部RAM。,低128字节单元 只以单元地址形式给出专用寄存器 既以单元地址形式给出,又以寄存器符号形式给出,注意:直接寻址方式是访问专用寄存器的唯一方法!,107,例1 :寻址比较,例2 :指出下列指令寻址方式及操作数的地址,MOV P1,#0FFHMOV A,0F0H3. PUSH 12H,108,寄存器寻址寄存器寻址是指指令中的操作数为寄存器中的内容。例如:MOV A,R1 MOV P1,A MOV P1,R4寄存器间接寻址寄存器间接寻址是指指令中的操作数在寄存器的内容所指的地址单元中。例如:MOV R1,#30H;把立即数30H送R1寄存器 MOVA,R1;把30H单元中的数送到A中,通过寄存器间接找到操作数的地址,A,30H 11(R1),11H,寄存器寻址与直接寻址的区别?,109,MOVA,R0 将R0的内容作为一个地址,这个地址所确定单元的内容送到累加器A。,寄存器间接寻址的寻址范围:(1)片内RAM低128单元:这里只能使用R0或R

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论