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

下载本文档

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

文档简介

1、课程设计报告设计题目 单片机电子琴 专 业 * 班 级 0802 姓 名 * 学 号 * 同组成员 * 指导教师 * 提交日期 2011-05-17 摘要随着社会的发展进步,音乐逐渐成为我们生活中很重要的一部分,有人曾说喜欢音乐的人不会向恶。我们都会抽空欣赏世界名曲,作为对精神的洗礼。本论文设计一个基于单片机的简易电子琴。电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本系统是以51系列单片机at89c51为主控制器,附有矩阵键盘、led显示管、扬声器组成。

2、系统完成显示输入信息、播放相应音符等基本功能。本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。关键词:at89c51,矩阵键盘,led显示管,蜂鸣器,1602液晶显示,1307时钟芯片。目录第1章 概述 -4第2章 课程设计任务及要求 -4 2.1 设计任务 -4 2.2 设计要求 -4第3章 系统设计-5 3.1设计方案 -5 3.2 系统设计 -53.2.2 系统流程图 -5 3.2.2 系统原理图 - -73.3 文件程序代码-7 第4章 心得体会-42第1章 概述单片微型计算机是大规模集成电路技术发展的产物,属第四代电子计算机,

3、它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。它的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器。 本文主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴统硬件组成。

4、利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏想要表达的音乐。并且本文分别从原理图,主要芯片,各模块原理及各模块的程序的调试来详细阐述。本系统是简易电子琴的设计,按下键盘矩阵中的按键会使数码管显示当前按键,扬声器播放器对应的音符。通过设计本系统可了解单片机的基本功能。对单片机的了解有一个小的飞跃。第2章 课程设计任务及要求2.1 设计任务 1、任务设计一简易电子琴,要求能够发出1,2,3,4,5,6,7等7个音符,具有一般演奏功能。2.2 设计要求1)具有一般演奏功能,利用所给键盘的1,2,3,4,5,6,7,8八个键,能够发出8个不同的音调,并且要求按下按键发声,松开延时一段时间

5、停止,中间再按别的键则发另一个音调的声音2)具有自动播放已存曲目功能3)显示当前正在播放的歌曲的名称和歌词4)显示北京时间第3章 系统设计3.1设计方案该电路由时钟模块,液晶模块,键盘扫描模块组成。时钟模块:由时钟模块1307实现,能够正确显示北京时间,以及扩展显示星期等等。液晶模块:将时钟模块的信息正确的显示到液晶显示屏上,使用1602的液晶。键盘扫描模块:对十六个按键进行逐次扫描,扫描到前八个按键时,蜂鸣器依次发出1,2,3,4,5,6,7,8的音调声,岸其余按键时,可以跳转到不同的曲目以及液晶模块显示,保留几个按键做以后的扩展用。3.2 系统设计 3.2.1 系统流程图分析各项设计要求后

6、,可绘制如下程序流程图3.2.2 系统原理图3.3 文件程序代码(1). 液晶模块头文件sbit lcd_rs= p36;sbit lcd_rw= p35;sbit lcd_en = p33;sfr lcddata=0x80;void lcdwrite(bit cd,unsigned char input);void lcdwait(unsigned char cishu);void lcddelay();void lcdinitialize();void lcdprintstring(unsigned char x,unsigned char y,unsigned char *string)

7、;void lcdprintnumber(unsigned char x,unsigned char y,unsigned char bits,unsigned int number);unsigned char readstate();void lcdinitialize()lcddelay();lcdwrite(0,0x38);lcddelay();lcdwrite(0,0x38);lcddelay();lcdwrite(0,0x38);lcddelay();lcdwrite(0,0x38);lcddelay();lcdwrite(0,0x08);lcddelay();lcdwrite(0

8、,0x01);lcddelay();lcdwrite(0,0x06);lcddelay();lcdwrite(0,0x0c);void lcdwrite(bit cd,unsigned char data)lcdwait(20);lcd_rs=cd;lcd_rw=0;lcd_en=0;lcddata=data;lcd_en=1;lcd_en=0;void lcdprintstring(unsigned char x,unsigned char y,unsigned char *string)unsigned char address;address=x+(1-y)*0x40+0x80;lcdw

9、rite(0,address);while(*string!=0)lcdwrite(1,*string);string+;void lcdprintnumber(unsigned char x,unsigned char y,unsigned char weishu,unsigned int number)unsigned char address;unsigned char j,temp5;address=x+(1-y)*0x40+0x80;lcdwrite(0,address);/if(number0)temp0=(number%100000)/10000+48;temp1=(number

10、%10000)/1000+48;temp2=(number%1000)/100+48;temp3=(number%100)/10+48;temp4=number%10+48;for(j=5-weishu;j5;j+)lcdwrite(1,tempj);void lcdwait(unsigned char cishu)unsigned char i;for(i=0;icishu;i+)if(readstate()&0x80)continue;else break; unsigned char readstate()unsigned char temp;p0=0xff;lcd_en=0;lcd_r

11、s=0;lcd_rw=1;lcd_en=1;temp=lcddata;lcd_en=0;return temp; void lcddelay()unsigned int a;for(a=0;a1000;a+); (2).时钟芯片模块头文件void iicdelay(unsigned int times);void iicstart() mde=1; mdo=1; iicdelay(2); mco=1; iicdelay(2); mdo=0; iicdelay(2);void iicstop() mde=1; mdo=0; iicdelay(2); mco=1; iicdelay(2); mdo

12、=1;void iicack() mde=1; mco=0; mdo=0; iicdelay(2); mco=1; iicdelay(2); mco=0; iicdelay(1); mdo=1;void iicnack() mde=1; /mco=0; mdo=1; iicdelay(2); mco=1; iicdelay(2); mco=0; bit iicreadack() bit ack; mco = 0; iicdelay(2); mde=1; mdo=1; mco=1; iicdelay(2); mde=0; ack=mdi; mco=0; return ack; void iicw

13、riteda(unsigned char da) unsigned char i; mde=1; for(i=0;i8;i+) mco=0; iicdelay(0); if(dai)&0x80) mdo=1; else mdo=0; iicdelay(2); mco=1; iicdelay(3); mco=0;unsigned char iicreadda() unsigned char da; int i; da=0; mde=1; mdo=1; mde=0; for(i=0;i8;i+) mco=0; iicdelay(3); mco=1; iicdelay(1); if(mdi=1) d

14、a=da1;da+; else da=da1; mco=0; return da;void iicdelay(unsigned int t) unsigned int i,j; for(i=0;i0;j-);void readtime(unsigned char time7) bit eatemp; unsigned char temp; eatemp=ea;iicstart(); iicwriteda(0xd0); iicreadack(); iicwriteda(0x00); iicreadack(); iicstop(); iicdelay(1); iicstart(); iicwrit

15、eda(0xd1); iicreadack(); time0=iicreadda(); iicack(); time1=iicreadda(); iicack(); time2=iicreadda(); iicack(); time3=iicreadda(); iicack(); time4=iicreadda(); iicack(); time5=iicreadda(); iicack(); time6=iicreadda(); iicnack(); iicstop(); iicdelay(1); time0=(time0&0x7f)4)*10+(time0&0x0f); /second t

16、ime1=(time1&0x7f)4)*10+(time1&0x0f); /minute if(time2&0x40) if(time2&0x20)temp=0x80;else temp=0x40; time2=(time2&0x1f)4)*10+(time2&0x0f); /hour time2|=temp; else time2=(time2&0x3f)4)*10+(time2&0x0f); time3=time3&0x07; /week time4=(time4&0x3f)4)*10+(time4&0x0f); /date time5=(time5&0x1f)4)*10+(time5&0

17、x0f); /month time6=(time64)*10+(time6&0x0f); /year ea=eatemp;void settime(unsigned char time7) bit eatemp; unsigned char temp=0; unsigned char timetemp7; eatemp=ea; for(temp=0;temp7;temp+)timetemptemp=timetemp; temp=0; timetemp6=(timetemp6/10)4)+(timetemp6%10); timetemp5=(timetemp5/10)4)+(timetemp5%

18、10); timetemp4=(timetemp4/10)4)+(timetemp4%10); timetemp3=(timetemp3/10)4)+(timetemp3%10); if(timetemp2&0xc0)=0x00) timetemp2=(timetemp2/10)4)+(timetemp2%10); else if(timetemp2&0xc0)=0x01)temp=0x40;else temp=0x60; timetemp2&=0x3f; timetemp2=(timetemp2/10)4)+(timetemp2%10); timetemp2|=temp; timetemp1

19、=(timetemp1/10)4)+(timetemp1%10); timetemp0=(timetemp0/10)4)+(timetemp0%10); timetemp0&=0x7f; iicstart(); iicwriteda(0xd0); iicreadack(); iicwriteda(0x00); iicreadack(); iicwriteda(timetemp0); iicreadack(); iicwriteda(timetemp1); iicreadack(); iicwriteda(timetemp2); iicreadack(); iicwriteda(timetemp

20、3); iicreadack(); iicwriteda(timetemp4); iicreadack(); iicwriteda(timetemp5); iicreadack(); iicwriteda(timetemp6); iicreadack(); iicstop(); iicdelay(1); ea=eatemp; void switchrtc(unsigned char switch) unsigned char temp; bit eatemp; eatemp=ea; iicstart(); iicwriteda(0xd0); iicreadack(); iicwriteda(0

21、x00); iicreadack(); iicstop(); /iicdelay(1); iicstart(); iicwriteda(0xd1); iicreadack(); temp=iicreadda(); iicnack(); iicstop(); /iicdelay(1); if(switch)temp&=0x7f; else temp|=0x80; iicstart(); iicwriteda(0xd0); iicreadack(); iicwriteda(0x00); iicreadack(); iicwriteda(temp); iicreadack(); iicstop();

22、 /iicdelay(1);ea=eatemp;(3) 主体程序#include#include #include#includesbit lie0=p23;sbit lie1=p22;sbit lie2=p21;sbit lie3=p20;sbit pwm1=p26;unsigned char temp;unsigned char key;unsigned char sth0,stl0;unsigned char jishi=0;unsigned char n=0; /n为节拍常数变量 unsigned char a7=00,59,19,3,4,8,10;unsigned char b7;

23、void delay1s(void)unsigned char i,k;for(k=100;k0;k-)for(i=100;i0;i-);/*定时器0中断*/void timer0(void) interrupt 1 th0=sth0; tl0=stl0; pwm1=pwm1; /*定时器1中断*/void int0() interrupt 3 /采用中断3 控制节拍 节拍延时 th1=0xd8; tl1=0xef; n-; /*定时器2中断*/void int1() interrupt 5 /采用中断3 控制节拍 节拍延时 th2=0xd8; tl2=0xef; n-; void delay

24、 (unsigned char m) /控制频率延时 unsigned i=3*m; while(-i); void delayms(unsigned char a) /豪秒延时子程序 while(-a); /采用while(-a) 不要采用while(a-); 各位可编译一下看看汇编结果就知道了! unsigned int code tab=0xfc43,0xfd08,0,0,0xfd08,0xfd32,0,0,0xfd81,0xfdc7,0,0,0xfe05,0xfe21,0,0,;/*unsigned char code table=0x03,0x9f,0x25,0x0d,0x99,0x

25、49,0x41,0x1f,0x01,0x09,0x11,0xc1,0x63,0x85,0x61,0x71,0xff; */unsigned char code music_tab_1= /*1*/0x20,0x20,0x20,0x10,0x20,0x10,0x20,0x20,0x20,0x20,0x20,0x20,0x1c,0x20,0x20,0x20,0x24,0x20,0x26,0x20,0x1c,0x20,0x19,0x20,0x18,0x10,0x19,0x10,0x20,0x30,0x01,0x20,0x20,0x10,0x20,0x10,0x1c,0x20,0x30,0x20,0x

26、30,0x20,0x2b,0x20,0x26,0x20,0x20,0x20,0x01,0x20,0x20,0x20,0x24,0x20,0x20,0x20,0x26,0x10,0x2b,0x20,0x30,0x10,0x2b,0x60,/*2*/0x20,0x20,0x20,0x10,0x20,0x10,0x20,0x20,0x20,0x20,0x20,0x20,0x1c,0x20,0x20,0x20,0x24,0x20,0x26,0x20,0x1c,0x20,0x19,0x20,0x18,0x10,0x19,0x10,0x20,0x30,0x01,0x20,0x20,0x10,0x20,0x

27、10,0x1c,0x20,0x30,0x20,0x30,0x20,0x2b,0x20,0x26,0x20,0x20,0x20,0x01,0x20,0x20,0x20,0x24,0x20,0x20,0x20,0x26,0x10,0x2b,0x20,0x30,0x10,0x2b,0x60,/11767112377550x30,0x40,0x18,0x20,0x19,0x20,0x1c,0x20,0x19,0x10,0x18,0x10,0x18,0x20,0x2b,0x20,0x13,0x20,0x19,0x20,0x19,0x20,0x20,0x10,0x20,0x10,/632211170x1c

28、,0x20,0x13,0x10,0x15,0x10,0x15,0x20,0x18,0x20,0x18,0x40,0x18,0x20,0x19,0x20,/67112377550x1c,0x20,0x19,0x10,0x18,0x10,0x18,0x20,0x15,0x20,0x13,0x20,0x19,0x20,0x19,0x20,0x20,0x10,0x20,0x10,/6322110x1c,0x20,0x13,0x10,0x15,0x10,0x15,0x20,0x18,0x20,0x18,0x60,/000000x01,0x40,0x01,0x40,0x01,0x40,0x01,0x40,

29、0x01,0x60,/1155555 5777550x18,0x10,0x18,0x10,0x10,0x20,0x10,0x10,0x10,0x10,0x10,0x20,0x10,0x20,0x10,0x20,0x19,0x10,0x19,0x10,0x19,0x20,0x20,0x10,0x20,0x10,/555565111120x10,0x20,0x10,0x10,0x10,0x10,0x10,0x20,0x0e,0x20,0x10,0x20,0x18,0x10,0x18,0x10,0x18,0x20,0x18,0x10,0x15,0x10, /32443324430x13,0x20,0

30、x15,0x10,0x12,0x10,0x12,0x20,0x13,0x20,0x13,0x20,0x15,0x10,0x12,0x10,0x12,0x20,0x13,0x20,/324430x13,0x20,0x15,0x10,0x12,0x10,0x12,0x20,0x13,0x20,/55110x10,0x40,0x10,0x20,0x18,0x10,0x18,0x10,/555555777550x10,0x20,0x10,0x10,0x10,0x10,0x10,0x20,0x10,0x20,0x10,0x20,0x19,0x10,0x19,0x10,0x19,0x20,0x20,0x1

31、0,0x20,0x10,/555565111120x10,0x20,0x10,0x10,0x10,0x10,0x10,0x20,0x0e,0x20,0x10,0x20,0x18,0x10,0x18,0x10,0x18,0x20,0x18,0x10,0x15,0x10,/32443321710x13,0x20,0x15,0x10,0x12,0x10,0x12,0x20,0x13,0x20,0x13,0x20,0x15,0x10,0x18,0x10,0x18,0x20,0x19,0x10,0x18,0x60,0x01,0x40,0x01,0x40,/第二次 /*3*/0x20,0x20,0x20,

32、0x10,0x20,0x10,0x20,0x20,0x20,0x20,0x20,0x20,0x1c,0x20,0x20,0x20,0x24,0x20,0x26,0x20,0x1c,0x20,0x19,0x20,0x18,0x10,0x19,0x10,0x20,0x30,0x01,0x20,0x20,0x10,0x20,0x10,0x1c,0x20,0x30,0x20,0x30,0x20,0x2b,0x20,0x26,0x20,0x20,0x20,0x01,0x20,0x20,0x20,0x24,0x20,0x20,0x20,0x26,0x10,0x2b,0x20,0x30,0x10,0x2b,

33、0x60,/*4*/0x20,0x20,0x20,0x10,0x20,0x10,0x20,0x20,0x20,0x20,0x20,0x20,0x1c,0x20,0x20,0x20,0x24,0x20,0x26,0x20,0x1c,0x20,0x19,0x20,0x18,0x10,0x19,0x10,0x20,0x30,0x01,0x20,0x20,0x10,0x20,0x10,0x1c,0x20,0x30,0x20,0x30,0x20,0x2b,0x20,0x26,0x20,0x20,0x20,0x01,0x20,0x20,0x20,0x24,0x20,0x20,0x20,0x26,0x10,

34、0x2b,0x20,0x30,0x10,0x2b,0x60,/11767112377550x30,0x40,0x18,0x20,0x19,0x20,0x1c,0x20,0x19,0x10,0x18,0x10,0x18,0x20,0x2b,0x20,0x13,0x20,0x19,0x20,0x19,0x20,0x20,0x10,0x20,0x10,/632211170x1c,0x20,0x13,0x10,0x15,0x10,0x15,0x20,0x18,0x20,0x18,0x40,0x18,0x20,0x19,0x20,/67112377550x1c,0x20,0x19,0x10,0x18,0

35、x10,0x18,0x20,0x15,0x20,0x13,0x20,0x19,0x20,0x19,0x20,0x20,0x10,0x20,0x10,/6322110x1c,0x20,0x13,0x10,0x15,0x10,0x15,0x20,0x18,0x20,0x18,0x60,/335350x01,0x40,0x01,0x40,0x01,0x40,0x01,0x40,0x01,0x60,/1155555 5777550x18,0x10,0x18,0x10,0x10,0x20,0x10,0x10,0x10,0x10,0x10,0x20,0x10,0x20,0x10,0x20,0x19,0x1

36、0,0x19,0x10,0x19,0x20,0x20,0x10,0x20,0x10,/555565111120x10,0x20,0x10,0x10,0x10,0x10,0x10,0x20,0x0e,0x20,0x10,0x20,0x18,0x10,0x18,0x10,0x18,0x20,0x18,0x10,0x15,0x10, /32443324430x13,0x20,0x15,0x10,0x12,0x10,0x12,0x20,0x13,0x20,0x13,0x20,0x15,0x10,0x12,0x10,0x12,0x20,0x13,0x20,/324430x13,0x20,0x15,0x1

37、0,0x12,0x10,0x12,0x20,0x13,0x20,/55110x10,0x40,0x10,0x20,0x18,0x10,0x18,0x10,/555555777550x10,0x20,0x10,0x10,0x10,0x10,0x10,0x20,0x10,0x20,0x10,0x20,0x19,0x10,0x19,0x10,0x19,0x20,0x20,0x10,0x20,0x10,/555565111120x10,0x20,0x10,0x10,0x10,0x10,0x10,0x20,0x0e,0x20,0x10,0x20,0x18,0x10,0x18,0x10,0x18,0x20

38、,0x18,0x10,0x15,0x10,/32443321710x13,0x20,0x15,0x10,0x12,0x10,0x12,0x20,0x13,0x20,0x13,0x20,0x15,0x10,0x18,0x10,0x18,0x20,0x19,0x10,0x18,0x60,0x01,0x40,0x01,0x40,/结尾/3217121334233420x13,0x20,0x15,0x20,0x18,0x30,0x19,0x10,0x18,0x10,0x15,0x10,0x18,0x40,0x13,0x40,0x13,0x40,0x12,0x40,0x15,0x40,0x01,0x40

39、,0x01,0x40,0x01,0x40,0x01,0x40,0x01,0x60,0x00; unsigned char code music_tab_2= 0x10,0x03, 0x11,0x03, 0x15,0x66, 0x11,0x03, 0x15,0x02,0x17,0x02, 0x11,0x01, 0x0d,0x02, 0x0d,0x02, 0x10,0x66,0x0f,0x03, 0x10,0x02, 0x15,0x02, 0x0f,0x15, 0x0d,0x03,0x0d,0x03, 0x0e,0x66, 0x0d,0x03, 0x0e,0x03, 0x15,0x66,0x0d,

40、0x01, 0x15,0x02, 0x15,0x02, 0x15,0x02, 0x11,0x66,0x0e,0x03, 0x0e,0x02, 0x11,0x02, 0x11,0x15, 0x10,0x03,0x11,0x03, 0x15,0x66, 0x11,0x03, 0x15,0x02, 0x17,0x02,0x11,0x15, 0x0d,0x03, 0x0d,0x03, 0x10,0x66, 0x0f,0x03,0x10,0x02, 0x15,0x02, 0x0f,0x01, 0x0d,0x03, 0x0e,0x02,0x15,0x03, 0x11,0x03, 0x11,0x02, 0x

41、15,0x02, 0x16,0x03,0x16,0x03, 0x17,0x03, 0x15,0x16, 0x15,0x02, 0x11,0x03,0x10,0x03, 0x10,0x03, 0x11,0x02, 0x0f,0x02, 0x10,0x15,0x15,0x03, 0x16,0x03, 0x17,0x66, 0x16,0x03, 0x17,0x02,0x19,0x02, 0x16,0x15, 0x0f,0x03, 0x0f,0x03, 0x15,0x03,0x11,0x03, 0x15,0x02, 0x17,0x02, 0x17,0x15, 0x10,0x03,0x11,0x03,

42、0x15,0x02, 0x11,0x02, 0x16,0x03, 0x16,0x03,0x15,0x66, 0x0f,0x03, 0x0f,0x16, 0x18,0x02, 0x17,0x02,0x16,0x02, 0x15,0x02, 0x17,0x00, 0x17,0x02, 0x1a,0x01,0x19,0x02, 0x19,0x02, 0x17,0x03, 0x16,0x03, 0x15,0x02,0x15,0x02, 0x16,0x02, 0x15,0x03, 0x16,0x03, 0x16,0x03,0x19,0x02, 0x17,0x15, 0x17,0x02, 0x1a,0x0

43、1, 0x19,0x01,0x17,0x03, 0x16,0x03, 0x15,0x01, 0x15,0x03, 0x16,0x02,0x15,0x03, 0x16,0x03, 0x16,0x03, 0x11,0x02, 0x10,0x01,0x00,0x00; void main(void) unsigned char p,m; /m为频率常数变量 unsigned char i=0; tmod=0x11; ie=0xaa; th1=0xd8; tl1=0xef; th2=0xd8; tl2=0xef; p2=0xe0; p3=0x0f; i2ccon=0xe8; settime(a); s

44、witchrtc(1); lcdinitialize();while(1)p1=0xf0;p2=0xff;lie0=0;temp=p1;temp=temp & 0x0f;if (temp!=0x0f) delay1s(); temp=p1; temp=temp & 0x0f; if (temp!=0x0f) temp=p1; temp=temp & 0x0f; switch(temp) case 0x0e: key=0; break; case 0x0d: key=4; break; case 0x0b: key=8; break; case 0x07: key=12; break; p0=tabkey; sth0=tabkey/256; stl0=tabkey%256; tr0=1;temp=temp&0x0f;while(temp!=0x0f) temp=p1; temp=temp&0x0f;tr0=0; p1=0xf0;p2=0xff;lie1=0;temp=p1;temp=temp & 0x0f;if (temp!=0x0f) delay1s(); temp=p1; temp=t

温馨提示

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

评论

0/150

提交评论