出租车计费系统的设计开题报告

合集下载

出租车综合信息服务平台的设计与实现的开题报告

出租车综合信息服务平台的设计与实现的开题报告

出租车综合信息服务平台的设计与实现的开题报告一、选题背景随着移动互联网技术的不断发展,出租车行业也逐渐步入数字化时代。

出租车综合信息服务平台的建设,能够为出租车司机、乘客以及运营企业提供更加全面、便捷的服务,改善乘车体验,提高运营效率。

因此,本研究旨在设计和实现一个出租车综合信息服务平台。

二、研究内容和目标本研究的主要内容和目标包括:1. 研究和分析出租车综合信息服务平台的需求和功能,包括实时定位、乘车预约、司机评价、收费计算等。

2. 设计和开发出租车综合信息服务平台的系统架构和模块,实现以上需求和功能。

3. 考虑平台的可拓展性,设计平台的API接口,为未来的扩展提供便利。

4. 进行平台的功能测试,确保系统的可用性和稳定性。

5. 分析用户满意度和平台的运营效果,如用户增长、订单增长等指标,进一步完善平台。

三、研究方法本研究将采用如下研究方法:1. 案例研究法:通过对市场上已有出租车综合信息服务平台的研究和分析,提取优势和劣势,为本课题的设计和实现提供参考。

2. 系统分析方法:通过对出租车综合信息服务平台的研究和分析,识别出平台的需求和功能,并对系统进行规划和设计。

3. 系统开发方法:采用敏捷开发方法,将整个开发过程拆分成若干个小周期,每个小周期在完成一定的任务后交付可使用的产品,快速迭代开发,实现平台的功能。

4. 用户调查方法:通过问卷调查等方式,收集用户对平台的评价和反馈,以此指导平台的改进。

四、研究意义出租车综合信息服务平台的建设,对出租车行业的数字化、信息化进程具有重要意义。

1. 可以提高出租车行业的服务质量和效率,改善乘客的出行体验。

2. 可以帮助出租车企业提高运营效率和收益,优化资源配置。

3. 可以促进出租车行业向数字化、信息化、智能化方向发展。

五、进度安排本研究的进度安排如下:月份|研究进度-|-1|选题、规划2| 研究、分析需求和功能3| 设计架构和模块、编写开发计划4| 系统开发、功能测试5| 系统测试、数据分析6| 撰写论文、答辩准备六、预期成果本研究的预期成果包括:1. 出租车综合信息服务平台的系统设计与实现。

出租车计费器的设计报告

出租车计费器的设计报告

目录摘要----------------------------------------------------------------------1一、方案比较及论证-------------------------------------------------31.1方案比较----------------------------------------------------31.2方案确定----------------------------------------------------3二、基本控制原理----------------------------------------------------32.1出租车的档位控制----------------------------------------32.2里程数的计算----------------------------------------------42.3电机停转、里程数静止不变的控制-------------------4三、系统设计----------------------------------------------------------53.1.1电源电路--------------------------------------------------53.1.2电平转换电路--------------------------------------------53.1.3电机驱动电路--------------------------------------------63.1.4显示电路--------------------------------------------------63.1.5系统控制电路--------------------------------------------73.2.1系统程序流程图-----------------------------------------8四、系统功能测试----------------------------------------------------94.1.1换档和暂停测试-----------------------------------------94.1.2里程数测试-----------------------------------------------94.2设计与测试使用的仪器----------------------------------94.3误差分析及措施-------------------------------------------9五、心得体会----------------------------------------------------------10六、谢词--------------------------------------------------10七、参考文献--------------------------------------------------11基于PIC单片机的出租车计费摘要随着电子技术的发展,出租车计费器技术也在不断进步和提高,了解在出租车上应用的计费系统,对我们日常生活也有帮助。

出租车计价器系统设计

出租车计价器系统设计

出租车计价器系统设计
引言:
随着城市的发展和人们生活水平的提高,出租车市场逐渐繁荣起来。

人们对出租车计价器系统的需求也越来越高。

出租车计价器系统是一种用于计算乘客乘坐出租车费用的设备,它可以帮助乘客了解行程信息、计算费用,并向乘客提供更好的服务。

本文将对出租车计价器系统进行详细设计。

一、系统需求分析
1.功能需求:
1.1乘客功能:
-条件输入:乘客可以输入上车地点和下车地点、行程距离、乘车时间等信息。

-费用计算:系统可以根据乘客输入的信息,计算并显示乘车费用。

单片机课程设计出租车计费系统,255计数,50000计数

单片机课程设计出租车计费系统,255计数,50000计数

(题目)255计数器、50000计数器、出租车计费系统起电气与信息工程学院单片机课程设计实验报告一、设计任务:1. 1 外部脉冲自动计数, 自动显示。

1.1.1设计一个255计数器:0-255计数, 计满后自动清0, 重新计数(在数码管中显示)。

1.1.2设计一个50000计数器: 0-50000计数, 计满后自动清0, 重新计数(在数码管中显示)。

1. 2 设计一个出租车计费系统: 起步价为5元(2km以内), 2km后, 0.8元/0.5km;要求每500m刷新计费一次, 在8位数码管中, 前3位显示数码管显示里程数,后3位数码管显示价钱(角, 元, 十元, 百元)注:要求首先采用PROTEUS完成单片机最小系统的硬件电路设计及仿真;程序仿真测试通过后, 再下载到单片机实训板上执行。

二、单片机最小系统硬件资源介绍:1 单片机系统数码管和键盘接口电路2 7279A 资料三、设计思路:1、255计数:255可用8位二进制数表示, 故本设计可直接采用可以重装载的计数器T1模式二进行计数。

然后对TL1的内容进行相应的二进制---十进制转换:首先TL1的内容除以64H, 所的商就是十进制的百位, 然后用余数除以0AH, 所得的商就是十进制数的十位, 余数即相应的十进制的个位。

接着将相应的十进制数进行译码, 并在LED数码管上显示出来。

每来一个脉冲其显示的结果加一, 直加至255然后T1重新开始计数。

255计数器汇编程序ORG 0000HAJMP START ORG 0300HSTART:MOV DPTR,#0CFE9H MOV A,#0D1HMOVX @DPTR,ANOPNOPNOPNOPNOPNOPNOPNOPMOV TMOD,#50HMOV TH1,#00HMOV TL1,#00HSETB TR1LOOP1:MOV A,TL1MOV B,#64HDIV ABMOV R1,A //存百位MOV A,BMOV B,#0AHDIV ABMOV R2,A //存十位MOV R3,B //存个位MOV DPTR,#0CFE9HMOV A,#80HMOVX @DPTR,A //选择第一个显示管MOV DPTR,#TABMOV A,R1MOVC A,@A+DPTRMOV DPTR,#0CFE8HMOVX @DPTR,ACLR AMOV DPTR,#0CFE9HMOV A,#81HMOVX @DPTR,A //选择第二个显示管MOV DPTR,#TABMOV A,R2MOVC A,@A+DPTRMOV DPTR,#0CFE8HMOVX @DPTR,ACLR AMOV DPTR,#0CFE9HMOV A,#82HMOVX @DPTR,A //选择第三个显示管MOV DPTR,#TABMOV A,R3MOVC A,@A+DPTRMOV DPTR,#0CFE8HMOVX @DPTR,ALJMP LOOP1TAB:DB 3FH,06H,5BH,4FH,66HDB 6DH,7DH,07H,7FH,6FHENDPROTUES仿真图50000计数器设计思路;由于DIV AB指令中A.B均为8位寄存器, 因此255二进制转十进制计数的方法不能用于0-50000的循环计数。

汽车租赁系统设计与实现开题报告

汽车租赁系统设计与实现开题报告
2. 系统设计
根据需求分析结果,我们设计了汽车租赁系统的基本架构。该系统包括前端界面、后端服务器、数据库、缓存等方面。前端界面采用Vue框架实现,后端服务器采用Spring框架实现,数据库采用MySQL存储数据,缓存采用Redis实现数据缓存。
3. 技术选型
前端界面:采用Vue框架实现,方便开发人员快速构建用户界面,同时支持数据绑定和组件化开发,提高了系统的可维护性和可扩展性。
3. 风险管理:如何通过数据分析和风险评估技术,对汽车租赁业务中的风险进行识别、评估和应对,是当前研究的热点问题。
尽管国内汽车租赁系统研究取得了一定的进展,但仍存在一些问题:
1. 缺乏统一的标准和规范:目前汽车租赁市场尚无统一的标准和规范,导致各家企业各自为政,难以形成规模效应。
2. 技术水平有待提高:国内汽车租赁系统在技术方面与国际先进水平还存在一定差距,尤其是在数据安全、用户体验等方面。
二、技术路线
本系统的技术路线采用主流的JAVA技术栈,包括Java、Spring、Spring MVC、MyBatis、MySQL、Vue等。下面将从前端、后端、数据库、缓存等方面介绍具体的技术及在本软件实现中的作用。
1. 前端方面
前端界面采用Vue框架实现,通过组件化开发方式,快速构建用户界面,支持数据绑定和状态管理,提高了系统的可维护性和可扩展性。同时,Vue还提供了丰富的插件和指令,方便开发人员快速构建各种功能。
2. 后端方面
后端服务器采用Spring框架实现,包括Spring MVC、Spring Boot和MyBatis等组件。Spring MVC提供了强大的MVC框架,使得前端与后端的交互更加简单和方便;Spring Boot提供了便捷的配置和部署方式,大大降低了学习成本;MyBatis提供了SQL映射和数据访问功能,使得数据库操作更加简单和高效。此外,我们还将使用Spring Security实现安全性控制,保障系统的安全性和稳定性。

基于FPGA的出租车计费系统设计报告

基于FPGA的出租车计费系统设计报告

(封面)XXXXXXX学院题目:基于FPGA的出租车计费系统设计院(系):专业班级:学生姓名:指导老师:时间:年月日目录1.引言 (2)2.实验任务及要求 (2)3.模块功能 (2)4.设计说明 (3)5.实验结果 (4)6.一些问题和改进 (4)7.心得与体会 (4)8.附录··················································摘要介绍了出租车计费器系统的组成及工作原理,简述了在EDA平台上用FPGA器件构成该数字系统的设计思想和实现过程。

论述了分频模块,速度获取模块,计费模块,进制转换模块,显示模块等的设计方法与技巧。

一、引言随着EDA技术的高速发展,电子系统的设计技术发生了深刻的变化,大规模可编程逻辑器件CPLD/FPGA的出现,给设计人员带来了诸多方便。

利用它进行产品开发,不仅成本低、周期短、可靠性高,而且具有完全的知识产权。

本文介绍了一个以Altera公司可编程逻辑芯片cyclone2系列的EP2C35F672C6的fpga芯片为控制核心、附加一定外围电路组成的出租车计费器系统。

随着社会的不断进步,人们生活水平的不断提高,出租车逐渐成为人们日常生活不可缺少的交通工具。

而计价器作为出租车的一个重要组成部分,关系着出租车司机和乘客双方利益,起着重要的作用,因而出租车计价器的发展非常迅猛二、实验任务及要求1.能实现计费功能,计费标准为:按行驶里程收费,起步费为10.00元,并在车行3公里后再按2元/公里,车起启动后停止等待时为每分钟1元(程序中为显示功能,设置为每10秒1元)。

出租车计价器设计报告

方案整体框图
出租车计价器设计
出租车计价器设计
3. 设计实现 该设计内容可分为分频模块,控制模块,计量模块和显示模块 设计一个出租车计费器,具有行车里程计费、等候时间计费以及起步价三部分,用数码管 显示行驶里程 行车里程单价1元/公里,等候时间大于五分钟后单价1元/1分钟,起价5元(4公里起价 ) 行车里程的计费电路将汽车行驶的里程数转换成与之成正比的脉冲数,然后由计数译码电 路转换成收费金额,实验中以一个脉冲模拟汽车前进十米,则每100个脉冲表示1公里,然 后用BCD码比例乘法器将里程脉冲乘以每公里单价的比例系数,比例系数可由开关预置
例如单价是1元/公里,则脉冲当量为w0.01元/脉冲
出租车计价器设计
用LED显示行驶公里数,两个数码管显示收费金额 硬件设计 1、 主控制器:选择一个合适的微控制器作为系统整体的主控制模块 2、 里程表接口:设计电路接受和处理来自出租车里程表的信号来获取行驶里程 3、 等待时间计数器:使用定时器来测量为顾客停留的等待时间 4、 显示模块:选择LED数码管用于实时显示行驶的里程和费用 软件设计 1、 里程和等待时间费用计算:编写程序来实现里程表和等待时间测量器计算费用。对应 不同时间以及不同里程段,应用不同的计费规则 2、 显示驱动:编写程序驱动显示模块进行实时更新
随着城市旅游业的发展,出租车行业已成为城市的窗口,象征着一个城市的文明程度
出租车计价器设计
随着EDA技术的高速发展,电子系统的设计技术发生了深刻的变化,大 规模可编程逻辑器件CPLD/FPGA的出现,给设计人员带来了诸多方便。 利用它进行产品开发,不仅成本低、周期短、可靠性高,而且具有完全的知识产权。本次课程设计采用FPGA作为控制芯片,其中只需控制 FPGA中的RAM的状态即可。FPGA芯片可以重复使用,其原因是内容逻辑 关系会在断电后自动消失。4

出租车计价器设计报告

出租车计价器设计报告一、引言二、需求分析1.收费标准:根据国家和地方的规定,出租车费用通常包括起步价、里程费和时间费。

2.里程计算:计价器需要能够准确计算起点和终点之间的距离。

3.时间计算:计价器需要能够准确计算乘坐时间,以确定时间费用。

4.显示界面:计价器需要具备清晰易读的显示界面,能够显示当前的车费、里程和时间。

5.操作简便:计价器需要提供用户友好的操作界面,方便乘客和司机操作。

6.故障自检:计价器需要具备自动故障检测和报警功能,以保证正常工作。

三、设计方案1.硬件设计:(1)显示屏:使用液晶显示屏,具备高清显示和低功耗的特点,以确保清晰易读的显示界面。

(2)里程测量:采用GPS定位技术测量车辆的实时位置,并根据起点和终点的坐标计算里程。

(3)时间计算:计价器内置实时时钟,能够记录乘坐的时间,并根据时间段进行费用计算。

(4)按键:提供简单明了的按键,用于用户的选择和操作。

(5)故障检测:利用传感器检测故障情况,并在检测到故障时发出警报。

2.软件设计:(1)界面设计:设计直观简洁的用户界面,显示当前的车费、里程和时间,并提供用户选择的接口。

(2)公式计算:根据收费标准,设计相应的公式进行费用计算。

(3)自动故障检测:通过编程实现自动故障检测,并在检测到故障时,及时报警或提醒用户。

(4)数据存储:将计价器的数据存储在内部存储器中,便于后续的数据分析和管理。

四、实施方案1.硬件实施:(1)购买和组装计价器所需的硬件设备,如液晶显示屏、GPS定位模块、实时时钟等。

(2)开发或选择适合的电路板,将相关硬件设备连接起来,并进行测试和调试。

(3)将电路板和其他硬件设备安装在出租车中,确保稳定工作。

2.软件实施:(1)根据设计方案,开发计价器的软件程序,包括界面设计、公式计算、自动故障检测和数据存储等功能。

(2)将软件程序烧录到计价器的控制芯片中,并进行测试和调试。

(3)部署计价器的软件程序到所有出租车计价器上,以确保统一的功能和用户体验。

出租车自动计费器课程设计报告

电子课程设计——出租车自动计费器出租车自动计费器一、 设计任务与要求出租车自动计费器是根据客户用车的实际情况而自动显示用车费用的数字仪表。

仪表根据用车起价、行车里程两项求得用车的总费用,通过数码自动显示。

1. 设计一个自动计费器,具有行车里程计费,起价等部分。

用四位数码管显示总金额,最大金额是99.99。

2. 行车起价为8.00元,超过5公里为1.6元/公里(60公里每小时)二、总体框图模块功能与设计思路:计费的电路将汽车行驶的里程数转换成与之成正比的脉冲个数,在出租车转轴上加装传感器,以便获得“行驶里程信号”。

脉冲源为电路提供的脉冲的周期与行车里程正比。

起价部分电路通过脉冲源加在八百进制计数器上,在800个脉冲之前显示器一直显示0800,当八百进制计数器显示799时通过门电路控制使其停止计数(此时到达五公里)。

然后160进制计数有效,每计一个数,10000进制计数器也计一个数,显示器的数值加一。

三、器件选择与功能简介元器件名称数量备注555定时器 1 构成脉冲电路74LS190 8 十进制计数器74LS191 1 十六进制计数器行车里程 脉冲源起价10000进制计数器脉冲源160进制计数800进制计数器显示器74LS190逻辑符号 74LS191逻辑符号U174LS190NA 15B 1C 10D9~U/D 5QA 3QB 2QC 6QD 7~RCO 13MAX/MIN 12CLK 14~CTEN 4~LOAD1174ls190外接引线排列 74ls191外接引线排列单刀单掷开关 1 控制总电路单刀双掷开关 1 控制10000进制的置数端非门 1 构成八百进制计数器或门 2 控制八百进制计数器停在799的位置七输入与门 1 当799时输出高电平,八百进制计数器不再计数四位数码显示器 9 显示数字电阻 2 1个367ohm 1个4、7kohm电容 1 1个100uf 1个1 uf电源电压vcc 1 5v二输入与门 1控制800进制计数器到达799时,10000进制计数器开始计数U174LS191NA 15B 1C 10D9~U/D 5QA 3QB 2QC 6QD 7~RCO 13MAX/MIN 12CLK 14~CTEN 4~LOAD1174ls190时序图 74ls191时序图74ls190内部原理图 74ls191内部原理图74LS190是可预置数同步可逆加减十进制计数器,符号如图所示,它具有异步置数端LOAD,加减控制端D/U和计数控制端CTEN,为方便级联,设置了两个级联输出端RCO和MAX/MIN.;当加减控制端等于1时减计数,否则为加计数;当异步置数端等于0时置数,当计数控制段为1时禁止计数,为0时,四个触发器将在时钟上升沿开始计数;当计数器加计数,计数值为9或减计数,计数值为0时,MAX/MIN端输出与时钟周期相同的正脉冲,而RCO产生一个宽度为时钟低电平宽度的低电平,74LS191为四位二进制即十六进制同步加法计数器,其功能表与74LS190相同,如图所示输入输出CTEN LOAD D / U D C B A CPX O X d c b a X 异步预置O 1 O 加计数O 1 1 减计数11 XX 保持图.74LS190、191功能表555定时器555 芯片是定时器,,是一种将数字功能和模拟功能集为一体的中规模集成电路。

出租车计费系统的设计(好)

1.所选题目:出租车计费器2.设计要求:设计一个出租车计费器,能按路程计费,具体要求如下:(1)实现计费功能,计费标准为:按行驶里程计费,起步价为7.00元,并在汽车行驶2km后按1.2元/km计费,当里程数达到15km后,没千米加收50%的空驶费,车辆停止和暂停时不计费。

(2)现场模拟汽车的启动、停止、暂停和换挡等状态。

(3)设计数码管显示电路,将车费和路程显示出来,各有1位小数。

3.设计原理:设计该出租车有启动键、停止键、暂停键和档位键。

启动键为脉冲触发信号,当其为一个脉冲时,表示汽车已启动,并根据车速的选择和基本车速发出相应频率的脉冲(计费脉冲)以此来实现车费和路程的计数,同时车费显示起步价;当停止键为高电平时,表示汽车熄火,同时停止发出脉冲,此时车费和路程计数清零;当暂停键为高电平时,表示汽车暂停并停止发出脉冲,此时车费和路程计数暂停;档位键用于改变车速,不同的档位对应着不同的车速,同时路程计数的速度也不同。

4.模块设计:出租车计费器可分为两大模块,即控制模块和译码显示模块。

系统框图如下:5.电路符号:出租车计费器的输入信号有:计费时钟脉冲clk;汽车启动键star t;汽车停止键stop;档位speedup。

输出信号:7段显示控制信号seg7;小数点dp。

6.具体设计流程:(1)根据出租车计费原理,将出租车计费部分由5个计数器来完成分别为cou nterA,counterB,counterC,counterD,counterE。

①计数器A完成车费百位。

②计数器B完成车费十位和个位。

③计数器C完成车费角和分(显示时只显示角)。

④计数器D完成计数到20(完成车费的起步价)。

⑤计数器E完成模拟实现车行驶100 m的功能。

(2)当超出起步价时就自动在起步价的基础上每增加一个100m脉冲就增加相应的费用,而当总里程达到或超过一定的数值时,能按新的收费标准进行收费。

(3)译码/动态扫描电路模块将路程与费用的数值译码后用动态扫描的方式驱动6只数码管,即所连接的数码管共用一个数据端,由片选信号依次选择输出,轮流显示。

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

开题报告
题目名称 基于单片机的出租车计费系统的设计
题目来源 A 题目类型 2 导师姓名 XXX
学生姓名 XXX 班级学号 00 专 业 自动化
一、课题背景和意义
出租车行业在我国是八十年代初兴起的一项新兴行业,随着出租车行业的发展,出租车
已经是城市交通的重要组成部分。计价器是乘客与司机双方的交易准则,它是出租车行业发
展的重要标志。从加强行业管理,减少司机与乘客的纠纷出发,具有良好性能的出租车计价
器对司机和乘客来说都是很必要的。
二、国内外研究现状

目前全世界的计价器中有90%为台湾所生产。现今我国生产计价器的企业有上百家,主
要是集中在沈阳,北京,上海和广州等地。
计价器由原来只有计程和计价的功能,发展到包括计程,计价,单价,计时和打印机等
多功能的计价器,功能起来越丰富,操作也更加的方便,并且程序存储器和数据存储器都得
到有效的增加。当单片机出现并运用到计价器后,现代出租车计价器的模型也就基本上具备
了,它可以完成计程,计价和显示等基本工作。单片机和外围芯片的发展同时也促进了计价
器的发展。
三、课题主要内容

本课题主要包括三大部分:硬件电路设计,软件程序设计及系统运行调试。
1.硬件电路设计主要包括:
(1)单片机最小系统单元
(2)霍尔传感器单元
(3)掉电存储单元
(4)键盘扫描单元
(5)显示单元
2.软件程序设计主要包括:
主程序、里程计数中断程序、中途等待中断程序、计算程序、键盘扫描程序、显示程序
等;
3.选择器件、焊接电路及运行调试主要包括:
外接存储器调试、键盘动态扫描调试、键盘查询功能调试及总体系统调试等。
四、课题研究方案


图1 硬件电路组成结构图
以单片机为核心,设计上采用51系列单片机为主控器,用测距传感器测车轮旋转的圈
数,用已知的车轮周长便可实现出租车行驶距离的测量,并采用EEPROM实现在系统掉电信
息存储,输出采用7段LED数码显示管。利用单片机丰富的I/O端口及其控制的灵活性,实
现等待计时、计里程、白天夜里价格转换、空调状态价格转换及综合计价并打印发票等功能。
五、日程安排

1.查阅资料,需求分析 第1--2周
2.系统总体设计,撰写开题报告 第3周
3.研究单片机原理,完成硬件电路的详细设计及软件编程 第4--9周
4.焊接电路并调试程序 第10--13周

单片机
独立键盘
显示单元
EEPROM
脉冲输入




测距传感器
输出显示





5.撰写毕业论文,准备答辩 第14--16周
六、参考文献
1.李群芳,张士军,黄建.单片微型计算机与接口技术.3版.北京:电子工业出版社,2008.
婧.单片机系统设计与仿真—基于Proteus.北京:航空航天大学出版社,2010.
3.高卫东,辛友顺,韩彦征.51单片机原理与实践.北京:北京航空航天大学出版社,2009.
4.戴佳,戴卫恒.51单片机C语言应用程序设计实例精讲.北京:电子工业出版社,2006.
5.(美)等译.嵌入式计算系统设计原理.北京:机械工业出版社,2002.

7.张欣欣,孙艳华.自动检测技术.北京:清华大学出版社.2006.
8.陈杰,黄鸿.传感器与检测技术.北京:高等教育出版社.2010.

指导教师意见
指导教师(签名): 年 月 日
学院意见

学院院长(签字): 年 月 日
填表说明: 题目类型: 一、工程设计; 二、应用研究; 3、理论研究; 4、其它;(选一、二、
3、4)。题目来源: A、自拟课题; B、民用科研课题;C、国防科研课题;(选A、B、C)。开题
报告内容利用宋体小四字号。

相关文档
最新文档