PIC单片机编程风格和格式 PIC单片机编程风格和格式是单片机开发中的重要环节,好的编程风格和格式可以提高编程效率和代码可读性。在本篇文章中,我们将主要介绍PIC单片机编程风格和格式的基本结构和要点。 程序标题 在PIC单片机编程中,程序标题是可选的,但它能够帮助开发者快速了解程序的功能和作用。程序标题通常使用Tittle伪指令定义。 程序注释 程序注释是对程序的解释和说明,它可以帮助开发者快速了解程序的逻辑和实现细节。程序注释通常使用“;”号开头,并且可以缺省。 调用到的.inc文件 .inc文件是与单片机型号相对应的,包含了一些特殊寄存器的定义等内容。在编写PIC单片机程序时,需要调用相应的.inc文件,以便正确地使用单片机的寄存器和功能。 通用寄存器定义 通用寄存器定义是指在程序中定义一些通用寄存器的名称和地址。这些寄存器名称要顶格写,以便于开发者快速了解寄存器的作用和功能。 宏定义 宏定义是指在程序中定义的一些宏命令,这些宏命令可以简化程序的编写和实现。宏定义可以缺省,但它可以提高编程效率和代码可读性。 程序初始化 程序初始化是指在程序启动时需要执行的一些初始化操作,例如寄存器的初始化、变量的初始化等。程序初始化通常在START部分中实现。 主程序 主程序是指程序的主要逻辑实现部分,这部分代码将执行程序的主要功能和逻辑。主程序通常在MAIN部分中实现。 子程序 子程序是指程序中的一些独立的逻辑单元,例如中断服务程序、延时程序等。子程序可以提高程序的可读性和可维护性。 程序结束 程序结束是指程序的最后一步操作,例如END语句。程序结束语句是必需的,以便正确地结束程序的执行。 在编写PIC单片机程序时,需要注意以下几点: 1. 避免使用直接地址对寄存器操作,使用符号定义寄存器名称,以提高程序的可读性和可维护性。 2. 注意子程序标号的可读性,使用合理的标号命名,以提高程序的可读性和可维护性。 3. 程序结构要合理,使用清晰的结构和逻辑,以提高程序的可读性和可维护性。 PIC单片机编程风格和格式是单片机开发中的重要环节,好的编程风格和格式可以提高编程效率和代码可读性。
2026-02-06 18:49:46 64KB PIC单片机 软件开发
1
在这里介绍一种定时程序,说明循环程序在PIC单片机上的应用。笔者仍以PIC16F84单片机为例建立其定时源程序清单。该定时器源程序只需改变一条指令的常数设置,即可使定时时间从分钟级到3?8小时的连续变化(4MHz晶振条件)。在该源程序上再多设置一次循环,可使定时时间长达1月以上。 【PIC单片机循环程序】在微控制器领域中,循环程序是一种常见的编程技术,它用于实现重复执行的任务,尤其在需要定时或者延时操作的场景中。本文将深入探讨循环程序在PIC单片机,特别是PIC16F84型号上的应用。 PIC16F84是一款广泛应用的8位微控制器,具有低功耗、高性能的特点,适用于各种嵌入式系统。在这个例子中,我们将使用循环程序来构建一个定时器。这个定时器的灵活性在于,通过修改一条指令的常数设置,就能改变定时时间,范围从几分钟到3到8小时不等,这是基于4MHz晶振的工作条件下。通过在基础程序上添加额外的循环,定时时间甚至可以延长至一个月以上。 我们来看一下源程序的关键部分。程序的开头设置了工作寄存器、包含头文件,并定义了几个计数器变量,如COUNT1、COUNT2、COUNT3和COUNT4,它们在循环中起到关键作用,用于实现不同的定时级别。 程序流程如下: 1. 初始化:清除工作寄存器(CLRW),设置TRISB端口为输出,清零PORTB以启动定时。 2. 判断:通过BTFSS指令检查PORTA的D1位,根据D1状态决定程序执行路径。 3. 定时启动:设置定时位,如LED亮起表示开始定时。接着,将特定值写入COUNT1、COUNT2、COUNT3和COUNT4,以及初始化COUNT4的定时值。 4. 循环:使用DECFSZ指令递减计数器,如果计数器未减到零,则继续执行循环。这个过程就是定时的核心,不同的计数器组合使得定时范围得以扩展。 5. 结束定时:当所有计数器都减到零时,清除工作寄存器,更新PORTB显示定时结束,然后返回到定时启动部分,实现循环。 这个程序在MPLAB集成开发环境中编译,并生成HEX文件,可以使用实验编程器1?01进行固化,并在实验板上进行实时测试。读者可以根据自己的需求调整程序中的常数值,以适应不同的定时需求。 总结来说,循环程序在PIC单片机中的应用展示了其灵活性和实用性。通过简单的计数器循环和条件判断,我们可以实现复杂的时间控制功能,这在许多嵌入式系统和自动化应用中非常常见。理解并熟练掌握这种编程技巧,对于任何想要在PIC单片机或类似平台上进行开发的工程师来说,都是至关重要的。
2026-02-06 17:11:38 38KB 循环程序
1
在本文中,我们将深入探讨一个具体的示例,即如何在PIC单片机,特别是PIC16F84型号上实现循环程序的应用,尤其是用于定时任务。循环程序在单片机编程中起着至关重要的作用,因为它们能够实现重复性操作,这对于定时器功能是必不可少的。 我们来看一下这个定时程序的核心部分。在PIC16F84单片机上,定时器通常是通过循环计数来实现的。在这个例子中,程序使用了四个计数器变量(COUNT1, COUNT2, COUNT3, COUNT4)来构建一个灵活的定时系统。这些计数器在循环中递减,直到达到零,从而形成一个延时机制。 程序开始时,先进行初始化工作,包括清除工作寄存器(CLRW),设置B口为输出(通过BSF STATUS,5和MOVWF TRISB),以及清零PORTB来启动定时器。接着,程序进入主循环,其中的判断语句(BTFSS PORTA,1)用于检测外部输入,决定是否继续执行定时任务。 定时器的启动是在M1和M2两个子程序中实现的。在M2子程序中,首先写入特定值(0xAA)到PORTB,这通常用于驱动LED或其他输出设备以显示定时状态。然后,计数器COUNT1至COUNT4被初始化,并进入主循环(LOOP)。在循环内部,计数器逐个递减,直到所有计数器都减到零,表示定时周期结束。 计数器COUNT4的值可以自由选择,这允许用户根据需要调整定时器的精度和范围。通过改变COUNT4的初始值,可以在4MHz晶振条件下实现从分钟级到38小时的连续变化。如果需要更长的定时时间,可以在程序中添加更多的循环,理论上可以扩展到一个月以上。 值得注意的是,PIC16F84单片机的性能会受到所使用的晶振频率的影响。例如,如果将晶振频率改为2MHz、1MHz或500kHz,定时时间将会成比例地增加。这种特性对于理解和调试单片机程序非常有用。 程序在定时结束后,会将新的值(0x02)写入PORTB,这可能是用来指示定时结束的标志。程序随后返回到M3,完成一个定时周期,并等待下一个启动信号。 总结来说,这个例子展示了如何利用PIC16F84单片机的循环程序设计一个灵活的定时器,通过调整计数器的值和晶振频率,可以适应各种不同的定时需求。此外,这个程序还强调了在MPLAB集成开发环境中进行汇编和HEX文件生成的重要性,以便在实验板上进行程序固化和测试。通过这种方式,学习者可以直观地理解单片机的工作原理和循环程序在实际应用中的作用。
2026-02-06 16:51:53 43KB PIC单片机 循环程序 PIC16F84
1
PIC单片机中级产品PIC16C6X的数据存储器通常分为两个存储体,即存储体0(Bank0)和存储体1(Bank1)。每个存储体都是由专用寄存器和通用寄存器两部分组成的。两个存储体中的一些寄存器单元实际上是同一个寄存器单元,却又具备有不同的地址。例如本版介绍的PIC16F84的状态寄存器STATUS-Reg的两个地址是03H和83H。又如通用寄存器也是如此。 不同型号的PIC单片机,其数据存储器的组成(即功能)是不完全相同的,所以设计人员一旦选用了某个PIC单片机的型号后,常要查找该单片机的数据存储器资料,以便编程用。 以PIC16F84在MPLAB集成开发软件的环境下编写的源程序中,有关RB口(RB7、RB6…RB0)初始化为例,说明选用存储体0或1的方法如下: 程序清单 file:PIC01ASM List P=16F84 #include P16F84.inc STATUS EQU 03H RB EQU 06H TRISB EQU 86H ORG 0x00 ;复位向量(PIC16F84) GOTO MAIN ;转至主程序开始处 ORG 0x08 ;
2026-02-06 16:17:25 56KB
1
### PIC18F25K22-中文手册 关键知识点解析 #### 一、概述 **PIC18F25K22**是一款由Microchip Technology Inc.生产的高性能单片机,它属于**PIC单片机**系列。该手册为用户提供了这款单片机的详细信息和技术规格。作为一款具有低功耗特性的单片机,**PIC18F25K22**特别适合需要节能的应用场景。 #### 二、主要特性 1. **采用XLP技术**:这是一种专有的超低功耗技术,能够显著降低系统在不同工作模式下的电流消耗,适用于电池供电的应用。 2. **封装选项**:提供28/40/44引脚封装,可以根据不同的设计需求选择合适的封装类型。 3. **高性能**:集成了一系列高级特性,如高速处理器、多种通信接口等,使得它能够在复杂的嵌入式系统中发挥出色的表现。 4. **低功耗**:即使在低功耗模式下也能保持较高的处理能力,这在延长电池寿命方面非常重要。 5. **广泛的外设支持**:内置多种外设模块,如ADC(模数转换器)、PWM(脉宽调制)、定时器等,这些外设可以直接通过硬件实现,减少了软件开销。 6. **闪存程序存储器**:具有大容量的闪存存储空间,可以存储程序代码,同时支持在线编程(ISP)和在系统编程(ISP),方便更新和维护。 #### 三、应用领域 - **工业控制**:由于其高性能和低功耗特性,非常适合应用于各种工业控制系统中。 - **消费电子**:例如家用电器、个人健康监测设备等。 - **汽车电子**:可用于汽车内部的各种控制单元,如车身控制模块等。 - **物联网(IoT)**:作为物联网节点的核心处理器,实现数据采集、处理和传输等功能。 #### 四、技术规格 - **处理器架构**:基于8位CPU架构,提供高速指令执行速度。 - **内存配置**: - **闪存程序存储器**:提供足够的空间存储应用程序。 - **RAM数据存储器**:支持实时数据处理。 - **EEPROM非易失性存储器**:用于存储关键设置和数据,即使断电后也不会丢失。 - **通信接口**:支持多种通信协议,如SPI、I²C、USART等。 - **电源电压范围**:通常支持较宽的电压范围,以便在不同的供电条件下正常工作。 - **工作温度范围**:能够适应各种环境条件,满足工业级应用的要求。 #### 五、注意事项 - 在使用过程中需遵循官方提供的技术手册中的指导原则,以确保设备能够稳定可靠地运行。 - 对于涉及代码保护的功能,Microchip强调了遵守合法使用的重要性,并承诺与重视代码完整性的客户合作,共同打击非法破解行为。 - 手册中明确指出,虽然中文版提供了便利的理解途径,但在实际操作中还应参照英文原版文档,以获取更全面准确的信息。 #### 六、商标及知识产权 手册中详细列举了Microchip及其子公司的多个注册商标和服务标记,表明了公司对于知识产权保护的重视程度。同时提醒读者注意尊重这些商标的使用规定,避免侵权行为。 ### 总结 **PIC18F25K22**是一款集成了XLP超低功耗技术的高性能单片机,拥有丰富的外设资源和支持多种封装形式的特点,使其成为许多工业应用的理想选择。通过详细了解该单片机的技术规格和使用指南,开发者可以更好地利用其优势,设计出高效稳定的嵌入式系统。
2026-02-06 13:25:58 10.21MB PIC单片机
1
PIC单片机及定时器溢出中断的设计思路及程序设计 PIC单片机作为一种常用的微控制器,广泛应用于各种电子产品和自动控制系统中。其中,定时器溢出中断是PIC单片机中的一种常用的功能,用于实现对时间的测量和控制。本文将介绍PIC单片机及定时器溢出中断的设计思路及程序设计,旨在帮助读者更好地理解和应用PIC单片机的定时器溢出中断功能。 一、设计思路 PIC16F87系列单片机的定时/计数器0是一个8位的简单增量溢出计数器,时钟源可以是内部系统时钟(Fosc/4),也可以是外部时钟。为了扩大定时或计数范围,在定时/计数器0中设计了一个可编程预分频器。当TMR0内部计数器计数从FFH跳到OOH时,发生计数溢出,置位TOIF(INTCON的D2),向CPU申请中断。RB0/INT引脚上的外部中断由边沿触发,既可以是上升沿,也可以是下降沿,当寄存器OPTION_REG的INTEDG位为1时,选择上升沿触发;为0时选择下降沿触发。一旦检测到引脚上出现有效边沿,就将INTF位INTCON的D1置1。 二、程序设计 在程序设计中,我们使用PIC16F87系列单片机作为开发平台。主程序流程如图1所示,中断子程序流程如图2所示。 (1)包含必要的头文件及定义全局变量。 (2)中断服务子程序,通过判断定时器0的中断对端口C进行操作,使其输出方波。 (3)主函数,初始化定时器0及端口A,然后进入中断等待状态。 在中断服务子程序中,我们使用TGIF和INTF标志来决定响应哪一个中断,中断响应优先级由中断查询次序决定。在主函数中,我们初始化定时器0及端口A,然后进入中断等待状态,以等待定时器溢出中断或外部中断的发生。 三、结论 PIC单片机及定时器溢出中断的设计思路及程序设计是PIC单片机应用中的一种常用的技术。本文通过对PIC16F87系列单片机的介绍和程序设计,希望能够帮助读者更好地理解和应用PIC单片机的定时器溢出中断功能,并在实际应用中发挥更大的作用。
2026-02-06 13:02:53 561KB PIC单片机 溢出中断 程序设计
1
### PIC单片机MPLAB安装步骤、工程建立与经验总结 #### 一、MPLAB安装步骤 针对用户在安装MPLAB过程中遇到的各种问题,本文将详细介绍MPLAB的安装步骤及其注意事项。 1. **下载安装包**:首先需要从Microchip官方网站或其他可信渠道下载最新版本的MPLAB安装包。本例中使用的是8.2版本。 2. **选择安装位置**:开始安装过程后,在选择安装路径时要注意,虽然一般情况下可以选择安装在除C盘外的其他磁盘分区,但根据作者的经验,如果遇到软件无法正常启动或编译等问题时,建议优先尝试将MPLAB安装在C盘根目录下。 3. **安装PicC编译器**:对于使用K149等工具进行程序烧写的用户而言,还需要额外安装PicC编译器。安装步骤如下: - 运行PicC安装程序。 - 按照提示操作直至完成安装。 - 特别注意,PicC必须安装在C盘根目录下。 4. **安装完成**:安装完成后,可以直接关闭安装向导。 #### 二、新建工程步骤 完成MPLAB及PicC的安装后,接下来介绍如何创建一个新的工程。 1. **打开MPLAB IDE**:启动MPLAB IDE软件。 2. **新建工程**:点击菜单栏中的“Project” > “Project Wizard”来开始创建新工程。 3. **选择芯片型号**:在弹出的界面中,选择目标芯片型号。例如,选择16F877A作为示例。 4. **选择工具套件**:在“Active Tool Suite”选项中,选择“HI-TECH Universal Tool Suite”。需要注意的是,如果没有此选项,需要单独下载并安装HI-TECH编译器,并将其放置于C盘PicC目录下。 5. **指定编译器路径**:在“Location”中输入路径“C:\PICC\bin”,确保指向正确的PicC编译器执行文件“picc.exe”。 6. **保存工程**:选择合适的保存路径。建议保存在C盘下,避免后续编译出现问题。 7. **编译工程**:完成以上步骤后,即可对工程进行编译。如果编译成功,则表明程序无误,可以使用K149等工具烧写生成的.hex文件至单片机。 #### 三、学习经验和技巧 在学习PIC单片机的过程中,往往会遇到各种挑战,以下是一些宝贵的学习经验和技巧: 1. **调整心态**:尽管刚开始接触新的单片机会感到不适应,但不必过分担忧。通过一段时间的实践和摸索,会逐渐熟悉并掌握其特性。重要的是保持耐心和积极的态度。 2. **聚焦能力而非单一技术**:正如作者所言,学会一种编程语言或单片机并不代表只能停留在该领域。实际上,掌握一种技能后,再学习类似技术会更加容易。因此,重点在于培养解决问题的能力而非单一的技术点。 3. **实践经验**:理论学习固然重要,但实际操作更是不可或缺。从简单的LED点亮实验开始,逐步尝试串口通信、PWM调制等功能,这些实践中遇到的问题往往是学习的最佳时机。 4. **遇到问题时的处理方式**:面对难题时不要轻易放弃。通过查阅资料、求助社区等方式寻找解决方案。记住,每一次挫折都是成长的机会。 通过以上步骤和经验分享,希望能帮助初学者更好地理解和掌握PIC单片机及其开发环境MPLAB的使用方法。
2026-01-06 13:21:57 2.08MB
1
PIC单片机是微芯科技(Microchip Technology)推出的一系列8位单片机产品,广泛应用于工业控制、家用电器、汽车电子等领域。PIC单片机以其成本低、体积小、功耗低、执行效率高等特点,成为嵌入式系统开发的热门选择之一。在PIC单片机的诸多特性中,中断系统是一大亮点,它允许单片机在执行主程序的过程中,可以对突发事件做出快速响应。 中断程序是单片机程序设计中的一种重要的结构,它能够打断单片机当前的运行流程,转而处理一些紧急或者需要优先响应的事件。在中断事件发生时,CPU会立即暂停当前的工作,跳转到一个预先设定好的处理程序去执行,处理完毕后返回原来的工作继续执行。 在PIC单片机中,中断可以是由内部或外部事件触发的。内部事件例如定时器溢出,而外部事件例如外部引脚电平变化(按键操作等)。单片机内部的中断源包括定时器/计数器溢出、外部引脚电平变化、串行通信完成等,而这些中断源的开启、禁止和优先级的配置则是通过中断控制寄存器来完成的。 文中以烤地瓜的生动比喻来说明中断的工作原理。CPU在执行主程序的过程中,就像你正在阅读文章时,被朋友的呼唤中断去看望他一样。在中断过程中,你与朋友交流完成之后,再返回继续阅读文章。同样,CPU在完成中断服务程序后,也会返回继续执行主程序。 在实际编程中,对于PIC单片机中断的设置步骤通常包括以下几个关键点: 1. 开启总中断(GIE)以及可能使用的外设中断(PEIE),这通常通过设置中断控制寄存器INTCON中的相应位来实现。 2. 清除中断标志位,这通常在中断服务程序中完成,用于告知单片机中断已经被处理,这样单片机才会在下一次中断事件发生时才再次响应。 3. 开启对应的中断,比如定时器中断、外部中断等,通过设置INTCON或特定的外设中断允许寄存器(如PIE1)中相应的位。 在文中给出的实例代码中,首先初始化了振荡器配置和端口设置,然后设置了中断相关的寄存器。在中断服务程序(void interrupt())中,改变LED的状态,清零TMR0中断标志位,并重新加载TMR0寄存器的值以准备下一次中断。通过开启总中断和TMR0中断,实现定时器每隔50ms触发中断,进而控制LED的亮灭状态。 整个中断系统的关键在于中断的响应和处理过程中,不能对主程序造成过大的影响。同时,在中断服务程序中要尽量减少处理时间,避免影响其他中断或主程序的性能。在多中断源的情况下,中断优先级的设定也非常重要,以确保能够快速响应最重要的中断事件。 PIC单片机的中断系统是其功能强大的体现,熟练掌握中断编程对于进行有效的嵌入式开发至关重要。通过实践和理解中断的机制,开发者能够编写出响应快速、稳定性高的嵌入式应用程序。
2025-12-15 19:31:00 60KB
1
**标题:“PIC CCS编译器”** **概述:** “PIC CCS编译器”是一款专为Microchip PIC微控制器设计的高效C语言编译工具。它支持多种型号的PIC微控制器,包括PIC12、16和18系列,使得开发者能够用C语言进行便捷的程序开发。C语言是一种广泛应用的编程语言,具有易读性强、可移植性好等特点,使得该编译器在嵌入式系统开发中备受青睐。 **主要特点:** 1. **跨平台支持**:CCS编译器可以在多个操作系统上运行,如Windows,为开发者提供了广泛的工作环境选择。 2. **优化编译**:通过高效的代码生成,CCS编译器能够将C代码转换为针对特定型号PIC微控制器的优化机器代码,从而提高程序执行效率。 3. **丰富的库函数**:提供大量预编译的库函数,涵盖了I/O操作、定时器、中断处理等基本功能,简化了开发过程。 4. **调试工具**:集成的调试器功能,使得用户可以直接在编译器环境中进行程序调试,查看变量状态、设置断点等。 5. **用户友好界面**:直观的图形用户界面(GUI)使得项目管理、代码编辑、编译、链接和调试等工作流程更为顺畅。 6. **兼容性**:支持各种型号的PIC微控制器,适应不同应用场合的需求。 **标签:“PIC_C_COMPILER”** - 这个标签表明这个编译器是专门用于编写和编译针对PIC微控制器的C语言程序的。 **文件列表详解:** 1. **pch.crg、pcb.crg、pcm.crg**:这些可能是编译器产生的中间文件或配置文件,它们包含了关于编译过程的元数据和设置,用于编译器内部使用。 2. **pic-ccs.exe**:这是CCS编译器的主执行文件,双击运行可以启动编译器。 3. **下载说明.txt**:这个文件提供了下载和安装编译器的详细步骤,以及可能的注意事项和使用指南。 4. **电子工程师资源网.url**:这是一个网站链接,可能是指向一个包含更多嵌入式系统开发资源的网站,如示例代码、教程或者技术支持论坛。 **应用场景:** PIC CCS编译器广泛应用于工业控制、智能家居、汽车电子、消费电子等领域,开发者可以利用它快速开发和调试各种基于PIC微控制器的应用程序。通过C语言的抽象,开发者可以更容易地理解和维护代码,同时利用编译器提供的高级特性实现复杂的功能。
2025-11-11 21:52:31 6.98MB PIC_C_COMPILER
1
《零起点起步 PIC单片机 常用模块与典型实例》是一本针对初学者的单片机学习教材,特别适合那些对PIC单片机感兴趣的机械工业从业者或电子爱好者。这本书从基础知识开始,逐步引导读者深入理解并掌握PIC单片机的使用。通过丰富的实例,帮助读者将理论知识转化为实践能力。 在单片机的学习过程中,了解和掌握各个常用模块是至关重要的。PIC单片机的常用模块包括但不限于: 1. **输入/输出(I/O)端口**:这是单片机与外部世界交互的基础。PIC单片机的I/O端口可以配置为输入或输出,用于读取传感器数据或控制执行器动作。 2. **定时器/计数器**:这些模块用于执行时间相关的操作,如定时中断、脉冲计数等。在许多应用中,例如PWM(脉宽调制)控制、频率测量等,它们起着关键作用。 3. **串行通信**:包括UART(通用异步收发传输器)和SPI(串行外围接口)、I2C(集成电路间通信)等,使得单片机能与其他设备进行数据交换,构建更复杂的系统。 4. **A/D转换器**:用于将模拟信号转换为数字信号,以便单片机处理。在测量、控制等领域,A/D转换器是必不可少的。 5. **D/A转换器**:与A/D转换器相反,它将数字信号转换为模拟信号,常用于音频播放、电压控制等场合。 6. **中断系统**:中断是单片机对外部事件做出快速响应的重要机制。通过中断,单片机可以在执行正常程序的同时,适时处理突发事件。 7. **存储器**:包括程序存储器(Flash)和数据存储器(RAM),分别用于存放程序代码和运行时的数据。 书中的典型实例通常会涵盖这些模块的应用,帮助读者理解如何在实际项目中运用这些知识。例如,可能包含使用I/O端口控制LED灯、利用定时器实现PWM控制电机速度、通过串行通信连接传感器、进行A/D转换读取温度等实例。 在学习过程中,配合使用MapLab和Proteus这样的软件工具是十分有益的。MapLab可能是一个编程环境,提供友好的编程界面和调试工具,而Proteus则是一款强大的电子电路仿真软件,允许用户在虚拟环境中搭建电路并实时观察其运行效果,无需物理硬件即可验证设计。 这本书结合理论与实践,通过具体实例,为初学者提供了一个从零开始学习PIC单片机的全面教程。通过学习,读者不仅能掌握单片机的基本操作,还能具备设计和调试简单电子系统的能力。对于想要在机械工业领域扩展电子技术知识的人来说,这是一个很好的起点。
2025-11-07 10:54:11 6.01MB 机械工业
1