第2章单片机指令篇

合集下载

第2章 AT89S51单片机原理与基本应用系统

第2章  AT89S51单片机原理与基本应用系统

单片机实用教程第2章AT89S51单片机原理与基本应用系统本章主要内容1、单片机的内部结构与引脚功能2、单片机存储器空间配臵与功能3、汇编语言指令格式与内部RAM的操作指令4、单片机I/O输入输出端口结构及工作原理5、单片机基本应用系统一、AT89S51单片机内部结构(1)一个8位的CPU;(2)一个片内振荡器及时钟电路;(3)4KB的Flash ROM;(4)128B的内部RAM(5)可扩展64KB外部ROM和外部RAM的控制电路;(6)两个十六位的定时/计数器;(7)26个特殊功能寄存器(双数据指针);(8)4个8位的并行口;(9)一个全双工的串行口;(10)5个中断源,两个外部中断,三个内部中断;(11)内部硬件看门狗电路;(12)一个SPI串行接口,用于芯片的在系统编程(ISP)。

1、电源VCC (P40)——芯片电源,接+5V 。

VSS (P20)——接电源地。

二、AT89S51单片机引脚功能2、时钟XTAL1(P19)——晶体振荡电路的反相器输入端XTAL2(P18)——晶体振荡电路的反相器输出端。

使用内部振荡电路时,该引脚外接石英晶体和补偿电容。

使用外部振荡输入时从XTAL2输入,此时XTAL1需接地。

3、控制控制引脚有4个,先学习其中的两个。

(1)RST/VPD——复位/备用电源RST复位功能是单片机正常工作必不可少的,因为复位可以使单片机从程序的开头运行,使单片机按照人们设计的程序运行,在单片机系统上电开始工作,或单片机系统由于外界干扰偏离正常运行,都需要复位。

AT89S51单片机是高电平复位,只要在该引脚上一段时间(两个机器周期以上)的高电平,单片机就复位。

在正常运行程序时该引脚为低电平。

VPD功能是在VCC掉电情况下,该引脚接备用电源,向片内的RAM供电,使RAM中的数据不丢失。

3、控制(2)EA/VPP——内外ROM选择/EPROM编程电源在通常的应用中EA功能是作为内部和外部ROM的选择端。

微电子技术单片机教程第二章

微电子技术单片机教程第二章

钟时,用于外接时钟脉冲信号。
89S51 时钟产生方式
内部时钟方式
C1
18(XTAL2)
外部时钟方式
悬空
18(XTAL2)
19(XTAL1)
C2
19(XTAL1)
外部时 钟
GND
AT89S51
GND AT89S51
3、I/O口引脚(32个引脚)
P0口(32脚~39脚)有两种使用方法:
作为普通I/O口使用,须外接上拉电阻
CPU总是按PC的指示读取程序。PC可自动加1。因此
CPU执行程序一般是顺序方式。当发生转移、子程序
调用、中断和复位等操作,PC被强制改写,程序执行
顺序也发生改变。
系统复位时,PC=0000H。
(7)程序状态寄存器PSW(Program Status Word)
位 PSW
位 7 6 5 4 3 2 1 0
单片机引脚说明
1、主电源引脚Vcc和 V ss VCC(40脚): 接+4V~+5V电源正端;
VSS(GND 20脚): 电源负极(接地)
2、振荡器外接晶体引脚XTAL1和XTAL2
XTAL1(19脚)、XTAL2(18脚):当使用芯片内部时
钟时,此二引线用于外接石英晶体和微调电容;当使用外部时
中断 锁存器 定时/计数器 串行口
存储 器
锁存器
锁存器
控制 器
锁存器
B
SP
暂存器1
ACC
暂存器2
指令寄存器IR
运算 I/O 器 接口
缓冲器
双数据指针DPTR PC增量器
程序计数器PC
4K FLASH
指令译码器ID
PSW

单片机指令大全

单片机指令大全

引言概述:单片机指令是嵌入式系统设计中至关重要的一部分,它们定义了单片机的功能和操作。

本文是单片机指令大全系列的第二部分,旨在提供更多全面的单片机指令信息,帮助读者更好地理解和应用单片机指令。

正文内容:一、移位指令1.逻辑左移指令:将操作数的每一位向左移动一位,并且最低位填充0。

2.逻辑右移指令:将操作数的每一位向右移动一位,并且最高位填充0。

3.算术右移指令:将操作数的每一位向右移动一位,并且最高位保持不变。

4.循环左移指令:将操作数的每一位向左循环移动一位,即最高位移动到最低位。

5.循环右移指令:将操作数的每一位向右循环移动一位,即最低位移动到最高位。

二、逻辑运算指令1.逻辑与指令:对操作数进行逻辑与运算,将两个二进制数对应位上的值进行逻辑与操作。

2.逻辑或指令:对操作数进行逻辑或运算,将两个二进制数对应位上的值进行逻辑或操作。

3.逻辑非指令:对操作数进行逻辑非运算,将二进制数的每一位取反。

4.逻辑异或指令:对操作数进行逻辑异或运算,将两个二进制数对应位上的值进行逻辑异或操作。

5.逻辑移位指令:将操作数进行逻辑左移或右移。

三、算术运算指令1.加法指令:对操作数进行加法运算,并将运算结果保存到指定的寄存器或存储器中。

2.减法指令:对操作数进行减法运算,并将运算结果保存到指定的寄存器或存储器中。

3.乘法指令:对操作数进行乘法运算,并将运算结果保存到指定的寄存器或存储器中。

4.除法指令:对操作数进行除法运算,并将运算结果保存到指定的寄存器或存储器中。

5.移位指令:对操作数进行移位运算,包括算术左移、算术右移、循环左移和循环右移。

四、输入输出指令1.读取输入指令:从指定的输入设备读取数据,并将数据保存到指定的寄存器或存储器中。

2.输出显示指令:将指定的数据从寄存器或存储器中读取,并显示到指定的输出设备上。

3.端口输入指令:从指定的端口读取数据,并将数据保存到指定的寄存器或存储器中。

4.端口输出指令:将指定的数据从寄存器或存储器中读取,并输出到指定的端口上。

单片机 第二章(1)

单片机 第二章(1)

(13) 指令系统 (111条)
(二) MCS-51系列单片机的差异
系列 典型芯 片 80C31 80C51 51系列 I/O口 4x8位 4x8位 定时/计数 器 2x16位 2x16位 中断源 5 5 串行通信 口 1 1 片内 RAM 128字节 128字节 片内ROM 无 4kB掩膜 ROM
MCS-51的结构框图
⑺ 2个16位定时器/计数器T/C ⑻ 1个全双工串行口UART
通用异步收发器 可同时接收或发送 半双工 —— 即可接受又可发送,但不同时
单工 —— 只接收或只发送
⑼ 布尔处理机 —— 位处理机 (10) 64KB外部RAM地址空间 (11) 64KB外部ROM地址空间 (12) 片内时钟电路及振荡器 16条地址线
52系列
87C52 89C52
MCS-51单片机总体基本结构
T0 T1
ROM
RAM
定时/计数器
CPU
微处理器
内部总线
并行接口
时钟
P0 P1 P2 P3
串行接口
中断系统
TXD
RXD
INT0
INT1
1、中央处理器
由运算器和控制逻辑组成。主要功能是产生各种控制信 号,控制存储器、I/O端口的数据传送、数据运算、及位处 理等操作等。采用SFR集中控制
2、存储器
8051/8751
程序存储器ROM/ EPROM(8031中没有,需外接) , 存放 程序和编好的表格及常数等。
数据存储器RAM:存放中间结果、数据暂存、缓冲、及 存放标志位等。
3、I/O口
MCS-51单片机有 4 个 8 位并行口,1 个全双工串行口 UART, 2 个 16 位的 T/C。

单片机原理及应用 第二章

单片机原理及应用 第二章

寄存器

累加器ACC 累加器ACC,简称累加器A,它是一个8位寄存器,通 过暂存器与ALU相连,在算术运算和逻辑运算时,通常用 累加器A存放一个参加操作的数,作为ALU的一个输入,而 ALU的运算结果又存入累加器A中。

寄存器B 寄存器B一般用于乘、除法指令,它与累加器A配合使 用。运算前,寄存器B中存放乘数或除数;运算后,B中保
存了乘积的高位字节或商的余数部分。此外,寄存器B可 作为存放中间结果的暂存寄存器使用。

程序状态字寄存器PSW
运算操作过程中的一些状态信息存放在程序状态字寄存器PSW中,
PSW寄存器的字节地址是DOH,PSW各位的符号与定义如下:
C—进位标志(CY),有进位或借位时,C=1,否则C=0; Cy=1提示无符 号数运算超出范围。 在进行位操作时,CY作为位累加器C,也称为布尔累加器。此外, 循环移位指令和比较转移指令也会影响CY标志。 AC—辅助进位标志,当累加器中A3向A4有进位或错位时AC=1,否则AC=0;
7406
2 4 6 8 2 4 6 8
22
1
74ls08A
22
OE
D7 D6 D5 D4 D3 D2 D1 D0
19 18 17 16 15 13 12 11 27
D7 D6 D5 D4 D3 D2 D1 D0 WE
19 18 17 16 15 13 12 11 27
D7 D6 D5 D4 D3 D2 D1 D0 WE

ALE/PROG——地址锁存允许信号,输出。 在访问片外存储器或I/O时,用于锁存低八位地址,以 实现低八位地址与数据的隔离。由于ALE以1/6的振荡频率 固定速率输出,可作为对外输出的时钟或用作外部定时脉

单片机常用指令

单片机常用指令

单片机常用指令在单片机编程中,常用的指令是一种用于控制微处理器和外围设备工作的基本命令。

掌握常用指令对于单片机的开发和应用至关重要。

本文将介绍一些常用的单片机指令,以帮助读者更好地理解和应用单片机。

一、数据传输指令1. MOVMOV指令用于将一个操作数的值传送到另一个操作数,格式为MOV 目的操作数,源操作数。

例如:MOV A,B表示将寄存器B中的值传送到寄存器A中。

2. LDA和STALDA指令用于将一个内存单元的值传送到累加器A中,格式为LDA 内存单元地址。

例如:LDA 0x1234表示将0x1234地址处的数据传送到累加器A中。

STA指令与LDA相反,用于将累加器A的值传送到一个内存单元中,格式为STA 内存单元地址。

3. LXILXI指令用于将一个16位的立即数装入16位寄存器,格式为LXI 寄存器对,16位立即数。

例如:LXI BC,0x1234表示将0x1234装入BC寄存器。

二、算术逻辑指令1. ADD和SUBADD指令用于将一个操作数的值与累加器A的值相加,结果存放在累加器A中,格式为ADD 操作数。

例如:ADD B表示将寄存器B的值与累加器A的值相加。

SUB指令与ADD相反,用于将一个操作数的值减去累加器A的值,结果存放在累加器A中,格式为SUB 操作数。

2. INR和DCRINR指令用于将一个操作数的值增加1,格式为INR 操作数。

例如:INR C表示将寄存器C的值加1。

DCR指令与INR相反,用于将一个操作数的值减1,格式为DCR操作数。

3. AND和ORAND指令用于将一个操作数的值与累加器A的值按位与运算,结果存放在累加器A中,格式为AND 操作数。

例如:AND D表示将寄存器D的值与累加器A的值按位与运算。

OR指令与AND相反,用于将一个操作数的值与累加器A的值按位或运算,结果存放在累加器A中,格式为OR 操作数。

三、分支指令1. JMPJMP指令用于无条件地跳转到指定的内存地址,格式为JMP 内存地址。

单片机第2章单片机基本原理(第2次课)

单片机第2章单片机基本原理(第2次课)

00H 7FH 80H FFH
片内 RAM SFR
0000H
00H 7FH 80H 片外 RAM FFH 片内RAM 80H SFR FFH
0000H
SRF
片外 R
(b)
图2.6 数据存储器编址图
(a) 51子系列
(b) 52子系列
2.内部数据存储器 128个,字节地址为00H~7FH。 00H-1FH: 32个单元,是4组 通用工作寄存器区 20H-2FH: 16个单元,可进行 128位的位寻址 30H-7FH: 用户RAM区,只能 字节寻址,用作数据缓 冲区以及堆栈区。
图2-2 MCS-51系列单片机内部结构框图
2.2.3 MCS-51系列单片机的中央处理器
中央处理器(CPU)是单片机内部的核心部件, 它决定了单片机的主要功能特性。 它由运算部件 和控制部件两大部分组成。
运算部件
对操作数进行算术、逻辑运算和位操作 运算部件以算术逻辑单元(ALU)为核心,包括 累加器(ACC)、寄存器(B)、暂存器1、暂存器2、 程序状态字(PSW)、布尔处理器等。它的功能 是完成算术和逻辑运算、位变量处理和数据传送 等操作。
图2.5 程序存储器编址图 (a) 51子系列;(b) 52子系列
2.程序的7个特殊入口地址
操 作 入口地址
复位
外部中断0 定时器/计数器0溢出
0000H
0003H 000BH
外部中断1
定时器/计数器1溢出 串行口中断 定时器/计数器0溢出或T2EX端负跳变(52子系 列)
0013H
001BH 0023H 002BH
其字节地址的末位是0H或8H可位寻址。
表2-2
SFR的名称及其分布
1.堆栈指针SP

单片机原理第2章习题解答

单片机原理第2章习题解答

第2章思考题及习题2参考答案一、填空1. 在AT89S52单片机中,如果采用6MHz晶振,一个机器周期为。

答:2µs2. AT89S52单片机的机器周期等于个时钟振荡周期。

答:123. 内部RAM中,位地址为40H、88H的位,该位所在字节的字节地址分别为和。

答:28H,88H4. 片内字节地址为2AH单元最低位的位地址是;片内字节地址为A8H单元的最低位的位地址为。

答:50H,A8H5. 若A中的内容为63H,那么,P标志位的值为。

答:06. AT89S52单片机复位后,R4所对应的存储单元的地址为,因上电时PSW= 。

这时当前的工作寄存器区是组工作寄存器区。

答:04H,00H,0。

7. 内部RAM中,可作为工作寄存器区的单元地址为 H~ H。

答:00H,1FH8. 通过堆栈操作实现子程序调用时,首先要把的内容入栈,以进行断点保护。

调用子程序返回指令时,再进行出栈保护,把保护的断点送回到,先弹出的是原来中的内容。

答:PC, PC,PCH9. AT89S52单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为AT89S52单片机的PC是16位的,因此其寻址的范围为 KB。

答:6410. AT89S52单片机复位时,P0~P3口的各引脚为电平。

答:高11. AT89S52单片机使用片外振荡器作为时钟信号时,引脚XTAL1接,引脚XTAL2的接法是。

答:片外振荡器的输出信号,悬空12. AT89S52单片机复位时,堆栈指针SP中的内容为,程序指针PC中的内容为。

答:07H,0000H二、单选1. 程序在运行中,当前PC的值是。

A.当前正在执行指令的前一条指令的地址 B.当前正在执行指令的地址。

C.当前正在执行指令的下一条指令的首地址 D.控制器中指令寄存器的地址。

答:C2. 判断下列哪一种说法是正确的?A.PC是一个可寻址的寄存器 B.单片机的主频越高,其运算速度越快。

C.AT89S52单片机中的一个机器周期为1µsD.特殊功能寄存器SP内存放的是堆栈栈顶单元的内容。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第二章MCS_51指令系统2.1.2 寻址方式关键:有几个放数的地方?如何找到数,数送到什么地方去?数字量0和1与模拟量0伏和5伏的关系。

1.寄存器寻址方式MOV A ,R0 2.直接寻址方式MOV A ,30H 3.寄存器间接寻址方式MOV A ,@R0 4.立即寻址方式MOV A ,#30H 5.位寻址方式ANL C ,30H6.变址寻址方式MOVC A,@A+DPTRMOVC A ,@A+PCJMP A ,@A+DPTR 7.相对寻址方式SJMP rel2.2 数据传送指令2.2.1 内部RAM数据传送指令组1.立即数传送指令MOV A,#dataMOV direct, #dataMOV Rn, #dataMOV @Ri, #dataMOV DPTR,#data162.内部RAM之间的数据传送指令MOV direct2,direct1MOV direct, RnMOV Rn, directMOV direct, @RiMOV @Ri, direct3.累加器的数据传送指令MOV A,RnMOV Rn , AMOV A , directMOV direct , AMOV A , @RiMOV @Ri , A2.2.2 外部RAM数据传送指令组对外部RAM只能使用间接寻址方法,分别使用DPTR和Ri作间址寄存器1.使用DPTR进行间接寻址MOVX A ,@DPTRMOVX @DPTR,A2.使用Ri进行间接寻址MOVX A ,@RiMOVX @Ri,A2.2.3 程序存储器数据传送指令组MOVC A,@A+DPTRMOVC A,@A+PC寻址范围64KB2.2.4 数据交换指令组数据交换指令主要是在内部RAM单元与累加器A这之间进行,有整字节和半字节交换1. 整字节交换指令XCH A,RnXCH A,directXCH A,@Ri2. 半字节交换指令XCHD A, @Ri例:已知:(R0)=20H, (A)=3fH, (20)=75H 求:XCHD A, @R0 后结果结果是:(R0)=20H, (A)=35H, (20)=7fH 3. 高低半字节交换指令SWAP A2.2.5 堆栈操作指令组PUSH direct ;低128单元或专用寄存器POP direct ;2.3 算术运算指令2.3.1 加法指令组ADD A, RnADD A, directADD A, @RnADD A, #data2.3.2 带进位加法指令组ADDC A, RnADDC A,directADDC A,@RnADDC A,#data例:三字节无符号数相加,被加数放在20H~22H单元,加数放在内部RAM中2AH~2CH程序如下:MOV R0,#20HMOV R1,#2AHMOV R7,#03HCLR CLOOP: MOV A,@R0ADDC A,@R1MOV @R0,AINC R0INC R1DJNZ R7,LOOP CLR AADDC A,#00H MOV @R0,A2.3.3 带进位减法指令组SUBB A,RnSUBB A,direct SUBB A,@Rn SUBB A,#data2.3.4 加1指令组INC AINC RnINC directINC @RiINC DPTR减1指令组DEC ADEC RnDEC directDEC @Ri注:没有DPTR减1指令组2.3.6 乘法指令MUL AB两个无符号8位数相乘,16位积低8位放在A中,高8位放B中除法指令DIV A B两个无符号8位数相除,被除数放在A中,除数放B中运算后,商放在A中,余数放B中2.3.7 十进制调整指令DA A对BCD码十进制数加法运算的结果进行修正。

2.4 逻辑运算及移位类指令2.4.1 与运算指令组ANL A,RnANL A,directANL A,@RiANL A,#dataANL direct, AANL direct, #data2.4.2 或运算指令组ORL A,RnORL A,directORL A,@RiORL A,#dataORL direct, AORL direct, #data例:将累加器A的低4位送P1口的低4位,但P1口的高4位需保持不变。

MOV R0, A ;A内容暂存R0ANL A, #0FH ;屏蔽A的高4位,低4位不变ANL P1, #0FOH ;屏蔽P1口的低4位,高4位不变ORL P1, A ;实现低4位的传送MOV A, R0 ;恢复A的内容2.4.3 异或运算指令组XRL A,RnXRL A,directXRL A,@RiXRL A,#dataXRL direct, AXRL direct, #data2.4.4 累加器清0指令CLR A累加器取反指令CPL A2.4.5 移位指令组RL A ;循环左移RR A ;循环右移RLC A ;带进位循环左移RRC A ;带进位循环右移2.5 控制转移指令2.5. 1 无条件转移指令组1.长转移指令 LJMP addr162.绝对转移指令 AJMP a ddr113.短转移指令 SJMP rel4.变址寻址转移指令JMP @A+DPTR 2.5.2 条件转移指令组1.累加器判零转移指令JZ relJNZ rel2.数值比较转移指令CJNE A ,#data ,relCJNE A ,direct ,relCJNE Rn ,#data ,relCJNE @Ri ,#data ,rel3.条件转移指令DJNZ Rn ,relDJNZ direct ,rel2.5.3 子程序的调用与返回指令组1.子程序的概念2.子程序调用指令ACALL addr11LCALL addr163.返回指令RET ;子程序返回指令RETI ;中断服务子程序返回指令2.5.4 空操作指令NOP2.6 布尔变量操作类指令出于控制应用的需要,MCS-51具有较强的布尔变量处理能力。

所谓布尔变量也即开关变量,以位(bit)为单位进行运算和操作。

在硬件方面,为了实现布尔变量处理,8051有一个布尔处理机,所谓布尔处理机实际上就是一位的微处理机,它以进位标志作为累加位,以内部RAM位寻址区的128个可寻址位作为存储位。

在软件方面, 8051的指令系统中有一个进行布尔变量操作的指令子集,可以进行布尔变量的传送、运算及控制转移等操作。

这些指令通常称之为位操作指令,也就是本节所称的布尔变量操作指令。

2 。

6。

1 位传送指令组位传送操作就是可寻址位与累加位CY之间的相互传送,共有两条指令:MOV C,bit ;CY=BITMOV bit,C ; BIT=CY指令中的C就是CY。

由于没有两个可寻址位之间的传送指令,因此它们之间无法实现直接传送。

如需要这种传送,应使用这两条指令以CY作中介实现之。

例如将20H位的内容传送5A位。

MOV 10H,C ;暂存CY内容MOV C,20H ;20H位送CY MOV 5AH,C ;CY送5AH位MOV C,10H ;恢复CY内容2.6.2 位置位复位指令组指令对CY及可寻址位进行置位或复位操作。

共有四条指令:CLR C ;CY= 0CLR bit ;bit=0SETB C ;CY=1SETB bit ;bit=12.6.3 位运算指令组位运算都是逻辑运算,有与、或、非三种,共六条指令。

ANL C,bitANL C,/bitORL C,bitORL C,/bitCPL CCPL bit布尔变量操作指令中,没有位的异或运算,如需要时可由多条上述位操作指令实现。

例如E、B、D代表位地址,进行E、B内容的异或操作,即D+MOV C,BANL C,/EMOV D,CMOV C,EANL C,/BORL C, DMOV D,C ;异或结果送D位通过位逻辑运算,可以对各种组合逻辑电路进行模拟,即用软件方法来获得组合电路的逻辑功能。

2.6.4 位控制转移指令组位控制转移指令就是以位的状态作为实现程序转移的判断条件。

对这些指令分别说明:1.以C状态为条件的转移共两条指令:JC relJNC rel2.以住状态为条件的转移指令共三条指令:JB bit,rel ;位状态为1转移JNB bit,rel ;位状态为0转移JBC bit,rel ;位状态为1转移,并使该位清0练习题1. 什么是指令系统、机器语言和汇编语言?2. 在单片机应用中广泛使用何种语言?它们能直接执行吗?为什么?3. 简述MCS-51指令的格式。

4. 简述MCS-51的指令寻址方式。

5. 如若访问专用寄存器,可使用那些寻址方式?6. 如若访问外部RAM单元,可使用那些些寻址方式?7. 如若访问内部RAM单元,可使用那些寻址方式?8.如若访问内外程序存储器,可使用那些寻址方式?9. 说明十进制调整的原因和方法。

10. 说明MCS-51的布尔处理机功能。

11. 试分析以下程序段的执行结果MOV SP,#3AHMOV A,#20HMOV B,#30HPUSH ACCPUSH BPOP ACCPOP B12. 已知(A)=7AH,(R0)=30H,(30H)=A5H,(PSW)=80H,请填写各条指令的执行结果。

(1)XCH A,R0(3)XCH A,30H(4)XCHD A,@R0(5)SWAP A(6)ADD A,R0(7)ADD A,30H(8)ADD A,#30H(9)ADDC A,30H(10)SUBB A,30H(11)SUBBA,#30H13.已知(30H)=40H,(40H)= 10H,(10H)=00H,(Pl)=CAH,请写出执行以下程序段后各有关单元的内容。

MOV R0,#30HMOV A,@R0MOV R1,AMOV B,@R1MOV @R1,P1MOV P2,P1`MOV 10H,#20HMOV 30H,10H14.已知(A)=83H,(R0)=17H,(17H)=34H,请写出执行完下列程序段后A的内容。

ANL A,#1 7HORL I 7H,AXRL A,@R0CPL A15. 阅读下列程序说明其功能MOV R0,#30HMOV A,@R0RL AMOV R1,ARL ARL AADD A,RIMOV @RO,A功能是:。

相关文档
最新文档