单片微型计算机原理与接口技术髙锋版课后答案全集.docx
- 文档编号:23610646
- 上传时间:2023-05-19
- 格式:DOCX
- 页数:76
- 大小:144.37KB
单片微型计算机原理与接口技术髙锋版课后答案全集.docx
《单片微型计算机原理与接口技术髙锋版课后答案全集.docx》由会员分享,可在线阅读,更多相关《单片微型计算机原理与接口技术髙锋版课后答案全集.docx(76页珍藏版)》请在冰豆网上搜索。
单片微型计算机原理与接口技术髙锋版课后答案全集
单片微型计算机原理与接口技术_髙锋版
课后答案
第一章略
第二章【单片机的基本结构】
思考与练习题解析
【2-1】8()C51单片机在片内集成了哪些主要逻辑功能部件?
各个逻辑部件的最主要功能是什么?
【答】80C51单片机在片内主要包含中央处理器CPU(算术逻辑单元ALU及控制器等)、只读存储器ROM、读/写存储器RAM、定时器/计数器、并行I/O口Po~P3、串行口、中断系统以及定时控制逻辑电路等,各部分通过内部总线相连。
1.中央处理器(CPU)
单片机中的中央处理器和通用微处理器基本相同,是单片机的最核心部分,主要完成运算和控制功能,又增设了“面向控制”的处理功能,增强了实时性。
80C51的CPU是一个字长为8位的中央处理单元。
2.内部程序存储器
根据内部是否带有程序存储器而形成三种型号:
内部没有程序存储器的称为80C31;内部带ROM的称为80c51,80c51共有4KB掩膜ROM;内部以EPROM代替RoM的称为87C51。
程序存储器用于存放程序和表格、原始数据等。
3.内部数据存储器(RAM)
在单片机中,用读/写存储器(RAM)来存储程序在运行期间的工作变量和数据。
80C51中共有256个RAM单元。
4.I/O口
单片机提供了功能强、使用灵活的I/O引脚,用于检测与控制。
有些I/O引脚还具有多种功能,比如可以作为数据总线的数据线、地址总线的地址线或控制总线的控制线等。
有的单片机I/0引脚的驱动能力增大。
5.串行I/O口
目前高档8位单片机均设置了全双工串行I/0口,用以实现与某些终端设备进行串行通信,或与一些特殊功能的器件相连的能力,甚至用多个单片机相连构成多机系统。
有些型号的单片机内部还包含两个串行I/O口。
6·定时器/计数器
80c51单片机内部共有两个16位定时器/计数器,80C52则有3个16位定时器/计数器。
定时器/计数器可以编程实现定时和计数功能。
7.中断系统
80C51单片机的中断功能较强,具有内、外共5个中断源,具有两个中断优先级。
8.定时电路及元件
单片机内部设有定时电路,只需外接振荡元件。
近年来有些单片机将振荡元件也集成到
芯片内部。
单片机整个工作是在时钟信号的驱动下,按照严格的时序有规律地一个节拍一个
节拍地执行各种操作。
【2-2】80C51单片机引脚有哪些第二功能?
【答】80C51单片机的P0、P2和P3引脚都具有第二功能。
第一功能第二变异功能
P0.0~P0.7地址总线Ao~A7/数据总线D0~D7
P2.0~P2.7地址总线A8~A15
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2INT0外部中断0)
P3.3IINT1(外部中断1)
P3.4TO(定时器/计数器0的外部输入)
P3.5T1(定时器/计数器0的外部输出)
P3.6WR(外部数据存储器或I/O的写选通)
P3.7RD外部数据存储器或I/O的读选通)
【2-3】程序计数器PC和数据指针DPTR有哪些异同?
【答】程序计数器PC中存放的是下一条将要从程序存储器中取出的指令的地址。
DPTR是数据指针,在访问外部数据存储器或I/O时,作为地址使用;在访问程序存储器时,作为基址寄存器。
①PC和DPTR都是与地址有关的16位寄存器。
其中PC与程序存储器的地址有关,而DPTR与数据存储器或I/O的端口地址有关。
作为地址寄存器使用时,PC与DPTR都是通过P0和P2口输出的。
PC的输出与ALE及PSEN信号有关,DPTR的输出则与ALE、WR和RD信号有关。
②PC只能作为16位寄存器。
PC是不可访问的,它不属于特殊功能寄存器,有自己独特的变化方式。
DPTR可以作为16位寄存器,也可以作为两个8位寄存器DPL和DPH。
DPTR是可以访问的,DPL和DPH都位于特殊功能寄存器区中。
【2—4】80C51单片机的存储器在结构上有何特点?
在物理上和逻辑上各有哪几种地址空间?
访问片内RAM和片外RAM的指令格式有何区别?
【答】80C5l单片机采用哈佛(Har—yard)结构,即将程序存储器和数据存储器截然分开,分别进行寻址。
不仅在片内驻留一定容量的程序存储器和数据存储器及众多的特殊功能寄存器,而且还具有较强的外部存储器扩展能力,扩展的程序存储器和数据存储器寻址范围都可达64KB。
1.在物理上设有4个存储器空间
·片内程序存储器;
·片外程序存储器;
·片内数据存储器;.
·片外数据存储器。
2.在逻辑上设有3个存储器地址空间
●片内、片外统一的64KB程序存储器地址空间。
●片内256字节(80C52为384字节)数据存储器地址空间。
片内数据存储器空间在物理上又包含两部分:
●对于80C51型单片机,0~127字节为片内数据存储器空间;128~255字节为特殊功能寄存器(SFR)空间(实际仅占用了20多个字节)。
●对于80C52型单片机,O~127字节为片内数据存储器空间;128~255字节共128个字节是数据存储器和特殊功能寄存器地址重叠空间。
片外64KB的数据存储器地址空间。
在访问3个不同的逻辑空间时,应采用不同形式的指令,以产生不同存储空间的选通信号。
访问片内RAM采用MOV指令,访问片外RAM则一定要采用MOVX指令,因为MOVX指令会产生控制信号RD或WR,用来访问片外RAM。
访问程序存储器地址空间,则应采用MOVC指令。
【2—5】80C51单片机的EA信号有什么功能?
在使用80C51时,EA信号引脚应如何处理?
在使用80C31时,EA信号引脚应如何处理?
【答】80C51单片机的EA信号被称为“片外程序存储器访问允许信号”。
CPU访问片内还是片外程序存储器,可由EA引脚所接的电平来确定:
●EA引脚接高电平时,程序从片内程序存储器地址为0000H开始执行,即访问片内存储器;当PC值超出片内ROM容量时,程序会自动转向片外程序存储器空间执行。
片内和片外的程序存储器地址空间是连续的。
●EA引脚接低电平时,迫使系统全部执行片外程序存储器0000H开始存放的程序。
对于有片内ROM的80C51/87C51单片机,应将EA引脚接高电平。
在使用80C31单片机时,EA信号引脚应接低电平,即此时程序存储器全部为外部扩展。
【2—6】80C51单片机片内RAM低128个存储单元划分为哪3个主要部分?
各部分主要功能是什么?
【答】80C51片内RAM的低128个存储单元划分为3个主要部分:
·寄存器区。
共4组寄存器,每组8个存储单元,各组以R0~R7作为单元编号。
常用于保存操作数及中间结果等。
:
R0~R7也称为“通用工作寄存器”,占用00H~1FH共32个单元地址。
·位寻址区。
单元地址为20H~2FH,既可作为一般RAM单元使用,按字节进行操作,也可对单元中的每一位进行位操作。
因此,称为“位寻址区”。
寻址区共有16个RAM单元,共计128位,位地址为OOH~7FH。
·用户RAM区。
在内部RAM低128单元中,除去前面两个区,剩下80个单元,单元地址为30H~7FH。
在用户RAM区内可以设置堆栈区。
【2—7】程序存储器的哪些单元被保留用于特定场合?
【答】80C51单片机复位后,程序计数器PC的地址为0000H,所以系统从0000H单元开始取指,并执行程序。
0000H是系统的启动地址,一般在该单元设置一条绝对转移指令,使之转向用户主程序处执行。
0003H~002DH单元被保留用于6个中断源的中断服务程序的入口地址,故有以下7个特定地址被保留:
复位0000H
外部中断O0003H
计时器TO溢出000BH
外部中断10013H
计时器T1溢出001BH
串行口中断0023H
计时器T2/T2EX002BH(仅对80C52单片机)
由于每个中断入口之间的间隔仅为8个地址单元,所以在程序设计时,通常在这些中断入口处设置一条无条件转移指令,使之转向对应的中断服务子程序处执行。
【2—8】80C51单片机设有4个通用工作寄存器组,有什么特点?
如何选用?
如何实现工作寄存器的现场保护?
【答】片内数据RAM区的O~31(OOH~1FH),共32个单元,是4个通用工作寄存器组,每个组包含8个8位寄存器,编号为R0~R7,工作寄存器组如表2-l所列。
在某一时刻,只能选用一个寄存器组。
可以通过软件对程序状态字PSW中:
RS0、RSl两
位的设置来实现。
设置RS0,RSl时,可以对PSW采用字节寻址方式,也可以采用位寻址方
式,间接或直接修改RS0、RSl的内容。
例如,若.RS0、RSl均为1,则选用工作寄存器3组为当前工作寄存器。
若需要选用工作寄存器2组,则只需将RS0改成0.可用位寻址方式(即“CLRPSW.3”;其中:
PSW.3为RS0位的符号地址)来实现。
特别是在中断嵌套时,只要通过软件对程序状态字PSW中的RS0、RSl两位进行设置,切换工作寄存器组,就可以极其方便地实现对工作寄存器的现场保护。
【2—9】什么是堆栈?
堆栈有哪些功能?
设计时,为什么还要对SP重新赋值?
表2—1工作寄存器组
┏━━━━┳━━━┳━━━━┳━━━━━━━━━━┓
┃RSI┃RS0┃组号┃寄存器RO~R7地址┃
┣━━━━╋━━━╋━━━━╋━━━━━━━━━━┫
┃O┃0┃O组┃00H~07H┃
┣━━━━╋━━━╋━━━━╋━━━━━━━━━━┫
┃O┃1┃l组┃08H~OFH┃
┣━━━━╋━━━╋━━━━╋━━━━━━━━━━┫
┃1┃O┃2组┃:
10H~17H┃
┣━━━━╋━━━╋━━━━╋━━━━━━━━━━┫
┃1┃l┃3组┃18H~1FH┃
┗━━━━┻━━━┻━━━━┻━━━━━━━━━━┛
堆栈指针SP的作用是什么?
在程序
【答】堆栈是在片内数据RAM区中,数据按照“先进后出”或“后进先出”原则进行管理的区域。
堆栈功能有两个:
保护断点和保护数据。
在子程序调用和中断操作时这两个功能特别有用。
在80C51单片机中,堆栈在子程序调用和中断时会把断点地址自动进栈和出栈。
进栈和出栈的指令(PUSH、POP)操作可用于保护现场和恢复现场。
由于子程序调用和中断都允许嵌套,并可以多级嵌套,而现场的保护也往往使用堆栈,所以一定要注意给堆栈以一定的深度,以免造成堆栈内容的破坏而引起程序执行的“跑飞”。
堆栈指针SP在80C51中存放当前的堆栈栈顶所指存储单元地址的一个8位寄存器。
80C51单片机的堆栈是向上生成的,即进栈时SP的内容是增加的;出栈时SP的内容是减少的。
系统复位后。
80C51的SP内容为07H。
若不重新定义,则以07H为栈底,压栈的内容从08H单元开始存放。
但工作寄存器R0~R7有4组,占有内部RAM地址为00H~1FH,位寻址区占有内部RAM地址为20H~2FH。
若程序中使用了工作寄存器1~3组或位寻址区,则必须通过软件对SP的内容重新定义,使堆栈区设定在片内数据RAM区中的某一区域内(如30H),堆栈深度不能超过片内RAM空间。
【2-10】80C51单片机的特殊功能寄存器SFR区有哪些特点?
【答】特殊功能寄存器SFR区是80C51单片机中各功能部件所对应的寄存器区,用来存放相应功能部件的控制命令寄存器、状态寄存器或数据寄存器的区域。
这是80C51系列单片机中最有特色的部分。
.
80C51系列单片机设有128字节片内数据RAM结构的特殊功能寄存器区。
除程序计数器PC和4个通用工作寄存器组外,其余所有的寄存器都在这个地址空间之内。
特殊功能寄存器在128字节空间中只分布了很小部分,这为80C51单片机系列功能的增加提供了极大的可能性。
所有80C51单片机系列功能部件的增加和扩展几乎都是通过增加特殊功能寄存器来达到的。
在80C51的21个特殊功能寄存器中,字节地址中低位地址为0H或8H的特殊功能寄存器,除有字节寻址能力外,还有位寻址能力。
其中对于PO~P1口4个特殊功能寄存器的位寻址使I/O的控制功能得到了增强。
【2-11】80C51单片机的布尔处理机包括哪些部分?
它们具有哪些功能?
共有多少个单元可以位寻址?
【答】在80C51单片机系统中,专门设置了一个结构完整、功能极强的布尔(位)处理机。
这是一个完整的一位微计算机,它具有自己的CPU、寄存器、I/0、存储器和指令集。
80C51单片机把8位机和布尔(位)处理机的硬件资源复合在一起,这是80C51系列单片机的突出优点之一,给实际应用带来了极大的方便。
布尔处理机系统包括以下几个功能部件。
·位累加器:
借用进位标志位CY。
在布尔运算中,cY既是数据源之一,又是运算结果的存放处和位数据传送的中心。
根据CY的状态实现程序条件转移:
JCrel、JNCreI
·位寻址的RAM:
内部RAM位寻址区中的0~127位(20H~2FH)。
·位寻址的寄存器:
特殊功能寄存器SF、R中的可位寻址的位。
·位寻址的I/O口:
并行I/O口中可位寻址的位(如P1.0)。
·位操作指令系统:
位操作指令可实现对位的置位、清零、取反、位状态判跳、传送、位逻辑运算、位输入/输出等操作。
布尔处理机的程序存储器和ALU与字节处理器合用。
利用内部并行I/O口的位操作,提高了测控速度,增强了实时性。
利用位逻辑操作功能把逻辑表达式直接变换成软件进行设计和运算,免去了过多的数据往返传送、字节屏蔽和测试分支,大大简化了编程,增强了实时性能。
还可实现复杂的组合逻辑处理功能。
因此,一位机在开关决策、逻辑电路仿真和实时控制方面非常有效。
可以位寻址的单元包括两部分:
一是内部RAM位寻址区中的0~127位(20H~2FH);二是SFR中字节地址的低位地址为0H或8H的特殊功能寄存器。
【2一12】80C5l单片机的节拍、状态、机器周期、指令周期是如何设置的?
当主频为12MHz时,各种周期等于多少微秒?
【答】把单片机振荡脉冲的周期定义为节拍。
节拍经过二分频后,就是单片机的时钟信号。
时钟信号周期定义为状态S,其前半周期对应的节拍叫P1,后半周期对应的节拍叫P2。
一个机器周期宽度为6个状态,并依次表示为S1~S6。
由于一个机器周期共有12个振荡脉冲周期,因此,机器周期就是振荡频率的1/12。
机器周期是80C51单片机的最小时间单位。
执行一条指令的时间被称为“指令周期”,80C51单片机执行一条指令的时间包含有1个、2个或4个机器周期。
当主频为12MHz时,振荡脉冲的周期为1/12μs,状态周期为1/6μs,机器周期为1μs,指令周期为1~4μs
【2一13】程序存储器指令地址、堆栈地址和外接数据存储器地址各使用什么指针?
为什么?
【答】程序存储器指令地址使用程序计数器PC指针,PC中存放的是下一条将要从程序存储器中取出的指令的地址。
程序计数器PC变化的轨迹决定程序的流程。
PC最基本的工作方式是自动加1。
在执行条件转移或无条件转移指令时,将转移的目的地址送入程序计数器,程序流向发生变化。
在执行调用指令或响应中断时,将子程序的入口地址或者中断矢量地址送人PC,程序流向发生变化。
堆栈地址使用堆栈指针.SP。
SP在80C51中存放当前的堆栈栈顶所指存储单元地址,是一个8位寄存器,对数据按照“先进后出”原则进行管理。
外接数据存储器地址使用数据指针DPTR。
DPTR是一个16位特殊功能寄存器,主要功能是作为片外数据存储器或I/0寻址用的地址寄存器,这时会产生RD或wR控制信号,用于单片机对外扩的数据存储器或I/0的控制。
数据指针DPTR也可以作为访问程序存储器时的基址寄存器,此时是寻址程序存储器中的表格、常数等单元,而不是寻址指令。
【2-14】请说明80C51单片机ALE引脚的时序功能,并举例说明其在系统中有哪些应用?
【答】80C51单片机ALE引脚是地址锁存允许信号。
在系统中主要有两种应用:
①在访问片外存储器或I/O时,用于锁存低8位地址,以实现低8位地址A0~A7与数据DO~D7的隔离。
在ALE的下降沿将P0口输出的地址A0~A7通过锁存器锁存,然后在PO口上出现DO~D7。
②由于ALE以1/6振荡频率的固定速率输出,因此,可以作为对外输出的时钟或外部定时脉冲,比如ALE信号可以做ADC0809的时钟。
【2—15】说明80C51单片机的程序状态字PSW的主要功能。
【答】程序状态字PSW(ProgramStatusWord)是一个程序可访问的8位寄存器,其内容的主要部分是算术逻辑运算单元ALU的输出,例如,奇偶校验位P、溢出标志位OV、辅助进位标志位AC及进位标志位CY,都是ALU运算结果的直接输出。
一些条件转移指令就是根据PSW中的相关标志位的状态来实现程序的条件转移。
程序状态字PSW如图2-1所示。
CYACFORsllRS0OV—Pl
图2—1程序状态字PSW
1.P——奇偶标志位
该位表示累加器A中值为1的个数的奇偶性。
若累加器A中值为1的个数是奇数,则P置位(奇校验);否则,P清除(偶校验)。
在串行通信中,常以传送奇偶校验位来检验传输数据的可靠性。
通常将P置入串行帧中的奇偶校验位。
2.OV——溢出标志位
当执行运算指令时,由硬件置位或清除,以指示运算是否产生溢出。
OV置位表示运算结果超出了目的寄存器A所能表示的带符号数的范围(一128~+127)。
若以Ci表示位i向位i+1有进位,则0V=C6①C7。
当位6向位7有进位(或借位),而位7不向cY进位(或借位);或当位7向c进位(或借位),而位6不向位7进位(或借位)时,OV标志置位,表示带符号数运算时运算结果是错误的;否则,清除0V标志,运算结果正确。
对于MUL乘法,当A、B两个乘数的积超过255时,OV置位;否则,OV=0。
对于DIV除法,若除数为0,OV=l;否则,OV=O。
3.RSl、RS0——4组工作寄存器组选择位
用于设定当前工作寄存器的组号,参见表2—1。
4.AC——辅助进位标志位
当进行加法或减法运算时,若低4位向高4位数发生进位(或借位),.AC将被硬件置位;否则,被清除。
在十进制调整指令DA中要用到AC标志位状态。
5.CY——进位标志位
在进行算术运算时,可以被硬件置位或清除,以表示运算结果中高位是否有进位(或借位)。
在布尔处理器中,CY被认为是位累加器。
6.F0——用户标志位
开机时该位为0。
用户可根据需要,通过位操作指令将FO置1或者清0。
当CPU执行对F0位测试条件转移指令时,根据FO的状态实现分支转移,相当于“软开关”。
【2—16】80C51单片机的片内外最大存储容量可达多大?
’
【答】80C51单片机存储容量应包括程序存储器和数据存储器两部分。
80C51具有16条地址线,PC指针为16位,因此,程序存储器最大容量为64KB。
数据指针DPTR为16位,因此,外扩数据存储器最大容量为64KB,再加上片内具有的256个存储单元,80C51单片机的
片内外最大存储容量可达128.256KB。
采用其他地址译码方法,80C51单片机存储容量会得到更大的扩展。
【2-17】80C51单片机片外数据存储器与片内数据存储器地址允许重复,并与程序存储器地址也允许重复,如何区分?
【答】80C5l单片机对片外数据存储器、片内数据存储器及程序存储器采用不同的指令,会产生不同的控制信号。
片外数据存储器有读RD和写WR控制信号,程序存储器有读PSEN控制信号,因此,扩展时虽然数据线和地址线重复,但由不同的控制信号加以区别。
片内数据存储器地址采用MOVC指令,不会产生读RD和写WR控制信号。
【2-18】使80C51单片机复位有哪几种方法?
复位后单片机的初始状态,即各寄存器及RAM中的状态如何?
【答】复位操作有上电自动复位、按键电平复位和外部脉冲复位3种方式。
上电自动复位是通过外部复位电路的电容充电来实现的;按键电平复位是通过按压键使复位端经电阻与VCC接通而实现的;外部脉冲复位是由外部提供一个宽度大于两个机器周期复位脉冲而实现的。
复位操作把Pc初始化为0000H,使单片机从0000H单元开始执行程序。
当由于程序运行出错或操作错误使系统处于死锁状态时,可以按复位键以重新启动,也可以通过监视定时器来强迫复位。
除PC之外,复位操作还对其他一些特殊功能寄存器有影响,SFR的复位状态如表2-2所列。
复位操作还对单片机的个别引脚信号有影响。
例如在复位期间,ALE和PSEN信号变为无效状态,即ALE=1,PSEN=1。
复位操作对RAM内容没有影响。
表2-2SFR的复位状态
┏━━━━━━┳━━━━━━━━┳━━━━━┳━━━━━━━━┓
┃寄存器┃复位时的内容┃寄存器┃复位时的内容┃
┣━━━━━━╋━━━━━━━━╋━━━━━╋━━━━━━━━┫
┃PC┃00H┃TCON┃0X000000B┃
┣━━━━━━╋━━━━━━━━╋━━━━━╋━━━━━━━━┫
┃ACC┃00H┃TLO┃OOH┃
┣━━━━━━╋━━━━━━━━╋━━━━━╋━━━━━━━━┫
┃B┃00H┃THO┃OOH┃
┣━━━━━━╋━━━━━━━━╋━━━━━╋━━━━━━━━┫
┃PSW┃00H┃TLl┃00H┃
┣━━━━━━╋━━━━━━━━╋━━━━━╋━━━━━━━━┫
┃SP┃07H┃THl┃00H┃
┣━━━━━━╋━━━━━━━━╋━━━━━╋━━━━━━━━┫
┃DPTR┃00H┃SCON┃00H┃
┣━━━━━━╋━━━━━━━━╋━━━━━╋━━━━━━━━┫
┃PO~P3┃FFH┃SBUF┃不定┃
┣━━━━━━╋━━━━━━━━╋━━━━━╋━━━━━━━━┫
┃TMOD┃XX000000B┃PCON┃0XXX0000B┃
┗━━━━━━┻━━━━━━━━┻━━━━━┻━━━━━━━━┛
【2一19】80C51单片机的4个I/O口在使用上有哪些分工和特点?
【答】4个I/O口的分工和特点如下:
1P0口是一个多功能的8位口,可按字节访问也可按位访问。
●用作I/0口。
相当于一个真正的双向口:
输出锁存,输入缓冲,但输入时须先将口置l;每根口线可以独立定义为输入或输出。
●用作地址/数据复用总线。
作数据总线使用时,输入/输出8位数据D0~D7;作地址总线用时,输出低8位地址AO~A7。
②P1口是一个8位口,可按字节访问也可按位访问,因此,P1口不仅可以8位一组进行输入、输出操作,还可以逐位分别定义各口线为输入线或输出线。
输入时有条件,即需要先输出1,将该口设为输入状态。
一般作I/o口用。
③P2口是一个多功能的8位口,可按字节访问也可按位访问。
在单片机采用并行扩展方式时,P2口作为地址总线的高8位D8~D15。
④P3口是一个多功能的8位口,可按字节访问,也按可位访问。
可作为I/0口使用,为准双向口。
既可以字节操作,也可以位操作;既可以8位口操作,也可以逐位定义口线为输入线或输出线。
P3可替代输入、输出功能。
替代输入功能:
P3.0一一RXD,串行输入口。
P3.2一一IN'I、0,外部中断O的请求。
P3.3一一INTl,外部中断1的请求。
P3.4一TO,定时器/计数器O外部计数脉冲输入。
P3.5一一T1,定时器/计数器1外部计数脉冲输入。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片 微型计算机 原理 接口 技术 髙锋版 课后 答案 全集