《最新单片机11ppt课件.ppt》由会员分享,可在线阅读,更多相关《最新单片机11ppt课件.ppt(82页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、参考资料参考资料4李朝青北京航空航天大学出版社4MCS-51单片机应用设计张毅刚哈尔滨工业大学出版社4单片微型计算机原理接口及应用徐惠民北京邮电大学出版社4单片机实用系统设计技术房小翠国防工业出版社4 单片微型机原理及应用. 徐维祥等大连理工大学出版社4 单片机原理及应用 曹巧媛编著 电子工业出版社9 9单片机的发展第一代:七十年代后期,第一代:七十年代后期,4 4位逻辑控制器件发展到位逻辑控制器件发展到8 8位。使用位。使用NMOSNMOS工艺(速度低,功耗大、集成度工艺(速度低,功耗大、集成度低)。代表产品:低)。代表产品:MC6800MC6800、Intel 8048Intel 8048
2、。第二代:八十年代初,采用第二代:八十年代初,采用CMOSCMOS工艺,并逐渐被工艺,并逐渐被高速低功耗的高速低功耗的HMOSHMOS工艺代替。代表产品:工艺代替。代表产品:MC146805MC146805、Intel 8051Intel 8051。1010单片机的发展第三代:近十年来,第三代:近十年来,MCUMCU的发展出现了许多新特点:的发展出现了许多新特点: (1 1)在技术上,由可扩展总线型向纯单片型发)在技术上,由可扩展总线型向纯单片型发展,即只能工作在单片方式。展,即只能工作在单片方式。 (2 2)MCUMCU的扩展方式从并行总线型发展出各种的扩展方式从并行总线型发展出各种串行总线
3、。串行总线。 (3 3)将多个)将多个CPUCPU集成到一个集成到一个MCUMCU中。中。 (4 4)在降低功耗,提高可靠性方面,)在降低功耗,提高可靠性方面,MCUMCU工作工作电压已降至电压已降至0.9V0.9V甚至更低。甚至更低。第四代:第四代:FLASHFLASH的使用使的使用使MCUMCU技术进入了第四代。技术进入了第四代。11 11 单片机诞生于单片机诞生于2020世纪世纪7070年代末,经历了年代末,经历了SCMSCM、MCUMCU、SoCSoC三大阶段。三大阶段。1.SCM1.SCM即单片微型计算机(即单片微型计算机(Single Chip Single Chip Microc
4、omputerMicrocomputer)阶段,)阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。“创新模式”获得成功,奠定了SCM与通用计算机完全不同的发展道路。在开创嵌入式系统独立发展道路上,Intel公司功不可没。12122.MCU2.MCU即微控制器(即微控制器(Micro Controller UnitMicro Controller Unit)阶段,)阶段,主要的技术发展方向是:不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。它所涉及的领域都与对象系统相关,因此,发展MCU的重任不可避免地落在电气、电子技术厂家。从这一角度来看,I
5、ntel逐渐淡出MCU的发展也有其客观因素。在发展MCU方面,最著名的厂家当数Philips公司。 Philips公司以其在嵌入式应用方面的巨大优势,将MCS-51从单片微型计算机迅速发展到微控制器。13133.3.单片机是嵌入式系统的独立发展之路,单片机是嵌入式系统的独立发展之路,向MCU阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决;因此,专用单片机的发展自然形成了SoC化趋势。随着微电子技术、IC设计、EDA工具的发展,基于SoC的单片机应用系统设计会有较大的发展。因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。SoC(SoC(片上系统片上系统) )S
6、oCSoC就是将微处理器、模拟就是将微处理器、模拟IPIP核、数字核、数字IPIP核和存储器核和存储器( (或或片外存储控制接口片外存储控制接口) )集成在单一芯片上。集成在单一芯片上。1 1、微处理器、微处理器( (Microprocessor,Microprocessor,简称简称 P)P)是小型计算机或微型计算机的控制和是小型计算机或微型计算机的控制和处理部分。处理部分。 又称中央处理单元又称中央处理单元CPUCPU(Central Central Processing UnitProcessing Unit)。)。1515161617 1718182 2、微型计算机、微型计算机(Mic
7、rocomputer,Microcomputer,简称微机简称微机 C C)是具有完整运算及控制功能的计算机。是具有完整运算及控制功能的计算机。包括包括微处理器微处理器( (CPU)CPU) 如如 图图1-11-1所示。所示。存储器存储器接口适配器(输入输出接口电路)接口适配器(输入输出接口电路)输入输入/ /输出(输出(I/OI/O)设备。设备。202021212222多板机多板机 主板显卡显卡声卡声卡存储器接口存储器接口网卡网卡输入输出接口输入输出接口内存条内存条CPU3 3、单片机、单片机(Single-Chip MicrocomputerSingle-Chip Microcompute
8、r) 是将微处理器、一定容量是将微处理器、一定容量RAMRAM和和ROMROM以及以及I/OI/O口、定时器等电路集成在一块芯片上,构成单口、定时器等电路集成在一块芯片上,构成单片微型计算机。片微型计算机。微处理器微处理器RAM RAM ROMROMI/OI/O口口定时器定时器单片微型计算机单片微型计算机Back2424CPUCPU芯片芯片内存条内存条存储器接口存储器接口存储器芯片存储器芯片输入输出接口输入输出接口输入输出接口输入输出接口芯片芯片定时计数器定时计数器芯片芯片A/D、D/A芯片芯片单板机2525 单单 硅硅 晶晶 片片 CPU存储器存储器控制电路控制电路定时器定时器时钟电路时钟电
9、路I / O口口单片机1.1.2 1.1.2 微处理器的组成微处理器的组成s一、计算机的模型一、计算机的模型Backs二、微处理器的组成二、微处理器的组成主要包括主要包括:运算器和控制器:运算器和控制器一、计算机的模型一、计算机的模型微处理单元与存储器及微处理单元与存储器及I/OI/O接口组成的计算机模接口组成的计算机模型如型如 图图1-21-2所示。所示。! 图中只画出图中只画出CPUCPU主要的寄存器和控制电路,并且假设所有的计数主要的寄存器和控制电路,并且假设所有的计数器、寄存器和总线都是器、寄存器和总线都是8 8位宽度。位宽度。28282929! ALUALU、计数器、寄存器和控制部分
10、除计数器、寄存器和控制部分除在微处理器内通过内部总线相互联系以在微处理器内通过内部总线相互联系以外,还通过外部总线和外部的存储器和外,还通过外部总线和外部的存储器和输入输入/ /输出接口电路联系。输出接口电路联系。!外部总线一般分为外部总线一般分为数据总线、地址总线和控数据总线、地址总线和控制总线,制总线,统称为系统总线。统称为系统总线。!存储器包括存储器包括RAMRAM和和ROMROM。!微计算机通过输入微计算机通过输入/ /输出接口电路可与各种外输出接口电路可与各种外围设备联接。围设备联接。Back二、微处理器的组成二、微处理器的组成2 1 1、运算器、运算器Back2 2 2、控制器、控
11、制器2 3 3、CPUCPU中的主要寄存器中的主要寄存器、运算器、运算器Back1 1)组成)组成2 2)作用)作用3 3)ALUALU的两个主要的输入来源的两个主要的输入来源4 4)运算器的两个主要功能)运算器的两个主要功能算术逻辑单元算术逻辑单元( (简称简称ALUALU)Back1 1)运算器的组成)运算器的组成运算器运算器累加器累加器 寄存器寄存器2 2)运算器运算器ALUALU的作用的作用是把传送到微处理器的数据进行算术运算是把传送到微处理器的数据进行算术运算或逻辑运算。或逻辑运算。Back举例举例ALUALU可对两个操作数进行加、减、与、或、可对两个操作数进行加、减、与、或、比较大
12、小等操作,最后将结果存入累加器。比较大小等操作,最后将结果存入累加器。ALUALU执行不同的运算操作是由不同控制线上执行不同的运算操作是由不同控制线上的信息所确定的。的信息所确定的。3636例如:例如: 两个数(两个数(7 7和和9 9)相加,在相加之前,操作)相加,在相加之前,操作数数9 9放在累加器中,放在累加器中,7 7放在数据寄存器中,执放在数据寄存器中,执行两数相加运算的控制线发出行两数相加运算的控制线发出“加加”操作信操作信号,号,ALUALU即把两个数相加并把结果(即把两个数相加并把结果(1616)存入)存入累加器,取代累加器前面存放的数累加器,取代累加器前面存放的数9 9。Ba
13、ck3 3)ALUALU的两个主要的输入来源的两个主要的输入来源Back输入来源输入来源数据寄存器数据寄存器累加器累加器4 4)运算器的两个主要功能运算器的两个主要功能(1 1)执行各种算术运算。)执行各种算术运算。Back(2 2)执行各种逻辑运算,并进行逻辑测试。)执行各种逻辑运算,并进行逻辑测试。如零值测试或两个值的比较。如零值测试或两个值的比较。、控制器、控制器Back1 1)控制器的组成)控制器的组成2 2)控制器的作用)控制器的作用3 3)控制器的主要功能)控制器的主要功能Back1 1)控制器的组成)控制器的组成控制器的组成控制器的组成程序计数器程序计数器指令寄存器指令寄存器指令
14、译码器指令译码器时序产生器时序产生器操作控制器操作控制器2 2)控制器的控制器的作用作用Back它是发布命令的它是发布命令的“决策机构决策机构”,即协调和指挥整个计算机系统的操作。即协调和指挥整个计算机系统的操作。3 3)控制器的主要功能)控制器的主要功能Back对指令进行译码或测试,并产生相应对指令进行译码或测试,并产生相应的操作控制信号,以便启动规定的动作。的操作控制信号,以便启动规定的动作。指挥并控制指挥并控制CPUCPU、内存和输入内存和输入/ /输出设输出设备之间数据流动的方向。备之间数据流动的方向。从内存中取出一条指令,并指出下一从内存中取出一条指令,并指出下一条指令在内存中的位置
15、。条指令在内存中的位置。、CPUCPU中的主要寄存器中的主要寄存器Back1 1)累加器()累加器(A A)Back在算术和逻辑运算时,它具有双重功能:在算术和逻辑运算时,它具有双重功能:运算前,用于保存一个操作数;运算前,用于保存一个操作数;运算后,用于保存所得的和、差或逻辑运算结运算后,用于保存所得的和、差或逻辑运算结 果。果。累加器是微处理器中最繁忙的寄存器。累加器是微处理器中最繁忙的寄存器。2 2)数据寄存器()数据寄存器(DRDR)是通过数据总线(是通过数据总线(DBUSDBUS)向存储器(向存储器(M M)和输和输入入/ /输出设备输出设备I/OI/O送(写)或取(读)数据的送(写
16、)或取(读)数据的暂存单元。暂存单元。Back3 3)指令寄存器()指令寄存器(IRIR)用来保存当前正在执行的一条用来保存当前正在执行的一条指令指令。Back当执行一条当执行一条指令指令时,先把它从内存取到数据时,先把它从内存取到数据寄存器中,然后再传送到指令译码器中。寄存器中,然后再传送到指令译码器中。4747什么是指令?指令是CPU根据人的意图来执行某种操作的命令。CPU所能执行的全部指令集合称为指令系统。4 4)指令译码器()指令译码器(IDID)指令分为指令分为操作码操作码和和地址码字段地址码字段,由二进制数,由二进制数字组成。当执行任何给定的指令,必须对操字组成。当执行任何给定的指
17、令,必须对操作码进行译码,以便确定所要求的操作。作码进行译码,以便确定所要求的操作。Back指令寄存器中操作码字段的输出就是指令指令寄存器中操作码字段的输出就是指令译码器的输入。译码器的输入。操作码一经译码后,即可向控制器发出具操作码一经译码后,即可向控制器发出具体操作的特定信号。体操作的特定信号。5 5)程序计数器()程序计数器(PCPC) 通常又称为指令地址计数器。通常又称为指令地址计数器。Back在程序开始执行前,必须将其在程序开始执行前,必须将其起始地址起始地址,即,即程序的第一条指令所在的内存单元地址送到程序的第一条指令所在的内存单元地址送到PCPC当执行指令时,当执行指令时,CPU
18、CPU将自动修改将自动修改PCPC的内容,的内容,使之总是保存将要执行的下一条指令的地址。使之总是保存将要执行的下一条指令的地址。由于大多数指令都是按顺序执行的,所以修由于大多数指令都是按顺序执行的,所以修改的过程通常是简单的加改的过程通常是简单的加1 1操作。操作。6 6)地址寄存器)地址寄存器 (ARAR)地址寄存器用来保存当前地址寄存器用来保存当前CPUCPU所要访问的内所要访问的内存单元或存单元或I/OI/O设备的地址。设备的地址。Back因为内存(因为内存(I/OI/O设备)和设备)和CPUCPU之间存在着之间存在着速度速度上的差别上的差别,所以必须使用地址寄存器来保存,所以必须使用
19、地址寄存器来保存地址信息,直到内存(地址信息,直到内存(I/OI/O设备)读设备)读/ /写操作写操作完成为止。完成为止。 1.1.3 1.1.3 存储器和输入输出接口存储器和输入输出接口一、存储器一、存储器Back二、二、I/OI/O接口及外设接口及外设一、存储器一、存储器存储器包括RAM和ROM。其容量大小以多少字节(Byte)评价。地址总线、数据总线和若干控制线把存储器和微处理器连接起来。存储器从CPU接收控制信号,以确定存储器执行读/写操作。地址地址译码器译码器01单元02单元03单元FF单元00FF控制控制来自微处理、来自微处理、器的地址器的地址往返于微往返于微处理器处理器从微处理来
20、的从微处理来的读写信号读写信号位地址位地址总线总线位数据位数据总线总线随即存取存储器随即存取存储器地址总线将地址总线将8 8位地址信息送入地址译码位地址信息送入地址译码器,地址译码器的输出可以确定唯一的器,地址译码器的输出可以确定唯一的存储单元。存储单元。数据总线用来传送存储器到数据总线用来传送存储器到CPUCPU或或CPUCPU到到存储器的数据信息存储器的数据信息。Back二、二、I/OI/O接口及外设接口及外设每个外设与微处理器的连接必须经过接口每个外设与微处理器的连接必须经过接口适配器(适配器(I/OI/O接口)。接口)。每个每个I/OI/O接口及其对应的外设都有一个固定接口及其对应的外
21、设都有一个固定的地址,在的地址,在CPUCPU的控制下实现对外设的输入的控制下实现对外设的输入(读)和输出(写)操作。(读)和输出(写)操作。Back* 1.2.1 1.2.1 执行一条指令的顺序执行一条指令的顺序* 1.2.2 1.2.2 执行一条指令的过程执行一条指令的过程* 1.2.3 1.2.3 执行一个程序的过程执行一个程序的过程Back57574 计算机采取“存储程序”的工作方式, 即事先把程序加载到计算机的存储器中, 当启动运行后,计算机便自动进行工作。4 任何计算机都有指令系统,有十几条至一 百多条指令,并有若干种寻址方式。 1.2.1 1.2.1 执行一条指令的顺序执行一条指
22、令的顺序Back开始开始取一条取一条指令指令执行该执行该指令指令 1.2.2 1.2.2 执行一条指令的过程执行一条指令的过程C以指令以指令“LDA 23”LDA 23”为例为例将地址为将地址为2323的内存单元中的内容送入累加器的内存单元中的内容送入累加器A A中。中。C LDALDA指令的指令周期由三个指令的指令周期由三个CPUCPU周期周期( (即机器周期即机器周期) )组成。组成。Back*第一个机器周期:取指令阶段。第一个机器周期:取指令阶段。*第二个机器周期:将操作数的地址送往第二个机器周期:将操作数的地址送往地址寄存器并完成地址译码。地址寄存器并完成地址译码。*第三个机器周期:从
23、内存取出操作数并第三个机器周期:从内存取出操作数并执行装入的操作。执行装入的操作。Back译指令译指令码码取指令取指令PC+1PC+1取出操取出操作数作数送操作送操作数地址数地址译指译指令码令码执行操执行操作作开始开始取下条取下条指令指令PC+1PC+1取指阶段取指阶段 执行指令阶段执行指令阶段一个一个CPUCPU周期周期 一个一个CPUCPU周期周期 一个一个CPUCPU周期周期 Back1.2.3 1.2.3 执行一个程序的过程执行一个程序的过程计算机执行一个程序是一条指令一条指计算机执行一个程序是一条指令一条指令执行的。令执行的。程序的执行顺序是:程序的执行顺序是:取指执指,取指执指,取
24、指执指.直至程序结束。 Back1.3 计算机中的数和编码计算机中的数和编码11.3.1 数制及转换数制及转换11.3.2 数据在计算机中的表示数据在计算机中的表示11.3.3 计算机中的常用编码计算机中的常用编码一、进位计数制 (1)十进制数逢10进1 0、1、2.9(2)二进制数逢2进10、1(3)八进制数逢8进10、1、2、3、4、5、6、7(4)十六进制 数逢16进10、1、2.9、A、B、C、D、E、F 1.3.1 数制及转换数制及转换举例: 十进制123、59、11二进制1101、10110011、11八进制543、11、735十六进制45AF、BDC69、11、1101数位的权
25、从右始从右始第第n位位.第四位第四位第三位第三位第二位第二位第一位第一位十进制十进制10n-1.1000100101二进制二进制2n-1.8421八进制八进制8n-1.5126481十六进制十六进制16n-1.4096256161计算: 1nmiiQN n:整数位,整数位,m:小数位,小数位,Q:权值,权值,:有效数字有效数字二、数制二、数制之间的转换之间的转换1 1、转换成十进制数、转换成十进制数 二进制1101=123+122+021+110=13 11.101=121+110+12-1+02-2+12-3 =3.625 八进制543=582+481+380=355 11.47=181+1
26、80+48-1+78-2=9.609375 十六进制45AF=4163+5162+A161+F160=17839 11.B5=1161+1160+B16-1+516-2= =17.70703125 2 2、十进制数转换成二进制数、十进制数转换成二进制数4十进制整数转换成二进制数:十进制整数转换成二进制数: 除除2之余数之余数4十进制小数转换成二进制数:十进制小数转换成二进制数: 乘乘2之整数之整数(25.625)10= (11001.101)2222222 51 26310余数余数 1 LSB 1 1 MSB 0 00.6252=1.25 整数为整数为MSB0.252=0.5 整数为整数为 0
27、0.52=1 整数为整数为 LSB3 3、八进制数转换成二进制数、八进制数转换成二进制数23=8, 所以一位八进制数相当于三位二进制数,转换方便。 (563)8=(101 110 011)2 (40.764)8=(100 000. 111 110 100)2 (1110 111 0011)2=(3563)8 (0.101 100 0111)2=(0.5434)8 4 4、十六进制数转换成二进制数、十六进制数转换成二进制数24=16, 所以一位十六进制数相当于四位二进制数,转换方便所以一位十六进制数相当于四位二进制数,转换方便 (3AB)16=(0011 1010 1011)2 (0.7A53)
28、16=(0.0111 1010 0101 0011)2 (11011 1110 0011.1001 01111)2=(1BE3.978)16 1.3.2 数据在计算机中的表示数据在计算机中的表示一、有符号数一、有符号数二、无符号数二、无符号数一、有符号数一、有符号数C一个字节,D7-D0。 D7:符号位。 D6-D0:数字位。符号位:0表示正,1表示负。 D7D6D0C连同一个符号位在一起作为一个数,就称为机器数C机器数的三种表示方法:机器数的三种表示方法:原码、反码、补码。原码、反码、补码。 (1)原码)原码正数的符号位用0表示。负数的符号位用1表示。 这种表示法称为原码。范围:-127+1
29、27 例如; x1=67 x1原=0100 0011 x2=-67 x2原=1100 0011在原码表示法中,0有两种表示法:+0原=0000 0000-0原=1000 0000(2 2)反码)反码正数的反码与原码相同。 负数的反码:其原码按位取反,符号位不变。范围:-127+127例如; x1=67 x1反=0100 0011 x2=-67 x2反=1011 1100在反码表示法中,0也有两种表示法:+0反=0000 0000-0反=1111 1111(3 3)补码)补码正数的补码与原码相同。 负数的补码:其反码+1。-128+127x=-87=-0101 0111 x反=1010 1000
30、 x补=1010 1001 7878计算机中,所有的有符号数都是用计算机中,所有的有符号数都是用补码表示的。补码表示的。二、无符号数二、无符号数C一个字节,D7-D0都是数字位。D7D0C范围:+ 1.3.3 计算机中的常用编码计算机中的常用编码1、BCD码:码:Binary Coded decimal2、ASCII码码: American Standard Code for Information Interchange十进制数十进制数BCD码码十进制数十进制数BCD码码00000810001000191001200101000003001111000140100120010501011300116011014010070111150101(0100 1001 0111 1000.0001 0100 1001)BCD=4978.149