1、微机与单片机原理及应用微机与单片机原理及应用 谢谢 云云南京理工大学紫金学院南京理工大学紫金学院第第1页页认证考试单片机知识题型综合知识 是非题 选择题 填空题 简答题 综合题实操部分 程序阅读题第第2页页往届认证考试单片机知识点微型计算机组成微型计算机软件存放器知识串行通信(接口)51单片机硬件之内部结构51单片机引脚及功效51单片机硬件之I/O口51单片机硬件之CPU时序51单片机软件之汇编51单片机软件之C语言51单片机接口技术之A/D、D/A第第3页页微型计算机组成计算机硬件:由运算器、控制器、存放器、输入设备和输出设备五大部分组成。运算器、控制器、存放器三部分称为计算机主机,而输入设
2、备和输出设备则称为计算机外设。运算器、控制器是计算机进行信息处理关键部件,合称为中央处理器CPU(Central Process Unit)。第第4页页微型计算机组成通常微机采取三总线结构,即数据总线(Data Bus,DB)传送数据信息,地址总线(Address Bus,AB)传送地址信息,控制总线(Control Bus,CB)传送控制信息。第第5页页微型计算机组成真题:5、计算机系统应包含 (硬件系统 )、(软件系统 )两大部分。()计算机系统中,字节长为位二进制,而字长则可认为位、位、位、位等。(C)所谓32位计算机是指:A 地址线为32根 B 数据线为32根C CPU能同时处理32位
3、二进制数 D 有32个存放器4.计算机基本组成部分及其各自作用。第第6页页微型计算机软件软件软件是使用和管理计算机各种程序是使用和管理计算机各种程序(Program),而程序是由一,而程序是由一条条指令条条指令(Instruction)组成。组成。1指令指令指令指令是是指控制计算机进行各种操作命令指控制计算机进行各种操作命令。指令主要由操作码和操作数两大部分组成。操作码表示该指令指令主要由操作码和操作数两大部分组成。操作码表示该指令执行何种操作,操作数表示参加运算数据或数据所在存放器单执行何种操作,操作数表示参加运算数据或数据所在存放器单元地址元地址。第第7页页2 2程序程序为了计算一个数学式
4、,或者要控制一个生产过程,需要事先制为了计算一个数学式,或者要控制一个生产过程,需要事先制订计算机计算步骤或操作步骤。计算步骤或操作步骤是由一条订计算机计算步骤或操作步骤。计算步骤或操作步骤是由一条条指令来实现。这种一系列指令有序集合称为程序。条指令来实现。这种一系列指令有序集合称为程序。3 3编程语言编程语言编制程序能够采取程序设计语言分为三类:机器语言、汇编语编制程序能够采取程序设计语言分为三类:机器语言、汇编语言和高级语言。言和高级语言。微型计算机软件第第8页页汇编语言汇编语言 汇编指令:用助记符汇编指令:用助记符(通常是指令功效英文缩写通常是指令功效英文缩写)表示操作码,表示操作码,用
5、字符用字符(字母、数字、符号字母、数字、符号)表示操作数指令。表示操作数指令。用汇编指令编制程序称为汇编语言程序。用汇编指令编制程序称为汇编语言程序。特点:占用存放器单元较少、执行速度较快、能够准确掌握特点:占用存放器单元较少、执行速度较快、能够准确掌握执行时间,可实现精细控制,所以尤其适合用于实时控制。执行时间,可实现精细控制,所以尤其适合用于实时控制。但,汇编语言是面向机器语言,各种计算机汇编语言是不一样,但,汇编语言是面向机器语言,各种计算机汇编语言是不一样,必须对所用机器结构、原理和指令系统比较清楚才能编写出汇必须对所用机器结构、原理和指令系统比较清楚才能编写出汇编语言程序,而且不能通
6、用于其它机器。编语言程序,而且不能通用于其它机器。高级语言高级语言高级语言是面向过程语言,惯用高级语言有高级语言是面向过程语言,惯用高级语言有BASIC,FORTRAN,PASCAL,C等等。等等。第第9页页特点:用高级语言编写程序时主要着眼于算法,而无须了解计特点:用高级语言编写程序时主要着眼于算法,而无须了解计算机硬件结构和指令系统,所以易学易用。适合用于科学计算、算机硬件结构和指令系统,所以易学易用。适合用于科学计算、数据处理等方面。数据处理等方面。高级语言是独立于机器,同一个程序可在其它机器中使用。高级语言是独立于机器,同一个程序可在其它机器中使用。机器语言机器语言 计算机中只能存放和
7、处理二进制数据,所以,不论汇编语言程序计算机中只能存放和处理二进制数据,所以,不论汇编语言程序还是高级语言程序,都必须转换成二进制代码形式后才能送入计还是高级语言程序,都必须转换成二进制代码形式后才能送入计算机。这种算机。这种二进制代码形式程序就是机器语言程序二进制代码形式程序就是机器语言程序。对应二进制。对应二进制代码形式指令称为机器指令或机器码。代码形式指令称为机器指令或机器码。第第10页页 采取汇编语言或高级语言编写程序又称为源程序,而机器语采取汇编语言或高级语言编写程序又称为源程序,而机器语言程序则称为目标程序。言程序则称为目标程序。机器语言只有机器语言只有0、1两种符号,用它来直接编
8、写程序十分困两种符号,用它来直接编写程序十分困难。所以,往往先用汇编语言或高级语言编写源程序,然后再难。所以,往往先用汇编语言或高级语言编写源程序,然后再转换成目标程序。将汇编语言程序翻译成目标程序过程称为汇转换成目标程序。将汇编语言程序翻译成目标程序过程称为汇编。编。源程序源程序(汇编语言(汇编语言/高级语言)高级语言)人工汇人工汇 编编机器汇机器汇 编编目标程序目标程序(机器语言)(机器语言)实现实现“汇编汇编”两种方式两种方式 第第11页页汇编指令与机器指令含有一一对应关系,用汇编语言编写源程汇编指令与机器指令含有一一对应关系,用汇编语言编写源程序,再经过汇编得到机器指令表示目标代码,将
9、目标程序存入序,再经过汇编得到机器指令表示目标代码,将目标程序存入容量为容量为256程序存放器,程序存放器,从地址为从地址为0000 0000单元开始存放,如图单元开始存放,如图1.7所表示。所表示。地址目标代码汇编语言备注0000 00000111 0100MOV A,#63第1条指令0000 00010011 11110000 00100010 0100ADD A,#56第2条指令0000 00110011 10000000 01000010 0100ADD A,#36第3条指令0000 01010010 01000000 01100010 0100ADD A,#14第4条指令0000 0
10、1110000 1110图图1.7 存放器中目标代码存放器中目标代码第第12页页微型计算机软件12.汇编语言只有经过汇编语言只有经过“编译编译/汇编汇编”程序翻译成程序翻译成机器语言后才能为计算机所执行。(机器语言后才能为计算机所执行。()17.计算机中,计算机中,CPU取指令过程是先取操作码,取指令过程是先取操作码,再取操作数。(再取操作数。()19.计算机高级语言必须经过编译,成为机器语言计算机高级语言必须经过编译,成为机器语言后,才能为硬件电路所识别;后,才能为硬件电路所识别;()23.用高级语言编写程序与用汇编语言编写程序相用高级语言编写程序与用汇编语言编写程序相比,前者执行时间要更短
11、一点。比,前者执行时间要更短一点。()第第13页页微型计算机软件13.(A)汇编语言与硬件电路及)汇编语言与硬件电路及CPU间关系是:间关系是:A、不是面向硬件电路计算机语言,与、不是面向硬件电路计算机语言,与CPU相关。相关。B、不是面向硬件电路计算机语言,与、不是面向硬件电路计算机语言,与CPU无关。无关。C、是面向硬件电路计算机语言,与、是面向硬件电路计算机语言,与CPU相关。相关。D、是面向硬件电路计算机语言,与、是面向硬件电路计算机语言,与CPU无关。无关。15.(B )用汇编语言和高级语言编写同一功效)用汇编语言和高级语言编写同一功效程序,其所占用存放单元及执行速度:程序,其所占用
12、存放单元及执行速度:A、高级语言程序所占存放单元少,执行速度快、高级语言程序所占存放单元少,执行速度快 B、高级语言程序所占存放单元多,执行速度慢、高级语言程序所占存放单元多,执行速度慢 C、高级语言程序所占存放单元少,执行速度慢、高级语言程序所占存放单元少,执行速度慢 D、高级语言程序所占存放单元多,执行速度快、高级语言程序所占存放单元多,执行速度快第第14页页微型计算机软件24.(B)在计算机中,既与)在计算机中,既与CPU相关,又不能为相关,又不能为计算机硬件电路识别计算机语言为:计算机硬件电路识别计算机语言为:A、机器语言、机器语言 B、汇编语言、汇编语言 C、高级语言、高级语言 D、
13、C语言或语言或JAVA语言语言5计算机系统机器语言是一个计算机系统机器语言是一个(二进制代码形式二进制代码形式 )语言。语言。第第15页页存放器知识衡量存放器衡量存放器性能指标性能指标主要有三个,即主要有三个,即容量容量、速度速度和成本和成本。当前在计算机系统中通常采取。当前在计算机系统中通常采取三级存放三级存放器结构器结构,即使用,即使用高速缓冲存放器、主存放器和辅高速缓冲存放器、主存放器和辅助存放器助存放器,由这三者组成一个统一存放系统。从,由这三者组成一个统一存放系统。从整体看,其速度靠近高速缓存速度,其容量靠近整体看,其速度靠近高速缓存速度,其容量靠近辅存容量,而位成本则靠近廉价慢速辅
14、存平均价辅存容量,而位成本则靠近廉价慢速辅存平均价格。格。按存取方式分类按对存放器存取方式可分为随机按存取方式分类按对存放器存取方式可分为随机存取存放器、只读存放器等。存取存放器、只读存放器等。第第16页页存放器知识(1)随机访问存放器随机访问存放器RAM(Random Access Memory)又称读写存放器,指经又称读写存放器,指经过指令能够随机地对各个存放单元进行访过指令能够随机地对各个存放单元进行访问。问。(2)只读存放器只读存放器ROM指非易失性存放器,即指非易失性存放器,即掉电之后数据不丢失。掉电之后数据不丢失。ROM存放器在微机存放器在微机中用于存放程序代码中用于存放程序代码(
15、如引导程序、监控程如引导程序、监控程序序)和不需改变和不需改变(或极少改变或极少改变)数据。数据。第第17页页存放器知识 ROM又分为掩膜又分为掩膜ROM(MASK ROM)和可编程和可编程ROM(PROM)。其中,掩模。其中,掩模ROM中数据由工厂生中数据由工厂生产芯片时确定,用户无法更改。用户能够借助编程产芯片时确定,用户无法更改。用户能够借助编程器对可编程器对可编程ROM一次性写入数据。可擦除可编程一次性写入数据。可擦除可编程ROM则能够屡次擦写,因为擦除方法不一样,又则能够屡次擦写,因为擦除方法不一样,又分为紫外线擦除分为紫外线擦除EPROM和电擦除和电擦除E2PROM。最近。最近几年
16、出现快擦写型存放器几年出现快擦写型存放器(Flash)也是一个电可擦除也是一个电可擦除非易失性半导体存放器。非易失性半导体存放器。第第18页页存放器知识存放器容量存放器容量:假如存放器有假如存放器有256个单元,每个单元存放一个个单元,每个单元存放一个字节代码,那么该存放器容量为字节代码,那么该存放器容量为256字节,或字节,或2568位。位。在容量较大存放器中,存放容量以在容量较大存放器中,存放容量以KB或或MB为单位,为单位,1KB=1024个存放单元,个存放单元,1MB=1024KB。存放单元地址:存放单元地址:对存放器全部单元按次序进行编号对存放器全部单元按次序进行编号,这种,这种编号
17、就是是存放地址。每个单元都有唯一地址。地址用二编号就是是存放地址。每个单元都有唯一地址。地址用二进制数表示,地址二进制位数进制数表示,地址二进制位数N与存放容量与存放容量Q关系是关系是Q=。比如:比如:在在8086微机系统中,地址位数是微机系统中,地址位数是20,则存放器容量为,则存放器容量为=1MB。第第19页页存放器知识14.(T )已知某存放芯片有12根地址线,则其存放容量最少为4KB。15.(C )用8k8位存放器芯片组成容量为16k16位存放器,共需几个芯片?共需多少根地址线寻址?BA.2片芯片,14根地址线寻址 B、4片芯片,14根地址线寻址C.2片芯片,15根地址线寻址 D、4片
18、芯片,15根地址线寻址 分析:共4片,2片为一组组成 8K*16位,共用地址线13根,还需1根地址线用来区分高、低8K地址,所以共需地址线14根第第20页页存放器知识(A)一计算机,其地址线有20根,则其最大存放容量为:A 1MB B 10MB C 1GB D 64GB(D)相关静态存放器SRAM,以下哪种说法是错误?A、SRAM工作速度快,惯用作计算机高速缓冲B、SRAM集成度较低C、SRAM功耗较大D、SRAM工作时需要定时刷新,以保持所存内容第第21页页串行通信接口串行通信接口 串行通信接口种类和型号很多。能够完成异步通信硬件电路称为UART,即通用异步接收器/发送器 (Universa
19、l Asychronous Receiver/Transmitter);能够完成同时通信硬件电路称 USRT(UniversalSychronousReceiver/Transmitter);既能够完成异步又能同时通信硬件电路称为USART。异步串行通信接口较为常见接口标准有RS-232接口,RS-422接口,RS-485接口等。其中RS-232接口是使用最早、应用最多一个异步串行通信总线标准。第第22页页串行通信接口RS-232接口,适合用于设备之间通信距离小于15m,传输速率最大为20KB/s应用场所。比如:CRT显示器、打印机与CPU通信,MCS-51单片机与PC机通信RS-422接口由
20、RS-232发展而来,为填补RS-232之不足而提出。为改进RS-232通信距离短、速率低缺点,RS-422定义了一个平衡通信接口,将传输速率提升到10Mb/s,传输距离延长到4000英尺(速率低于100kb/s时),并允许在一条平衡总线上连接最多10个接收器(单机发送、多机接收)RS-485接口在RS-422基础上制订了RS-485标准,增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上。RS-485/422最大通信距离约为1219M,最大传输速率为10Mb/S,传输速率与传输距离成反比,在100Kb/S传输速率下,才能够到达最大通信距离。第第23页页串行通信接口10、(、(A )
21、以下叙述哪一项是错误:)以下叙述哪一项是错误:A、RS-232是同时传输数据是同时传输数据 B、RS-232编码协议是传输距离短主要原因编码协议是传输距离短主要原因 C、RS-422、RS-485电路原理与电路原理与RS-232基本相同基本相同 D、RS-232广泛用于计算机接口广泛用于计算机接口13.(D )RS-232通信协议(接口)特点是:通信协议(接口)特点是:A、传输速率快,传输距离远、传输速率快,传输距离远 B、传输速率慢,传输距离远、传输速率慢,传输距离远 C、传输速率快,传输距离短、传输速率快,传输距离短 D、传输速率慢,传输距离短、传输速率慢,传输距离短第第24页页串行通信接
22、口13、(、(A )RS-485通信协议特点是:通信协议特点是:A、传输速率快,传输距离远、传输速率快,传输距离远 B、传输速率慢,传输距离远、传输速率慢,传输距离远 C、传输速率快,传输距离短、传输速率快,传输距离短 D、传输速率慢,传输距离短、传输速率慢,传输距离短16.(A )RS-232,RS-485接口是什么样接口:接口是什么样接口:A、均为标准串行接口、均为标准串行接口 B、均为标准并行接口、均为标准并行接口 C、前者为串行,后者为并行接口、前者为串行,后者为并行接口 D、前者为并行,后者为串行接口、前者为并行,后者为串行接口8、RS-232为为 串行接口,其主要优缺点为串行接口,
23、其主要优缺点为 传递速率不快传递速率不快、传送距离不够远传送距离不够远 。第第25页页串行通信接口(a)RS-232接口,1394接口属于何种接口:A 均为串行接口 B 均为并行接口C 前者为串行接口,后者为并行接口D 前者为并行接口,后者为串行接口第第26页页 计算机计算机由运算器、控制器、存放器和输入输出运算器、控制器、存放器和输入输出接口接口四个基本部分组成。PC机将运算器和控制器集成为一个超大规模集成电路芯片,称为CPU。将组成计算机四个基本部分集成在一块芯片上,将组成计算机四个基本部分集成在一块芯片上,并加入中止控制器、定时并加入中止控制器、定时/计数器、串行计数器、串行I/O接口等
24、接口等功效器件,就组成了功效器件,就组成了单片微型计算机,单片微型计算机,又称又称单片机单片机。近年来推出一些新型单片机还包含有许多特殊功效单元,如A/D、D/A、浮点运算单元、数字信号处理单元、现场总线控制器、USB接口、DMA等。MCS-51单片机第第27页页51单片机硬件 之内部结构MCS-51系列单片机可分为51子系列和52子系列,并以芯片型号最末位数字作为标志。其中51子系列是基本型,而52子系列属增强型。52子系列功效增强详细方面为:片内ROM从4KB增加到8KB;片内RAM从128B增加到256B;定时/计数器从2增加到3个;中止源从5个增加到6个;注意:注意:MCS-51,80
25、51,AT89C51之间区分与联络。MCS-51是泛称,指是采取51内核一类单片机,区分于ARM内核、X86内核等。8051是MCS-51系列中较简单一款单片机,片内含有4KB只读ROM.AT89C51是Atmel企业生产,与8051管脚完全兼容,片内含有4KB闪存存放器Flash。第第28页页51单片机硬件 之内部结构子系列片内ROM形式片内ROM片内RAM寻址范围 功 能部件数量无ROMEPROM计数器并行口串行口中止源51子系列8031805187514KB128B2*64KB2*164*81580C3180C5187C514KB128B2*64KB2*164*81552子系列80328
26、05287528KB256B2*64KB3*164*81680C3280C5287C528KB256B2*64KB3*164*816第第29页页P0.0P0.7P0驱动器P2驱动器P2.0P2.7P0锁存器P2锁存器暂存1RAMRAM地址存放器EPROMROMACC暂存2存放器BALUSP中止、串行口及定时器模块PSW定时及控制指令存放器程序地址存放器DPTRPCPC加1缓冲器P1锁存器P3锁存器P1驱动器P3驱动器P1.0P1.7P3.0P3.7振荡器VccVssPSENALEEARSTXTAL1 XTAL2图11 MCS51总体结构框图第第30页页51单片机硬件 之内部结构运算器运算器组成
27、:八位算术逻辑运算部件ALU累加器ACC、存放器B和程序状态标志存放器PSW。控制器控制器包含:定时控制逻辑,指令存放器,译码器,数据地址指针DPTR,程序计数器PC,堆栈指针SP,以及RAM地址存放器,16位地址缓冲器等。单片机复位后,程序计数器PC内容自动清0.CPU使用程序计数器PC确定当前指令字节地址;使用数据地址指针DPTR访问外部数据存放器。MCS-51堆栈指针SP是8位存放器,堆栈只能设在内部数据存放器空间。第第31页页状态标志存放器PSWPSW中保留运算状态。PSW是一个8位存放器。D7D6D5D4D3D2D1D0CYACF0RS1 RS0OV-P进(借)位标志CY:它表示了运
28、算是否有进位(或借位)。假如操作结果在最高位有进位(在加法时)或有借位(在减法时),则该位为1状态,否到清0。辅助进(借)位标志AC:低半字节进(借)位标志。即低4位相加(或减)有否进位(或借位)如有,则AC为1状态,不然AC清0。第第32页页 AC使用:紧凑型BCD加法。一字节两位BCD码进行加法运算时,若AC=0,且低4位数值小于等于9,不须作调整;当低4位数值大于9时,必须加上6,产生应有进位;若AC=1,必须在低4位上加上6.溢出标志位溢出标志位 OV:反应运算结果是否溢出,溢出时 OV为1状态,不然为0。溢出和进位标志CY是两种不一样性质标志。溢出是指在两个有符号正数相加时,得到负结
29、果,或两个有符号负数相加时,得到正结果。而进位位是指两个无符号数作加减运算时有否进位(或借位)。用此两个标志位时应注意场所。奇偶标志奇偶标志 P:反应累加器ACC内容奇偶性。由A累加器中运算结果1个数为偶数还是奇数来决定。此标志在数据通信中有用。第第33页页 用户标志用户标志F0:用户编程时能够自定义标志。存放器区选择存放器区选择RS0、RS1:8051工作存放器组选择控制位。它们与8051内部数据存放器相关.布布尔尔处处理理机机:是MCS-51单片机CPU中运算器一个主要组成部分。有对应指令系统,可提供17条位操作指令,硬件有自己“累加器”(进位位CY和自己位寻址RAM和IO空间,所以是一个
30、独立位处理机。和八位操作指令相同,大大部部分分位位操操作作均均围围绕绕着着位位累累加加器器进进位位位位C完完成成。位操作指令允许直接寻址内部数据RAM里128个位和特殊功效存放器里位地址空间。第第34页页MCS-51存放器结构如图:外 部(EA=0)0000外 部内 部(EA=1)0FFF0FFF0000FFFFF1000专用存放器内部RAMFF807F00FFFFF0000程序存放器内部数据存放器外部数据存放器 图13 MCS51存放器配置图第第35页页程序存放器空间MCS-51程序存放器空间在物理结构上分为两个区域:片内程序存放器区和片外程序存放器区。但在逻辑结构上,只有一个程序存放器区;
31、片内、片外程序存放器统一编址,都使用程序计数器PC进行寻址。程序存放器地址从0000HFFFFH,共64k。89C51内部ROM有4k,地址为0000H 0FFFH;外部程序存放器地址能够从1000H开始,也能够从0000H开始。若从0000H开始编址,内部程序存放器与外部程序存放器有部分单元重合,对这部分重合存放单元选择,依赖于单片机一根引脚(EA)定义。51单片机硬件 之内部结构第第36页页当EA引脚接Vcc时,89C51PC值小于0FFFH时,CPU从内部ROM中取指令,当PC值大于4k-1时,CPU自动转到外部ROM单元取指。外部程序存放器地址值低于4k单元等于不存在。当EA引脚接GN
32、D时,单片机CPU直接到外部程序存放器取指,89C51内部程序存放器被屏蔽掉。外部程序存放器地址必须从0000H开始编址。51单片机硬件 之内部结构第第37页页第第38页页外部数据存放器空间MCS-51内部数据存放器与外部数据存放器空间在物理和逻辑结构上都是独立。MCS-51用存放器DPTR管理外部数据存放器空间。MCS-51使用不一样指令操作内部和外部数据存放器。外部数据存放器地址有16位,其最大容量为64k字节。系统扩展和功效扩展时,除了程序存放器扩展外,其它扩展都使用外部数据存放器空间。即,当扩展了其它功效芯片时,就不能扩展64k字节数据存放器了。外部数据存放器使用随机读写半导体存放器(
33、RAM)。51单片机硬件 之内部结构第第39页页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)是微处理器行业一家著名企业,设计了大量高性能、廉价、耗能低RISC处
34、理器、相关技术及软件。第第40页页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)组通用存放器。第第41页页51单片机硬件 之内部结构84.8031
35、单片机堆栈区最大可用范围是内部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。第第42页页51单片机引脚及功效8051系列单片机是40引脚双列直插封装芯片。12345678910111213141516171819204039383736353433323130292827262524232221P1.0P1.1P1.2P
36、1.3P1.4P1.5P1.6P1.7RESETP3.0/RxDP3.1/TxDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RDXTAL2XTAL1GNDVccP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7EAALEPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0图 8031,8051,8751芯片管脚图第第43页页I/O引脚引脚P0、P1、P2和P3四组I/O口引线。控制信号控制信号ALE:地址锁存允许。以时钟振荡频率16固定频率激发ALE。所以它能够用于外部时钟和定时(然而,在每一次存取片外数据存贮器时,
37、会丢失一个ALE脉冲)。PSEN:程序存贮器输出允许。从内部程序存贮器读取指令时,不激发 PSEN。EA:片内、片外程序存器选择。对8051、8751,EA接Vcc时,低4k程序取自片内ROM;EA接GND时,低4k程序取自片外ROM。对8031,EA必须接GND。51单片机引脚及功效第第44页页XTAL1:作为振荡器倒相放大器输入。使用外振荡器时,须接地电位。XTAL2:作为振荡器倒相放大器输出和内部时钟发生器输入。当使用外振荡器时,接收外振荡器信号。RST:复位输入。当振荡器工作时,在此端线连续给出两个机器周期高电平能够完成复位。复位后,程序计数器PC值成为0,堆栈指针SP成为7,P0、P
38、1、P2和P3均为FFH,其它大多数特殊功效存放器值都成为0。电源线:Vcc和GND。51单片机引脚及功效第第45页页关于复位电路复位信号是系统内部初始化所需,当系统加电开始工作时,或工作过程中出现故障无法正常工作时,都需要复位信号使系统能重新开始工作。所以,系统需要上电复位、手动复位和遇故障自动复位电路。上电复位电路上电加手动复位电路第第46页页51单片机引脚及功效7MCS-51系列单片机是以下位数单片机(C )。A.16位B.12位C.8位D.10位88951 DIP封装单片机芯片引脚为(A)。A.40引脚B.48引脚C.36引脚D.32引脚第第47页页51单片机引脚及功效19.(B )8
39、051单片机复位信号是:A、低电平有效 B、高电平有效 C、下降沿有效 D、上升沿有效第第48页页51单片机引脚及功效1.已知某处理器或单片机复位电路如图1示,请回答:什么叫复位?微处理机或单片机为何要复位?图中电路是高电平复位还是低电平复位?复位时间大致是多少?它由什么元件决定?答:复位是微处理器或单片机初始化操作;复位目标使CPU其它功效部件都处于一个确定初始状态,并从此状态开始工作。低电平复位 复位时间电路中RC值决定:电路中RC=101030.2210-6=0.0022S=2.2ms 第第49页页51单片机硬件 之I/O口MCS-51系列单片机有四组8位并行I/O口,记作P0、P1、P
40、2和P3。每组I/O口内部都有8位数据输入缓冲器、8位数据输出锁存器及数据输出驱动等电路,有时称为端口。MCS-51输入输出端口关键是输出锁存器,并以P0、P1、P2和P3名称看成特殊功效存放器。四组并行I/O端口即能够按字节操作,又能够按位操作,是布尔处理器位I/O空间。当系统没有扩展外部器件时,I/O端口用作双向输入输出口;当系统作外部扩展时,使用P0、P2口作系统地址和数据总线、P3口部分口线作控制总线 同时,P3口其它口线都有第二功效,与MCS-51内部功效器件配合使用。89C51系列单片机P1口是唯一单一功效准双向口,第第50页页51单片机硬件 之I/O口13()89C51单机片P2
41、、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芯片进行扩展。19.(D)IC总线有几根传输线?A 16 B 8 C 4 D 2第第51页页51单片机硬件 之I/O口9、(D )常见8251、8253、8255A集成芯片为:A、8251、8253为串行接口芯片,8255A为并行接口芯片 B、8251、
42、8253为并行接口芯片,8255A为定时/计数芯片 C、8251、8255A为串行接口芯片,8253为定时/计数芯片 D、8251为串行接口芯片,8253为定时/计数芯片,8255A 为并行接口芯片分析:8251A:可编程串行通信接口芯片;8253为可编程计数器/定时器;8255A为可编程并行I/O接口芯片。第第52页页51单片机硬件 之I/O口4.已知51单片机P1接口电路结构如图示,请回答:图中锁存器作何用?图中A、B是何器件?作何用?在读取外部数据时,CPU怎样操作?场效应管怎样工作?第第53页页51单片机硬件 之I/O口答:锁存器作用:本端口作输出时,将数据锁存于此,即在重新输出新数据
43、之前,接口上数据一直保留于此,以处理CPU速度快,外设速度慢矛盾。A、B为三态缓冲器,以控制是读锁存器还是读引脚。接口用作输入时,信号是不锁存,CPU先向本端口写入“1”,使场效应管截止(封闭),从而将引脚信号经三态缓冲器送达内部总线。第第54页页单片机内部振荡器或使用外部振荡器产生震荡信号用fosc表示,称为振荡频率。是CPU时序基础。fosc时序定时单位从小到大依次为:相位、状态、机器周期、指令周期。51单片机硬件 之CPU时序第第55页页相位振荡频率fosc一个周期称为一个相位,用P表示。状态由两个相位组成一个状态S,前一个相位记为P1,后一个相位记为P2。机器周期机器周期一个机器周期包
44、含6个状态,依次表示为S1S6。所以一个机器周期包含12个振荡周期。当fosc为12MHz时,一个机器周期为1s,当fosc为6MHz时,一个机器周期为2 s。指令周期执行一条指令需要时间。MCS-51指令周期分别是指令周期分别是一、二、四个机器周期一、二、四个机器周期。51单片机硬件 之CPU时序第第56页页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,机器
45、周期为T2,指令周期为T3,它们大小关系为:A、T1 T2 T3 B、T1 T3 T2 C、T1 T2 T3 D、T1 T3 T2第第57页页51单片机硬件3.请找出图2所表示单片机外围电路设计中错误,并加以更正。(6分)图2 单片机外围电路第第58页页51单片机硬件答:(1)复位电路电源与地交换,同时变换电解电容极性(2分)(2)晶振与地间两侧串入电容(2分)(3)第31脚(EA)接高电平(2分)(4)第39脚(P0.0)加入上拉电阻(1k左右)(2分)第第59页页51单片机软件 之汇编汇编语言指令有以下格式:标号:标号:操作码助记符操作码助记符 目标操作数目标操作数,源操作数,源操作数 ;
46、注释;注释寻址方式 马上寻址马上寻址 MOVA,#30H指令中30H就是马上数。存放器寻址存放器寻址 MOVA,R0指令中源操作数和目标操作数都 是存放器寻址。存放器间接寻址存放器间接寻址 MOV A,R1指令源操作数是存放器间接 寻址。直接寻址直接寻址 MOV A,40H指令中源操作数就是直接寻址,40H为操作数地址。变址寻址变址寻址 MOV A,A+DPTR;MOV A,A+PC;使用时通惯用DPTR存放数组首址,A中存放数组元素 偏移量(无符号数),二者和作为实际操作数地址 第第60页页51单片机软件 之汇编 DPTR称为基址存放器,能用作基址存放器还有程序计数器PC。相对寻址相对寻址
47、主要用于跳转指令,以程序计数器PC作为基址存放器,指令中给出偏移量rel(有符号数),PC当前内容(源地址)与rel之和给出了操作数新地址。SJMP rel位寻址位寻址 对内部RAM可位寻址空间及特殊功效存放器中可寻址位采取位寻址方式伪指令伪指令伪指令伪指令:又称指示性指令,含有和指令类似形式,但汇编又称指示性指令,含有和指令类似形式,但汇编又称指示性指令,含有和指令类似形式,但汇编又称指示性指令,含有和指令类似形式,但汇编时伪指令时伪指令时伪指令时伪指令并不产生可执行目标代码并不产生可执行目标代码并不产生可执行目标代码并不产生可执行目标代码,只是对汇编过程,只是对汇编过程,只是对汇编过程,只
48、是对汇编过程进行某种进行某种进行某种进行某种控制控制控制控制或提供一些或提供一些或提供一些或提供一些指示指示指示指示信息。信息。信息。信息。第第61页页51单片机软件 之汇编12.(B )汇编指令:MOV A,#OF0H;寻址方式为:A、直接寻址 B、马上寻址C、存放器寻址 D、存放器间接寻址12、(C )汇编指令:MOV A,R1;寻址方式为:A、直接寻址 B、马上寻址 C、存放器寻址 D、存放器间接寻址16、(T)单片机伪指令只对汇编程序提供必要控制信息,但不产生任何指令代码。第第62页页51单片机软件 之C语言数据类型长度(bit)长度(byte)值域bit110,1unsigned c
49、har810255signed char81128127unsigned int 162065535signed int 1623276832767unsigned long32404294967295signed long 32421474836482147483647float 3241.176E383.40E+38(6位数字)double6481.176E383.40E+38(10位数字)普通指针243存放空间065535表表1 Franklin C51数据类型数据类型第第63页页51单片机软件 之C语言 在编程时,假如只强调运算速度而不进行负数运算时,最好采取无符号(unsigned)
50、格式。无符号字符类型使用:不论何时,应尽可能使用无符号字不论何时,应尽可能使用无符号字符变量,因为它能直接被符变量,因为它能直接被MCS-51所接收。所接收。使用简化形式定义数据类型使用简化形式定义数据类型。其方法是在源程序开头使用#define语句自定义简化类型标识符。比如比如:#define uchar unsigned char#define uint unsigned int 这么,在编程中,就能够用uchar代替unsigned char,用uint代替unsigned int来定义变量。MCS-51单片机中,除了程序计数器除了程序计数器PC和和4组工作存放器组外,组工作存放器组外,