




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、PAGE iiPAGE 30目 录 TOC o 1-3 h z u HYPERLINK l _Toc297454041 第1章 系统设计(shj)分析 PAGEREF _Toc297454041 h 1 HYPERLINK l _Toc297454042 1.1系统设计(shj)要求 PAGEREF _Toc297454042 h 1 HYPERLINK l _Toc297454043 1.2任务和实现(shxin)的功能 PAGEREF _Toc297454043 h 1 HYPERLINK l _Toc297454044 1.3主要性能指标 PAGEREF _Toc297454044 h
2、1 HYPERLINK l _Toc297454045 1.4方案的论证 PAGEREF _Toc297454045 h 1 HYPERLINK l _Toc297454046 1.5采集电压电路的选择 PAGEREF _Toc297454046 h 1 HYPERLINK l _Toc297454047 第2章 硬件的设计 PAGEREF _Toc297454047 h 2 HYPERLINK l _Toc297454048 2.1电源电路 PAGEREF _Toc297454048 h 2 HYPERLINK l _Toc297454049 2.2电压采集电路 PAGEREF _Toc29
3、7454049 h 2 HYPERLINK l _Toc297454050 2.3温度显示电路 PAGEREF _Toc297454050 h 3 HYPERLINK l _Toc297454051 2.3.174 HC595具有的特点 PAGEREF _Toc297454051 h 3 HYPERLINK l _Toc297454052 2.3.274HC595管脚图 PAGEREF _Toc297454052 h 4 HYPERLINK l _Toc297454053 2.3.3数码显示管原理 PAGEREF _Toc297454053 h 5 HYPERLINK l _Toc297454
4、054 2.4M0介绍 PAGEREF _Toc297454054 h 6 HYPERLINK l _Toc297454055 2.4.1A/D及数据采集处理 PAGEREF _Toc297454055 h 7 HYPERLINK l _Toc297454056 第3章 软件设计 PAGEREF _Toc297454056 h 9 HYPERLINK l _Toc297454057 3.1软件实现功能 PAGEREF _Toc297454057 h 9 HYPERLINK l _Toc297454058 3.2软件设计 PAGEREF _Toc297454058 h 9 HYPERLINK l
5、 _Toc297454059 第4章 功能测试及结果分析 PAGEREF _Toc297454059 h 10 HYPERLINK l _Toc297454060 4.1硬件调试分析 PAGEREF _Toc297454060 h 10 HYPERLINK l _Toc297454061 4.2测试结果分析 PAGEREF _Toc297454061 h 10 HYPERLINK l _Toc297454062 4.3温度报警实物图 PAGEREF _Toc297454062 h 10 HYPERLINK l _Toc297454063 第5章 设计心得 PAGEREF _Toc2974540
6、63 h 11 HYPERLINK l _Toc297454064 参考文献 PAGEREF _Toc297454064 h 12 HYPERLINK l _Toc297454065 附录 PAGEREF _Toc297454065 h 13 HYPERLINK l _Toc297454066 附录一:元器件明细表 PAGEREF _Toc297454066 h 13 HYPERLINK l _Toc297454067 附录二:PT1000温度与电阻的关系 PAGEREF _Toc297454067 h 13 HYPERLINK l _Toc297454068 附录三:硬件电路原理图 PAGE
7、REF _Toc297454068 h 14 HYPERLINK l _Toc297454069 附录四:参考程序 PAGEREF _Toc297454069 h 15 HYPERLINK l _Toc297454070 附录五:实物图 PAGEREF _Toc297454070 h 24系统(xtng)设计分析系统设计(shj)要求 1、 以单片机、CPLD/FPGA、ARM、DSP等为核心器件,组成(z chn)一个单片机数据采集系统; 2、 温度范围为0150C,测量精度为1C; 3、 被测温度通过4位LED数码管显示; 4、 温度下限为80C,上限为90C,超过上下限温度具有报警功能。
8、根据项目的具体要求,经过阅读思考,可对题目的具体任务、功能、技指等作出如下分析。任务和实现的功能 实际上项目的任务就是要设计一个温度采集系统,系统的功能是用户可以随意设定某一温度,当前温度超过一定范围时可以报警,温度回到正常值停止报警,并且可动态显示当前的温度。 在控制部分,要求系统跟随动态设定的温度而报警,题目并未规定报警反应时间长短,但显然报警要快。 主要性能指标 1、温度范围为0200C,测量精度为1C,可以估算到0.1C; 2、被测温度通过前4位LED数码管显示,后4位LED数码管显示动态设定的报警温度; 3、自己可以通过键盘显示板设置报警温度;方案的论证经过对题目进行深入的分析和思考
9、,可将整个系统分为以下几个部分:模拟温度传感器、A/D转换、ARM、数码显示 、温度报警部分组成 。系统框图如下(图1.1)。 数码显示 模拟温度传感器 A/D转换 ARM 温度报警 图1.1 系统结构框图采集电压电路的选择 1、 采用差动放大原理运放LM324正反相放大器,利用差动放大原理,对于纯粹的单向放大电路,这是足够的。但是设计匹配相关电阻以及采集后电阻及温度的关系稍显麻烦,并且电路供电是3.3V不太需要放大。2、 简单(jindn)分压电路采集 本次(bn c)采用的温度传感器PT1000在0100C之间温度与电阻成十分良好(lingho)的线性关系,故很适合采用分压原理进行测量,能
10、够很精确的反应出温度的变化,并且电路简单。本次设计电路故采用分压原理设计。 硬件(yn jin)的设计电源(dinyun)电路 本次项目(xingm)用直流5V、3.3V稳压电源,M0工作电压在3.3V而实际电压为3.29V可以满足要求。具体电路如下(图2.1): 图2.1 电源电路图电压采集电路 本次采用的是分压原理采集电压,故电路很简单,如下所示(图2.2): 图2.2 电压采集电路由于这个电路输出的是电压信号,不能直接被ARM利用,因此需经过一个A/D转换器,将电压信号转换为数字量。A/D转换器有很多类型,需要根据精度和转换速度来进行选择。本设计可采用最常用的A/D芯片之一AD0809的
11、应用电路。也可直接选用M0上的A/D转换器,这样可以省去A/D电路的制作,简化了电路,提高了可靠性。值得注意的是ARM系列的微处理器A/D的值要小于3.3V。温度(wnd)显示电路本次设计使用的键盘显示板主要采用74HC595芯片(xn pin)和数码显示管。显示电路图(图2.3) 图2.3 键盘(jinpn)显示板的电路图74 HC595具有的特点 74HC595是一款漏极开路输出的CMOS移位寄存器,输出端口为可控的三态输出端,亦能串行输出下一级级联芯片。 1、 高速移位时钟频率Fmax25MHz; 2、 标准串行(SPI)接口; 3、 CMOS串行输出,可用于多个设备的级联; 4、 低功
12、耗:Ta=25时,Icc=4uA(MAX);74HC595管脚图 图2.4 74HC595的管脚图下面(xi mian)是74HC595管脚列表: 表1: 74HC595管脚列表(li bio) 管脚编号管脚名说明1、2、3、4、5、6、7、15QAQH三态输出管脚8GND电源地9SQH串行数据输出管脚10SCLK移位寄存器清零端11SCK数据输入时钟线12RCK输出存储器锁存时钟线13OE输出使能14SI数据线15VCC电源端输入输出管脚图(图2.5): 图2.5 输入输出管脚图 表2: 74HC595真值表输入管脚输出管脚SISCKSCLRRCKOEXXXXHQAQH输出高阻XXXXLQA
13、QH输出有效值XXLXX移位寄存器清零L上沿HXX移位寄存器存储LH上沿HXX移位寄存器存储HX下沿HXX移位寄存器状态保持XXX上沿X输出存储器锁存移位寄存器中的状态值XXX下沿X输出存储器状态保持数码(shm)显示管原理(yunl)我们(w men)最常用的是七段式和八段式LED数码管,八段比七段多了一个小数点,其他的基本相同。所谓的八段就是指数码管里有八个小LED发光二极管,通过控制不同的LED的亮灭来显示出不同的字形。数码管又分为共阴极和共阳极两种类型,其实共阴极就是将八个LED的阴极连在一起,让其接地,这样给任何一个LED的另一端高电平,它便能点亮。而共阳极就是将八个LED的阳极连在
14、一起。其原理图(图2.6)如下。 图2.6 数码显示管的电路与结构图 其中引脚图的两个COM端连在一起,是公共端,共阴数码管要将其接地,共阳数码管将其接正5或3.3伏电源。一个八段数码管称为一位,多个数码管并列在一起可构成多位数码管,它们的段选线(即a,b,c,d,e,f,g,dp)连在一起,而各自的公共端称为位选线。显示时,都从段选线送入字符编码,而选中哪个位选线,那个数码管便会被点亮。数码管的8段,对应一个字节的8位,a对应最低位,dp对应最高位。所以如果想让数码管显示数字0,那么共阴数码管的字符编码为00111111,即0 x3f;共阳数码管的字符编码为11000000,即0 xc0。可
15、以看出两个编码的各位正好相反。如下表(表3)所示。 表3:数码管显示(xinsh)数字对应的段码表共阳极数码显示管共阴极数码显示管十进制十六进制位码十进制十六进制位码十进制十六进制位码十进制十六进制位码00 xc080 x8000 x3f80 x7f10 xf990 x9010 x0690 x6f20 xa4a0 x8820 x5ba0 x7730 xb0b0 x8330 x4fb0 x7c40 x99c0 xc640 x66c0 x3950 x92d0 xa150 x6dd0 x5e60 x82e0 x8660 x7de0 x7970 xf8f0 x8e 70 x07f0 x71M0介绍(j
16、isho)LPC1100系列Cortex-M0微控制器是为嵌入式系统应用而设计的高性能、低功耗的32位微处理器。它是市场上低价最低的32位微控制器解决方案,其价值和易用性比现有的8/16位微控制器更胜一筹。该控制器性能卓越(zhuyu)、简单易用、功耗低,更重要的是它能显著降低所有8/16位应用的代码长度。LPC1100系列Cortex-M0微控制器的主频时钟高达50MHz,拥有高性能的运算控制能力,每秒可执行4500多万条指令,支持睡眠、深度睡眠和深度掉电3种低功耗模式。同时它拥有丰富的外围组件:高达32KB片内Flash程序存储器、8KB片内SRAM、一路 SKIPIF 1 0 (FM+)
17、、一路RS-485/EIA-485UART、两路SSP、4个通用定时器以及多达42个通用I/O口。LPC1100系列Cortex-M0微控制器主要包括以下主要模块:AD转换器、I2C、SPI、SSP、UART、定时器、功率控制等模块组成。内部结构图如下所示(图2.7) 图2.7 Cortex-M0内部(nib)结构图Cortex-M0内核特性(txng)如下: 1、系统(xtng)选项 Cortex-M0内核集成了嵌套向量中断控制器(NVIC),支持多达32个中断; 集成了系统节拍定时器; 2、调试选项 集成了JTAG调试接口; 集成串行调试接口,支持两个观察点和四个中断断点;A/D及数据采集
18、处理 LPC1100系列Cortex-M0微控制器A/D转换器的基本时钟由APB时钟提供。A/D转换器包含一个可编程的分频器,它可以将APB时钟调整为逐次逼近转换所需的时钟(最大可达4.5MHz,并且完全满足精度要求的转换需要11个这样的时钟)。 1、 ADC转换时钟分频值计算: SKIPIF 1 0 其中(qzhng):Fadclk为所要设置的ADC时钟,其值不能大于4.5MHz。2、 A/D转换(zhunhun)值计算:LPC1100系列Cortex-M0内部ADC转换(zhunhun)精度是10bit,因此当通道0的结果寄存器AD0DR0中保存的准换值为 SKIPIF 1 0 时,则转换
19、结果 SKIPIF 1 0 的计算方法如下: SKIPIF 1 0 由于本次采用的是3.3V作为基准参考电压源,则LPC1100系列Cortex-M0A/D转换器的最小分辨率LSB的如下: SKIPIF 1 0 (mv)在一次转换中,A/D转换器能够区分的最小电压为3.22mv;在本次设计中我们知道PT1000基本变化范围时10001300左右,所以选择1000电阻来分压(实际测量是996),电源提供的是3.3.v(实际测量是3296mv);故可以得出相关准换公式 : SKIPIF 1 0 PT1000电阻值与温度的关系: Res=1000+3.9T故得温度与电压的关系: T= SKIPIF
20、1 0 (C)通过这个公式可以很简单明了的表示出电压与温度的关系。软件设计软件(run jin)实现功能 1、 对温度的采集并显示当前(dngqin)的温度及用户设定的报警温度。 2、 对当前温度的实时(sh sh)监控。 3、 用户可以通过按键修改报警温度。 4、 系统的复位。软件设计首先运行程序,对定时器、GPIO、SPI、A/D等部分功能引脚及其功能初始化设置。起初设定的报警温度是40C。当进入主程序,首先进行检测是否有按键按下,若有键按下则修改报警温度,在这个程序中共设置了五个按键,其中两个按键分别加1C、10C(case1、case3),另外两个按键分别减1C、10C(case2、c
21、ase4),还设置了一个还原键恢复到40C(case7)。之后把A/D采样的电压进行程序计算得出实时温度,每完整采集转换一次温度便与设置的报警温度进行比较,如果大于设置的温度则进行报警。同时实时采集当前的温度与报警温度比较,如果温度低于报警温度则停止报警,否则继续报警直到温度低于报警温度或是通过按键提高报警温度,这样循环下去。主程序流程图(图3.1)所示,实现对报警温度值的设定、执行、显示实时温度及对温度的实时监测。 图3.1 软件流程图功能测试及结果(ji gu)分析使用的主要仪器仪表:PC机;数字(shz)万用表(DT-9205B,GDM-8245);可跟踪直流稳压电源。硬件调试(dio
22、sh)分析 1、 受热时受热不均与,导致测量的误差有点大。 2、 采集电压没有加滤波电容会导致A/D采样的不精确,因为之中会含有高次谐波,加上滤波电容之后就可以解决这个问题。测试结果分析1、 由实际测量可知,系统性能基本上达到了所要求的指标。能够实时跟踪温度并报警,测温精度能够达到1C,能够估算到0.1C,达到比较好的精度。2、 在测温中,影响系统性能的因素非常多。最关键的是温度传感器本身的物理性质。由于传感器受热不均,因此温度传感器难免会有迟滞。温度报警实物图 见附录五。设计(shj)心得 从这次的课程设计中,我真真正正的意识到,在以后的学习中,要理论(lln)联系实际,把我们所学的理论知识
23、用到实际当中,学习ARM更是如此,程序只有在经常的写与读的过程中才能提高,这就是我在这次课程设计中的最大收获。本课题在选题及进行(jnxng)过程中得到了张振利的悉心指导。制作过程中,张老师多次帮助我分析思路,开拓视角,在我遇到困难想放弃的时候给予我最大的支持和鼓励。张老师老师严谨求实的治学态度,踏实坚韧的工作精神,将使我终生受益,再多华丽的言语也显苍白。在此,谨向张老师致以诚挚的谢意!在课程设计接近结束之时,在我整个设计过程中,我还要特别感谢我们实验室的庄河文及张广双同学,在设计中我们合作的很愉快,当我们遇到困难的时候我们一起去探讨和研究,一起去战胜它,大家也一起分享排除问题和困难后的喜悦。
24、 可以说我的设计和论文能够顺利的完成并不是我个人的努力可以做到的,离开师的悉心指导,离开同学们的帮助,单就我一人的努力是很难完成的。非常感谢在设计与论文撰写过程中帮助过我的老师和同学们! 在此我表示真诚的感谢!参考文献1深入浅出(shn r qin ch)ARM7LPC213x/214x上册,周立功(l gng)等著,北京:北京航天航空大学出版社,2006.12模拟电子(dinz)技术基础,童诗白,华成英著,北京:高等教育出版社,2000.3数字电子技术基础,阎石著,北京:高等教育出版社,2005.4晶体管电路设计,铃木雅臣著,周南生译,北京“科学出版时,2005.5C程序设计,谭浩强著,北京
25、:清华大学出版社,2005.附录(fl)附录(fl)一:元器件明细表序号器件名称规格数量1M0芯片1片2键盘显示板1个3电容0.1u/10u各2个4电阻1K2个5发光二极管Red/Green各1个附录二:PT1000温度(wnd)与电阻的关系附录(fl)三:硬件电路原理图 外围电路采集(cij)电压图 报警显示电路 TinyM0开发板原理图 键盘(jinpn)显示板电路图附录四:参考(cnko)程序/*File Info* File name: main.c* Last modified Date: 2010-02-04* Last Version: V1.0* Descriptions: T
26、he main() function example template* Created by: Lanwuqiang* Created date: 2010-02-05* Version: V1.0* Descriptions: 添加(tin ji)用户应用程序* Modified by: ZhangNingbo* Modified date: 2010-02-25* Version: V1.0* Descriptions: SPI0主机示例程序* Modified by: * Modified date: * Version: * Descriptions: * Rechecked by:
27、*/#include .config.h/* 宏定义(dngy)*/#define BEEP (1ul 7)#define BEEPOFF() GPIO2DATA |= BEEP /* 蜂鸣器关 */#define BEEPON() GPIO2DATA &= BEEP /* 蜂鸣器开 */#define key 15uint8 data10=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f; /段码表uint8 selectable8=0 xfe,0 xfd,0 xfb,0 xf7,0 xef,0 xdf,0 xbf,0 x
28、7f; /位码uint8 i=0; uint8 T=0; uint8 buf8=0; /存分解(fnji)数据unsigned char tem_pnt; unsigned char tem_num; uint8 tem_sign; uint8 whichkeydown=0;uint8 T0FLAG=0;uint32 display1=40;uint32 temperuture=0;uint32 MAX=0;void CONVBIT(uint32 num1,uint32 num2) buf0 = num1%10; /个位buf1 = num1%100/10; /十位,强制(qingzh)转换b
29、uf2 = num1%1000/100; /百位buf3 = num1%10000/1000; /buf4 = num2%10; /个位buf5 = num2%100/10; /十位,强制(qingzh)转换buf6 = num2%1000/100; /百位buf7 = num2%10000/1000; /* Function name: myDelay* Descriptions: 软件(run jin)延时* input parameters: 无* output parameters: 无* Returned value: 无*/void myDelay (INT32U ulTime)
30、INT32U i; i = 0; while (ulTime-) for (i = 0; i 5000; i+); /* Function name: SSP_GetByte()* Descriptions: 接受(jishu)数据。* input parameters: data 待发送的数据* output parameters: 返回值为读取的数据* Returned value: 无*/uint8 SPP_GetByte (void) while (SSP0SR & 0 x01) = 0) return(SSP0DR);/* Function name: SSP_SendData()*
31、 Descriptions: SSP接口(ji ku)向SPI总线发送数据。* input parameters: data 待发送(f sn)的数据* output parameters: 返回值为读取的数据(shj)* Returned value: 无*/uint8 SSP_SendData(uint8 data) SSP0DR = data; while (SSP0SR & 0 x01) = 0) /* 等待TFE置位,即发送FIFO空 */ return(SSP0DR);/* Function name: timer1Isr* Descriptions: 32位定时器1中断* inp
32、ut parameters: 无* output parameters: 无* Returned value: 无*/void timer32B1Isr(void) MAX+=1;if(MAX%20=0)CONVBIT(display1,temperuture);if(i=5)SSP_SendData(databufi|(0 x80); /* 发送显示数据 */elseSSP_SendData(databufi); /* 发送显示数据 */while(SSP0SR & (10)=0);SSP_SendData(selectablei);while(SSP0SR & (10)=0);if(GPI
33、O3DATA&(key)!=0) /无键 if (whichkeydown = i) switch(whichkeydown) case 0: display1=display1+1;T=1; break; case 1: display1=display1-1; break;case 2: display1=display1+10;break;case 3: display1=display1-10;break;case 7: display1=40;break;whichkeydown=0 x09; else if(GPIO3DATA&(key)=0) /有键按下 myDelay(1);
34、/防抖 if(GPIO3DATA&(key)=0); /确认(qurn)有建按下 whichkeydown = i; /扫描(somio)哪个键按下 i=(i+1)%8; /位码循环(xnhun) TMR32B1IR =0 x01; /* 清除中断标志 */* Function name: timer16B1Init* Descriptions: 32位定时器1初始化函数* input parameters: 无* output parameters: 无* Returned value: 无*/void timer32B1Init(void)SYSAHBCLKCTRL |= (1ul 10)
35、; TMR32B1IR = 0; TMR32B1PR = 0; TMR32B1MCR=3;TMR32B1MR0=FAHBCLK/400;zyIsrSet(NVIC_TIMER32B1, (unsigned long)timer32B1Isr, PRIO_ONE); /* 设置外部中断并使能 */TMR32B1TCR = 0 x01; /* 启动定时器 */* Function name: ADCInit* Descriptions: ADC初始化* input parameters: 无* output parameters: 无* Returned value: 无*/void ADCIni
36、t( void ) PDRUNCFG &= (0 x01 4); /* ADC模块(m kui)上电 */ SYSAHBCLKCTRL |= (0 x01 13); /* 使能ADC模块(m kui)时钟 */ IOCON_PIO0_11 &= 0 xBF; /* 配置PIO0_11为模拟输入(shr)模式 */ IOCON_PIO0_11 |= 0 x02; /* PIO0_11模拟输入通道0 */ AD0CR = ( 0 x01 0 ) | /* SEL=1,选择ADC0 */ (FAHBCLK / 1000000 - 1) 8 ) /* 转换时钟1MHz */ ( 0 16 ) | /*
37、 软件控制转换操作 */ ( 0 17 ) | /* 使用11 clocks转换 */ ( 0 24 ) | /* ADC转换停止 */ ( 0 27 ); /* 直接启动ADC转换,此位无效 */* Function name: SSP_Init()* Descriptions: 将SSP控制器设置为主机SPI。* input parameters: 无* output parameters: 无* Returned value: 无*/void SSP_Init (void) PRESETCTRL |= 0 x01; /* 禁止SPI0复位 */ IOCON_SCKLOC = 0 x02; /* P0.6配置为SCK */ SYSAHBCLKCTRL |= (1ul 11); /* 打开SPI0外设 */ SSP0CLKDIV = 0 x01; /* SSP时钟分频 */ SSP0CR0 = (0 x01 8) | /* SCR 设置SPI时钟分频 *
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 林业有害生物防治的法制化管理考核试卷
- 医学资料 脑出血护理查房学习课件
- 人教版高中物理精讲精练-必修1第四章《运动和力的关系》培优卷原卷版
- 地磅岗位责任意识培训
- Lesson 38 The World Is a Big Place(教学设计)2023-2024学年八年级英语下册同步教学(冀教版河北专版)
- 江南影视艺术职业学院《数据分析综合实验》2023-2024学年第二学期期末试卷
- 河北科技大学《商务礼仪实训》2023-2024学年第一学期期末试卷
- 2025年黑龙江省齐齐哈尔市昂溪区市级名校初三第一次四校联考化学试题含解析
- 2025年黑龙江省哈尔滨市香坊区第六中学联合考试历史试题试卷含解析
- 广西南宁市三十三中学2024-2025学年第二学期高三数学试题考试试题含解析
- 大班绘本教案《月亮冰激凌》
- 环境经济学课件:第十次课 环境污染与效率费效分析等
- 《水产动物营养与饲料学》课件第1课-蛋白质营养
- 火力发电厂运煤设计规程
- 经济法概论PPT课件
- 食堂人员配置、职责与管理方案
- 生产异常报告单(共2页)
- 美军后勤保障卫勤保障
- PPAP培训资料
- 食品销售操作流程图
- 医用耗材分类目录 (低值 ╱ 高值)
评论
0/150
提交评论