微机和单片机基础复习ppt课件.ppt

上传人:牧羊曲112 文档编号:1973687 上传时间:2022-12-29 格式:PPT 页数:98 大小:548KB
返回 下载 相关 举报
微机和单片机基础复习ppt课件.ppt_第1页
第1页 / 共98页
微机和单片机基础复习ppt课件.ppt_第2页
第2页 / 共98页
微机和单片机基础复习ppt课件.ppt_第3页
第3页 / 共98页
微机和单片机基础复习ppt课件.ppt_第4页
第4页 / 共98页
微机和单片机基础复习ppt课件.ppt_第5页
第5页 / 共98页
点击查看更多>>
资源描述

《微机和单片机基础复习ppt课件.ppt》由会员分享,可在线阅读,更多相关《微机和单片机基础复习ppt课件.ppt(98页珍藏版)》请在三一办公上搜索。

1、微机与单片机原理及应用,谢 云南京理工大学紫金学院,认证考试单片机知识的题型,综合知识 是非题 选择题 填空题 简答题 综合题实操部分 程序阅读题,往届认证考试单片机知识点,微型计算机组成微型计算机软件存储器知识串行通信(接口)51单片机硬件之内部结构51单片机的引脚及功能51单片机硬件之I/O口51单片机硬件之CPU时序51单片机软件之汇编51单片机软件之C语言51单片机接口技术之A/D、D/A,微型计算机组成,计算机的硬件:由运算器、控制器、存储器、输入设备和输出设备五大部分组成。运算器、控制器、存储器三部分称为计算机主机,而输入设备和输出设备则称为计算机外设。运算器、控制器是计算机进行信

2、息处理的关键部件,合称为中央处理器CPU(Central Process Unit)。,微型计算机组成,通常的微机采用三总线结构,即数据总线(Data Bus,DB)传送数据信息,地址总线( Address Bus,AB )传送地址信息,控制总线(Control Bus,CB )传送控制信息。,微型计算机组成,真题:5、计算机系统应包括 (硬件系统 ) 、 (软件系统 )两大部分。练习题:4. 计算机的基本组成部分及其各自的作用。,微型计算机软件,软件是使用和管理计算机的各种程序(Program),而程序是由一条条的指令(Instruction)组成的。,1指令指令是指控制计算机进行各种操作的

3、命令。指令主要由操作码和操作数两大部分组成。操作码表示该指令执行何种操作,操作数表示参加运算的数据或数据所在存储器单元的地址。,2程序为了计算一个数学式,或者要控制一个生产过程,需要事先制定计算机的计算步骤或操作步骤。计算步骤或操作步骤是由一条条指令来实现的。这种一系列指令的有序集合称为程序。,3编程语言编制程序可以采用的程序设计语言分为三类:机器语言、汇编语言和高级语言。,微型计算机软件,汇编语言 汇编指令:用助记符(通常是指令功能的英文缩写)表示操作码,用字符(字母、数字、符号)表示操作数的指令。 用汇编指令编制的程序称为汇编语言程序。 特点:占用存储器单元较少、执行速度较快、能够准确掌握

4、执行时间,可实现精细控制,因此特别适用于实时控制。但,汇编语言是面向机器的语言,各种计算机的汇编语言是不同的,必须对所用机器的结构、原理和指令系统比较清楚才能编写出汇编语言程序,而且不能通用于其它机器。,高级语言高级语言是面向过程的语言,常用的高级语言有BASIC,FORTRAN,PASCAL,C等等。,特点:用高级语言编写程序时主要着眼于算法,而不必了解计算机的硬件结构和指令系统,因此易学易用。适用于科学计算、数据处理等方面。高级语言是独立于机器的,同一个程序可在其它机器中使用。,机器语言,计算机中只能存放和处理二进制数据,所以,无论汇编语言程序还是高级语言程序,都必须转换成二进制代码形式后

5、才能送入计算机。这种二进制代码形式的程序就是机器语言程序。相应的二进制代码形式的指令称为机器指令或机器码。,采用汇编语言或高级语言编写的程序又称为源程序,而机器语言程序则称为目标程序。 机器语言只有0、1两种符号,用它来直接编写程序十分困难。因此,往往先用汇编语言或高级语言编写源程序,然后再转换成目标程序。将汇编语言程序翻译成目标程序的过程称为汇编。,实现“汇编”的两种方式,汇编指令与机器指令具有一一对应的关系,用汇编语言编写源程序,再经过汇编得到机器指令表示的目标代码,将目标程序存入容量为256的程序存储器,从地址为0000 0000的单元开始存放,如图1.7所示。,图1.7 存储器中的目标

6、代码,微型计算机软件,12. 汇编语言只有经过“编译/汇编”程序翻译成机器语言后才能为计算机所执行。( )17. 计算机中,CPU取指令的过程是先取操作码,再取操作数。( )19. 计算机的高级语言必须经过编译,成为机器语言后,才能为硬件电路所识别;( )23. 用高级语言编写的程序与用汇编语言编写的程序相比,前者的执行时间要更短一点。 ( ),微型计算机软件,13.( A )汇编语言与硬件电路及CPU间的关系是: A、不是面向硬件电路的计算机语言,与CPU有关。 B、不是面向硬件电路的计算机语言,与CPU无关。 C、是面向硬件电路的计算机语言,与CPU有关。 D、是面向硬件电路的计算机语言,

7、与CPU无关。15.( B )用汇编语言和高级语言编写的同一功能程序,其所占用的存储单元及执行速度: A、高级语言程序所占的存储单元少,执行速度快 B、高级语言程序所占的存储单元多,执行速度慢 C、高级语言程序所占的存储单元少,执行速度慢 D、高级语言程序所占的存储单元多,执行速度快,微型计算机软件,24.( B )在计算机中,既与CPU有关,又不能为计算机硬件电路识别的计算机语言为: A、机器语言 B、汇编语言 C、高级语言 D、C语言或JAVA语言5计算机系统的机器语言是一种( 二进制代码形式的 )语言。,存储器知识,衡量存储器的性能指标主要有三个,即容量、速度和成本。目前在计算机系统中通

8、常采用三级存储器结构,即使用高速缓冲存储器、主存储器和辅助存储器,由这三者构成一个统一的存储系统。从整体看,其速度接近高速缓存的速度,其容量接近辅存的容量,而位成本则接近廉价慢速的辅存平均价格。 按存取方式分类按对存储器的存取方式可分为随机存取存储器、只读存储器等。,存储器知识,(1) 随机访问存储器RAM (Random Access Memory)又称读写存储器,指通过指令可以随机地对各个存储单元进行访问。 (2)只读存储器ROM指非易失性存储器,即掉电之后数据不丢失。ROM存储器在微机中用于存储程序代码(如引导程序、监控程序)和不需改变(或很少改变)的数据。,存储器知识,ROM又分为掩膜

9、ROM(MASK ROM)和可编程ROM(PROM)。其中,掩模ROM中的数据由工厂生产芯片时确定,用户无法更改。用户可以借助编程器对可编程ROM一次性写入数据。可擦除可编程ROM则可以多次擦写,由于擦除的方法不同,又分为紫外线擦除的EPROM和电擦除的E2PROM。最近几年出现的快擦写型存储器(Flash)也是一种电可擦除的非易失性半导体存储器。,存储器知识,存储器容量: 假如存储器有256个单元,每个单元存放一个字节代码,那么该存储器容量为256字节,或2568位。在容量较大的存储器中,存储容量以KB或MB为单位,1KB=1024个存储单元,1MB=1024KB。存储单元的地址:对存储器所

10、有单元按顺序进行的编号,这种编号就是是存储的地址。每个单元都有唯一的地址。地址用二进制数表示,地址的二进制位数N与存储容量Q的关系是Q= 。,例如:在8086微机系统中,地址的位数是20,则存储器的容量为=1MB。,存储器知识,14.( T )已知某存储芯片有12根地址线,则其存储容量至少为4KB。15.( C )用8k8位的存储器芯片组成容量为16k16位的存储器,共需几个芯片?共需多少根地址线寻址?BA.2片芯片,14根地址线寻址 B、4片芯片,14根地址线寻址C.2片芯片,15根地址线寻址 D、4片芯片,15根地址线寻址 分析:共4片 ,2片为一组构成 8K*16位,共用地址线13根,还

11、需1根地址线用来区分高、低8K地址,所以共需地址线14根,串行通信接口,串行通信接口 串行通信接口的种类和型号很多。 能够完成异步通信的硬件电路称为UART,即通用异步接收器/发送器 (Universal Asychronous Receiver/Transmitter); 能够完成同步通信的硬件电路称 USRT(UniversalSychronousReceiver/Transmitter);既能够完成异步又能同步通信的硬件电路称为USART。 异步串行通信接口较为常见的接口标准有RS-232接口, RS-422接口, RS-485接口等。其中RS-232接口是使用最早、应用最多的一种异步串

12、行通信总线标准。,串行通信接口,RS-232接口,适用于设备之间的通信距离不大于15m,传输速率最大为20KB/s的应用场合。例如:CRT显示器、打印机与CPU的通信,MCS-51单片机与PC机的通信RS-422接口由RS-232发展而来,为弥补RS-232之不足而提出的。为改进RS-232通信距离短、速率低的缺点,RS-422定义了一种平衡通信接口,将传输速率提高到10Mb/s,传输距离延长到4000英尺(速率低于100kb/s时),并允许在一条平衡总线上连接最多10个接收器(单机发送、多机接收 )RS-485接口在RS-422基础上制定了RS-485标准,增加了多点、双向通信能力,即允许多

13、个发送器连接到同一条总线上 。RS-485/422最大的通信距离约为1219M,最大传输速率为10Mb/S,传输速率与传输距离成反比,在100Kb/S的传输速率下,才可以达到最大的通信距离 。,串行通信接口,10、( A )下列论述哪一项是错误的: A、RS-232是同步传输数据的 B、RS-232编码协议是传输距离短的主要原因 C、RS-422、RS-485的电路原理与RS-232基本相同 D、RS-232广泛用于计算机接口13.( D )RS-232通信协议(接口)的特点是: A、传输速率快,传输距离远 B、传输速率慢,传输距离远 C、传输速率快,传输距离短 D、传输速率慢,传输距离短,串

14、行通信接口,13、( A )RS-485通信协议的特点是: A、传输速率快,传输距离远 B、传输速率慢,传输距离远 C、传输速率快,传输距离短 D、传输速率慢,传输距离短16. ( A )RS-232,RS-485接口是什么样的接口: A、均为标准串行接口 B、均为标准并行接口 C、前者为串行,后者为并行接口 D、前者为并行,后者为串行接口8、RS-232为 串行接口,其主要优缺点为 传递速率不快、传送距离不够远 。,计算机由运算器、控制器、存储器和输入输出接口四个基本部分组成。 PC机将运算器和控制器集成为一个超大规模集成电路芯片,称为CPU。 将组成计算机的四个基本部分集成在一块芯片上,并

15、加入中断控制器、定时/计数器、串行I/O接口等功能器件,就构成了单片微型计算机,又称单片机。近年来推出的一些新型单片机还包含有许多特殊功能单元,如A/D、D/A、浮点运算单元、数字信号处理单元、现场总线控制器、USB接口、DMA等。,MCS-51单片机,51单片机硬件 之内部结构,MCS-51系列单片机可分为51子系列和52子系列,并以芯片型号的最末位数字作为标志。其中51子系列是基本型,而52子系列属增强型。52子系列功能增强的具体方面为:片内ROM从4KB增加到8KB;片内RAM从128B增加到256B;定时/计数器从2增加到3个;中断源从5个增加到6个;注意:MCS-51,8051,AT

16、89C51之间的区别与联系。MCS-51是泛称,指的是采用51内核的一类单片机,区别于ARM内核、 X86内核等。8051是MCS-51系列中较简单的一款单片机,片内含有4KB的只读ROM. AT89C51是Atmel公司生产的,与8051管脚完全兼容,片内含有4KB的闪存存储器Flash。,51单片机硬件 之内部结构,51单片机硬件 之内部结构,运算器的组成: 八位的算术逻辑运算部件ALU累加器ACC、寄存器B和程序状态标志寄存器PSW。控制器包括:定时控制逻辑,指令寄存器,译码器,数据地址指针DPTR,程序计数器PC,堆栈指针SP,以及RAM地址寄存器,16位地址缓冲器等。 单片机复位后,

17、程序计数器PC的内容自动清0.CPU使用程序计数器PC确定当前指令字节地址;使用数据地址指针DPTR访问外部数据存储器。MCS-51的堆栈指针SP是8位寄存器,堆栈只能设在内部数据存储器空间。,状态标志寄存器PSWPSW中保存运算的状态。PSW是一个8位寄存器。,进(借)位标志CY:它表示了运算是否有进位(或借位)。如果操作结果在最高位有进位(在加法时)或有借位(在减法时),则该位为1状态,否到清0。 辅助进(借)位标志AC:低半字节进(借)位标志。即低4位相加(或减)有否进位(或借位)如有,则AC为1状态,否则AC清0。,AC的使用:紧凑型BCD加法。一字节两位BCD码进行加法运算时,若AC

18、 = 0,且低4位数值小于等于9,不须作调整;当低4位数值大于9时,必须加上6,产生应有的进位;若AC = 1,必须在低4位上加上6.溢出标志位 OV:反映运算结果是否溢出,溢出时 OV为1状态,否则为0。溢出和进位标志CY是两种不同性质的标志。溢出是指在两个有符号正数相加时,得到负的结果,或两个有符号负数相加时,得到正的结果。而进位位是指两个无符号数作加减运算时有否进位(或借位)。用此两个标志位时应注意场合。奇偶标志 P:反映累加器ACC的内容的奇偶性。由A累加器中运算结果1的个数为偶数还是奇数来决定。 此标志在数据通信中有用。,用户标志F0:用户编程时可以自定义的标志。寄存器区选择RS0、

19、RS1:8051工作寄存器组选择控制位。它们与8051内部数据存储器有关.布尔处理机: 是MCS-51单片机CPU中运算器的一个重要组成部分。有相应的指令系统,可提供17条位操作指令,硬件有自己的“累加器”(进位位CY和自己的位寻址RAM和IO空间,所以是一个独立的位处理机。和八位操作指令相同,大部分位操作均围绕着位累加器进位位C完成。位操作指令允许直接寻址内部数据RAM里的128个位和特殊功能寄存器里的位地址空间。,MCS-51的存储器结构如图:,程序存储器空间,MCS-51的程序存储器空间在物理结构上分为两个区域:片内程序存储器区和片外程序存储器区。但在逻辑结构上,只有一个程序存储器区;片

20、内、片外程序存储器统一编址,都使用程序计数器PC进行寻址。程序存储器的地址从0000HFFFFH,共64k。89C51内部ROM有4k,地址为0000H 0FFFH; 外部程序存储器地址可以从1000H开始,也可以从0000H开始。若从0000H开始编址,内部程序存储器与外部程序存储器有部分单元重合,对这部分重合的存储单元的选择,依赖于单片机一根引脚(EA)的定义。,51单片机硬件 之内部结构,当EA引脚接Vcc时,89C51的PC值小于0FFFH时,CPU从内部ROM中取指令,当PC的值大于4k-1时,CPU自动转到外部ROM单元取指。外部程序存储器地址值低于4k的单元等于不存在。当EA引脚

21、接GND时,单片机CPU直接到外部程序存储器取指,89C51的内部程序存储器被屏蔽掉。外部程序存储器的地址必须从0000H开始编址。,51单片机硬件 之内部结构,外部数据存储器空间,MCS-51的内部数据存储器与外部数据存储器空间在物理和逻辑结构上都是独立的。MCS-51用寄存器DPTR管理外部数据存储器空间。MCS-51使用不同的指令操作内部和外部数据存储器。外部数据存储器地址有16位,其最大容量为64k字节。系统扩展和功能扩展时,除了程序存储器扩展外,其它扩展都使用外部数据存储器空间。即,当扩展了其它功能芯片时,就不能扩展64k字节的数据存储器了。外部数据存储器使用随机读写半导体存储器(R

22、AM)。,51单片机硬件 之内部结构,51单片机硬件 之内部结构,14( )单机片、ARM、DSP等均可作为嵌入式处理器使用。20.( )ARM是ARM公司生产的一款芯片。18.( T )在嵌入式技术中,常见的ARM之意是微处理器行业中一家知名企业的英文字头缩写9、( )51单片机的程序计数器PC是一个16位计数器,其内容是正在被执行指令的地址。14、( T )单片机上电自动复位后,程序计数器PC中的内容为0000H。15、( T )单片机按键复位后,程序计数器PC中的内容为0000H。补充:ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,设计了大量高性能、

23、廉价、耗能低的RISC处理器、相关技术及软件。,51单片机硬件 之内部结构,30. MCS51单片机的布尔处理器是以A为累加器进行位操作的。( )14、()51单片机中,当程序读数器PC值超过0FFFH时,CPU将自动转向访问外部程序存储器。20.( )AT89C51单片机在外扩EEPROM时, 引脚必须接地。82. MCS-51单片机的堆栈区设置在( D )中 A、内部寄存器 B、外部存储器 C、内部程序存储器 D、内部RAM83. 单片机复位后,堆栈区的最大允许范围是(B )个单元 A、64 B、120 C、128 D、25619若PSW为18H,则选择的是第( 3 )组通用寄存器。,51

24、单片机硬件 之内部结构,84. 8031单片机堆栈区最大的可用范围是内部RAM的( C )单元 A、00H07H B、60H7FH C、07H7FH D、00H1FH85. 堆栈区是按照( C )的原则操作的 A、先进先出 B、后进后出 C、先进后出 D、随机处理16通常,单片机上电复位时PC = ( 0000 )H,SP = ( 07 )H;而工作寄存器则缺省采用第( 0 )组,这组寄存器的地址范围是从 ( 00 ) 至 ( 07 )H。,51单片机的引脚及功能,8051系列单片机是40引脚双列直插封装芯片。,I/O引脚P0、P1、P2和P3四组I/O口引线。控制信号ALE:地址锁存允许。以

25、时钟振荡频率16的固定频率激发ALE。因此它可以用于外部时钟和定时(然而,在每一次存取片外数据存贮器时,会丢失一个ALE脉冲)。PSEN:程序存贮器输出允许。从内部程序存贮器读取指令时,不激发 PSEN。EA:片内、片外程序存器选择。对8051、8751, EA接Vcc时,低4k程序取自片内ROM;EA接GND时,低4k程序取自片外ROM。对8031,EA必须接GND。,51单片机的引脚及功能,XTAL1:作为振荡器倒相放大器的输入。使用外振荡器时,须接地电位。XTAL2:作为振荡器的倒相放大器的输出和内部时钟发生器的输入。当使用外振荡器时,接收外振荡器信号。RST:复位输入。当振荡器工作时,

26、在此端线持续给出两个机器周期的高电平可以完成复位。复位后,程序计数器PC的值成为0,堆栈指针SP成为7,P0、P1、P2和P3均为FFH,其它大多数特殊功能寄存器的值都成为0。电源线:Vcc和GND。,51单片机的引脚及功能,关于复位电路复位信号是系统内部初始化所需的,当系统加电开始工作时,或工作过程中出现故障无法正常工作时,都需要复位信号使系统能重新开始工作。因此,系统需要上电复位、手动复位和遇故障自动复位电路。,上电复位电路,上电加手动复位电路,51单片机的引脚及功能,7MCS-51系列单片机是下列位数的单片机( C )。A. 16位B.12位C.8位D. 10位88951 DIP封装的单

27、片机芯片的引脚为( A )。A. 40引脚B.48引脚C.36引脚D. 32引脚,51单片机的引脚及功能,19.( B )8051单片机的复位信号是: A、低电平有效 B、高电平有效 C、下降沿有效 D、上升沿有效,51单片机的引脚及功能,1. 已知某处理器或单片机的复位电路如图1示,请回答:什么叫复位?微处理机或单片机为什么要复位?图中电路是高电平复位还是低电平复位?复位时间大致是多少?它由什么元件决定?答:复位是微处理器或单片机的初始化操作;复位目的使CPU其他功能部件都处于一个确定的初始状态,并从此状态开始工作。 低电平复位 复位的时间电路中的RC值决定: 电路中的RC=101030.2

28、210-6=0.0022S=2.2ms,51单片机硬件 之I/O口,MCS-51系列单片机有四组8位并行I/O口,记作P0、P1、P2和P3。每组I/O口内部都有8位数据输入缓冲器、8位数据输出锁存器及数据输出驱动等电路,有时称为端口。MCS-51输入输出端口的核心是输出锁存器,并以P0、P1、P2和P3的名称当作特殊功能寄存器。四组并行I/O端口即可以按字节操作,又可以按位操作,是布尔处理器的位I/O空间。当系统没有扩展外部器件时,I/O端口用作双向输入输出口;当系统作外部扩展时,使用P0、P2口作系统地址和数据总线、P3口的部分口线作控制总线 同时,P3口的其它口线都有第二功能,与MCS-

29、51的内部功能器件配合使用。 89C51系列单片机的P1口是唯一的单一功能准双向口,,P0口,P0口有两种用途:普通I/O端口当单片机系统没有扩展外部芯片时,P0口用作双向输入输出端口。这时图中多路开关的控制信号为低电平,输出与锁存器的反向输出端相连,同时上面的场效应管由于与门输出为低电平而截止,下面的场效应管成开漏输出。作输出时:输出0时,将0输出到内部总线上,在写锁存器信号控制下写入锁存器,锁存器的反向输出端输出1,下面的场效应管导通,输出引脚成低电平。输出1时,下面的场效应管截止,上面的场效应管也是截止状态,输出引脚成高阻态,不是希望的1状态,这时,必须外加上拉电阻。,作输入时:P0端口

30、引脚信号通过一个输入三态缓冲器接入内部总线,再读引脚信号控制下,引脚电平出现在内部总线上。为了能读到真实的引脚信号,下面的场效应管必须截止,即锁存器的内容必须是1。为了能正确读取引脚信号锁存器必须些1,因而P0口是一个准双向口。在图的左上方有一个三态缓冲器,是为了读取输出锁存器内容而设。在输出引脚外接发光二极管或三极管基极时,输出引脚电平与锁存器内容可能会不一致,为了得到正确的输出状态,必须读锁存器而不是读引脚。如指令P0 = P0 | 0XF0;将P0口的输出状态与0XF0按位或后再输出到P0口,这里读的数据是P0口锁存器的内容,运算结果又写入到P0口锁存器。,地址/数据复用总线当单片机系统

31、进行存储器、I/O口或其它功能扩展时,P0口要用作系统总线。在P0口上分时输出目标地址的低8位和要交换的字节数据。用作地址/数据复用总线时,多路开关的控制信号为1,输出与上方的地址/数据线反向器的输出相连,由于控制信号为1,上面的场效应管受地址/数据小信号控制,与下面的场效应管成为推挽输出形态。外部不再需要上拉电阻,P0口为真正的双向I/O口。操作过程:假如要读外部程序存储器中0 x1245单元的指令,首先从P0口输出45H,P2口输出12H,控制器输出ALE地址锁存信号,再发出指令输出允许信号PSEN,外部程序存储器0 x1245单元的内容出现在总线上,由CPU读入程序指令寄存器,译码执行。

32、,P2口,P2口也有两种使用方式做普通I/O口这时,控制信号将驱动场效应管的反向器的输入与P2口输出锁存器的Q端相连。当输出使用时与P0口类似,但P2口内部有上拉电阻,不需外接。当输入使用时,输出锁存器也必须写1。所以,P2口也是一个准双向I/O口。作地址总线当单片机系统进行存储器、I/O口或其它功能扩展时,P2口要用作系统总线。输出目标地址的高8位。这时控制信号将驱动场效应管的反向器的输入与地址线相连。P2口没有复用要求,所以外部不需地址锁存器。,P3口,P3口是一个双功能I/O口普通I/O口作普通I/O口时,选择输出功能端为高电平,场效应管受输出锁存器的控制,是一个准双向I/O口。第二功能

33、口P3口的每一位都具有第二功能。,P3口的第二功能大多与其内部功能部件有关,RD、WR是外部数据存储器的写、读控制信号。由P3口结构图可以看出,要使用P3口的第二功能,输出锁存器必须写1。,P1口,89C51系列单片机的P1口是唯一的单一功能准双向口,89C52系列单片机的P1口有两根口线有第二功能:P1.0 T2(定时器T2脉冲输入端),P1.1 T2EX (定时器T2的捕捉/常数重装触发)。单片机I/O口的使用除了要知道它的功能外,还要知道一点,即I/O口的负载能力。现在常用的51芯片AT89C51、AT89C52等,I/O的电流输入输出最大值为20mA。,51单片机硬件 之I/O口,13

34、( )89C51单机片的P2、P0口均为双功能端口。13、( F )51单片机的P0、P1、P2、P3作为通用I/O端口使用时,均需外接上拉电阻。11.( T )在单片机组成的系统中,如果需要扩展I/O接口,可以使用PSEN信号选通;17.( F )8255是可编程三端口串行I/O接口芯片;10.( T )在单片机系统中,当I/O口不够用时,可以使用8155、8255或74LS595芯片进行扩展。,51单片机硬件 之I/O口,9、( D )常见的8251、8253、8255A集成芯片为: A、8251、8253为串行接口芯片,8255A为并行接口芯片 B、8251、8253为并行接口芯片,82

35、55A为定时/计数芯片 C、8251、8255A为串行接口芯片,8253为定时/计数芯片 D、8251为串行接口芯片,8253为定时/计数芯片,8255A 为并行接口芯片分析:8251A:可编程串行通信接口芯片;8253为可编程计数器/定时器;8255A为可编程并行I/O接口芯片。,51单片机硬件 之I/O口,4. 已知51单片机P1接口的电路结构如图示,请回答: 图中锁存器作何用? 图中A、B是何器件?作何用? 在读取外部数据时,CPU如何操作?场效应管如何工作?,51单片机硬件 之I/O口,答:锁存器的作用: 本端口作输出时,将数据锁存于此,即在重新输出新的数据之前,接口上的数据一直保存于

36、此,以解决CPU速度快,外设速度慢的矛盾。A、B为三态缓冲器,以控制是读锁存器还是读引脚。接口用作输入时,信号是不锁存的,CPU先向本端口写入“1”,使场效应管截止(封闭),从而将引脚信号经三态缓冲器送达内部总线。,单片机内部振荡器或使用的外部振荡器产生的震荡信号用fosc表示,称为振荡频率。是CPU时序的基础。,fosc,时序定时单位从小到大依次为:相位、状态、机器周期、指令周期。,51单片机硬件 之CPU时序,相位振荡频率fosc的一个周期称为一个相位,用P表示。状态由两个相位构成一个状态S,前一个相位记为P1,后一个相位记为P2。机器周期一个机器周期包含6个状态,依次表示为S1S6。因此

37、一个机器周期包含12个振荡周期。当fosc为12MHz时,一个机器周期为1s,当fosc为6MHz时,一个机器周期为2 s。指令周期执行一条指令需要的时间。MCS-51的指令周期分别是一、二、四个机器周期。,51单片机硬件 之CPU时序,51单片机硬件 之CPU时序,16( F )单片机系统中的时钟振荡周期即为指令周期。13、( C )单片机系统中,指令周期T1、机器周期T2、时钟周期T3,三者的时间关系为: A、T3 T2 T1 B、T2 T1 T3 C、T1 T2 T3 D、T1 T3 T215.( C )PC机的时钟周期为T1,机器周期为T2,指令周期为T3,它们的大小关系为: A、T1

38、 T2 T3 B、T1 T3 T2 C、T1 T2 T3 D、T1 T3 T2,51单片机硬件,3. 请找出图2所示的单片机外围电路设计中的错误,并加以改正。(6分),图2 单片机外围电路,51单片机硬件,答:(1)复位电路电源与地交换,同时变换电解电容极性 (2分)(2)晶振与地间的两侧串入电容 (2分)(3)第31脚(EA )接高电平 (2分)(4) 第39脚(P0.0)加入上拉电阻(1k左右) (2分),51单片机软件 之汇编,汇编语言指令有如下的格式: 标号: 操作码助记符 目的操作数,源操作数 ;注释寻址方式 立即寻址 MOVA,#30H指令中30H就是立即数。 寄存器寻址 MOVA

39、,R0指令中源操作数和目的操作数都 是寄存器寻址。 寄存器间接寻址 MOV A,R1指令的源操作数是寄存器间接 寻址。 直接寻址 MOV A,40H指令中的源操作数就是直接寻址,40H为操作数的地址。 变址寻址 MOV A,A+DPTR ; MOV A,A+PC;使用时通常用DPTR存放数组首址,A中存放数组元素的 偏移量(无符号数),两者的和作为实际操作数的地址,51单片机软件 之汇编,DPTR称为基址寄存器,能用作基址寄存器的还有程序计数器PC。相对寻址 主要用于跳转指令,以程序计数器PC作为基址寄存器,指令中给出偏移量rel(有符号数),PC当前内容(源地址)与rel之和给出了操作数的新

40、地址。SJMP rel位寻址 对内部RAM的可位寻址空间及特殊功能寄存器中可寻址位采用位寻址方式伪指令:又称指示性指令,具有和指令类似的形式,但汇编时伪指令并不产生可执行的目标代码,只是对汇编过程进行某种控制或提供某些指示信息。,直接寻址可访问片内RAM的低128个单元(00H7FH),同时也是用于访问高128个单元的特殊功能寄存器SFR的唯一方法。由于52子系列的片内RAM有256个单元,其高128个单元与SFR的地址是重叠的。为了避免混乱,单片机规定:直接寻址的指令不能访问片内RAM的高128个单元(80HFFH),若要访问这些单元只能用寄存器间接寻址指令,而要访问SFR只能用直接寻址指令

41、。另外,访问SFR可在指令中直接使用该寄存器的名字来代替地址,如MOV A,80H,可以写成MOV A,P0,因为P0口的地址为80H。 直接寻址访问程序存储器的转移、调用指令中直接给出了程序存储器的地址,执行这些指令后,程序计数器PC的内容将更换为指令直接给出的地址,机器将改为访问以所给地址为起始地址的存储区间,取指令(或取数),并依次执行。,51单片机软件 之汇编,12.( B )汇编指令:MOV A,#OF0H;的寻址方式为:A、直接寻址 B、立即寻址C、寄存器寻址 D、寄存器间接寻址12、( C )汇编指令:MOV A,R1;的寻址方式为: A、直接寻址 B、立即寻址 C、寄存器寻址

42、D、寄存器间接寻址16、( T )单片机的伪指令只对汇编程序提供必要的控制信息,但不产生任何指令代码。,51单片机软件 之C语言,表1 Franklin C51的数据类型,*C51数据的存储类型与MCS-51存储结构*,表 2 C51存储类型与MCS-51存储空间的对应关系,51单片机软件 之C语言,表3 C51存储类型及其数据长度和值域,带存储类型的变量的定义的一般格式为: 数据类型 存储类型 变量名,带存储类型的变量定义举例:char data var1;bit bdata flags;float idata x,y,z;unsigned int pdata var2;unsigned c

43、har vector34;,表 4 存储模式说明,*MCS-51特殊功能寄存器(SFR)的C51定义*,MCS-51单片机中,除了程序计数器PC和4组工作寄存器组外,其它所有的寄存器均为特殊功能寄存器(SFR),分散在片内RAM区的高128字节中,地址范围为80H0FFH。SFR中有11个寄存器具有位寻址能力,它们的字节地址都能被8整除,即字节地址是以8或0为尾数的。 为了能直接访问这些SFR,Franklin C51提供了一种自主形式的定义方法,这种定义方法与标准C语言不兼容,只适用于对MCS-51系列单片机进行C语言编程。特殊功能寄存器C51定义的一般语法格式如下:sfr sfr-name

44、 = int constant;,sfr是定义语句的关键字,其后必须跟一个MSC-51单片机真实存在的特殊功能寄存器名,=后面必须是一个整型常数,不允许带有运算符的表达式,是特殊功能寄存器sfr-name的字节地址,这个常数值的范围必须在SFR地址范围内,位于0 x800 xFF。例如:sfr SCON=0 x98; /* 串口控制寄存器地址98H */sfr TMOD=0 x89;/* 定时器/计数器方式控制寄存器地址89H */,MCS-51系列单片机的特殊功能寄存器的数量与类型不尽相同,因此建议将所有特殊的sfr定义放入一个头文件中,该文件应包括MCS-51单片机系列机型中的SFR定义。

45、C51编译器的reg51.h头文件就是这样一个文件。,第一种格式: sbit bit-name = sfr-nameint constant; sbit是定义语句的关键字,后跟一个寻址位符号名(该位符号名必须是MCS-51单片机中规定的位名称),=后的sfr-name必须是已定义过的SFR的名字,后的整常数是寻址位在特殊功能寄存器sfr-name中的位号,必须是07范围中的数。例如: sfr PSW=0 xD0 ; /* 定义PSW寄存器地址为D0H */ sbit OV=PSW2 ; /* 定义OV位为PSW.2,地址为D2H */ sbit CY=PSW7 ; /* 定义CY位为PSW.7

46、,地址为D7H */,第二种格式:sbit bit-name = int constantint constant; =后的int constant为寻址地址位所在的特殊功能寄存器的字节地址,符号后的int constant为寻址位在特殊功能寄存器中的位号。例如: sbit OV=0XD02 ;/* 定义OV位地址是D0H字节中的第2位 */ sbit CY=0XD07 ;/* 定义CY位地址是D0H字节中的第7位 */,第三种格式:sbit bit-name = int constant; =后的int constant为寻址位的绝对位地址。例如: sbit OV=0XD2 ;/* 定义OV

47、位地址为D2H */ sbit CY=0XD7 ;/* 定义CY位地址为D7H */ 特殊功能位代表了一个独立的定义类,不能与其它位定义和位域互换。,*MCS-51并行接口的C51定义*,MCS-51系列单片机并行I/O接口除了芯片上的4个I/O口(P0 P3)外,还可以在片外扩展I/O口。MCS-51单片机I/O口与数据存储器统一编址,即把一个I/O口当作数据存储器中的一个单元来看待。 使用C51进行编程时,MCS-51片内的I/O口与片外扩展的I/O可以统一在一个头文件中定义,也可以在程序中(一般在开始的位置)进行定义,其定义方法如下: 对于MCS-51片内I/O口按特殊功能寄存器方法定义

48、。例如:sfr P0=0 x80 ; /* 定义P0口,地址为80H */sfr P1=0 x90 ; /* 定义P1口,地址为90H */,对于片外扩展I/O口,则根据硬件译码地址,将其视作为片外数据存储器的一个单元,使用#define语句进行定义。例如#include #define PORTA XBYTE 0 xFFC0 absacc.h是C51中绝对地址访问函数的头文件,将PORTA定义为外部I/O口,地址为 FFC0H,长度为8位。 一旦在头文件或程序中对这些片外I/O口进行定义后,在程序中就可以自由使用变量名与其实际地址的联系,以便使程序员能用软件模拟MCS-51的硬件操作。,(1

49、) 位变量C51定义。使用C51编程时,定义了位变量后,就可以用定义了的变量来表示MCS-51的位寻址单元。 位变量的C51定义的一般语法格式如下: 位类型标识符(bit) 位变量名; 例如:bit direction_bit ;/* 把direction_bit定义为位变量 */bit look_pointer ;/* 把look_pointer定义为位变量 */,*位变量的C51定义*,(2) 函数可包含类型为“bit”的参数,也可以将其作为返回值。例如:bit func(bit b0, bit b1) /* 变量b0,b1作为函数的参数 */ return (b1); /* 变量b1作为

50、函数的返回值 */ 注意,使用(#pragma disable)或包含明确的寄存器组切换(using n)的函数不能返回位值,否则编辑器将会给出一个错误信息。,(3) 对位变量定义的限制。位变量不能定义成一个指针,如不能定义:bit * bit_pointer。 不存在位数组,如不能定义:bit b_array 。 在位定义中,允许定义存储类型,位变量都被放入一个位段,此段总位于MCS-51片内的RAM区中。因此,存储类型限制为bdata,如果将位变量的存储类型定义成其它存储类型都将编译出错。,例1 先定义变量的数据类型和存储类型:bdata int ibase; /* 定义ibase为bda

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号