微控制器技术课程设计--6点阵LED广告屏.doc_第1页
微控制器技术课程设计--6点阵LED广告屏.doc_第2页
微控制器技术课程设计--6点阵LED广告屏.doc_第3页
微控制器技术课程设计--6点阵LED广告屏.doc_第4页
微控制器技术课程设计--6点阵LED广告屏.doc_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

微控制器技术课程设计6点阵LED广告屏1.1设计任务1616 LED点阵由四块88 LED点阵组成。控制点阵的扫描显示,使1 616 LED点阵循环显示汉字。例如:北京信息科技大学自动化学院!。1.2设计思路字模用软件事前生成程序中要不断的逐层扫描显示.1.3原理图及参考连线1616 LED点阵由四块88 LED 点阵组成,如图4-7-1 所示,88 点阵内部结构图及外部引脚图如图4-7-2 与图4-7-3 所示。由图4-7-2 可知,当行为“0”,列为“1”,则对应行、列上的LED 点亮。汉字显示如图4-7-4所示。 点阵显示接线图1.4 软件设计 流程图: 程序代码:#define Row1 XBYTE0xef00/ 端口定义#define Row2 XBYTE0xdf00#define Col1 XBYTE0xbf00#define Col2 XBYTE0x7f00void Delay(void)/ 延时子程序unsigned char i;for(i=0; i60; i+);void clear(void)/ 清屏Row1 = 0x00;Row2 = 0x00;Col1 = 0xff;Col2 = 0xff;void main(void)unsigned char Scan=0x01, i, j;unsigned int count=0;clear();while(1)for(i=0; i50; i+)for(j=0; j8; j+)Row1 = 0x00;Col1 = hzdotcount;/ 0-7列Col2 = hzdotcount+1;/ 8-15列count+=2;Row1 = Scan;/ 0-7行Scan = (Scan7);/ 行扫Delay();Row1 = 0x00;for(j=0; j8; j+)Row2 = 0x00;Col1 = hzdotcount;Col2 = hzdotcount+1;count+=2;Row2 = Scan;/ 8-15行Scan = (Scan7);Delay();Row2 = 0x00;count-=32;count+=2;if(count = (448-32) count=0;unsigned char code hzdot448 = /北(0) 京(1) 信(2) 息(3) 科(4) 技(5) 大(6) 学(7) 自(8) 动(9) 化(10) 学(11) 院(12) !(13)0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x22,0x20,0x72,0x3E,0x1A,0x20,0x06,0x20,0x02,0x20,0x02,0x20,0x02,0x30,0x02,0x2C,0x42,0x27,0x42,0x22,0x42,0x20,0x7C,0x00,0x00,/北,0/0x40,0x00,0x80,0x10,0xFE,0x3F,0x00,0x00,0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0xF8,0x0F,0x80,0x00,0x90,0x0C,0x98,0x18,0x8C,0x30,0x82,0x10,0xA0,0x00,0x40,0x00,/京,1/0x10,0x01,0x30,0x06,0x18,0x02,0xE8,0x7F,0x0C,0x00,0xCC,0x1F,0x0A,0x00,0xC9,0x1F,0x08,0x00,0xC8,0x1F,0x48,0x10,0x48,0x10,0x48,0x10,0xC8,0x1F,0x48,0x10,0x00,0x00,/信,2/0x80,0x00,0x40,0x00,0xF8,0x0F,0x08,0x08,0xF8,0x0F,0x08,0x08,0xF8,0x0F,0x08,0x08,0xF8,0x0F,0x00,0x00,0x90,0x00,0x14,0x21,0x14,0x49,0x16,0x48,0xE0,0x0F,0x00,0x00,/息,3/0x60,0x10,0x1E,0x11,0x10,0x12,0x10,0x12,0x7F,0x10,0x18,0x11,0x38,0x12,0x54,0x12,0x14,0x70,0x12,0x1E,0xD1,0x11,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,/科,4/0x08,0x04,0x08,0x04,0x08,0x04,0xBF,0x7F,0x08,0x04,0x28,0x04,0x98,0x3F,0x8C,0x10,0x0B,0x11,0x08,0x09,0x08,0x06,0x08,0x06,0x08,0x09,0x88,0x70,0x6A,0x20,0x04,0x00,/技,5/0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0xFF,0x7F,0x80,0x00,0x40,0x01,0x40,0x01,0x40,0x02,0x20,0x02,0x20,0x04,0x10,0x08,0x08,0x18,0x04,0x70,0x02,0x20,/大,6/0x80,0x10,0x08,0x31,0x30,0x13,0x10,0x09,0xFE,0x7F,0x02,0x20,0xF1,0x17,0x00,0x02,0x00,0x01,0xFE,0x7F,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x40,0x01,0x80,0x00,/学,7/0x80,0x00,0x80,0x01,0x40,0x00,0xF8,0x1F,0x08,0x10,0x08,0x10,0xF8,0x1F,0x08,0x10,0x08,0x10,0x08,0x10,0xF8,0x1F,0x08,0x10,0x08,0x10,0x08,0x10,0xF8,0x1F,0x08,0x10,/自,8/0x00,0x04,0x00,0x04,0x7E,0x04,0x00,0x04,0x00,0x3F,0xFF,0x24,0x08,0x24,0x08,0x24,0x24,0x24,0x44,0x24,0xF2,0x22,0x5F,0x22,0x02,0x21,0x80,0x28,0x40,0x10,0x00,0x00,/动,9/0x10,0x01,0x30,0x01,0x10,0x11,0x08,0x31,0x08,0x19,0x0C,0x0D,0x0A,0x07,0x09,0x03,0x88,0x01,0x48,0x01,0x28,0x01,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x3E,0x00,0x00,/化,10/0x80,0x10,0x08,0x31,0x30,0x13,0x10,0x09,0xFE,0x7F,0x02,0x20,0xF1,0x17,0x00,0x02,0x00,0x01,0xFE,0x7F,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x40,0x01,0x80,0x00,/学,11/0x00,0x01,0x1F,0x02,0xF1,0x7F,0x29,0x20,0x05,0x00,0xC5,0x1F,0x09,0x00,0x11,0x00,0xF1,0x7F,0x95,0x04,0x89,0x04,0x81,0x04,0x41,0x44,0x41,0x44,0x21,0x44,0x11,0x78,/院,12/0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x00,0x00,0x08,0x00,0x00,0x00,/!,13/;1.51 实验调试结果 1.61 实验心得这个试验中,字符显示顺序本来是本来是从上往下显示, 如果想要使显示的汉字顺序颠倒现在改成从下显示。有两种方法,第一个就是直接更改字符库,使字符库颠倒;第二个就是利用软件的方法来解决。注意在输入字符的时候要从后面的字符往前输入.比如想显示“北京信息科技大学自动化学院!”字符输入时输入”!院学化动自学大技科息信京北”具体程序如下:#include sst89x5x4.h#include Absacc.h/#include hzdot.h#include hzdot1.h#define Row1 XBYTE0xef00/ 端口定义#define Row2 XBYTE0xdf00#define Col1 XBYTE0xbf00#define Col2 XBYTE0x7f00void Delay(void)/ 延时子程序unsigned char i;for(i=0; i60; i+);void clear(void)/ 清屏Row1 = 0x00;Row2 = 0x00;Col1 = 0xff;Col2 = 0xff;void main(void)unsigned char Scan=0x01, i, j; int count=416-32;clear();while(1)for(i=0; i50; i+)for(j=0; j8; j+)Row1 = 0x00;Col1 = hzdotcount;/ 0-7列Col2 = hzdotcount+1;/ 8-15列count+=2;Row1 = Scan;/ 0-7行Scan = (Scan7);/ 行扫Delay();Row1 = 0x00;for(j=0; j8; j+)Row2 = 0x00;Col1 = hzdotcount;Col2 = hzdotcount+1;count+=2;Row2 = Scan;/ 8-15行Scan = (Scan7);Delay();Row2 = 0x00;count-=32;count-=2;if(count =0) count=416-32;unsigned char code hzdot416 = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x00,0x00,0x08,0x00,0x00,0x00,/!,13/0x00,0x01,0x1F,0x02,0xF1,0x7F,0x29,0x20,0x05,0x00,0xC5,0x1F,0x09,0x00,0x11,0x00,0xF1,0x7F,0x95,0x04,0x89,0x04,0x81,0x04,0x41,0x44,0x41,0x44,0x21,0x44,0x11,0x78,/院,12/ 0x80,0x10,0x08,0x31,0x30,0x13,0x10,0x09,0xFE,0x7F,0x02,0x20,0xF1,0x17,0x00,0x02,0x00,0x01,0xFE,0x7F,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x40,0x01,0x80,0x00,/学,11/0x10,0x01,0x30,0x01,0x10,0x11,0x08,0x31,0x08,0x19,0x0C,0x0D,0x0A,0x07,0x09,0x03,0x88,0x01,0x48,0x01,0x28,0x01,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x3E,0x00,0x00,/化,10/0x00,0x04,0x00,0x04,0x7E,0x04,0x00,0x04,0x00,0x3F,0xFF,0x24,0x08,0x24,0x08,0x24,0x24,0x24,0x44,0x24,0xF2,0x22,0x5F,0x22,0x02,0x21,0x80,0x28,0x40,0x10,0x00,0x00,/动,9/0x80,0x00,0x80,0x01,0x40,0x00,0xF8,0x1F,0x08,0x10,0x08,0x10,0xF8,0x1F,0x08,0x10,0x08,0x10,0x08,0x10,0xF8,0x1F,0x08,0x10,0x08,0x10,0x08,0x10,0xF8,0x1F,0x08,0x10,/自,8/0x80,0x10,0x08,0x31,0x30,0x13,0x10,0x09,0xFE,0x7F,0x02,0x20,0xF1,0x17,0x00,0x02,0x00,0x01,0xFE,0x7F,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x40,0x01,0x80,0x00,/学,7/0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0xFF,0x7F,0x80,0x00,0x40,0x01,0x40,0x01,0x40,0x02,0x20,0x02,0x20,0x04,0x10,0x08,0x08,0x18,0x04,0x70,0x02,0x20,/大,6/0x08,0x04,0x08,0x04,0x08,0x04,0xBF,0x7F,0x08,0x04,0x28,0x04,0x98,0x3F,0x8C,0x10,0x0B,0x11,0x08,0x09,0x08,0x06,0x08,0x06,0x08,0x09,0x88,0x70,0x6A,0x20,0x04,0x00,/技,5/0x60,0x10,0x1E,0x11,0x10,0x12,0x10,0x12,0x7F,0x10,0x18,0x11,0x38,0x12,0x54,0x12,0x14,0x70,0x12,0x1E,0xD1,0x11,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,/科,4/0x80,0x00,0x40,0x00,0xF8,0x0F,0x08,0x08,0xF8,0x0F,0x08,0x08,0xF8,0x0F,0x08,0x08,0xF8,0x0F,0x00,0x00,0x90,0x00,0x14,0x21,0x14,0x49,0x16,0x48,0xE0,0x0F,0x00,0x00,/ 息,3/0x10,0x01,0x30,0x06,0x18,0x02,0xE8,0x7F,0x0C,0x00,0xCC,0x1F,0x0A,0x00,0xC9,0x1F,0x08,0x00,0xC8,0x1F,0x48,0x10,0x48,0x10,0x48,0x10,0xC8,0x1F,0x48,0x10,0x00,0x00,/信,2/0x40,0x00,0x80,0x10,0xFE,0x3F,0x00,0x00,0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0xF8,0x0F,0x80,0x00,0x90,0x0C,0x98,0x18,0x8C,0x30,0x82,0x10,0xA0,0x00,0x40,0x00,/京,1/0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x22,0x20,0x72,0x3E,0x1A,0x20,0x06,0x20,0x02,0x20,0x02,0x20,0x02,0x30,0x02,0x2C,0x42,0x27,0x42,0x22,0x42,0x20,0x7C,0x00,0x00,/北,0/;1.52 实验调试结果1.62 实验心得这个实验是给的固定的程序,count给定值是320,点阵是四个88 每个字要扫描32次,所以最多能输入10个字,要输入多的汉字,必须修改count的值,同时要注意在hzdot数组中也要对应修改相应的值,使其不会会溢出.同时字符显示的速度由i来控制,i字体越大显示的越慢。7.电子发声设计1.1设计任务通过产生不同频率的波形,使发生器产生歌曲.1.2设计思路一个音符对应一个频率,将对应一个音符频率的方波通到扬声器上,就 可以发出这个音符的声音。将一段乐曲的音符对应频率的方波依次送到扬声 器,就可以演奏出这段乐曲。利用定时器控制单片机的 I/O 引脚输出方波, 将相应一种频率的计数初值写入计数器,就可产生对应频率的方波。 要产生音频脉冲,只要计算出某一音频的周期(1/频率),然后将此周 期除以2,即为半周期的时间。利用定时器计时这个半周期时间。每当计时到 后就将输出脉冲的I/O反相,就可以在I/O脚上得到此频率的脉冲。 音符与频率对照关系如表所示。对于每一个音符的演奏时间,可以通过 软件延时来处理。首先确定单位延时时间程序(根据CPU的频率不同而有所 变化)。然后确定每个音符演奏需要几个单位时间,就几次调用延时子程序 即可。音符与频率对照表(单位:Hz) 表 音符与频率对照表(单位:Hz)频率表是将曲谱中的音符对应的频率值依次记录下来,时间表是将各个音 符发音的相对时间记录下来(由曲谱中节拍得出)。 频率表和时间表是一一对应的,频率表的最后一项为0,作为重复的标志。 根据频率表中的频率算出对应的计数初值,然后依次写入T0 的计数器。将时间 表中相对时间值带入延时程序来得到音符演奏时间。1.3原理图及参考连线电子发声单元原理图 电子发声接线图音符与频率对照表(单位:Hz)1.4 软件设计 程序代码:#include SST89x5x4.hsbit POUT = P00;/扬声器控制引脚#define Clk 0x070000unsigned char data val_H;/计数器高字节unsigned char data val_L;/计数器低字节/频率表unsigned int code freq_list = 371,495,495,495,624,556,495,556,624, 495,495,624,742,833,833,833,742,624, 624,495,556,495,556,624,495,416,416, 371,495,833,742,624,624,495,556,495, 556,833,742,624,624,742,833,990,742, 624,624,495,556,495,556,624,495,416, 416,371,495,0;/时间表unsigned char code time_list= 4, 6, 2, 4, 4, 6, 2, 4, 4, 6, 2, 4, 4,12, 1, 3, 6, 2, 4, 4, 6, 2, 4, 4, 6, 2, 4, 4,12, 4, 6, 2, 4, 4, 6, 2, 4, 4, 6, 2, 4, 4,12, 4, 6, 2, 4, 4, 6, 2, 4, 4, 6, 2, 4, 4,12;void t0_isr() interrupt 1/定时器0中断处理程序POUT = POUT;/产生方波TH0 = val_H;/重新装入计数值TL0 = val_L;void Delay(unsigned char cnt)/单位延时unsigned char i;unsigned int j;for(i=0; icnt; i+)for(j=0; j8)&0xff;val_L = val&0xff;TH0 = val_H;TL0 = val_L;Delay(time_listi);i+;1.5实验心得这个电子发生实验,最后成果会演奏友谊地久天长,如果想让它演奏别的乐曲时,除了改乐谱还有改波形持续的时间.计算比较复杂.8.字符型LCD显示1.1 设计任务(1)在液晶显示器上显示字符串、数字等,并循环动态显示。如显示“Happy new year!”(2)按下不同按钮,显示内容改变。1.2设计思路在程序里设置数组,储存要输出的内容,通过开关控制P0口的选值输出到LCD液晶显示上不同的内容。1.3原理图及参考连线液晶单元原理图该指令完成下列功能:将空码(20H)写入DDRAM的全部 80个单元内,将地址指针计数器 AC清零,光标或闪烁归HOME 位,设置输入方式参数I/D1,即地址指针 AC为自动加一输入方式。该指令将地址指针计数器 AC 清零。执行该指令的效果有:将光标或闪烁位返回到显示屏的左上第一字符位上,即DDRAM地址00H单元位置,这是因为光标和闪烁位都是以地址指针计数器AC当前值定位的。如果画面已滚动,则撤消滚动效果,将画面拉回到 HOME 位。该指令的功能在于设置了显示字符的输入方式,即在计算机读/写DDRAM或 CGRAM后,地址指针计数器 AC 的修改方式,反映在显示效果上,当写入一个字符后画面或光标的移动。该指令的两个参数位I/D 和S确定了字符的输入方式。I/D表示当计算机读/写DDRAM或CGRAM的数据后,地址指针计数器 AC的修改方式,由于光标位置也是由AC值确定,所以也是光标移动的方式。 I/D0: AC为减一计数器,光标左移一个字符位。 I/D1 :AC为加一计数器,光标右移一个字符位。 S表示在写入字符时,是否允许显示画面的滚动 S0:禁止滚动 S1:允许滚动 S1且I/D0:显示画面向右滚动一个字符 S1且I/D1:显示画面向左滚动一个字符 综合而论,该指令可以实现四种字符的输入方式,见表所示。该指令控制着画面,光标及闪烁的开与关。该指令有三个状态位D、C、B,这三个状态位分别控制着画面,光标和闪烁的显示状态。 D:画面显示状态位。当 D1 时为开显示,当 D0 时为关显示。主要关显示仅是画面不出现,而DDRAM内容不变。这与清屏指令截然不同。 C:光标显示状态位。当C1时为光标显示,当 C0 时为光标消失。 B:闪烁显示状态位。当 B1 时为闪烁启用,当 B0 时为闪烁禁止。闪烁是指一个字符位交替进行正常显示态和全亮显示态。 S/C:滚动对象选择。S/C1:画面滚动;S/C0:光标滚动。/R/L:滚动方向选择。R/L1:向右滚动;R/L0:向左滚动。 该指令代码表如下表所示:DL:设置控制器与计算机的接口形式。接口形式体现在数据总线长度上。 DL1:设置数据总线为8位长度,即DB7DB0 有效 DL0:设置数据总线为 4 位长度,即 DB7DB4 有效。该方式下 8 位指令代码和数据将按先高4位后低4位的顺序分两次传输。 N:设置显示的字符行数。N0为一行字符行;N1 为两行字符行。 F:设置显示字符的字体。F0为57点阵字符体;F1 为 510 点阵字符体。计算机对指令寄存器通道读操作(RS0,R/W1)时,将读出此格式的“忙”标志 BF值和7位地址指针计数器AC的当前值。计算机随时都可以对 HD44780U读“忙”操作。BF值反映HD44780U的接口状态。计算机在对 HD44780U每次操作时首先都要读 BF值判断HD44780U的当前接口状态,仅有在BF0时计算机才可以向HD44780U写指令代码或显示数据和从HD44780U读出显示数据。 计算机读出的地址指针计数器AC当前值可能是 DDRAM地址也可能是 CGRAM的地址,这取决于最近一次计算机向AC写入的是哪类地址。下图:LCD液晶显示接线图1.4 软件设计#include#include/引脚定义sbit RSPIN = P15;sbit RWPIN = P16; sbit EPIN = P17; /使能引脚unsigned char XPOS,YPOS;unsigned char DisTab1 = TD-NMC+ Xian Tang Du Crop. ;unsigned char DisTab2 = ;void delay(unsigned int t) unsigned int i,j; for(i=0;it;i+) for(j=0;j10;j+);void lcdwaitidle(void)/忙状态判别 P0=0xff; /p0输入先给全1 RSPIN=0; /指令 RWPIN=1; /读数据 EPIN=1; while(P0&0x80)=0x80);/读取忙标志BF, 判为1否, 为1等待 EPIN=0;void lcdwcn(unsigned char c)/写指令c RSPIN=0; RWPIN=0; P0=c; EPIN=1; _nop_(); EPIN=0;void lcdwc(unsigned char c)/查询忙标志, 然后写指令c lcdwaitidle(); lcdwcn(c);void lcdwd(unsigned char d)/查询忙标志, 然后写数据d lcdwaitidle(); RSPIN=1; RWPIN=0; P0=d; EPIN=1; _nop_(); EPIN=0;void lcdpos(void)XPOS&=0x3f; /第一行地址YPOS&=0x03;if(YPOS=0x00) lcdwc(XPOS|0x80); /DDRAM地址设置(第1行)else if(YPOS=0x01)lcdwc(XPOS+0x40)|0x80);/DDRAM地址设置(第2行)void lcdinit(void)/LCD初始化 delay(150); lcdwcn(0x38);/总线8位, 两行显示, 5*7点阵字符体 delay(50); lcdwcn(0x38); delay(50); lcdwcn(0x38); lcdwc(0x38); lcdwc(0x08);/关闭显示, 光标消失, 闪烁禁止 lcdwc(0x01); /清屏 lcdwc(0x06);/AC加1计数, 禁止滚动 lcdwc(0x0e);/开显示void Display(void)/ 显示子程序for(XPOS=0; XPOS16; XPOS+)YPOS=0; lcdpos(); lcdwd(DisTab1XPOS); /显示数据函数YPOS=1; lcdpos(); lcdwd(DisTab2XPOS);delay(2000);for(XPOS=16; XPOS30; XPOS+)lcdwc(0x18);/ 左滚屏YPOS=0; lcdpos(); lcdwd(DisTab1XPOS);YPOS=1; lcdpos(); lcdwd(DisTab2XPOS);delay(2000);void main(void) EPIN=0;lcdinit();while(1)lcdwc(0x01);lcdwc(0x02);Display(); delay(5000);1.5实验调试结果1.6 实验心得本实验难度较大,在扫描时滚动时,左滚屏时能全部显示。课程设计体会作为一名自动化专业的大三学生,我觉得做单片机课程设计是十分有意义的,而且是十分必要的。在已度过的大学时间里,我们大多数接触的是专业课。我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力?如何把我们所学的专业基础课理论知识运用到实践中去呢?我想做类似的课程设计就为我们提供了良好的实践平台。课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。这次单片机课程设计虽然我们只历时一个星期,从理论到实践,学到了很多的东西。同时不仅巩固了以前所学过

温馨提示

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

评论

0/150

提交评论