基于51单片机的万年历设计.docx_第1页
基于51单片机的万年历设计.docx_第2页
基于51单片机的万年历设计.docx_第3页
基于51单片机的万年历设计.docx_第4页
基于51单片机的万年历设计.docx_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

基于51单片机的电子万年历的设计报告第五小组2012.2.221、 项目概述 随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。本设计是数据采集及处理,键盘控制,显示系统及报警系统与单片机有效结合,本设计是通过在“单片机原理及应用”课堂上学习的知识的综合应用,以及查阅资料,培养一种自学的能力。并且引导一种创新的思维,把学到的知识应用到日常生活当中。在设计的过程中,不断的学习,思考和同学间的相互讨论,运用科学的分析问题的方法解决遇到的困难,掌握单片机系统一般的开发流程,学会对常见问题的处理方法,积累设计系统的经验,充分发挥教学与实践的结合。全能提高个人系统开发的综合能力,开拓了思维,为今后能在相应工作岗位上的工作打下了坚实的基础。2、 项目要求 具有年、月、日、星期、时、分、秒等功能; 具有温度计功能; 具备年、月、日、星期、时、分、秒校准功能;3、 系统设计1、 框图设计AT89C51主控模块Ds12864液晶显示Ds1302时钟电路按键扫描Ds18b20实时环境温度采集电路报警提示电路2、 知识点(1) 时钟芯片DS1302的工作原理: DS1302在每次进行读、写程序前都必须初始化,先把SCLK端置 “0”,接着把RST端置“1”,最后才给予SCLK脉冲;读/写时序如下图4所示。图5为DS1302的控制字,此控制字的位7必须置1,若为0则不能把对DS1302进行读写数据。对于位6,若对程序进行读/写时RAM=1,对时间进行读/写时,CK=0。位1至位5指操作单元的地址。位0是读/写操作位,进行读操作时,该位为1;该位为0则表示进行的是写操作。控制字节总是从最低位开始输入/输出的。表6为DS1302的日历、时间寄存器内容:“CH”是时钟暂停标志位,当该位为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位为0时,时钟开始运行。“WP”是写保护位,在任何的对时钟和RAM的写操作之前,WP必须为0。当“WP”为1时,写保护位防止对任一寄存器的写操作。(2) DS1302的控制字节DS1302的控制字如表-1所示。控制字节的高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出 RAM RD 1 A4 A3 A2 A1 A0 / CK /WR 表-1 DS1302的控制字格式(3) 数据输入输出(I/O)在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。如下图-4所示 图-4 DS1302读/写时序图(4) DS1302的寄存器DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器及其控制字见表-2。 表-2 DS1302的日历、时间寄存器 此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0HFDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。 4、 硬件设计 本电路是由AT89S51单片机为控制核心,具有在线编程功能,低功耗,能在3V超低压工作;时钟电路由DS1302提供,它是一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31*8的用于临时性存放数据的RAM寄存器。可产生年、月、日、周日、时、分、秒,具有使用寿命长,精度高和低功耗等特点,同时具有掉电自动保存功能;温度的采集由DS18B20构成;1、 电路原理图2、 元件清单名称型号数量 单片机AT89SC511 液晶显示器JHD12864F1 电阻10k(1/4w)5电阻1k5电阻200欧姆5电阻4.7k5 电阻4.7k5 电位器10k1 电容10u/16V1 电容30p4 三极管90131 轻触按键小(尺寸66mm5.5)4 蜂鸣器5 V1 晶振12M(小体积)1 底座8脚1 底座40脚1 发光二极管 红1 发光二极管绿1 时钟芯片DS13021 纽扣电池及底座3V(大)1 液晶插槽20孔1 单排针3排120 杜邦线及杜邦头1股40 电路板AOA515、 软件设计本系统的软件系统主要分为主程序、液晶程序、时钟程序。1.程序流程图开始 初始化读、写日期、时间和温度分离日期时间温度显示值显示子程序日期、时间修改子程序返回 主程序框图 设置流程图2程序清单(1).主程序:#include #include #include ds1302.h#include ds18b20.h#include lcd12864.h /按键定义sbit KEY0 = P23; /设置sbit KEY3 = P24; /退出sbit KEY1 = P25; /减sbit KEY2 = P26; /加sbit LED1=P30;sbit LED2=P31;sbit LED3=P32;unsigned char w = 0; /调时标志位/键盘函数所要用到的变量unsigned char key_operate = 0;/设置模式unsigned char timer =0;unsigned char key_flag;unsigned int counter=0;unsigned char Lcd_t = 0; /LCD刷新间隔unsigned char ss; /全局变量unsigned int v,getdata,getdataa;static unsigned char menu = 0; /定义静态小时更新用数据变量static unsigned char keys = 0; /定义静态小时更新用数据变量static unsigned char timecount = 0; /定义静态软件计数器变量unsigned int flag = 0;/定义并初始化flagunsigned char DS = 10; /定义并初始化DSunsigned char DSS = 1; /定义并初始化DSSunsigned char flag1=0;unsigned char flag2=0;unsigned char flag3=0;unsigned char flag4=0;void lcd_dispwendu(void);/函数声明/*/void InitTimer0(void)/产生10ms时间间隔 TMOD = (TMOD & 0XF0) | 0X01; /定时器0工作在模式1,16Bit定时器模式 TH0 = (65536 - 8000)/256; TL0 = (65536 - 8000)%256; TR0 =1; ET0 =1;/开启定时器和中断 EA = 1;/开始总中断void INIT_Clock(void) /初始化万年历 InitLCD(); /初始12864 ClearScreen(0);/清屏 SetStartLine(0);/显示开始行 Initial_DS1302();/初始化ds1302Init_DS18B20();/初始化ds18b20InitTimer0();/调转到10ms的定时器中断函数/*/void DelayMM(unsigned int a)/延时函数 1MS/次while( a- );/*/ Displayen(2,0,0*8,t1);/ Displayen(1,0,63*8,3);/(1右半屏,0第1行,63第63列*8 数字,3第3个数字)/ Display (2,1,1*16,1); /(2左半屏,1第2行,1 第2 列*16汉字,1第1个汉字)/*/*-显示时间-*/void lcd_disptime(SYSTEMTIME *Time) unsigned char s1,s2,f1,f2,m1,m2; /定义时间映射局部变量(专用寄存器) if(Time-Second != ss)/判断是否需要更新ss = Time-Second; /更新数据 if(flag!=0)DS-;if(DSHour/10;s2=Time-Hour%10;f1=Time-Minute/10;f2=Time-Minute%10;m1=Time-Second/10;m2=Time-Second%10; Displayen(2,2,0*8,s1); Displayen(2,2,1*8,s2); Displayen(2,2,2*8,11); /: Displayen(2,2,3*8,f1); Displayen(2,2,4*8,f2); Displayen(2,2,5*8,11); /: Displayen(2,2,6*8,m1); Displayen(2,2,7*8,m2);/*-显示日期-*/void lcd_dispdate(SYSTEMTIME *Time) unsigned char n1,n2,n3,n4,n5,n6,n7,n8,n9; /定义局部变量 n1=Time-YearH/10; n2=Time-YearH%10; n3=Time-Year/10; n4=Time-Year%10; n5=Time-Month/10; n6=Time-Month%10; n7=Time-Day/10; n8=Time-Day%10; n9=Time-Week%10; Displayen(2,0,0*8,2); /2 Displayen(2,0,1*8,0); /0 Displayen(2,0,2*8,n3); Displayen(2,0,3*8,n4); Display (2,0,10*16,8); /年 Displayen(2,0,6*8,n5); Displayen(2,0,7*8,n6); Display (1,0,0*16,9); /月 Displayen(1,0,2*8,n7); Displayen(1,0,3*8,n8); Display (1,0,2*16,7); /日 Display (1,2,9*16,10 ); /星 Display (1,2,10*16,11); /期 Display (1,2,11*16,n9); /日/*-调整状态显示-*/void tiaozheng() switch (key_operate) case 1:/分钟Displayen(2,6,2*8,12 ); /- Displayen(2,6,3*8,12 ); /- Display (2,6,0*16,25 ); /- Display (2,6,2*16,18); /调 Display (2,6,3*16,19); /整 Display (1,6,0*16,21); /分 Display (1,6,1*16,22); /钟Displayen(1,6,4*8,12 ); /- Displayen(1,6,5*8,12 ); /- Display (1,6,3*16,24); /+ break; case 2: /小时 Display (2,6,0*16,25 ); /- Display (2,6,2*16,18); /调 Display (2,6,3*16,19); /整 Display (1,6,0*16,23); /小 Display (1,6,1*16,33); /时 Display (1,6,3*16,24); /+ break; case 3: /日期 Display (2,6,0*16,25 ); /- Display (2,6,2*16,18); /调 Display (2,6,3*16,19); /整 Display (1,6,0*16, 7); /日 Display (1,6,1*16,11); /期 Display (1,6,3*16,24); /+ break; case 4: /月份 Display (2,6,0*16,25 ); /- Display (2,6,1*16,32); Display (1,6,7*16,32); Display (2,6,2*16,18); /调 Display (2,6,3*16,19); /整 Display (1,6,0*16, 9); /月 Display (1,6,1*16,20); /份 Display (1,6,3*16,24); /+ break; case 5:; /年份 Display (2,6,0*16,25 ); /- Display (2,6,2*16,18); /调 Display (2,6,3*16,19); /整 Display (1,6,0*16, 8); /年 Display (1,6,1*16,20); /份 Display (1,6,3*16,24); /+ break; case 6: /星期Display (2,6,0*16,25 ); /- Display (2,6,2*16,18); /调 Display (2,6,3*16,19); /整 Display (1,6,0*16,10); /星 Display (1,6,1*16,11); /期 Display (1,6,3*16,24); /+ break; default: break; /*-显示温度-*/void lcd_dispwendu() unsigned char i=0;unsigned char a=0,b=0,c=0;/unsigned char td; i=ReadTemperature(); /读温度并送显 / td=1;if(i=0) LED2=0; LED1=LED3=1; if(i=40) LED2=0;LED1=LED3=1; a=i/1000; /千位 b=i/100%10; /百位 c=i/10%10; /十位 if(i 10) /从DS1302中得到时间 if(key_operate = 0) DS1302_GetTime(&CurrentTime); else DS1302_SetTime(&CurrentTime); /写时间 例如:12-12-12 lcd_disptime(&CurrentTime);/显示时间 /写公历日期 例如:09-01-01 lcd_dispdate(&CurrentTime);/显示日期 tiaozheng();/调整状态显示 if(!KEY3) Lcd_t = 0; void Timer_0(void)interrupt 1 EA = 0; TH0 = (65536 - 8000)/256; TL0 = (65536 - 8000)%256; Lcd_t +;/显示定时计数器,当为10时进行显示,时间10ms if(!KEY0)|(!KEY1)|(!KEY2)|(!KEY3)&(key_flag=0) timer=0;/清除不按键计数器 key_flag = 10; /设计 while(-key_flag);/延时去抖动 key_flag = 1; if(!KEY0) /Modle键,进入调时模式 if(key_operate=0) key_flag = 0;/允许按键长按 w =1; /调时标志位,为1时进入调时 if(counter+50) /Modle键要长按1S生效 key_operate+; key_flag = 1;/不允许按键长安 else key_operate+; if(key_operate 6) key_operate = 1; else if(!KEY1 & w = 1)/减1调整 switch (key_operate) case 1:/分钟 if(CurrentTime.Minute- =0) CurrentTime.Minute = 59; break; case 2:/小时 if(CurrentTime.Hour- =0) CurrentTime.Hour = 23; break; case 3: /日 if(CurrentTime.Day- =1) CurrentTime.Day = 31; break; case 4: /月 if(CurrentTime.Month- =1) CurrentTime.Month = 12; break; case 5: /年 if(CurrentTime.Year- =0) CurrentTime.Year = 99; break; case 6: /年(高位) if(CurrentTime.Week- =1) CurrentTime.Week = 7; break; default: break; else if(!KEY2 & w = 1)/加1调整 switch (key_operate) case 1:/分钟 if(+CurrentTime.Minute59) CurrentTime.Minute=0; break; case 2:/小时 if(+CurrentTime.Hour23) CurrentTime.Hour=0; break; case 3:/日 if(+CurrentTime.Day31) CurrentTime.Day=1; break; case 4:/月 if(+CurrentTime.Month12) CurrentTime.Month=1; break; case 5:/年 if(+CurrentTime.Year99) CurrentTime.Year=0; break; case 6:/年(高位) if(+CurrentTime.Week7) CurrentTime.Week=1; break; default: break; else if(!KEY3)/判断退出键是否按下 key_operate=0;/设计模式为0 counter=0;/定时中断计数为0 w=0; /调时标志位,为0时退出调时 else if(timer+1000)/长期不按键,自动回到走钟状态 timer=0; key_operate=0; counter=0; if(KEY0)&(KEY1)&(KEY2)&(KEY3) key_flag = 0; EA = 1; (2).lcd12864模块/总线驱动模式电路连接 DB7-0接数据总线 RS、RW、CS接地址总线 E接读写控制总线,采用与非门匹配时序#ifndef _LCD12864_H_#define _LCD12864_H_#include #define DATA P0 /LCD12864数据线sbit RS=P20; / 数据指令 选择sbit RW=P21; / 读写 选择sbit EN=P22; / 读写使能sbit cs1=P12; / 片选1sbit cs2=P13; / 片选2 unsigned char code logo= /*- 文字: -*/*- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -0-*/0x00,0x06,0x09,0x09,0xE6,0xF0,0x18,0x08,0x08,0x08,0x18,0x30,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x0F,0x18,0x30,0x20,0x20,0x20,0x10,0x08,0x00,0x00,0x00,/*- 文字: 一 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -1-*/0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*- 文字: 二 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -2-*/0x00,0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x0C,0x08,0x00,0x00,0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x18,0x10,0x00,/*- 文字: 三 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -3-*/0x00,0x04,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0xC4,0x86,0x04,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x20,0x00,/*- 文字: 四 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -4-*/0x00,0xFC,0x04,0x04,0x04,0xFC,0x04,0x04,0x04,0xFC,0x04,0x04,0x04,0xFE,0x04,0x00,0x00,0x7F,0x20,0x28,0x24,0x23,0x20,0x20,0x20,0x21,0x22,0x22,0x22,0x7F,0x00,0x00,/*- 文字: 五 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -5-*/0x00,0x04,0x84,0x84,0x84,0x84,0xFC,0x84,0x84,0x84,0x84,0xC4,0x86,0x84,0x00,0x00,0x40,0x40,0x40,0x40,0x78,0x47,0x40,0x40,0x40,0x40,0x40,0x7F,0x40,0x60,0x40,0x00,/*- 文字: 六 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -6-*/0x20,0x20,0x20,0x20,0x20,0x22,0x2C,0x38,0x20,0x20,0x20,0x20,0x20,0x30,0x20,0x00,0x00,0x40,0x20,0x18,0x06,0x03,0x00,0x00,0x00,0x01,0x02,0x0C,0x38,0x70,0x00,0x00,/*- 文字: 日 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -7-*/0x00,0x00,0x00,0xFE,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0xFF,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7F,0x00,0x00,0x00,0x00,/*- 文字: 年 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -8-*/0x00,0x20,0x10,0xCC,0x47,0x44,0x44,0xFC,0x44,0x44,0x44,0x64,0x46,0x04,0x00,0x00,0x04,0x04,0x04,0x07,0x04,0x04,0x04,0xFF,0x04,0x04,0x04,0x04,0x04,0x06,0x04,0x00,/*- 文字: 月 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -9-*/0x00,0x00,0x00,0x00,0xFE,0x22,0x22,0x22,0x22,0x22,0x22,0xFF,0x02,0x00,0x00,0x00,0x00,0x80,0x40,0x30,0x0F,0x02,0x02,0x02,0x02,0x42,0x82,0x7F,0x00,0x00,0x00,0x00,/*- 文字: 星 -*/*- Times New Roman12; 此字体下对应的点阵为:宽x高=16x16 -10-*/0x00,0x00,0x00,0xBE,0x2A,0x2A,0x2A,0xEA,0x2A,0x2A,0x2A,0x2A,0x3E,0x00,0x00,0x00,0x00,0x48,0x46,0x41,0x49,0x49,0x49,0x7F,0x49,0x49,0x49,0x49,0x49,0x41,0x40,0x00,/*- 文字: 期 -*/*- Times New Roman12; 此字体下对应的点阵为:宽x高=16x16 -11-*/0x00,0x04,0xFF,0x54,0x54,0x54,0xFF,0x04,0x00,0xFE,0x22,0x22,0x22,0xFE,0x00,0x00,0x42,0x22,0x1B,0x02,0x02,0x0A,0x33,0x62,0x18,0x07,0x02,0x22,0x42,0x3F,0x00,0x00,0x00,0x00,0x40,0x42,0x5C,0x48,0x40,0x40,0x7F,0x40,0x50,0x4E,0x44,0xC0,0x00,0x00,0x00,0x00,0x20,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x7F,0x00,0x00, /*当,12*/0x08,0x08,0xE8,0xA8,0xA9,0xAE,0xEA,0x08,0x08,0xC8,0x0C,0x0B,0xEA,0x08,0x08,0x00,0x00,0x00,0x7F,0x04,0x24,0x44,0x3F,0x00,0x00,0x1F,0x40,0x80,0x7F,0x00,0x00,0x00,/*前,13*/0x10,0x21,0x86,0x70,0x00,0x7E,0x4A,0x4A,0x4A,0x4A,0x4A,0x7E,0x00,0x00,0x00,0x00,0x02,0xFE,0x01,0x40,0x7F,0x41,0x41,0x7F,0x41,0x41,0x7F,0x41,0x41,0x7F,0x40,0x00,/*温,14*/0x00,0x00,0xFC,0x04,0x24,0x24,0xFC,0xA5,0xA6,0xA4,0xFC,0x24,0x24,0x24,0x04,0x00,0x80,0x60,0x1F,0x80,0x80,0x42,0x46,0x2A,0x12,0x12,0x2A,0x26,0x42,0xC0,0x40,0x00,/*度,15*/*- 文字: 倒 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -16-*/0x40,0x20,0xF8,0x17,0x62,0x52,0xCE,0x42,0xE2,0x42,0x00,0xF0,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x42,0x42,0x7F,0x22,0x22,0x22,0x00,0x4F,0x80,0x7F,0x00,0x00,/*- 文字: 计 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -17-*/0x20,0x21,0x2E,0xE4,0x00,0x00,0x20,0x20,0x20,0x20,0xFF,0x20,0x20,0x20,0x20,0x00,0x00,0x00,0x00,0x7F,0x20,0x10,0x08,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,/*- 文字: 调 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -18-*/0x20,0x21,0xEE,0x04,0x00,0x00,0xFF,0x29,0xA9,0xBF,0xA9,0xA9,0x01,0xFF,0x00,0x00,0x00,0x00,0x1F,0x88,0x44,0x30,0x0F,0x00,0x0F,0x04,0x04,0x4F,0x80,0x7F,0x00,0x00,/*- 文字: 整 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -19-*/0x00,0x04,0x74,0xD4,0xFF,0xD4,0x74,0x04,0x10,0x0C,0xB7,0x44,0xB4,0x0C,0x04,0x00,0x00,0x42,0x43,0x7A,0x43,0x42,0x43,0x7E,0x4B,0x4B,0x4A,0x4A,0x42,0x43,0x01,0x00,/*- 文字: 份 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -20-*/0x80,0x40,0xE0,0x98,0x47,0xA2,0x98,0x87,0x82,0x80,0x87,0x89,0xB0,0x60,0x20,0x00,0x00,0x00,0x7F,0x00,0x40,0x40,0x20,0x18,0x07,0x00,0x20,0x60,0x3F,0x00,0x00,0x00,/*- 文字: 分 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -21-*/0x

温馨提示

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

评论

0/150

提交评论