ImageVerifierCode 换一换
格式:DOC , 页数:21 ,大小:252KB ,
资源ID:2522589      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/2522589.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(片单机课程设计学校作息时间控制系统设计.doc)为本站上传会员【精***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

片单机课程设计学校作息时间控制系统设计.doc

1、 《单片机原理及应用》 课程设计说明书 题目 学校作息时间控制系统的设计 系(部) 专业(班级) 姓名 学号 指导教师 起止日期 系部:电信系 专业:2011级电子信息工程 课题名称 学校作息时间控制系统的设计 设 计 内 容 及 要 求 (1)课题内容:以单片机为核心,设计一个智能化作息时间控制器。该控制器要求的功能有:按本校作息时间接通/断开蜂鸣器,每次响铃时间为10 秒;用12864 液晶屏作显示器,第一行显示“作息时间控制系统”,第二行显示设计者姓名和学号

2、第三行显示实时时钟,显示的内容要求有时、分、秒各两位,第四行显示最近的闹铃时间。 发挥部分:设置按键对小时和分钟调节;可以通过键盘任意调整响铃时间。 (2)要求:完成该系统的硬件和软件的设计,在Proteus 软件上仿真通过后,提交一篇课程设计说明 设 计 工 作 量 1、汇编或C51语言程序设计; 2、程序调试; 3、在Proteus 上进行仿真成功后,进行实验板下载调试; 4、提交一份完整的课程设计说明书,包括设计原理、程序设计、程序分析、仿真分析、调试过程,参考文献、设计总结等。 进 度 安 排 起止日期 设计内容(或预期目标) 备注 第一

3、天 课题介绍,答疑,收集材料,C51介绍 第二天 设计方案论证,练习编写C51程序 第三天~第六天 程序设计 第六天~第八天 程序调试、仿真 第九天~第十天 系统测试并编写设计说明书 教研室意见 年 月 日 系(部)主 管领导意见 年 月 日 目录 程序 4 一、设计内容及要求 13 1.1 设计内容 13 1.2 设计要求 13 二、设计目的 13 三、设计原理 13 3.1 总的设计 13 3.2

4、 分模块设计 13 3.3 设计示意图 14 四、仿真分析 14 4.1 调节工作模式 15 4.2 闹钟实现 15 4.3 温度测量 16 五、心得体会 17 六、参考文献 17 程序 #include "reg52.h" #include #define uchar unsigned char #define uint unsigned int #define IO_ADDR P2 #define delayNOP(); {_nop_();_nop_();_nop_();_nop_();}; sbit

5、 RS=P1^0; sbit RW=P1^1; sbit EN=P1^2; sbit RST=P1^3; sbit PSB=P1^5; sbit mode=P0^0; //key1 模式 sbit inc=P0^1; //kye2 分 sbit dec=P0^2; //key3 时 sbit fmq=P3^4; //蜂鸣器接口 //============================================= code uchar data1[16]={"作息时间控制系统"};

6、 code uchar data2[]={"吴智勇 2011026103"}; code uchar data3[]={"时间: : : "}; code uchar data4[]={"打铃: : : "}; uchar disp_buff[4][16];//定义一个二维数组,4行,16个字符 uchar hour,min,sec,minisec; uchar mode_value=0 ,xf; //调节模式 uchar ds[20][2] = { {8,0},{8,45},{8,

7、55},{9,40},{10,0},{10,45},{10,55},{11,40},{14,0},{14,45}, {14,55},{15,40},{16,0},{16,45},{16,55},{17,40},{19,0},{19,45},{19,55},{20,40} }; //====================================================== /*******************************************************************/ void delay(int ms) { wh

8、ile(ms--) { uchar i; for(i=0;i<250;i++) { _nop_(); _nop_(); _nop_(); _nop_(); } } } //========================= void delayus(uint i) { uchar y; while(--i) for(y=0;y<2;y++) {;} } //======================================================

9、 uchar read_data(void)//读状态。//返回值1---空。0-----忙。 { uchar temp; RS=0; RW=1; delayus(2); EN=1; delayNOP(); IO_ADDR=0XFF; temp=IO_ADDR;//读输入口。 temp=temp&0x80; EN=0; if(temp==0x00) { return(0); } else { return(1);}//注:如需软件仿真,需要将此处改为1 } //======================

10、 void write_data(uchar type,uchar date)//写命令或写数据。 { while(read_data()); //delayus(100); if(type)//写数据1 { RS=1; } else//0//写命令 { RS=0; } delayus(1);//1。5US RW=0; delayus(1);//1。5US EN=0; delayus(1); delayus(1); delayus(1); IO_ADDR=date; delayNOP(

11、); EN=1; delayNOP(); EN=0; delayus(10); } //*************************************************************** void init_system()//12864初始化部分。 { PSB=1; RST=1; delayus(4); RST=0; delay(3); RST=1; delay(3); write_data(0,0x30);//功能设定,8位并行接口 delay(5); write_data(0,0x30);/

12、/功能设定,基本指令集。 delay(5); write_data(0,0x30);//功能设定,8位并行接口 delay(5); write_data(0,0x01);//清屏, delay(5); write_data(0,0x01);//清屏, delay(5); write_data(0,0x02);//将地址指针移到开头位置。 write_data(0,0x0c);//整体显示开。 write_data(0,0x01);//清屏, write_data(0,0x01);//清屏, } //======================

13、 //============================================== void display_buff()//显示2维数组内的内容。 { uchar i; uchar *point; point=&disp_buff[0][0]; //write_data(0,0x01);//清屏, //delayus(5); //write_data(0,0x02);//地址归0 //delayus(10); //write_data(0,0x06);//地址归0 ///////////////

14、一行一行的显示//////////////// //行地址:0X80 0X90 0X88 0X98 write_data(0,0X80);//移到0X80位置。 delayus(1); for(i=0;i<16;i++) { write_data(1,*point); point++; delayus(1); } //======================================= //========================================= write_data(0,0X90); delayus

15、1); for(i=0;i<16;i++) { write_data(1,disp_buff[1][i]); delayus(1); } write_data(0,0X88); for(i=0;i<16;i++) { write_data(1,disp_buff[2][i]); delayus(1); } write_data(0,0X98); for(i=0;i<16;i++) { write_data(1,disp_buff[3][i]); delayus(1); } } //==========

16、 void time0() interrupt 1 { TH0=0X4C; TL0=0X00; if(minisec++>20) { minisec=0; if(++sec>59) {sec=0; if(++min>59) {min=0; if(++hour>24) { hour=0; min=0; sec=0; } } } } } void delaysj(unsi

17、gned char j)//延时程序 { unsigned char i; while(j--) { for(i=0;i<50;i++); } } //蜂鸣器 void s_fmq() { unsigned char j=2; //蜂鸣器叫 while(j--) { fmq=0; delaysj(200); } } /*************************闹铃判断**********************************/ void nling() { uchar i

18、 ; for(i=0;i<20;i++) { if(hour==ds[i][0]&&min==ds[i][1]) //判断是否到闹铃时间 { if(sec<10) s_fmq(); //调用蜂铃 } } } //调节模块 void tiaojie() { uchar i; if(mode==0) { while(!mode); mode_value++; } //zifu(0xbc,0xb8,2,mode_value,&shu); switch(mode_value)

19、 { //模式0:正常工作。显示“天天向上” case 0:{//uchar i; for(i=0;i<16;i++) { disp_buff[0][i]=data1[i]; disp_buff[1][i]=data2[i]; }} break ; case 1:{ // 模式1:可以修改时间,其中inc是改分钟,dec是改小时 if(inc==0){ while(!inc);min++;if(min==60) min=0;} if(dec=

20、0){ while(!dec);if(min==0) min=60; min--;} //if(dec==0){ while(!dec);hour++; if(hour==24) hour=0;} // uchar i; for(i=0;i<16;i++) { disp_buff[2][i]=data3[i]; } disp_buff[2][5]=(hour/10)+0x30; disp_buff[2][6]=(hour%10)+0x30; disp_buff[2][8]=(min/10)+0x30;

21、disp_buff[2][9]=(min%10)+0x30; disp_buff[2][11]=(sec/10)+0x30; disp_buff[2][12]=(sec%10)+0x30; display_buff(); } ;break; case 2:{if(inc==0){ while(!inc);hour++;if(hour==24) hour=0; } // 模式2:选择一个需要改变的闹铃 //if(inc==0){ while(!inc);min+;if(min==60) min=0;}

22、 if(dec==0){ while(!dec);if(hour==0) hour=24;hour--; } // uchar i; for(i=0;i<16;i++) { disp_buff[2][i]=data3[i]; } disp_buff[2][5]=(hour/10)+0x30; disp_buff[2][6]=(hour%10)+0x30; disp_buff[2][8]=(min/10)+0x30; disp_buff[2][9]=(min%10)+0x30; disp_buff[2][1

23、1]=(sec/10)+0x30; disp_buff[2][12]=(sec%10)+0x30; display_buff(); //zifu(0xbe,0x40,2,xf/10,&shu); // zifu(0xbe,0x48,2,xf%10,&shu); // zifu(0xbe,0x68,2,2,&fuhao); // zifu(0xbe,0x70,2,ds[xf][1]/10,&shu); // zifu(0xbe,0x78,2,ds[xf][1]%10,&shu); /// zifu(0xbe,0x50,2,0,

24、fuhao); // zifu(0xbe,0x58,2,ds[xf][0]/10,&shu); // 显示“调整后的闹铃时间” // zifu(0xbe,0x60,2,ds[xf][0]%10,&shu); } ;break; case 3: { // 模式3:修改选定的闹铃的分钟 if(inc==0){ while(!inc);ds[xf][1]++;if(ds[xf][1]==60) ds[xf][1]=0;} if(dec==0){ while(!dec);if(ds[xf][1]==0) ds

25、[xf][1]=60;ds[xf][1]--;} // uchar i; for(i=0;i<16;i++) { disp_buff[3][i]=data4[i]; } disp_buff[3][5]=ds[xf][0]/10+0x30; disp_buff[3][6]=ds[xf][0]%10+0x30; disp_buff[3][8]=ds[xf][1]/10+0x30; disp_buff[3][9]=ds[xf][1]%10+0x30;

26、 disp_buff[3][11]=0+0x30; disp_buff[3][12]=0+0x30; display_buff();// 显示“调整后的闹铃时间” } ;break ; case 4:{ // 模式4:修改选定的闹铃的小时 if(inc==0){ while(!inc);ds[xf][0]++;if(ds[xf][0]==24) ds[xf][0]=0;} if(dec==0){ while(!dec);ds[xf][0]--; if(ds[xf][0]=

27、0) ds[xf][0]=23;} // uchar i; //for(i=0;i<16;i++) // { // disp_buff[3][i]=data4[i]; // } disp_buff[3][5]=ds[xf][0]/10+0x30; disp_buff[3][6]=ds[xf][0]%10+0x30; disp_buff[3][8]=ds[xf][1]/10+0x30; disp_buff[3][9]=ds[xf][1]%10+0x3

28、0; disp_buff[3][11]=0+0x30; disp_buff[3][12]=0+0x30; display_buff(); // hanzi(0xbe,0x40,2,2,&zi); // 显示“时” // zifu(0xbe,0x58,2,ds[xf][0]/10,&shu); // 显示“调整后的闹铃时间” // zifu(0xbe,0x60,2,ds[xf][0]%10,&shu); // zifu(0xbe,0x68,2,2,&fuhao); // zifu

29、0xbe,0x70,2,ds[xf][1]/10,&shu); // zifu(0xbe,0x78,2,ds[xf][1]%10,&shu); } ;break; case 5:{ mode_value=0 ;};break; //模式5:确认修改,返回正常工作状态 default:break; } } //从打铃时间表中找出下一个要打铃的时间 uchar Locate (void) { //uchar xf;//n; xf=0; while(xf<20) { if(hour

30、xf][0]) break; else if((hour==ds[xf][0])&&(min<=ds[xf][1])) break; xf++; //n++; } if(xf==20) xf=0;//xf=0; return(xf); } void shizhong() { uchar i; for(i=0;i<16;i++) { disp_buff[0][i]=data1[i]; disp_buff[1][i]=data2[i]; disp_buff[2

31、][i]=data3[i]; disp_buff[3][i]=data4[i]; } disp_buff[2][5]=(hour/10)+0x30; disp_buff[2][6]=(hour%10)+0x30; disp_buff[2][8]=(min/10)+0x30; disp_buff[2][9]=(min%10)+0x30; disp_buff[2][11]=(sec/10)+0x30; disp_buff[2][12]=(sec%10)+0x30; //闹铃 disp_buff[3][5]=ds[xf

32、][0]/10+0x30; disp_buff[3][6]=ds[xf][0]%10+0x30; disp_buff[3][8]=ds[xf][1]/10+0x30; disp_buff[3][9]=ds[xf][1]%10+0x30; disp_buff[3][11]=0+0x30; disp_buff[3][12]=0+0x30; display_buff(); } /*******************************************************************/ /*

33、 */ /* 延时函数 */ /* //========================================== */ //*******************************************************

34、 void main(void) { P0=0XFF; P2=0XFF; EA=1; ET0=1; TH0=0X4C; TL0=0X00; TMOD=0X01; TR0=1; init_system(); while(1) { tiaojie(); shizhong(); nling(); Locate (); //s_fmq(); } }一、设计内容及要求 1.1 设计内容 以单片机为核心,设计一个智能化作息时间

35、控制器。该控制器要求功能有:按本校作息时间接通/断开蜂鸣器,每次响铃时间为10秒;用12864液晶屏作显示器,第一行显示“作息时间控制系统”,第二行显示设计者姓名和学号,第三行显示实时时钟,显示的内容有时、分、秒各两位,第四行显示最近的闹钟时间。 发挥部分:设计按键对小时和分钟调节;可以通过键盘任意调整闹铃时间。 1.2 设计要求 完成该系统的硬件和软件的设计,在Proteus软件上仿真通过后,提交一篇课程设计说明书。采用汇编或者C51语言程序设计均可。 二、设计目的 通过这次课程设计培养同学的独立思考和独立操作能力,更深层次的了解自己的专业和身边一些电

36、子系统的简单设计。 三、设计原理 3.1 总的设计 首先对设计要求有个整体了解,明白需要实现哪些功能,实现这些功能需要哪些元器件,要驱动这些元器件需要编写什么程序,怎么编写,最后进行总体调试。本次作息时间的设计,使用了单片机AT89C51,LCD和AMPIRE12864。温度元件为DS18B20,还有一个声音播放器SOUNDER。对于LCD和DS18B20要进行初始化。将本次设计分成5个模块分别进行设计,分成:温度模块、LCD显示模块、时间模块、声音模块、调节模块。分模块设计好了以后,再综合起来设计主程序,实现所需要求。 3.2 分模块设计 1. LCD显示模块设计:该模

37、块包括的函数为LCD-inti()//的初始化、checkbusy()//检查LCD是 否忙碌、writecode()//写命令、writedata()//写数据、hanzi()//显示汉字、zifuz()//显示数字或字符。 2.温度模块设计:该函数为inti()//DS18B20的初始化、readchar()//读一个字节、writechar()//写一个字节、readtemp()//读取温度、worktemp()//温度计算。 3.时间模块设计:本次是采用T0中断的工作方式1获取时间的。其函数为void timer()interrupt1//T0中断函数、workhour()

38、//时间计算。 4.声音模块设计:该模块比较简单,其函数为voids_fmq()//蜂鸣器叫、nling()//判断是否闹铃。 5.调节模块设计:该模块要实现5个模式调节和转变。模式0:正常工作状态;模式1:修改时间;模式2:选择一个需要改变的闹钟;模式3修改选定的闹钟分钟;模式4:修改选定的闹钟小时。 3.3 设计示意图 图1 总设计示意图 四、仿真分析 通过设计程序实现课程设计要求,通过仿真验证程序是否正确,仿真所用到的元器件有AT89C51、LCD液晶屏、三个独立按键、一个发声

39、装置、8个电阻。仿真图如图2所示: 图2 仿真电路图 4.1 调节工作模式 调节模式的实现只用了三个按键,分别是mode、inc和dec按钮。如图三所示: 图3 三个调节按键 开始仿真时,进入设定好的模式0,此时液晶显示屏显示的是初始值,然后按下mode按键,则进入模式1:进入修改时间,即设定闹钟时间。此时修改分钟按INC按键,修改小时按DEC按键,再次按下mode按键,则进入模式2:选择要修改的闹铃。此时液晶显示的第二个闹铃,可以按下inc按键加,也可以按下dec

40、按键减。再次按下mode按键,则进入模式3:修改选定的闹钟分钟。此时修改的是闹钟的分钟,inc按键加,、dec按键减。再次按下mode按键,则进入模式4:修改选定的闹钟小时,inc加,dec按键减。再次按下mode按键。则回到模式0:正常工作。 4.2 闹钟实现 程序初始化的时候对10个闹钟进行了赋值,闹钟时间自己设定,我设定的分别是{8:00、8:20、8:30、8:40、8:50、9:00、9:30、10:00、10:15、10:30 }。如果要修改闹钟时间,可以依次进入调节模式2、3、4进行修改。当到了闹铃时间时,则蜂鸣器会响起来。蜂鸣器如图4所示

41、 图4 蜂鸣器 4.3 温度测量 本次设计采用了DSB18B20温度芯片,该芯片能测量环境中的温度变化,通过单片机的处理就可以显示实时温度值,当环境温度改变时,显示出来的温度会随着改变。 图5 DS18B20温度芯片 液晶显示采用的是12864液晶显示屏,其仿真图如图6所示: 图6 12864液晶显示屏 五、心得体会 刚开始进行课程设计的时候,在老师一番讲解之后,觉得会比较简单

42、但实际情况并非如此,一开始就纠结与到底使用汇编语言编写程序还是用C51语言编写程序,在自己百般无奈和同学的建议下选择了C51编写程序。第一天回来后再网上和图书馆查阅资料后,把我给看傻了,一个个程序都那么长,但C51明显比汇编的相对简单明了多了。在参考网上的程序之后,自己也慢慢的进入了编写程序的状态,一步一步的用C51实现课程设计的要求。 在编写程序的过程中确实遇到了不少困难,很多东西都不知道该如何用C语言表达,只能去请教班上的精通C语言的同学,看到别的同学很快就完成了这次课程设计,呆在实验室的人一天比一天少,自己内心却是挺着急的,很想早点完成课程设计的要求,但最后还是没能在给定的时间完成这

43、次课程设计,没能完全达到本次课程设计的要求,自己内心也颇为郁闷。 通过这次课程设计,给我一个严重的教训,无论做什么都不要太过于自信,要多和同学交流。一定要尽早的完成老师的要求,不要总是拖拖拉拉。总的来说,虽然没能完全达到老师的要求,但这次课程设计给了我血的教训,有过刻骨的记忆,以后一定要努力做好最基本的自己。 六、参考文献 1.单片机原理与应用/曾屹 刘辉等编著---中南大学出版社,2009年2月 2. 单片机C51程序设计教材与实验/祁伟等编著---北京航空航天大学出版社,2006年1月 3.单片机微型机计算机技术/刘国荣等编著---机械工业出版社,2000年1月 4.百

44、度文库目 录 第一章 总 论 1 1.1项目概况 1 1.2研究依据及范围 3 1.3主要技术经济指标 4 1.4研究结论及建议 4 第二章 项目建设的背景和必要性 6 2.1项目建设的背景 6 2.2项目建设的必要性 8 第三章 项目服务需求分析 11 第四章 项目选址与建设条件 13 4.1选址原则 13 4.2项目选址 13 4.3建设条件 14 4.4项目建设优势条件分析 15 第五章 建设方案 18 5.1建设规模与内容 18 5.2总体规划设计 19 5.3建筑方案 24 5.4结构方案 26

45、5.5给水工程 27 5.6排水工程 29 5.7电气设计 31 5.8暖通设计 34 5.9项目实施进度 35 第六章 节能措施 37 6.1 设计依据 37 6.2节能措施 37 第七章 环境影响分析 39 7.1 环境影响分析 39 7.2 环境保护措施及治理效果 40 第八章 消防与安全卫生 42 8.1 消防 42 8.2  劳动安全 43 8.3  卫生防护 44 第九章 组织机构与运作方式 45 9.1  组织机构 45 9.2组织管理 46 9.3劳动定员 46 第十章 投资估算 47 10.1编制依据 47 10.2  投资估算 47 10.3资金筹措 48 第十一章  经济效益评价 49 11.1 成本核算 49 11.2 利润估算 51 11.3经济风险分析 52 11.4财务评价结论 54 第十二章 结 论 55

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服