《单片原理及应用(第4版)》电子课件_第1页
《单片原理及应用(第4版)》电子课件_第2页
《单片原理及应用(第4版)》电子课件_第3页
《单片原理及应用(第4版)》电子课件_第4页
《单片原理及应用(第4版)》电子课件_第5页
已阅读5页,还剩360页未读 继续免费阅读

下载本文档

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

文档简介

单片机原理及应用(第4版)一、为什么要开这门课?专业需要:自动化、电气工程、计算机应用、电子信息工程及机电一体化等电气与电子信息类专业本课程:以CPU为核心的“自动化产品”的设计基础。二、选择什么样的CPU?技术成熟、兼容性好。作为检测与控制,8位机是主流因此:选择带CPU的单片机:MCS-51单片机。三、和其他课程的关系数学电路、电子--数字与模拟计算机文化基础自动化控制原理(信号与系统)控制与检测技术四、课程内容

本书从教学的角度出发,系统、全面地介绍51系列单片机的基本知识,是一本重在原理与应用、兼顾理论的实用教程。第1章:概述第2章:单片机硬件基础第3章:指令基础第4章:汇编语言程序设计第5-7章:主要功能部件应用基础第8章:并行总线扩展基础第9章:串行总线扩展技术第10章:应用系统设计基础第11章:编程与仿真平台使用基础对课程的处理:在《计算机文化基础》的基础上:第1章:复习与衔接第2章:单片机基础第3-6章:主要内部资源的应用基础第7章:外部扩展基础第8章:键盘/显示器接口技术第9章:模拟量接口技术第10章:应用系统设计基础第1章概述在:《计算机文化基础》、《微型计算机原理》基础上1.1微型计算机(MC)的基础知识概述1.2中断、定时器/计数器、串行通信、并行通信概述~~1.1MC基础知识概述一、MC的基本概念二、MC的基本结构三、计算机中数制四、ASCII码与BCD码1.1.1MC定义与冯·诺依曼体系1、MC定义以微处理器为核心,配上大容量的半导体存储器及功能强大的可编程接口芯片,连上外设及电源所组成的计算机,称为微型计算机,简称微型机或微机。微机加上系统软件,就构成了微型计算机系统(MCS,简称微机系统)。简单的说,某系统或设备只要有CPU,就可以称为微型计算机,如平常我们说的台式机、笔记本电脑、智能洗衣机、微波炉、单片机开发板、数字式仪器仪表、机器人、自动化生产线、内部含有CPU的芯片等。2、冯·诺依曼体系:①采用二进制代码表示数据和指令。②采用存储程序的工作方式。③计算机硬件系统由运算器、存储器、控制器、输入设备和输出设备组成。计算机是一种能够存储程序,并自动连续地执行程序,对各种数字化信息进行运算的现代化电子设备。1.1.2MC结构1、硬件结构运算器+控制器+存储器=主机;输入+输出设备则称为计算机的外围设备(简称“外设”);运算器+控制器=中央处理单元CPU(CentralProcessUnit)。CPU、存储器、I/O口、总线2、软件软件是指使用和管理计算机的各种程序(Program),而程序是由一条条指令(Instruction)组成的。(1)指令(2)程序(3)机器语言、汇编语言和高级语言汇编语言与机器语言的对照:

MOVA,#630111010000111111

ADDA,#560010010000111000

ADDA,#360010010000100100

ADDA,#140010010000001110

3、硬件与软件的关系有机结合的整体硬件是基础软件是灵魂1.1.3计算机中的数制

进位计数制与转换:二进制(B)十六进制(H)十进制(D)

带符号数的表示:原码、反码、补码、溢出1.1.4常用的编码1、ASCII码:美国信息交换标准代码2、BCD码二进制编码的十进制数强调:计算机只认二进制数,并不认什么十六、十、ASCII、BCD码等其他数的大小和性质需要人来分析11111111B多大?什么性质的数?无符号:255带符号:负数-1BCD码:无效ASCII码:“DEL”键的ASCII码1.2中断、定时器/计数器、并行通信、串行通信的初步认识概述

1.2.1中断概述举例:生活中“洗衣服、烧开水”生活中“玩游戏、接电话”上课中“讲课、敲门”(中断请求、

中断响应、中断处理

中断返回)(1)中断---过程(主程序与中断程序)(2)中断源:内部与外部(硬件)(3)中断申请(中断请求)、中断响应(4)中断服务程序、中断服务程序入口地址(5)可屏蔽中断与非屏蔽中断(6)中断的开放与禁止(7)中断优先级与中断嵌套1.2.2定时器/计数器概述

计算机在工作过程,需要知道从某个时间开始:

多长时间之后做什么—定时器或从某个时间开始:

计几个数之后做什么—计数器。

无论是定时器还是计数器,其核心部件—计数寄存器(计数器)

从定时器/计数器内部来说,定时器与计数器的工作过程,都是基于计数器的减1(或加1)工作。对周期信号的计数就变为定时。计数器有两种:加法计数器和减法计数器。

1.2.3并行通信与串行通信概述计算机与外设之间或计算机之间的信息交换或数据传输称为通信(Communication)。基本的通信方式有两种,一种是并行通信,另一种是串行通信。比较:(1)通信距离(2)通信速率(3)抗干扰性能(4)设备和费用(5)硬件可靠性(6)软件设计串行通信数据传送的方向单工、半双工、全双工1.2.4CPU与外设的数据传输方式

MC和外设之间的数据传送有四种方式,即:

无条件方式查询方式中断方式直接存储器存取方式(DMA方式)。1、无条件传输方式CPU和外设之间只有BUS(数据线、地址线、控制线),无另外的联络信号线。2、程序查询传输方式

CPU和外设之间除有BUS(数据线、地址线、控制线),还有一条联络信号线(外设提供,需要CPU主动读,反映外设的状态—忙/闲、准备好/没准备好)。一个数据传送过程由3个环节组成:①CPU从接口中读出状态字;②CPU检测状态字的对应位是否满足“就绪”条件,如果不满足,则回到前一步读出状态字;③如果状态字表明外设已处于“就绪”状态,则传送数据。3、中断传输方式CPU和外设之间除有BUS(数据线、地址线、控制线),还有一条联络信号线(外设提供,外设主动提供给CPU,反映外设的状态—忙/闲、准备好/没准备好)。在中断传送方式下,外设具有申请CPU服务的主动权,当输入设备将数据准备好或者输出设备可以接收数据时,便可以向CPU发中断请求,使CPU暂时停下目前的工作而和外设进行一次数据传输,等输入操作或者输出操作结束以后,CPU继续进行原来的工作。4、DMA方式CPU释放总线控制权由DMA控制器控制完成数据传送。(大量数据传送的时间)第2章51系列单片机硬件基础

本章对单片机典型芯片--51单片机的硬件进行介绍。2.1单片机概述

2.251单片机总体结构2.351单片机的存储器结构2.1单片机概述将CPU、存储器、I/O口通过一定的工艺手段集成在一个芯片上,再加上必要的外围器件,就构成了一个较为完整的计算机硬件系统。因此被称为单片微控制器(SingleChipMicroController,单片机)或微控制单元(MicroControllerUnit,MCU)。通俗的讲:

单片机就是一块集成芯片,但这块集成芯片具有一定特殊的功能,而它的功能的实现要靠我们使用者自己来编程完成。

编程的目的是控制这块芯片的各个引脚在不同的时间输出不同的电平,进而控制与单片机各个引脚相连的外围电路的电气状态。编程时用选择C语言或汇编语言。2.1.1单片机特点、应用1、单片机的特点(1)低噪声与高可靠性(2)单片机寿命长(3)8位、32位单片机共同发展(4)低噪声与高速度(5)低电压与低功耗(6)ISP与IAP2、单片机的应用智能仪表、机电一体化、实时控制、军工领域、分布式多机系统、民用电子产品等。3、单片机的分类按用途分:专用型、通用型、按位数分:4位、8位、16位、32位机按结构分:CISC结构、RISC结构2.1.2常用的单片机产品MCS系列及兼容单片机PIC系列单片机MSP430系列单片机M68HC08系列单片机ARM处理器DSP处理器PIC:MSP430M68HCDSP:数字信号处理ARM:2.1.3MCS-51已成为国际经典

(1)由于8051内核技术完整,体系结构灵活,得到了绝大多数用户的认可。再加上8051内核技术广泛转让,使之在单片机技术领域占有绝对优势,从而成为单片机技术经典。

(3)由于8051内核技术几乎包含了单片机理论基础和技术的全部,具有较好的系统性和完整性。再加上30多年来,国内已积累了丰富的技术资料、完整的实验环境与开发设备。

(3)绝大部分实时测控等应用领域而言,8位字长的单片机,足以满足用户的实际需要,所以8位单片机的市场需求经久不衰,仍占市场的绝对主流。因此,学懂、弄通了51单片机的基本理论与应用技术,也就打好了学习、应用单片机的基础,即使学、用其他系列单片机也就不难了。2.1.4单片机与CPU、ARM、嵌入式系统的关系1.单片机与CPU的关系

单片机是计算机,而CPU是计算机中的一个部件。2.单片机与ARM的关系ARM其实就是“跑的快一点”的单片机。3.单片机与嵌入式系统的关系嵌入式系统是个广泛的概念。所有用于实时测控的计算机应用系统,均可纳入嵌入式系统范畴。以MC为内核,嵌入到实际的应用系统中,构成完整的并实现某种特定功能要求的应用系统,故称之为嵌入式计算机应用系统,简称嵌入式系统(EmbeddedSystem)。MC:工控机、专用CPU、单片机单片机是嵌入式系统中应用最典型、最广泛的内核(1)单片机作为最典型的嵌入式系统,成为嵌入式系统的庞大家族。(2)单片机是当前构成嵌入式应用系统中最典型的主流机型。所以说,学好单片机基本理论及其技术,是开发、设计各类嵌入式应用系统的基础。2.1.5单片机应用系统开发概述1、开发环境的软硬件构成(在系统编程ISP、在应用编程IAP)硬件:计算机仿真器:示波器:万用表焊接设备:2、有关的软件平台仿真软件:PROTEUS绘图软件:PROTEL、DXP编程软件:KEILC51、DAIS、WAVE程序下载软件:STC_ISP_V480串口调试软件3、单片机应用系统结构涉及的有关知识内容:传感器技术(检测技术)传动输出控制技术电子技术(数字、模电)单片机技术自动控制技术等由此:单片机=综合技术2.251单片机总体结构讲到单片机都有个系列问题。MCS-51:

基本型

51子系列(8031\8051\8751)

增强型

52子系列(8032\8052\8752)

特殊型

所有的基础都是基本型。包括以下问题:2.2.1内部结构2.2.2外部引脚2.2.3CPU的时序周期补充:

标号信息及封装类型如:STC89C51RC40C-PDIP0707CU8138.00DSTC—前缀。芯片为STC公司生产的产品。其他前缀如AT、i、Winbond、SST等。8—芯片位8051内核芯片。9—内部含FlashEEPROM存储器。还有如80C51中的0表示内部含MaskROM(掩模ROM)存储器;如87C51中7表示内部含EPROM。C—该器件为CMOS产品。还有如89LV52和89LE58中的LV和LE都表示该芯片为低电压产品(通常为3.3V电压供电);89S52中的S表示高芯片含有可串行下载功能的Flash存储器,即具有ISP可在线编程功能。5—固定不变1—该芯片内部程序存储器存储空间的大小,1为4KB,2为8KB,3为12KB,即乘上4KB。RC—STC单片机内部RAM(随机存储器)为512B。还有RD+表示内部RAM为1280B。40—外部晶振最高可接入40MHz.C—产品级别,表示芯片使用的温度范围。C:表示商业用0℃--+70℃,另外:I:工业级-40℃--+85℃A:汽车用-40℃--+125℃M:军用-55℃--+150℃PDIP—产品封装型号。PDIP表示双列直插式。0707—本批次芯片生产日期为07年第7周。CU8138.00D—不详。芯片封装简介:DIP—双列直插式PLCC—带引线的塑料芯片封装PQFP—塑料方型扁平式PGA—插针网络阵列封装BGA—球栅阵列封装2.2.1内部结构1、内部结构(1)CPU(2)存储器(3)I/O口1个8位1个1位128个字节RAM4K字节ROM4个8位并行I/O口1个全双工的串行口2个16位的定时器/计数器5个中断源、2个中断优先级21个专用寄存器外部可以扩展16条AB、8条DB内部结构框图:2.2.2外部引脚及说明(1)电源引脚(2)时钟引脚(3)输入/输出引脚(4)控制引脚(1)电源引脚VCCVSS(2)时钟引脚(3)输入/输出引脚P0、P1、P2、P3基本的输入/输出功能:

字节操作、位操作另外的功能:

数据总线、地址总线、控制总线(4)其他引脚RST、ALE、/PSEN、/EA复位电路

(4)总线图2.2.3CPU的时序周期振荡周期、状态周期、机器周期、指令周期外部晶振的2分频是MCS-51单片机的内部时钟周期,6个时钟周期构成了单片机的1个机器周期。机器频率是外部频率的1/12.2.351单片机的存储器片内、片外(不需要片外)程序存储器、数据存储器2.2.1程序存储器2.2.2数据存储器2.2.3特殊功能寄存器2.3.1程序存储器(片外不需要设计,基本上都是片内)程序的几个特殊地址:复位0000H外部中断00003H0定时器/计数器0溢出000BH1

外部中断10013H2定时器/计数器1溢出001BH3串行口中断0023H4

2.3.2数据存储器

数据存储器则存放缓冲数据,系统在运行过程中可修改其中的数据。包括:片外数据存储器、片内数据存储器、特殊功能寄存器块1、片内数据存储器分为3部分:(1)00H~1FH(2)20H~2FH(3)30H~7FH2、片外数据存储器及I/O口存储器空间地址:0000H—0FFFFH2.3.3特殊功能寄存器(SFR)特殊功能寄存器又称为专用寄存器。专用于控制、管理片内算术逻辑部件、并行I/O口、串行I/O口、定时器/计数器、中断系统等功能模块的工作。课本有个特殊功能寄存器表。(字节型、位)SFR可分为两大类:和内部功能部件有关的、和CPU有关的。和CPU有关的SFR:1.累加器A和寄存器B2.堆栈指针SP3.数据指针DPTR4.程序状态字PSW三、时序(1)振荡周期(2)状态周期(3)机器周期(4)指令周期外部晶振的2分频是MCS-51单片机的内部时钟周期,6个时钟周期构成了单片机的1个机器周期。第3章51单片机指令系统

3.1概述3.2寻址方式3.3指令系统3.4伪指令3.1概述一、指令格式[标号:]操作码[操作数1],[操作数2],[操作数3];注释二、操作数类型立即数、寄存器操作数、存储器操作数三、指令描述约定Rn、direct、@Ri#data、#data16addr16、addr11、relbit、/bitDPTR、A、B、C(X)、((X))3.2寻址方式

1、概述寻址就是寻找指令中操作数或操作数所在的地址。所谓寻址方式就是如何找到存放操作数的地址,把操作数提取出来的方法。它是计算机的重要性能指标之一,也是汇编语言程序设计中最基本的内容之一。2、寻址方式说明

立即寻址

寄存器器寻址

直接寻址

寄存器间接寻址

基寄存器加变址寄存器间接寻址

相对寻址

位寻址

3.3指令系统111条指令,42种操作助记符,描述33种操作功能。从功能:数据传送(29)、算术运算(24)、逻辑操作(24)、控制转移(17)、位操作(17);从空间:单字节(49)、双字节(45条)、三字节(17条);从时间:单机器周期(64条)、双机器周期(45条)、四机器周期(2)一、数据传送类共29条。按其操作方式,又可把它们分为三种:数据传送、数据交换和栈操作。助记符:MOV、MOVX、MOVC、XCH、XCHD、SWAP、PUSH、POP。应用举例:1、把片内RAM6AH单元内容传送到片外RAM300H单元。2、把片外I/O口2000H数据读入片内RAM40H单元。3、把片外I/O口2000H数据读入片外RAM4000H单元。4、把外部数据存储器2040H单元内容和片外RAM2230H单元互换。5、已知片内RAM50H单元中存放数据为0AAH,设堆栈指针为30H,把此数据值压入堆栈,然后再弹回到40H单元中。二、算术运算类(24条)加、减、乘、除基本四则运算和增量(加1)、减量(减1)运算。助记符:ADD、ADDC、INC、DASUBB、DEC、MUL、DIV

共8种操作助记符。应用举例:1、将片内RAM40H和41H单元内容相加,结果放42H。2、将片外RAM2000H和2001H单元两BCD码内容相加,结果放2002H。3、试编写计算1234H+0FE7H的程序,将和的高8位存入片内RAM41H,低8位存入40H。4、把上例中的加法运算改为减法,其他要求相同。5、设被加数存入片内RAM30H~32H单元中,加数存入片内RAM40H~42H,低位在前,高位在后,各单元中均为压缩的BCD码。将结果之和分别存入50H~52H单元中。6、把R1R0和R3R2中的两个4位BCD码数相加,结果送R5R4中,如有进位存入进位位C中。三、逻辑运算类(24条)包括清除、求反、移位及与、或、异或等操作。这类指令有:CLR、CPL、RL、RLC、RR、RRC、ANL、ORL、XRL,共9种操作助记符。应用举例:1、把累加器A中低4位(高4位清0)送入外部数据存储器的3000H单元。2、将累加器A的低4位的状态通过P1口的高4位输出。3、编程将片内RAM21H单元的低3位和20H单元的低5位合并为一个字节送片内RAM30H,要求21H的低3位放在高位上。四、控制转移类(17条)计算机在运行过程中,有时因为操作的需要或程序较复杂,程序指令往往不能按顺序逐条执行,需要改变程序运行的方向。控制转移类指令包括无条件转移、条件转移、调用和返回指令等。指令有:AJMP、LJMP、SJMP、JMP、JZ、JNZ、CJNZ、DJNZ、ACALL、LCALL、RET、RETI、NOP

共13种操作助记符。应用举例:1、将累加器A的低4位取反4次,高4位不变,每变换一次从P1口输出。2、如果累加器A中存放待处理命令编号(0~7),程序存储器中存放着标号为PMTB的转移表首地址,则执行下面的程序,将根据A中命令编号转向相应的处理程序。五、位操作类(17条)以进位标志C作为累加器C在使用位操作类指令时要和字节操作类指令区别开来,因为它们的助记符是相同的。这类指令的助记符有:MOV、CLR、CPL、SETB、ANL、ORL、JC、JNC、JB、JNB、JBC

共11种操作助记符。应用举例:1、将累加器的ACC.5与00H位相与后,通过P1.4输出。2、比较片内RAM40H、50H中两个无符号数的大小,若40H中的数小则把片内RAM中的位地址40H置1;若50H中数小,则把片内RAM中的位地址50H置1;若相等则把片内RAM中的位地址20H置1。3.4伪指令汇编程序对用汇编语言写的源程序进行汇编时,还要提供一些汇编用的指令,例如要指定程序或数据存放的起始地址;要给一些连续存放的数据确定单元等等。但是,这些指令在汇编时并不产生目标代码,不影响程序的执行,所以称为伪指令ORG定位伪指令

DB定义字节伪指令DW定义字伪指令EQU赋值伪指令END汇编结束伪指令第4章51单片机汇编语言程序设计

指令的有序罗列。4.1程序设计概述4.2基本程序设计4.3基本功能程序设计4.4实验

4.1程序设计概述

4.2基本程序设计4.2.1顺序结构程序是一种最简单、最基本的程序,按照程序编写的顺序逐条依次执行,直到程序结束。这是程序的最基本的形式,任何程序都离不开这种形式。例4-1:将片内RAM20H单元中的数拆成两段,每段4位,并将其分别存入21H、22H单元中。低4位存在21H单元,高4位存在22H单元4.2.2分支结构的程序

分支结构程序是利用条件转移指令,使程序执行到某一指令时,根据条件是否满足,来改变程序执行的顺序。编写分支结构的程序主要在于正确使用转移指令。编写分支结构的程序的关键是确定好分支条件。用于分支结构程序中的语句有:

JZ/JNZ、CJNE、DJNZ、JC/JNC、JB/JNB、JBC例编制程序使y按下式赋值:例设外部存储器单元ST1和ST2存放两个不带符号的二进制数,找出其中的大数存入ST3单元。4.2.3循环结构的程序

是强制CPU重复执行某一指令序列的一种程序结构形式。循环结构的程序一般由5部分组成:初始化,循环体、循环修改、循环控制和结束部分。例:1、工作单元清0。2、多个单字节数据求和。3、设在DAT开始的片内RAM中存放8个无符号字节数,找出最大值,并暂存在A中。10个数,去掉一个最大值、一个最小值,求剩余8个数的平均值。4.3基本功能程序的设计

4.3.1查表程序4.3.2子程序4.3.3算术逻辑运算程序4.3.4数制转换程序4.3.1查表程序的设计

查表法是对一些复杂的函数运算如sinx等,事先把其全部可能范围的函数值按一定的规律编成表格存放在计算机的程序存储器中。当用户程序中需要用到这些函数时,直接按编排好的索引值(或程序号)寻找答案。在控制应用场合或智能仪器仪表中,经常使用查表法。这种方法的不足是要占用较多的存储单元。例:1、已知数据0~9的平方,设变量x的值在累加器A中,查表后求x2的值放回累加器,试编制程序。2、设计一个将十六进制数转换成ASCII码的子程序。设十六进制数存放在R0的低4位,要求转换后的ASCII码送回R0中。4.3.2子程序设计在实际问题中,常常会遇到在一个程序中有许多相同的运算或操作,例如多字节的加、减、字符处理等。如果每遇到这些运算和操作,都从头做起,则使程序非常繁琐且浪费内存。因此在实际应用中,通常把这些多次使用的程序段,按一定结构编好,存放在内存中,当需要时,程序可以去调用这些独立的程序段。通常将这种可以被调用的程序段称为子程序。调用子程序的程序称为主程序。使用子程序的过程称为调用子程序;子程序执行完毕后返回主程序的过程称为子程序返回。例:1、用程序实现c=a2+b2。设a、b均小于10,a存在片内RAM31H单元中,,b存在32H单元中,把c存入33H单元中。2、求两个无符号数据块中的最大值。数据块的首地址分别为片内RAM60H和70H,每个数据块的第1个字节都存放数据块的长度,结果存入5FH单元。4.3.3算术逻辑运算程序多字节二进制数加法多字节压缩BCD码加法多字节数求补除以2的倍数的处理双字节无符号数整数相乘4.3.4数制转化程序二进制数转换为十进制数十进制数转换为二进制数二进制数转换为十六进制数的ASCII码ASCII字符串转换为十六进制数,两两组合成1个字节第5章P0~P3口应用基础片内并行I/O口的应用。5.1认识51单片机

的P0~P3口5.2输出操作5.3输入操作5.4实验与设计5.1认识51单片机的P0~P3口从输出位置看:P0与P1、P2、P3不同,因此:P0称为“双向口”,其余的称为“准双向口”。双向口:单片机的I/O口为了提高接口的驱动能力,具有由场效应管组成的输出驱动器。当驱动器场效应管的漏极具有开路状态时,该口就具有高电平、低电平和高阻抗3种状态,称为双向口。准双向口:单片机I/O口的输出场效应管的漏极接有上拉电阻,该口具有高电平、低电平两种状态,称为准双向口。P1口的输入/输出分析:输入时,必须先置“1”,再读5.2输出操作输出高、低电平。5.2.1基本输出--字节、位5.2.2扩展输出--流水灯、霹雳灯5.2.3扩展输出—8段LED静态显示5.2.1基本输出--字节、位

【例5-1】字节输出。8灯亮、灭闪烁【例5-2】位操作。编程实现P1.3所接的发光二极管亮、灭闪烁请修改:(1)P1.7对应的灯亮、灭闪烁(2)P1.1、P1.3、P1.5对应的灯亮、灭闪烁(3)P1.0对应的灯亮时,P1.7对应的灯灭;P1.0对应的灯灭时,P1.7对应的灯亮。(4)将P1口改为P3口。5.2.2扩展输出--流水灯【例5-3】流水灯。编程实现8个灯从低到高流水灯的显示闪烁。流水灯闪烁规律:11111110B—11111101B—11111011B--…--01111111B。

从初值11111110B循环左移一位就可以。修改:(1)两个灯右循环。(2)从左到右,一个一个亮保持到全亮,然后再重复。(3)霹雳灯——霹雳灯规律:11111110B—11111101B—…—01111111B—10111111B—11011111—…—11111110—…。5.2.3扩展输出—8段LED静态显示1、认识8段LED2、显示函数的编写(1)根据硬件电路的结构建立一个显示的代码表DSPTAB:DB3FH,06H,5BH,4FH,66H,6DHDB7DH,07H,7FH,6FH(2)开辟显示缓冲区片内RAM—data;

显示缓冲区中存放要显示的内容所对应的代码在代码表中的相对位置;

显示缓冲区的位数和硬件电路中显示器的位数相同,每个显示缓冲器对应着一位显示器。(3)查表并操作相应的显示器MOV A,#dataMOV DPTR,#DSPTABMOVC A,@A+DPTR(4)显示子程序的调用3、静态显示示例【例5-4】利用51单片机的并行口作为静态显示的控制口的示例请修改:(1)显示“12”;(2)轮流显示“12”、“--”、“AB”;(3)计数器:从00开始,1S加1。5.3输入操作

作为51单片机片内并行I/O口输入信号,是属于数字信号的“高、低电平”或脉冲信号的“上升沿、下降沿”两大类,这两类信号可以通过:“闸刀型开关”、“按钮型开关”两类开关来模拟。5.3.1闸刀型输入信号【例5-5】闸刀开关型输入信号。编程实现相应的开关闭合时,相应的灯亮。思考:

为什么在读键状态之前要先置1?修改:(1)开关闭合时灯灭。

(2)定义一个按键K0,K0闭合时灯闪烁,K0打开时,灯全亮。5.3.2按钮开关型

输入信号【例5-6】按钮开关。编程实现S1按钮按一下,4个灯一组亮、灭交替修改:开始时所有的灯都亮,按一下S1,灯变为500ms闪烁,再按一下,变为全亮。(相当于S1为一个控制开关,控制着灯的亮、灭闪烁。)说明:开关接在P3.2上是为以后介绍中断的时间准备的;本例题是属于查询方式,第6章介绍中断时可以模拟外部中断输入。5.3.3多个按钮型开关输入信号

--键盘【例5-7】P1口作为并行接口按键的输入口,用P3口接一共阳极LED显示器,编程显示按键的键号0~7。(1)键号(2)键值

每一个按键根据某种算法,可以得到和其他按键不一样的值,该值称为该按键的键值。(3)键值表

将所有按键的键值,按照一定的顺序,在code区建立一个表格,该表格称为键值表。请修改:

两个输入按键(如P1.6、P1.7)一个为“+1”键,一个为“-1”键,开始显示器显示“5”,然后根据按键显示后面的内容。5.4实验与设计实验1闸刀型开关输入/8段LED静态显示输出5.4实验与设计设计1:LED模拟交通6个灯—南北:黄、红、绿

东西:黄、红、绿(红、绿是10秒,黄闪烁2秒)2个应急开关:南北绿或东西绿画出硬件设计,编出模拟程序。实验2并行接口键盘/LED指示灯输出设计1计时秒表的设计(1)两位LED显示可以显示00~99秒;(2)两个按键分别为启动/停止键、清零键。要求:设计硬件电路,编写出软件程序(延时由软件形成)。设计2模拟交通信号灯控制装置的设计(1)6个发光二极管模拟交通灯南北:黄、红、绿;东西:黄、红、绿。(2)2个应急开关南北绿东西红或东西绿南北红。要求:设计硬件模拟电路,编写软件程序。第6章51单片机中断系统及定时器/计数器应用基础本章主要介绍中断系统及定时器/计数器的应用。包括:6.1中断系统概述6.2外部中断应用举例6.3定时器/计数器概述6.4定时器/计数器应用举例6.5实验与设计6.151单片机中断系统5个中断源外部中断:外部中断0/INT0外部中断1/INT1定时器/计数器溢出中断:定时器/计数器0TF0定时器/计数器1TF1串行口中断:串行口RI、TI中断控制设置了4个专用寄存器用于中断控制。。(1)定时器控制寄存器(TCON)(2)串行口控制寄存器(SCON)(3)中断允许控制寄存器(IE)(4)中断优先级控制寄存器(IP)中断优先级结构

优先级排列如下(从高到低):

外部中断0定时器/计数器0溢出外部中断1定时器/计数器1溢出串行口中断6.2外部中断应用示例51单片机提供了2个外部中断源:

外部中断0请求,占用P3.2引脚,其中断请求号为0。

外部中断1请求,占用P3.3引脚,其中断请求号为2。外部中断源的初始化时通过设置相应的特殊功能寄存器的相应位来实现的。(1)TCON寄存器中的IT0、IT1位外部中断0和外部中断1的中断触发方式控制位。如:CLRIT0;外部中断0为电平触发方式SETBIT1;外部中断1为脉冲触发方式(2)IP寄存器中的PX0、PX1位外部中断0和外部中断1的中断优先级的设定。如:CLRPX0;设定外部中断0为低级中断SETBPX1;设定外部中断1为高级中断(3)IE寄存器中的EA、EX0、EX1位EA为中断允许总控制位;EX0、EX1为外部中断0中断和外部中断1中断的中断允许位。如:SETBEA;开放总的中断控制SETBEX0;允许外部中断0中断CLREX1;禁止外部中断1中断【例6-1】初始状态时低4位灯亮,高4位的灯灭,编程实现按一下S0,P1口的发光状态发生反转。注意:和例题5-6的区别修改:(1)按3下S0,P1口的发光状态发生反转(2)按一下,灯变为闪烁,按一下,灯全亮。【例6-2】当S0动作时,P1.0端口的电平反向,当外S1动作,P1.7端口的电平反向修改:(1)S0控制P1.0—P1.3的灯,S1控制P1.4—P1.7的灯。(2)按下S0后,点亮8只LED;按下S1后,变为闪烁状态。6.351单片机的定时器/计数器概述51单片机有两个16位的定时器/计数器,其核心部件为加法计数器。6.3.1结构6.3.2控制寄存器6.3.3工作模式6.3.1结构计数功能:是指对外部事件进行计数:计数信号来自T0(P3.4)、T1(P3.5)引脚。定时功能:也是通过计数器的计数功能来完成的,不过此时的计数脉冲来自单片机内部:机器周期。6.3.2控制寄存器

与定时器/计数器应用有关的控制寄存器有2个,分别为TCON、TMOD、TH、TL。1、计数器控制寄存器(TCON)2、工作方式控制寄存器(TMOD)3、TH、TL

4、如果是中断方式,还与IE、IP寄存器有关。6.3.3工作模式4种1.模式1—16位定时与计数范围:计数寄存器的计数初值范围是:0000H~0FFFFH(0~216-1)

则:当为计数器工作方式时:

计数范围为:1~216;当为定时工作方式时:

定时时间=(216-计数初值)×定时周期若晶振频率为12MHz,其定时周期1μs:定时范围:1μs~65536μs2、模式0—13位计数寄存器的计数初值范围是:0000H~1FFFH(0~213-1)

则:当为计数器工作方式时:

计数范围为:1~213;当为定时工作方式时:定时时间=(213-计数初值)×定时周期若晶振频率为12MHz,其定时周期1μs:定时范围:1μs~8192μs定时和计数范围:计数器的计数值范围是:1~8192(213)当为计数器工作方式时:

计数器的初值范围为:0~213-1;定时时间的计算公式为:

定时时间=(213-计数初值)×定时周期若晶振频率为6MHz,其定时周期2μs:则最短定时时间为:Tmin=[213-(213-1)]×2μs=2(μs)最长定时时间为:Tmax=(213-0)×2μs=16384(μs)3.模式2:计数与定时范围:计数寄存器的计数初值范围是:00H~0FFH(0~28-1)

则:当为计数器工作方式时:

计数范围为:1~28;当为定时工作方式时: 定时时间=(28-计数初值)×定时周期若晶振频率为12MHz,其定时周期1μs:定时范围:1μs~256μs4.模式3:6.4应用举例(1)TMOD的确定(2)计数器的计数初值X已知需要计的数N:X=2N-n(3)定时器/计数器在中断方式工作时,需开CPU中断和源中断——编程IE寄存器;(4)启动定时器/计数器——编程TCON中的TR1或TR0位。

模式2:TH=TL=256-n;或:TH=TL=-n(3)定时器/计数器在中断方式工作时,需开CPU中断和源中断——编程IE寄存器;(4)启动定时器/计数器——编程TCON中的TR1或TR0位。(5)中断类型号:1、3【例6-3】模式1、2应用:设系统时钟频率为12MHz,用定时器/计数器T0编程实现从P1.0输出周期为500μs的方波。分析:(1)定时250us(2)应该采用模式2,也可以采用模式1(3)可以采用中断或查询【例6-4】模式3应用51单片机外接6MHz晶振,通过T0定时,需要在P1.0和P1.1分别产生周期为400μs和800μs的方波。说明:此时可以TL0和TH0产生200μs和400μs的定时中断,并在中断服务程序中对P1.0和P1.1取反。由于采用了6MHz晶振,因此单片机的机器周期为2μs。因此可计算TL0的初值X=156=9CH,TH0的初值X=56=38H。【例6-5】P1.1输出周期1s的方波由于定时时间较长,一个定时器不能直接实现(一个定时器最长定时时间为65536us),可以有以下两种方法。方法1:硬件定时*软件计数如硬件定时50ms,软件计数器设定为20即可。方法2:硬件定时器*硬件计数器(1)T0定时器,定时器50ms,定时时间到,P1.0取反;(2)T1计数器,计数脉冲位P1.0,计数10次;(3)计数次数到P1.1取反。【例6-6】不同占空比的输出)设系统时钟频率为12MHz,编程实现:P1.1引脚上输出周期为1s,占空比为20%的脉冲信号。(取10ms基础,100个,分别占20个、80个)【例6-7】门控位的应用(测量脉冲)利用定时器的门控位GATE测量正脉冲宽度,脉冲从(P3.3)引脚输入。门控位GATE=1,定时器/计数器T1的启动受到外部中断1引脚的控制,当GATE=1,TR1=1时,只有引脚为高电平时,T1才被允许计数,利用GATE的这个功能,可以测量引脚(P3.3)上正脉冲的宽度(机器周期数),其方法如下所示。【例6-8】计数器应用用定时器/计数器T0监视一生产线,每生产100个工件,发出一包装命令,包装成一箱,并记录其箱数。

6.5实验与设计实验1按钮型开关模拟外部中断实验实验2按钮型开关模拟计数器实验实验3定时器实验设计1:出租车计价器里程计量装置的设计出租车车轮运转1圈产生2个负脉冲,轮胎周长为2m。试测量并显示出租车的行驶里程,测量与显示范围0~99Km。设计硬件电路并编写程序。(信号通过中断方式取得)。设计1:出租车计价器里程计量装置的设计出租车车轮运转1圈产生2个负脉冲,轮胎周长为2m。试测量并显示出租车的行驶里程,测量与显示范围0~99Km。设计硬件电路并编写程序。(信号通过计数器方式取得)。设计2:多种频率发生器的设计4个拨动开关K0、K1、K2、K3,分别控制4个不同频率(周期)的信号输出(一个输出端),4个周期分别100ms、500ms、1s、2s,并有4个指示灯指示(2s为20%占空比的信号,其余的为周期信号)。第7章51单片机串行口应用基础串行是相对于并行而言:并行示意图串行示意图7.1串行通信的再认识7.2认识51单片机的串行口7.351单片机串行口的工作方式7.451单片机串行口应用举例7.5实验与设计7.1串行通信的再认识发送端:将并行数据转换成串行数据;接收端:将串行数据转换成并行数据。7.1.1异步串行通信与同步串行通信7.1.2波特率7.1.3串行通信的检错与纠错7.1.4串行接口芯片在发送与接收时,要关注一个字符转换成一个什么样的串行数据(帧);发送与接收一位二进制数需要多长时间。7.1.1异步串行通信与同步串行通信1、异步串行通信

异步通信是指通信的发送和接收设备使用各自的时钟控制数据的发送和接收过程。异步通信是以字符(构成帧)为单位进行传输,字符与字符之间的间隙是任意的,但每个字符中的各位是以固定的时间传送的。帧格式:例如:传送一个7位的ASCII码字符,再加上一个起始位、一个奇偶校验位和一个停止位组成的一帧共10位。传输字符“E”的ASCII码(45H)的波形。(奇校验)2、同步通信3、比较(1)从硬件设备的要求看(2)从数据的传输效率看7.1.2串行传送速率--波特率波特率:指每秒钟内所传送二进制数据的位数,单位为波特(Bd),实际上它是传送每一位信息所用时间内的倒数。如果一个串行字符由1个起始位,7个数据位,1个奇偶校验位和1个停止位等10个数位构成,每秒钟传送120个字符,则实际传送的波特率为:10位/字符×120字符/秒=1200位/秒=1200波特传送每位信息所占用的时间: 1秒/1200=0.833毫秒常用的标准波特率:110、300、600、1000、1200、2400、4800、9600和19200波特。它也是国际上规定的标准波特率。同步传送的波特率高于异步方式,可达到64000波特。7.1.3串行通信的检错与纠错1、奇偶校验2、代码和校验3、循环冗余校验(CRC校验)7.1.4串行接口芯片UART和USART调制解调器总结:(1)并行与串行;(2)异步与同步;(3)异步的格式;(4)波特率。7.2认识51单片机的串行接口全双工的串行口。它能同时发送和接收数据。使用时用的是寄存器。7.2.1结构7.2.2控制寄存器7.2.1串行口的结构原理RXD/P3.0TXD/P3.1

PCONSCON发送缓冲器SBUF接收缓冲器SBUF一个是发送寄存器,一个是接收寄存器。串行发送时:

从片内总线向发送SBUF写入数据;串行接收时:

从接收SBUF向片内总线读出数据。它们都是可寻址的寄存器,但因为发送和接收不能同时进行,所以给这两个寄存器赋以同一地址(99H)。7.2.2串行口控制寄存器串行控制寄存器SCON电源控制寄存器PCON1、串行控制寄存器SCON(P170)SM0、SM1:串行口工作方式选择位,这两位的组合决定了串行口的4种工作方式。SM2是多机通信控制位:REN是允许接收位:当REN=1时,允许接收数据;当REN=0时,禁止接收数据。该位由软件置位或复位。TB8是发送数据的第9位。RB8是接收数据的第9位。TI是发送中断标志位。RI是接收中断标志位。2、电源控制寄存器PCON最高位SMOD是串行口波特率的倍增位。当SMOD=1时,串行口波特率加倍。系统复位时,SMOD=0。7.3串行口的工作方式通过SCON的SM0、SM1确定。7.3.1串行口工作方式0

同步移位寄存器输入/输出模式,可外接移位寄存器,以扩展I/O口。格式:P3.0(RXD):总是用于数据的输出或输入,P3.1(TXD):总是用于输出移位脉冲,每一移位脉冲将使RXD端输出或者输入一位二进制码。波特率:晶振频率fosc的1/12

1、方式0输出①初始化:SCON=0x00;②置标志:TI=0;③写操作:SBUF=0xDATA;当8位数据发送完毕的时候,标志TI=1。④准备下一次数据发送。

软件中置TI=0,然后才能发送下一组数据。方式0的数据输出可以采用查询方式,也可以采用中断方式。在查询方式下,通过while、if语句查询TI的值,如果TI=1则结束查询,可以发送下一组数据;如果TI=0,则继续查询。在中断方式下,TI置位产生中断申请,在中断服务程序中发送下一组数据。此时,需要开启相应的中断请求(EA、ES)。【例7-1】方式0数据发送74LS164:8位串入/并出寄存器A、B为两个数据输入;CP为时钟输入;/MR为复位输入(低电平有效);Q0-Q7数据输出2、方式0输入方式0输入时,REN为串行口接收允许控制位。REN=0,禁止接收。在方式0下,程序可以按照如下的流程来进行数据的接收:①初始化:SCON=0x10;②此时,在TXD端发送同步移位脉冲,在同步脉冲为低电平的时候,8位数据从RXD引脚由低位到高位逐位接收。③当8位数据接收完毕的时候,硬件自动置RI=1,请求中断,表示接收数据已装人接收缓冲器,可以由CPU读取④准备下一次接收数据。由于RI不会自动清零,当需要接收下一组数据的时候,必须在软件中置RI=0,然后才可以接收下一组数据。此时,同样可以采用查询和中断两种方式,分别介绍如下。在查询方式中,查询RI的值,如果RI=1则结束查询,可以接收下一组数据;如果RI-0,则继续查询。在中断方式中,在RI置位后产生中断申请,在中断服务程序中接收下一组数据。此时,需要开启相应的中断请求。【例7-2】方式0输入74LS165:8位并入/串出移位寄存器CLK,CLKINK:

时钟输入端(上升沿有效)A~H:并行数据输入端SER:串行数据输入端QH:输出端/QH:互补输出端SH/LD:移位控制/置入控制(低电平有效)7.3.2串行口工作方式1

串行口的工作方式1是波特率可变的串行异步通信方式。

数据帧由10位组成,按顺序分别为起始位、8位数据位、停止位。数据在传输时,低位在前,高位在后。1、方式1的波特率T1的溢出率:T1定时器方式、模式2。

T1的初始值为X,则每过256-X个机器周期的时候,T1便将产生一次溢出。溢出的周期为:

(256-X)×12/fosc溢出率:fosc/[12×(256-X)]。方式1波特率=T1溢出率×2SMOD/32根据:方式1波特率=T1溢出率×2SMOD/32波特率=(2SMOD/32)×fosc/[12×(256-X)]通过上面的式子可得到定时器T1在模式2下的初值X:X=256-(2SMOD×fosc)/(384×波特率)波特率foscSMOD初值

1106072H137.511.98601DH120011.05920E8H240011.05920F4H480011.05920FAH960011.05920FDH1920011.05921FDH6250011.05921FFH串口方式1初始化及波特率初始化的程序示例如下:MOV TMOD,#20H ;设置T1定时方式,工作于模式2MOV TH1,#0F4HMOV TL1,#0F4HSETBTR1MOVPCON,#0 ;设置SMOD为0MOV SCON,#50H ;设置方式1,允许接收2、方式1的数据发送①初始化串口,设置SCON寄存器以及PCON寄存器。②初始化定时器,设置波特率。③置串行接口控制寄存器SCON的TI=0,启动串行口发送。④执行写发送缓冲器SBUF语句,

⑤硬件自动发送起始位,起始位为逻辑低电平。在发送移位脉冲的作用下,数据帧依次从TXD引脚发出。在发送8位数据时,低位首先发送,高位最后发送。最后硬件自动发送停止位,停止位为逻辑高电平。⑥在8位串行数据发送完毕后,也就是在插入停止位的时候,使TI置1,用以通知CPU可以发过下一帧的数据。此时可以采用查询或者中断两种方式来获知TI是否置位。当TI置位后,程序中清雾TI,以便于发送下一个数据。3、工作方式1的数据接收①初始化串口,设置SCON寄存器以及PCON寄存器。将SCON的REN位置1,启动串行口串行数据接收,RXD引脚便进行串行口的采样。②初始化定时器,设置波特率。③在数据传递的时候RXD引脚的状态为1,当检测到从1到0的跳变的时候,确认数据起始位0。开始接收一帧的串行数据,在接收移位脉冲的控制下,将收到的数据一位一位地送入移位寄存器,直到9位数据完全接收完毕,其中最后一位为停止位。④当RI=0,并且接收到的停止位为1,或者SM2=0的时候,8位数据送人接收缓冲器SBUF中,停止位送人RB8中,同时置RI=1;否则,8位数据不装人SBUF,放弃当前接收到的数据。⑤此时可以采用查询或者中断两种方式来获知RI是否置位。当数据送人接收缓冲器之后,便可以执行读SBUF语句来读取数据,示例如下。ch=SBUF;⑥最后,软件中清标志位RI,以便于接收下一次串行数据。7.3.3串行口工作方式2

方式2为固定波特率的串行异步通信方式,在方式2中数据帧的格式如图所示。

一帧数据由11位构成,按照顺序分别为:起始位1位、8位串行数据(低位在前)、可编程位1位、停止位1位。方式2的波特率:

方式2波特率

=

fosc×2SMOD/647.3.4串行口工作方式3

方式3为11位异步发送接收方式,在方式3中数据帧的格式:1帧数据由11位构成,按照顺序分别为:起始位1位、8位串行数据(低位在前)、可编程位1位、停止位1位。7.4串行口的应用举例7.4.1初始化①设定SCON的SM0、SM1两位二进制编码。②对于方式2或3,应根据需要在TB8中写入待发送的第9位数据。③若选定的操作方式不是方式0,还需设定发送的波特率:④设定SMOD的状态,以控制波特率是否加倍。⑤若选定操作方式1或3,则应对定时器T1进行初始化以设定其溢出率。7.4.2编程步骤:(1)定好波特率

(2)填写控制字(3)串行通信可采用两种方式,即查询方式和中断方式查询方式:发送:先发后查;(TI)接收:先查后收。(RI)中断方式:发送:发送一个数据、等待中断,

在中断中再发送下一个数据。接收:等待中断、在中断中接收一个数据。【例7-5】波特率计算设某51单片机系统,其串行口工作于方式3,要求传送波特率为1200。作为波特率发生器的定时器T1工作在模式2时,请求出计数初值为多少?设单片机的振荡频率为6MHz。X=256-(2SMOD×fosc)/(384×波特率)TH1=256–fosc/(波特率×12×32/2SMOD)=256-2SMOD×13当SMOD=0时:TH1=256–13=243=0F3H。当SMOD=1时:TH1=256–2×13=230=0E6H。【例7-6】编程:高4位灯和低4位灯以1s亮1s灭的频率进行闪烁。分析:(1)4位亮、4位灭的交替数据为11110000B和00001111B;(2)串行口采用方式0,SCON=00H;(3)1s由定时器T0产生:硬件定时50mS,软件计数20次;T0定时器方式、模式1、初值为:50000=65536-XX=15536=3CB0H(4)1s采用中断的方式,20次中断到,将输出的数据取反操作。【例7-87】串行口自收自发

将51单片机的TXD接RXD,实现单片机串行口数据自发自收,并将接收的数据通过P1口输出到发光二极管显示。系统时钟频率为11.0592MHz,自发自收的波特率为2400bps。编写程序,要求:单片机串行口工作在方式1,从TXD发送数据0x55,从RXD将该数据读回,并送P1口通过8个发光二极管显示。【例7-8】两个单片机串行通信在某控制系统中有甲、乙两个单片机,甲单片机首先将P1口拨动开关数据装入SBUF,然后经由TXD将数据发送给乙单片机。乙单片机将接收数据存入SBUF,再由SBUF载入累加器,并输出至P1,点亮相应端口的LED。PROTEUS仿真电路如图所示。7.5实验与设计实验

串行口控制的流水灯实验设计

串行口控制的8段LED显示器计时秒表的设计①两位LED显示,可以显示00~99秒;②两个按键,分别为启动/停止键、清零键。要求:设计硬件电路,编写出软件程序(延时由硬件定时器形成)。第8章系统扩展技术片外并行资源的扩展:存储器、I/O口主要为:I/O口。8.1系统并行扩展基础8.2并行I/O口芯片扩展示例8.3键盘/显示器接口技术8.4模拟量接口技术8.5实验与设计

8.1并行I/O口扩展基础将要扩展的芯片(存储器、I/O接口)正确地连接到CPU的总线上,编程让其发挥应有的作用。包括:(1)扩展的芯片(2)CPU的总线(3)正确地连接---硬件设计(4)编程—软件设计8.1.1系统扩展总线图8.1.2典型的芯片介绍8.1.3数据线、控制线连接8.1.4地址线的连接8.1.1系统扩展总线图8.1.2典型的芯片

1、锁存器74LS373引脚说明如下:D0~D7:

数据输入引脚。Q0~Q7:

输出引脚。CLK:时钟引脚,在时钟的上升沿将输入引脚的数据送到输出端口。MR:清除引脚,低电平有效。真值表:2、典型的三态缓冲器74LS244三态缓冲区74LS2453、可编程的I/O接口芯片8255A(1)8255A特点:8255A是一种通用的可编程并行I/O接口芯片具有3个8位并行端口:

PA口、PB口、PC口3个端口分2组控制:

A组控制A口和C口的上半部;

B组控制B口和C口的下半部。3种可编程工作方式:方式0:基本输入/输出方式方式1:选通输入/输出方式方式2:双向总线方式(A口具有)(2)8255内部结构(3)外部引脚片选:/CS读信号:/WR写信号:/RD端口选择:A1A0A1A000-----PA口

01-----PB口

10-----PC口

11-----控制寄存器端口8255有4个口地址:

PA口、PB口、PC口、控制口

(4)8255A的控制字:方式控制字如设置8255A工作于方式0,且PA口为输出、PB口为输出、PC口为输入,则控制字为:

10001001B,即89H。PC口的置位/复位控制字如:PC3置1,则控制字为:

00000111B,即07H(5)工作方式方式0:基本输入/输出方式

-----无应答信号线方式1:选通输入/输出方式方式2:双向总线方式(A口特有)

-----有应答信号线方式方式1、2为握手联络---应答信号线方式,由PC口承担应答信号线,PA口、PB口作为数据口,可工作于输入方式或输出方式。8.1.3数据线、控制线的连接1、数据线的连接CPU:8条 P0口扩展的芯片:(1)一般也是8条,一一对应连接;(2)多于8条:分成高位、低位2、控制线的连接CPU:读、写(1)可编程芯片:

读、写信号一一对应的连接。(2)不可编程芯片:

使能读、使能写8.1.4译码信号的形成—地址线的连接

地址线的连接是为扩展的芯片确定一个唯一的地址,即存储器的地址空间范围和I/O接口的端口地址。

要扩展的芯片的地址线数目总是少于单片机地址总线的数目,这样就将51单片机的地址总线分为两部分:用到的地址线、没有用到的地址线。

用到的地址线分为:高位地址线、低位地址线。1、线译码

所谓线译码,是指CPU的“低位地址线”用做扩展芯片的片内译码,“高位地址线”直接作为扩展芯片的片选,即一根线选中。2、译码器译码是指CPU

温馨提示

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

评论

0/150

提交评论