单片机课程设计报告数字电子钟_第1页
单片机课程设计报告数字电子钟_第2页
单片机课程设计报告数字电子钟_第3页
单片机课程设计报告数字电子钟_第4页
单片机课程设计报告数字电子钟_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 momo 单片机技术课程设计说明书 数字电子钟系 、 部: 电气与信息工程系 学生姓名: 指导教师: mou 职称 教授专 业: 自动化 班 级: mou 班 完成时间: 2010年 12月28日 摘 要数字电子钟广泛应用于生活生产中,因此对其深入了解很有必要,在此用单片机设计了一个简单的数字电子钟。本设计为基于at89s52单片机,辅以必要的外围电路,设计了一个简单的数字电子时钟。在硬件方面,除了cpu外,用数码管来进行显示,led采用动态扫描显示。通过led能够比较准确显示时、分、秒,四个简单的按键实现对时间的调整。软件方面采用汇编语言编程。整个电子钟系统能完成时间的显示,调时,调分,调

2、秒,复位等功能。本次设计的电子钟带有独立式键盘,用共阴数码管显示,现在生活中液晶显示器用的比较多,所以此电子钟在生活中推广的现实意义不是很大。关键词 数字电子钟;at89s52;汇编语言abstractdigital electronic clock is widely used in the production of life, it is necessary for its understanding.in this paper,we use a microcomputer to design a simple digital electronic clock.this design i

3、s based on the at89s52 microcontroller, combined with the necessary peripheral circuits, design a simple digital electronic clocks. on the hardware side, in addition to cpu, to carry a digital tube display, led display dynamic scan. through the led can accurately display hours, minutes, seconds, fou

4、r simple keys to realize the time adjustment. software using assembly language programming. the completion of the entire electronic time clock system to the display, transfer, the transfer points, transfer seconds, reset and other functions. the design of the electronic clock with a stand-alone keyb

5、oard, with a total of yin digital tube display, liquid crystal displays now used in daily life are moretherefore, the electronic clock in life to promote the practical significance is not great.keywords: digital electronic clock; at89s52; assembly language目录第一章 设计要求和方案的选择4 1.1 课程设计要求4 1.2 方案选择4 第二章

6、电子钟工作原理6 2.1 at89s52芯片的简介6 2.2 时钟振荡电路和信号的产生8 2.3 独立式键盘接口电路9 2.4 复位电路10 2.5 下载口电路11第三章 程序流程123.1 程序流程图123.2 程序清单133.3 原理图233.4 pcb图24第四章 系统调试224.1 硬件调试254.2 软件调试25致谢27附录28 参考文献29第1章 设计要求和方案的选择1.1 课程设计要求 (1)设计一个具有按键功能的电子钟。该电子钟上电或按键复位后能自动显示系统提示符“p.”, 5秒钟后电子钟从0时0分0秒开始运行,进入时钟运行状态;按电子钟启动/调整键,则电子钟进入时钟调整状态,

7、此时可利用各调整键调整时间,调整结束后可按启动/调整键再次进入时钟运行状态。(2)熟悉at89s52实验开发系统中的实验模块原理,画出电路原理图。(3)综合运用实验模块,用89s52开发设计具有一定功能的单片机控制系统,进行软、硬件设计及调试。 (4)为了保证计时的稳定及准确须由晶体振荡器提供表针时间基准信号。1.2方案选择(1)时钟方案电子时钟是本设计的最主要的部分。根据课题需要,可利用两种方案实现。方案一:本方案采用dallas公司的专用时钟芯片ds12887a。该芯片内部采用石英晶体振荡器,其芯片精度不大于10ms/年,且具有完备的时钟闹钟功能,因此,可直接对其以用于显示或设置,使得软件

8、编程相对简单。为保证时钟在电网电压不足或突然掉电等突发情况下仍能正常工作,芯片内部包含锂电池。当电网电压不足或突然掉电时,系统自动转换到内部锂电池供电系统。而且即使系统不上电,程序不执行时,锂电池也能保证芯片的正常运行,以备随时提供正确的时间。方案二:本方案完全用软件实现数字时钟。原理为:在单片机内部存储器设6个字节分别存放时钟的时、分、秒信息。利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将十字节清零。该方案具有硬件电路简单的特点。但由于每次执

9、行程序时,定时器都要重新赋初值,所以该时钟精度不高。而且,由于是软件实现,当单片机不上电,程序不执行时,时钟将不工作。基于硬件电路的考虑,本设计采用方案二完成数字时钟的功能。(2)led显示方案方案一:led静态显示。所谓静态显示,就是当显示器显示某一字符时,相应的发光二极管恒定的导通或截止。该方式每一位都需要一个8 位输出口控制。静态显示时较小的电流能获得较高的亮度,且字符不闪烁。但当所显示的位数较多时,静态显示所需的i/o口太多,造成了资源的浪费。方案二:led动态显示。所谓动态显示就是一位一位的轮流点亮各个位,对于显示器的每一位来说,每隔一段时间点亮一次。利用人的视觉暂留功能可以看到整个

10、显示,但必须保证扫描速度足够快,字符才不闪烁。显示器的亮度既与导通电流有关,也于点亮时间与间隔时间的比例有关。调整参数可以实现较高稳定度的显示。动态显示节省了i/o口,降低了能耗。从设计难易程度和节省i/o口和降低能耗出发,本设计采用方案二。第2章 电子钟的工作原理2.1 at89s52芯片介绍at89s52是一个低电压,高性能cmos 8位单片机,片内含8k bytes的可反复擦写的只读程序存储器(perom)和256 bytes的随机存取数据存储器(ram),器件采用atmel公司的高密度、非易失性存储技术生产,兼容标准mcs-51指令系统,片内置通用8位中央处理器和flash存储单元,功

11、能强大的at89s52单片机可为您提供许多较复杂系统控制应用场合。at89s52有40个引脚,32个外部双向输入/输出(i/o)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,at89s52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和flash存储器结合在一起,特别是可反复擦写的flash存储器可有效地降低开发成本。at89s52设计和配置了振荡频率可为0hz并可通过软件设置省电模式。空闲模式下,cpu暂停工作,而ram定时计数器、串行口、外中断系统可继续工作,掉电模式冻结振荡器而保存ram的数据,停止芯片其它功能直至外中断激活或硬

12、件复位。该芯片具有pdip、tqfp和plcc等三种封装形式。如图2.1所示:图2.1 at89s52芯片外部引脚图(1)信号引脚介绍 a)输入输出口p0.0p0.7: p0口8位双向口线。p1.0p1.7: p1口8位双向口线。p2.0p2.7: p2口8位双向口线。p3.0p3.7: p3口8位双向口线。b)ale:地址锁存控制信号在系统扩展时,ale用于控制把p0口输出低8位地址送入锁存器锁存起来,以实现低位地址和数据的分时传输。此外由于ale是以六分之一晶振频率的固定频率输出的正脉冲,因此可作为外部时钟或外部定时脉冲用。c)psen:外部程序存储器读选通信号在读外部rom时psen有效

13、(低电平),以实现外部rom单元的读操作。d)ea:访问程序存储器控制信号当ea信号为低电平时,对rom的读操作限定在外部程序存储器;而当ea信号为高电平时,则对rom的读操作是从内部程序存储器开始,并可延至外部程序存储器。e)rst:复位信号当输入的复位信号延续2个机器周期以上高电平时即为有效,用以完成单片机的复位操作。f)xtal1和xtal2 外接晶体引线端当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电空;当使用外部时钟时,用于拉外部的时钟脉冲信号。g)gnd:地线h)vcc:+5v电源以上就是at89s52单片机芯片的40条引脚的定义及简单功能说明。(2)信号引脚的第二功能由

14、于工艺及标准化等原因,芯片的引脚数目是有限制的,at89s52芯片把引脚数目限定为40条,但单片机为实现其功能所需要的信号数目却远远超过此数,因此就出现了供需矛盾。“复用”是唯一可行的办法,即给一些信号引脚赋以双重功能。(原先的信号定义为引脚第一功能,后赋以的为引脚第二功能。)p3口线的第二功能,p3的8条口线都定义有第二功能。89s52单片机的引脚的第二功能如表2-2所示:表2-1 p1口和p3的第二功能口线第二功能信号名称p3.0rxdrxd(串行数据接收)p3.1txdtxd(串行数据发送)p3.2(外部中断0申请)p3.3(外部中断1申请)p3.4t0t0(定时器0的计数输入)p3.5

15、t1t1(定时器1的计数输入)p3.6(外部数据存储器写选通)p3.7(外部数据存储器读选通)p1.0t2t2(定时器/计数器t2的外部计数输入),时钟输出p1.1t2ext2ex(定时器/计数器t2的捕捉/重载触发信号和方向控制)p1.5mosimosi(在系统编程用)p1.6misomiso(在系统编程用)p1.7scksck(在系统编程用)(3)at89s52的总线结构at89s52的管脚除了电源、复位、时钟接入、用户i/o口部分p3外,其余管脚都是为实现系统扩展而设置的。这些管脚构成了三总线形式,即:a: 地址总线(ab):地址总线宽度为16位,因此,其外部存储器直接地址外围为64k字

16、节。16位地址总线由p0经地址锁存器提供低8位地址(a0a7);p2口直接提供高8位地址(a8a15)。 b: 数据总线(db):数据总线宽度为8位,由p0口提供。 c: 控制总线(cb):由部分p3口的第二功能状态和4根独立控制线reset、ale、组成。2.2时钟振荡电路和信号的产生(1)时钟振荡电路图 时钟电路用于产生单片机工作所需要的时钟信号,而时序所研究的是指令执行中各信号之间的相互关系。单片机本身就如一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进行工作。时钟振荡电路图如图2.2.1所示: 图2.2.1 时钟振荡电路(2)时钟信号的产生

17、 单片机内部有一个高增益、反相放大器,其输入端为芯片引脚xtal1,其输出端为引脚xtal2。而在芯片的外部,xtal1和xtal2之间跨接晶体管振荡器和微调电容,从而构成一个稳定的自激振荡器。只要在单片机的xtal1和xtal2引脚外接晶体振荡器就构成了自激振荡器并在单片机内部产生时钟脉冲信号。电容器c8和c9的作用是稳定频率和快速起振,电容值在530pf,典型值为30pf。外部时钟方式是把外部已有的时钟信号引入到单片机内。此方式常用于多片单片机同时工作,以便于各单片机的同步。一般要求外部信号高电平的持续时间大于20s,且为频率低于12mhz的方波。2.3独立式键盘接口电路键盘接口通常包括硬

18、件和软件两部分。硬件是指键盘的结构及其主机的连接方式,软件是指对键盘操作的识别与分析,即键盘管理程序。键盘一般是一组开关(按键)的集合。常用的按键有三种:a)导电像胶式:利用利用橡胶接弹性使按键复位。b)机械触点式:利用金属的弹性使按键复位。c)柔性按键:外形及面板布局等可按整机要求设计,在价格、寿命、防潮、防锈等方面显示出较强的优越性。键盘按其工作原理又可分为编码式键盘和非编码式键盘。这两类键盘的主要区别是识别键符及给出相应键码的方法。编码键盘主要是用硬件来实现对键的识别。非编码键盘主要是由软件来实现键盘的定义与识别。非编码式键盘接照与主机连接方式的不同,可分独立式键盘和矩阵式键盘。1)独立

19、式键盘:独立式键盘中,每个按键占用一根i/o口线,每个按键电路相对独立。i/o口通过按键与地相连,i/o口有上拉电阻,无键按下时,引脚端为高电平,有键按下时,引脚电平被拉低。i/o口内部有上拉电阻时,外部可不接上拉电阻。2)矩阵式键盘:行列式键盘采用行列电路结构,当按键较多时所占用的口线相对较少,键盘规模越大,其优点越明显。所以,当按键数目大于8时,一般采用矩阵式键盘结构。键盘电路原理图如图2.3.1所示。图2.3.1 键盘电路2.4 复位电路复位操作有两种基本形式:一种是上电复位,另一种是按键复位。按键复位电路图如图2.4.1所示。按键复位具有上电复位功能外,若要复位,只要reset键,电源

20、vcc经电阻r1、r2分压,在reset端产生一个复位高电平。上电复位电路要求接通电源后,通过外部电容充电来实现单片机自动复位操作。上电瞬间reset引脚获得高电平,随着电容的充电,rerst引脚的高电平将逐渐下降。rerst引脚的高电平只要能保持足够的时间(2个机器周期),单片机就可以进行复位操作。单片机复位期间不产生ale和信号,即ale=1和=1。这表明单片机复位期间不会有任何取指操作。 复位后:pc值为0000h,表明复位后程序从0000h开始执行;sp值为07h值,表明堆栈底部在07h,需重新设置sp值;单片机在复位后,已使p0p3口每一端线为“1”,为这些端线用作输入口做好了准备。

21、 图2.4.1 复位电路 2.5下载口电路at89s52系列单片机支持在线编程,方便了程序的调试,本系统留有isp下载线的标准接口,如下图2.5.1所示。 2.5.1下载线接口 第三章 程序流程3.1程序流程图数字电子钟主要包括初始化程序,中断服务程序,加1子程序流程和键处理程序,它们所对应的程序流程图分别如图3.1.1,图3.1.2,图3.1.3,图3.1.4所示。 图3.1.2 中断服务程序 3.2 程序清单;伪指令区 secgb equ 40h ;初始化秒的各位shfgb secsb equ 41h ;初始化秒的十位bafsb gang equ 42h ;初始化一横 fengb equ

22、43h ;初始化分个位secgb fensb equ 44h ;初始化分十位bafsb gang1 equ 45h ;初始化一横 shigb equ 46h ;初始化时个位fengb shisb equ 47h ;初始化时十位fensb s2b2 bit 2fh.0 ;s2功能键的标志位 s2b3 bit 2fh.1 ;s3功能键的标志位(调时) s2b4 bit 2fh.2 ;s4功能键的标志位(调分) s2b5 bit 2fh.3 ;s5功能键的标志位(调秒);*;系统起始程序区 org 0000h strat: ljmp main org 000bh ljmp tc00 org 001b

23、h ljmp tc11;*;系统监控程序区 org 0030h ;确立堆栈区 main: mov sp, #80h;定时器初始化,定时器0以工作方式1工作 mov psw, #00h mov tmod, #01h clr f0 ;判断表格首地址标志位 clr ea mov r0, #20h ;ram区首地址 mov r7, #5fh ml: mov r0, #00h inc r0 djnz r7, mltsf: mov dptr, #disbhp ;系统初始化后提示符“p.”字符 mov r5, #08h mov r0, #78h lcall disptsf mov r6, #10 gggg:

24、 lcall time_500ms djnz r6, gggg ljmp keya;*;s2键功能keya: mov secgb, #00h ;初始化刚启动时的显示 mov secsb, #00h mov gang, #12h mov fengb, #00h mov fensb, #00h mov gang1, #12h mov shigb, #00h mov shisb, #00h setb ea ;允许中断 setb et1 mov tmod, #11h ;定时器1初始化 mov th1, #03ch mov tl1, #0b0h dddd: setb tr1 ;开启定时器 mov 30h

25、, #20 cpl 2fh.0 jb 2fh.0, kkk clr tr1ssss: lcall disp lcall key jb 20h.0, s2ja ;是s2键,转keya执行 jb 20h.1, s2jb ;是s3键,转keyb执行 jb 20h.2, s2jc ;是s4键,转keyc执行 jb 20h.3, s2jd ;是s5键,转keyd执行 ljmp ssss kkk: lcall disp ;调用显示子程序 lcall key jb 20h.0, dddd ;是s2键,转keya执行 ljmp kkk s2ja: ljmp dddd s2jb: ljmp keyb s2jc:

26、 ljmp keyc s2jd: ljmp keyd;*;s3键功能keyb: mov r0, #47h ;r0的初始化 lcall daad1 mov a, r2 xrl a, #24h ;判断24到了没 jnz aaaa lcall clr0aaaa: lcall key mov 78h, secgb ;更改显缓 mov 79h, secsb mov 7ah, gang mov 7bh, fengb mov 7ch, fensb mov 7dh, gang1 mov 7eh, shigb mov 7fh, shisb lcall disp jb 20h.0, s3ja ;是s2键,转key

27、a执行 jb 20h.1, s3jb ;是s3键,转keyb执行 jb 20h.2, s3jc ;是s4键,转keyc执行 jb 20h.3, s3jd ;是s5键,转keyd执行 ljmp aaaa s3ja: ljmp dddd s3jb: ljmp keyb s3jc: ljmp keyc s3jd: ljmp keyd;*;s4键功能keyc: mov r0, #44h ;r0的初始化 lcall daad1 mov a, r2 xrl a, #60h ;判断24到了没 jnz bbbb lcall clr0bbbb: lcall key mov 78h, secgb ;更改显缓 mo

28、v 79h, secsb mov 7ah, gang mov 7bh, fengb mov 7ch, fensb mov 7dh, gang1 mov 7eh, shigb mov 7fh, shisb lcall disp jb 20h.0, s4ja ;是s2键,转keya执行 jb 20h.1, s4jb ;是s3键,转keyb执行 jb 20h.2, s4jc ;是s4键,转keyc执行 jb 20h.3, s4jd ;是s5键,转keyd执行 ljmp bbbb s4ja: ljmp dddd s4jb: ljmp keyb s4jc: ljmp keyc s4jd: ljmp ke

29、yd;*;s5键功能keyd: mov r0, #41h ;r0的初始化 lcall daad1 mov a, r2 xrl a, #60h ;判断24到了没 jnz cccc lcall clr0cccc: lcall key mov 78h, secgb ;更改显缓 mov 79h, secsb mov 7ah, gang mov 7bh, fengb mov 7ch, fensb mov 7dh, gang1 mov 7eh, shigb mov 7fh, shisb lcall disp jb 20h.0, s5ja ;是s2键,转keya执行 jb 20h.1, s5jb ;是s3键

30、,转keyb执行 jb 20h.2, s5jc ;是s4键,转keyc执行 jb 20h.3, s5jd ;是s5键,转keyd执行 ljmp cccc s5ja: ljmp dddd s5jb: ljmp keyb s5jc: ljmp keyc s5jd: ljmp keyd;*;s6键功能keye:;*;s7键功能keyf:;*;s8键功能keyg:;*;s9键功能keyh:;常数表格区-;系统初始化后提示符“p.”字符代码表disbhp: db 10h,10h,10h,10h,10h,10h,10h,11h ;提示符“p.”字符序号disbh0: db 10h,10h,10h,10h,

31、10h,10h,10h,00h ;提示符“0”字符序号disbh1: db 10h,10h,10h,10h,10h,10h,10h,01h ;提示符“1”字符序号disbh2: db 10h,10h,10h,10h,10h,10h,10h,02h ;提示符“2”字符序号disbh3: db 10h,10h,10h,10h,10h,10h,10h,03h ;提示符“3”字符序号disbh4: db 10h,10h,10h,10h,10h,10h,10h,04h ;提示符“4”字符序号disbh5: db 10h,10h,10h,10h,10h,10h,10h,05h ;提示符“5”字符序号dis

32、bh6: db 10h,10h,10h,10h,10h,10h,10h,06h ;提示符“6”字符序号disbh7: db 10h,10h,10h,10h,10h,10h,10h,07h ;提示符“7”字符序号;显示字符段选码表(共阳极代码)tab: db 0c0h, 0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h ;0-8 db 90h, 88h,83h,0c6h,0a1h,86h,8eh,0ffh,0ch,0bfh ;9,a,b,c,d,e,f,灭,p.;*; ;子程序区;定时500ms子程序,用中断time_500ms: push psw setb rs0;选用通

33、用寄存器第二组 setb rs1 setb ea ;允许总中断 setb et0 ;允许定时器0中断 mov th0, #3ch mov tl0, #0b0h mov r3, #10 clr 21h.0 ;清0标志位 setb tr0 ;开启定时器0 kk: jb 21h.0, exit1 ;判断标志位 lcall disp ljmp kk exit1: pop psw ret;*;中断服务程序; tc00: push psw setb rs0 ;选用通用寄存器第二组setb rs1 mov th0, #3ch ;定时器0初始化mov tl0, #0b0h djnz r3, exit2 ;判断

34、十次定时到否setb 21h.0 ;标志位置1 exit2: pop psw reti;*;中断服务程序; tc11: push psw push acc clr rs0 setb rs1 mov th1, #3ch ;定时器1给初值 mov tl1, #0b0h mov a, 30h dec a mov 30h, a jnz ret0 mov 30h, #20 mov r0, #41h ;r0的初始化 lcall daad1 ;调用加一子程序 mov a, r2 xrl a, #60h ;判断一秒到了没 jnz ret0 ;不到,则转reto lcall clr0 ;到了,则显示缓冲区清0

35、mov r0, #44h ;判断一秒到了没 lcall daad1 mov a, r2 xrl a, #60h ;判断60秒到了没 jnz ret0 lcall clr0 mov r0, #47h ;r0的初始化 lcall daad1 mov a, r2 xrl a, #60h ;判断一小时到了没 jnz ret0 lcall clr0 ret0: mov 78h, secgb ;更改显缓 mov 79h, secsb mov 7ah, gang mov 7bh, fengb mov 7ch, fensb mov 7dh, gang1 mov 7eh, shigb mov 7fh, shis

36、b pop acc pop psw reti;键盘扫描子程序key:key:lcall keychuli;调p1口数据处理子 jz exit;没有键按下,转返回lcalldisp;调显示子程序去抖动lcalldisp lcall keychuli;调p1口数据处理子程序 jz exit;没有键按下,转返回movb,20h;保存取反后的键值keysf:lcallkeychuli;调p1口数据处理子程序jzkey1;键释放,转恢复键值lcalldisp;调显示子程序延时 ljmp keysf ;等待释放key1:mov 20h,b;键值送20h保存exit:ret;子程序返回;p1口数据处理子程序

37、keychuli:push psw;保护现场clrrs1;改变当前寄存器组为组1setbrs0movp1,#0ffh;先向p1口写1mova,p1;读p1口数据cpla;p1口数据取反mov20h,a;保存取反后的键值clrrs;恢复当前寄存器组为组0clr rs0poppsw;恢复现场ret ;显示子程序;入口:78h,79h,7ah,7bh,7ch,7dh,7eh,7fh, disp: pushdphpushdplpushaccpushpsw clr rs1 ;改变当前寄存器组为组1 setb rs0 mov r1, #78h ;显示缓冲存储单元首地址 mov r2, #0feh ;从右至

38、左显示 disp1:mova, r1movdptr, #tabmovca, a+dptrmovp0, a;送段控 movp2, r2 ;送位控lcalldl ;延时2毫秒mova, r2jnbacc.7, disp2rlaincr1movr2, aljmpdisp1disp2:poppsw ;恢复当前寄存器组的组号popaccpopdplpopdphret;延时2毫秒子程序dl: push psw setb rs1 setb rs0 movr7, #02hdl1:movr6, #0ffhdl2:djnzr6, dl2djnzr7, dl1 pop pswret;将78至7eh单元的内容交换子程序jiaohuan: mov78h,79hmov79h,7ahmov7ah,7bhmov7bh,7chmov7ch,7dhmov7dh,7ehmov7eh,7fhret;数码管灭子程序mie:mov78h,#10hmov79h,#10hmov7ah,#10hmov7bh,#10hmov7ch,#10hmov7dh,#10hmov7eh,#10hmov7fh,#10hret;系统初始化后送内容到78h单元disptsf: clr a movc a, a

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论