1602液晶显示DS1302实时时钟程序_第1页
1602液晶显示DS1302实时时钟程序_第2页
1602液晶显示DS1302实时时钟程序_第3页
1602液晶显示DS1302实时时钟程序_第4页
1602液晶显示DS1302实时时钟程序_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、#include #include unsigned unsigned 期月参变数 unsigned unsigned 区 unsigned unsigned unsignedcharcharchar charcharcharcharcodecodedatadatadatadatadatadisweek = z,SUN,MON, TUE, WED, THU, FRI, SAT;para_month 13 = 0, 0, 3, 3, 6, 1, 4, 6, 2, 5, 0, 3, 5; 星dis_buf116; dis_buf216;/led上排显示缓冲区/led下排显示缓冲year, mont

2、h, date, week; /年、月、日、星期 armhour, armmin, armsec;/闹钟时、分、秒 hour, min, sec, seclOO; /时、分、秒、白分之一秒unsigned char data flag, vkey, skey;/设置状态计数标志、按键先前值、按键bit lcd_busy ();void lcd_wcmd(char emd); void lcdwdat(char dat); void lcd_pos(char pos): void lcd_init(): void pro_timedate();void pro_display(); void p

3、rokey();void time_alarm(); unsigned char scan_key(): unsigned char week_proc(); bit leap_year ();void lcd_sef_chr();测试LCD忙碌状态程序写入指令到LCD程序写入数据到LCD程序/LCD数据指针位置程序/LCD初始化设定程序时间日期处理程序/显示处理程序/按键处理程序/定时报警功能(闹钟)/按键扫描程序星期自动计算与显示函数判断是否为闰年/LCD自定义字符程序sbitrs = P20;/LCD数据/命令选择端(H/L)sbitrw=P2l;/LCD读/写选择端(H/L)sbite

4、p=P22;/LCD使能控制sbitPRE=P16/调整键(k3)sbitSET=pr7;/调整键(k4)sbitSPK=P37;voiddelayms(unsigned char ms);延时程序当前值 bit alarm;/标识是否启用闹钟,i-启用,0-关闭void update_disbuf(unsigned char tl, unsigned char t2, unsigned char dis_h, unsigned char dis_m, unsigned char dis_s);更新显示缓冲区函 数/延时程序void delay(unsigned char ms)while(m

5、s一一)/执行一条_nop_()指令 unsigned char i; for(i = 0; i 250; i+) _nop_();为一个机器周期_nop_();_nop_(); _nop_();测试LCD忙碌状态bit lcd_busy ()bit result;rs = 0;rw = 1;ep = 1;_nop_();_nop_();_nop_();_nop_();result =(bit) (P0&0 x80); /LCD 的 DOD7 中,D7=l 为忙碌,D7二0 为空 闲ep = 0;return result;写入指令到LCDvoid lcd_wcmd(char cmd)whil

6、e (lcd.busyO); 当 lcd_busy 为 1 时,再次检测 LCD 忙碌状 态,lcd-busy为0时,开始写指令rs = 0;rw = 0;ep = 0;_nop_();_nop_();P0 = cmd;_nop_();_nop_();_nop_();_nop_();ep = 1;_nop_();_nop_();_nop_();_nop_();ep = 0;写入数据到LCDvoid lcdwdat(char dat)while (lcd_busy(); 当 lcd.busy 为 1 时,再次检测 LCD 忙碌状态,lcd-busy为0时,开始写数据rs = 1;rw = 0;e

7、p = 0;P0 = dat;_nop_();_nop_();_nop_();_nop_();ep 二 1;_nop_();_nop_();_nop_();_nop_();ep = 0;/LCD数据指针位置程序void lcd_pos(char pos)lcd.wcmd (pos i 0 x80) ; /数据指针二80+地址码(00H、27H, 40H、67H)设定二个自定义字符,(注意:LCD1602中自定义字符的地址为0 x000 x07,即 可定义8个字符)这里我们设定把一个自定义字符放在0 x00位置(000),另一个放在0 x01位子(001)void lcd_sef_chr()宙一

8、个自定义字符lcd_wcmd(0 x40) ; /01 000 000 第1行地址(D7D6为地址设定命令 形式 D5D4D3为字符存放位置(0-7), D2D1D0为字符行地址(0-7)lcd_wdat(Oxlf) ; /“XXX 11111 第 1 行数据(D7D6D5 为 XXX,表示为任意数(一般用000), lcd_wcmd(0 x41); lcd_wdat(0 x11); lcd_wcmd(0 x42); lcd_wdat(0 x15); lcd_wcmd(0 x43); lcd_wdat(0 x11); lcd_wcmd(0 x44); lcd_wdat(Oxlf); lcd_w

9、cmd(0 x45); lcd_wdat(0 x0a); lcd_wcmd(0 x46); lcd_wdat(Oxlf); lcd_wcmd(0 x47); lcd_wdat(0 x00);D4D3D2D1D0为字符行数据(1-点壳,0-熄灭)/厂01 000 001/XXX 1000101 000 010/“XXX 10101/01 000 011/“XXX 10001/01 000 100/XXX 1111101 000 101/XXX 01010/01 000 110/XXX 1111101 000 111/XXX 00000第2行地址第2行数据第3行地址第3行数据第4行地址第4行数据第

10、5行地址第5行数据第6行地址第6行数据第7行地址第7行数据第8行地址第8行数据第二个自定义字符lcd_wcmd(0 x48) lcd_wdat(0 x01) lcd_wcmd(0 x49) lcd_wdat(Oxlb) lcd_wcmd(0 x4a) lcd_wdat(Oxld) lcd_wcmd(0 x4b) lcd.wdat(0 x19) lcd_wcmd(0 x4c) lcd_wdat(Oxld) lcd_wcmd(0 x4d) lcd_wdat(Oxlb) lcd_wcmd(0 x4e) lcd_wdat(0 x01) lcd_wcmd(0 x4f) lcd_wdat(0 x00)/0

11、1 001 000/“XXX 0000101 001 001/“XXX 11011/01 001 010/XXX 11101/roi ooi oil”/XXX 11001/01 001 100/XXX 11101/01 001 101/XXX 11011/01 001 110/XXX 0000101 001 111/,ZXXX 000001122334455667788 第笫笫笫笫笫笫笫笫笫笫笫第第笫笫行行行行行行行行行行行行行行行行/LCD初始化设定 void lcd_init ()lcd_wcmd(0 x38);设置LCD为16X2显示,3X7点阵,八位数据借/LCD开显示及光标设置(光标

12、不闪烁,不显示/LCD显示光标移动设置(光标地址指针加1,整清除LCD的显示内容delay(l): lcd_wcmd(OxOc);delay(l); lcd_wcmd(0 x06);屏显示不帝动)delay(l); lcd_wcmd(0 x01); delay(l); 闰年的计算bit leap_year ()bit leap;if (year%4=0&year%100!=0) i year%400=0) / 闰年的条件 leap二1;elseleap=O;return leap;星期的自动运算和处理unsigned char week_proc() unsigned char num_lea

13、p;unsigned char c;num_leap=year/4-year/100+year/400;/自 00 年起到 year 所经历的闰年 数if ( leap_year()& month=2 )/既是闰年且是 1 月和 2 月C 二5;elseC二6;week= (year+para_month Lmonth +date+num_leap+c) %7 ;/il算对应的星 期return week;更新显示缓冲区void update_disbuf(unsigned char tl, unsigned char t2, unsigned char dis_h, unsigned cha

14、r dis_m, unsigned char dis_s)dis_bufl0=tl;dis_bufll=0 x20; dis_bufl2=50; dis_bufl3=48;/空格/r 2,/r odis dis dis dis dis dis dis dis dis dis dis disbuf14=year/10+48;bufl5=year%10+48;buf16二0 x2d;bufl二month/10+48;bufl81=month%10+48;bufl9=0 x2d;bufl10二date/10+48;buflll=date%10+48;bufl12二0 x20;dis_buf20=t2

15、0;dis_buf2l=t2l;dis_buf22=t22;dis_buf23=t23;dis_buf24=t24;dis_buf25=t25; dis_buf26=0 x20;if (alarm)dis_buf27=0 x01;二个自定义字符)elsedis_buf27=0 x20; 致dis_buf28=dis_h/10+48; dis_buf29=dis_h%10+48; dis_buf210Z=0 x3a;dis_buf2ll=dis_m/10+48; dis_buf212=dis_m%10+48; dis_buf213=0 x3a;dis_buf214二d i s_s/10+4 8;

16、 dis_buf215=dis_s%10+48;/空格/alarml,显示闹钟启用标致(第/alarm=0,不显示闹钟启用标/:,bufl13=dis_week4*weekJ; buf114=dis_week4*week+l: bufl15=dis_week4*week+2;/时间和日期处理程序 void pro_timedate() sec+;辻(sec 59) sec = 0;min+;if(min59)min二0;hour+;辻(hour23)hour二0;date+;if(month=l month=3 month=5; month=7 month=8 month=10 month=

17、date二1:month+;辻(date31)/大月31天if(month=4month=6 month二二9 month=ll) if (date30)小月30天date二1;month+;date二1:month+;date二1;month+;if (month=2)if ( leap-year ()闰年的条件辻(date29) 闰年2月为29天 elseif (date28) /平年2月为28天 if (month12) month=l;year+; 辻(year99) yearO: week_proc (); if (sec=armsec hour=armhour)& min=armm

18、in &if (alarm) TRI二1; 时间到,启动Timerl/闹钟启用时,报警显示处理程序 void pro_display() unsigned char i:lcdpos(0 x00);for (i=0;i=15;i+)lcdwdat(dis_buf1 Li);lcdpos(0 x40);for (i=0;i=15;i+)lcd_wdat (dis_buf2i) ;/TimerO中断处理程序,秒的产生void timerO() interrupt 1THO二Oxdc;/TimerO 置 10ms 定时初值dc00H(216=65536D, dcOOH二56320D)TLO二0 x0

19、0;定时时间= (65536-56320)*(1/11. 0592)*12二10ms (f0=ll. 0592Mhz)secl00+;if(secl00 = 100)/I 秒时间(10010ms二 1000ms二Is)seclOO = 0;Pro_timedate (); 调用时间和日期处理程序if(sec&OxOl)/willar”闪一秒,停一秒update_disbuf(0 x00, 、hour, min, sec);0表示显示00位置的自定义字符elseupdate_disbuf(0 x00, willar, hour, min, sec);pro.displayQ ;调用显示处理函数/

20、按键扫描程序 unsigned char scan_key() skey二0 x00;给变量vkey置初值skey|二PRE;读取PRE键的状态 skey=skeyl;PRE键的状态存于skey的Bl位 skey|二SET;读取SET键的状态,并存于skey的B0位 return skey;/0 x0/将/返回skey的键值(即PRE, SET的状态)case 1: lcd_pos(0 x49);break;光标置小时报警设置位置case 2: lcd_pos(0 x4c);break;光标置分钟报警设置位置case 3: lcd_pos(0 x4f):break;光标置秒时报警设置位置cas

21、e 4: update_disbuf (0 x50, /ztime: z,, hour, min, sec):pro_display();lcd_pos(0 x05):break;光标置年调整位置case 5: lcd_pos(0 x08):break;光标置月调整位置case 6: lcd_pos(0 x0b);break;光标置日调整位置cas7: lcd_pos(0 x49);break;光标置时调整位置cas8: lcd_pos(0 x4c);break;光标置分调整位置cas9: lcd_pos(0 x4f):break;光标置秒调整位置default:break;(skey二二0

22、x02)/SET键按下/转设置按键处理程序lcd_wcmd(OxOc);置LCD开显示及晃标不闪烁,不显示lcd_wcmd(0 x01):除LCD的显示内容IE=0 x8f;/CPU开中断,INTO, IXT1,开中断TRO=1;/Timer0 启动/主程序,初始化及初值设定void main()lcd_init ();LCDlcd_sef_chr();号hour二0;min二0;sec=0;显示armhour=0;armmin=0;armsec=0;初值year= 5; month=l;date=l;期显示week_proc ();alarm=l;用闹钟IE = 0 x8f;断,INTO,

23、INTI, TimerO, Timer 1 开中断IP = 0 x04;断最高优先级ITO=O;IT1=O;INTO, INT1设置为电平触发方式(注意,TMOD = 0 x11;匸作于模式1, 16位定时方式THO = Oxdc;TLO = 0 x00;初值TH1 = Oxff;TLl = 0 x00;值TRO = 1;设清/初始化写入自定义字符开机时的时,分,秒开机时的时,分,秒报警开机时的年,月,日,星初始开机,启/CPU开中设置INTO为中外部触发不要选边沿方式,易误动)/TimerO, Timer 1 /TimerO 置 10ms 定时 /Timer 1 置初/TimerO 启TR1

24、 = 0;while;设置按键处理程序void pro_key()switch (flag)case 0: alarm=! alarm;/启用或关闭闹钟(alarm=l:启用,alarm=0:关闭)update_disbuf (0 x50, alarm:armhour, armmin, ar msec) ; /更新显示数据pro_display();/调用显示处理lcd_pos(0 x47);break;/光标回到原调整位置case 1:armhour+;if (armhour23) armhour=0;update_disbuf (0 x50, alarm:,z, armhour, armm

25、in, ar msec) : /更新显示数据pro.displayO :/调用显示处理lcd_pos(0 x49) :break;/光标回到原调整位置case 2:armmin+;if (armmin59) armminO;update_disbuf (0 x50, alarm:armhour, armmin, ar msec);pro.display ():lcd_pos(0 x4c):break;case 3:armsec+;if (armsec59) armsecO:update_disbuf (0 x50, alarm:,z, armhour, armmin, ar msec);pro

26、_display();lcd_pos(0 x4f);break;case 4:year+;辻 (year 99) year= 0;week_proc ();/星期自动运算update_disbuf(0 x50, time:, hour, min, sec);pro_display();pro_display();lcd_pos(0 x4c);break; case 9:sec+;辻(sec59) sec=0; update_disbuf(0 x50, time: 、hour, min, sec);pro_display():lcd_pos(0 x4f);break;default:break

27、;/Timerl中断处理程序,产生报警的声音void timerl() interrupt 3TH1二Oxff;TLl二0 x00;SPK二SPK;外部中断INTI中断处理程序,停止报警声音void inti () interrupt 2if (TRI)TR1=O;/DS1302时钟程序iiinclude #include #define uchar unsigned char#define uint unsigned int少占鱼制作 河北正定欢迎您长沙航空职业技术学院/2010 年 QQ:4U656434/版权所有:www. 51hei. comtidefine LCD1602_RS P2

28、_5 定义引脚define LCD1602_RW P2_6ttdefine LCD1602_EP2_7itdefine LCD1602.I0 PO#define Busy0 x80 /用于检测LCD1602状态字中的Busy标识const uchar num二 3456789+;uchar code a二 E N v;void WriteData(uchar DAT);void WriteCommand(uchar command, BuysC):uchar ReadData(void):void Readbusy(void);void LCD1602_Init(void):void Disp

29、layOneChar(uchar X, uchar Y, uchar DData); void Displaystring(uchar X, uchar Y, uchar *DData): void Delay5Ms(void);void Delay400Ms(void);void delayms(uint);void delays(uint m);void delayus(uchar x);sbit DS1302_CLK 二P2”0; P0;sb辻 DS1302.I0 二P2l;/ Pl;sbit DS1302_RST 二P22; P2;uchar shuju;unsigned char t

30、ime = Oxll, 0 x03, 0 x28, 0 x01, 0 x12, 0 x39, 0 x00;/ 初始化时 间年月日星期时分秒uchar Display_Buffer12二12:25:00 ;/时、分、秒 的格式uchar riq订 12 = 11-03-28;/年、月、日的格式uchar xingqi 二week;/星期unsigned char second, minute, hour, week, day, month,year;/It I ItWw gwW gwI fill /I - V AW W W *AW W W *AW W W *AW W wf I I I I I I

31、 I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I void delays(uint m)uint i, j;for (i二0;im;i+)for(j=0;j1000;j+);void Delay(void)unsigned char i; unsigned int j;for(i=0;i0;j); I I I I I I I I I I I I I I I I I I I I I I I I I

32、I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I 1 I I 函数功能:向DS1302送一字节数据子程序入口参数:出口参数: I| 1 | a *!* a 1 | a | i A i | a i | *0;i) 前面在read_dsl302()函数里已经把CLK清0 了DS1302_CLK=0;/这里再清0次,看着清楚。呵呵_nop_();DS1302_I0二(bit) (BYTE&OxOl) ;/取出低位数据给数据引脚_nop_();_nop_()

33、;DS1302_CLK=l;/置1,时钟上升沿,引脚上的数据传入1302寄存器中_nop_();_nop_();BYTE=1;/因为这里移位的BYTE不是最后要的结果,虽然最后循环完会多移一位,但没影响。_nop_();循环最后一次后,时钟状态是高电平。_nop_();_nop_(); I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I 1 I I 函数

34、功能:读DS1302 一个字节子程序,读数据是下降沿读入口参数:出口参数: | j | 4 1 4 unsigned char OutputByte(void)unsigned char i;unsigned char ucdat=0;for(i=8;i0;i) 前面时钟状态是高电平。ucdat=l; 移位注意,移位不能放在循环语句末,否则最后循环完会多 移一位。得到结果就错了。DS1302_I0二1;/单片机端置高防止破坏1302传来的数据,开始接收1302端 的高低数据对数据线的改变。DS1302_CLK=0;紧接着时钟变低,下降沿数据输出。if (DS1302_IO)/数据已经输出,判断

35、是1还是0.ucdat 1=0 x80;/如果引脚是高则此位保存1。低不保存,右移的时候自然补0 To_nop_();DS1302_CLK=l;/读完一位数据,再置高时钟,准备读下一个。_nop_() ;/延时一下。读完数据还是把时钟清0,下次好直接用。DS1302_CLK=0;/读完数据还是把时钟清0,下次好直接用。_nop_();_nop_();DS1302_RST二0;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();DS1302_CLK二0;_nop_();_nop_();_nop_();_nop_();DS1302_RST二0;_nop_

36、();_nop_();_nop_();_nop_();_nop_();return(ucdat); I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I 函数功能:向DS1302某地址写一字节数据子程序 入 口参数:addr, TDat岀口参数: I I I I I I I I I I I I I I I I I I I I I I I I I

37、 I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I void write_dsl302(unsigned char addr, unsigned char TDat)DS1302_RST二0;_nop_();_nop_();DS1302_CLK二0;_nop_();_nop_();DS1302_RST二1;_nop_();_nop_();_nop_();_nop_();InputByte (addr) ;/先写地址_nop_();_nop

38、_();InputByte (TDat) ;/再写数据DS1302_I0二1;/单片机端置高防止破坏1302传来的数据,开始接收1302端的 高低数据对数据线的改变。DS1302_RST二0;delayus (10);DS1302_CLK二0;delayus(10); I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I j | j j 4 | 1 j 函数功能:读DS 1302

39、地址子程序入口参数:add岀 口参数:timedata 1 | 1 | | | 1 1 unsigned char read_dsl302(unsigned char addr)unsigned char timedata;DS1302_RST二0;_nop_();DS1302_CLK二0;_nop_();DS1302_RST二1;InputByte (addr) ;/先写入读命令timedata=OutputByte () ;/再读出数据DS1302_I0二1;/单片机端置高防止破坏1302传来的数据,开始接收1302端的 高低数据对数据线的改变。DS1302_RST二0;delayus (

40、10);DS1302_CLK二0;delayus (10);return(t imedata); * I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I j | j j 4 | 1 j 函数功能:初始化DS1302子程序入口参数:time(全局变量)出口参数: I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I

41、 I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I JI I I I I I 1 I void initial_dsl302()DS1302_I0二1;/单片机端置高防止破坏1302传来的数据,开始接收1302端的 高低数据对数据线的改变。DS1302_RST二0;delayms(100);DS1302_CLK二0;delayms(100);write_dsl302(0 x8e, 0 x00) ;/写保护寄存器,在对时钟或RAM写前WP 定要为0 TOC o 1-5 h z write_d

42、sl302(0 x8c, time0Z);/年write_dsl302 (0 x8&timel);/月write_dsl302(0 x86, time2) ;/日write_dsl302 (0 x8A, time3j);星期write_dsl302 (0 x84, time4);时write_dsl302(0 x82, time5);/分write_dsl302(0 x80, time61) :/秒write_dsl302 (0 x8e, 0 x80) ;/写保护寄存器 I 1 I I I I I I I 1 I I I I I I I 1 I I I I I I I 1 I I I I I

43、I I 1 I I I I I I I 1 I I I I I I I 1 I I I I I I I 1 I I I I I I I 1 I I | j j |j 4 | 函数功能:读DS1302时间子程序入口参数:岀 n 参数:全局变量(second, minute, hour, week, day, month, year) I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I

44、 I I j | j j 4 | void read_time()second二read_ds 1302 (0 x81) ;/秒寄存器_nop_();minute=read_dsl302 (0 x83) ;/读分_nop_();hour=read_ds 1302 (0 x85) ;/读时_nop_();week=read_dsl302(0 x8B) :/读星期_nop_(); TOC o 1-5 h z day=read_ds1302(0 x87);/日_nop_();month=read_ds1302(0 x89);/月_nop_();year=read_dsl302(0 x8d);/年_n

45、op_();void main(void)uchar shuju;delayms(2);Delay400Ms(); /启动等待,等LCM讲入工作状态 delays (1);LCD1602_Init () ; /LCM 初始化DelayoMsO ; /延时片刻(可不要)DS1302_RST二0;delayms(1000);DS1302_CLK二0;delayms(1000);shuju=ReadData();Displaystring(2, 0, a):Delay () ; Delay ();delayms(2000);Displaystring (3,0,riqi);Displaystring

46、(12, 0, xingqi);delayms(4000);/ initial_dsl302() :/初始化 DS1302delayms(1200);while (1)read_time () ; /读取时间Disp 1 ay_Buffer0 =hour/16+J O ;/存储下时的高位进数组Disp 1 ay_Buffer 1 =hour%l6+J O ;/存储下时的低位进数组Display_Buf f er 3j =minute/16+,O ;/注意+ O后存储的是 ASCI Io 用于下 面液晶显示。Display_Buffer 4j=minute%16+,O ;/注意+ O后存储的是

47、ASCI Io 用于下 面液晶显示。DisplayBuffer6=second/16+, O;Display_Buffer7=second%16+, O;riqi 0Z=year/16+,0?;riqi Lll=year%16+,O;riqi 3二month/16+ O;riqi 4=month%16+, O;riqi 16Z=day/16+,O;riqi7二day%16+ O;Displaystring (3, 0, riqi);delayms (1);DisplayOneChar (14, 1, week+J O);Displaystring(3, 1, Display_Buffer);/写数据void WriteData(uchar DAT)Readbusy ();LCD1602_RS = 1;LCD1602.RW = 0;LCD1602_I0 = DAT;LCD1602_E = 0; 若晶振速度太高可以在这后加小的延时LCD1602_E = 0; 延时LCD1602_E = 1;LCD1602_E二1;LCD1602_E二0;/写指令void WriteCommand (uchar command, BuysC) /BuysC 为 0 时忽略忙检测LCD1602_IO=0 x00;if (B

温馨提示

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

评论

0/150

提交评论