




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
图1.280C52引脚结构图80C52内置8位中央处理单元、256字节内部数据存储器RAM,8k片内程序存储器(ROM)32个双向输入/输出(I/O)口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。80C52有PDIP(40pin)和PLCC(44pin)两种封装形式[2]。(二)80C52系列单片机的主要性能80C52主要性能和参数[3]:它是互补高性能金属氧化物半导体结构可擦可编程只读存储器/只读存储器/中央处理器;具有256字节片内RAM,64K片外程序存储空间;有三个16位的定时器/计数器;32根可编程的输入/输出线和6个中断源;四级中断优先级;低功耗模式有空闲模式和掉电模式;工作电压是(3.4v~5v),典型值是5v,扩展温度范围(-40℃到+85℃)。管脚描述:VCC:电源电压。GND:电路接地。Port0:P0端口是一个8位、开漏、双向I/O口。作为输出端口,每个引脚能接收多个LSTTL门输入。Port1:P1口输出缓冲器能够驱动LSTTL门输入。作为输入口P1被外部拉低的引脚将会因为内部上拉寻找电流。Port2:P2端口是一个有内部上拉的8位双向I/O口。P2口输出缓冲器能驱动LSTTL门输入。Port3:P3端口是一个有内部上拉的8位双向I/O口。P3口输出缓冲器能驱动LSTTL门输入。P3口也提供多种特有功能,如下表1.1所示。表1.180C52P3口特殊功能端口引脚第二功能P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7RXD(串行输入口)TXD(串行输出口)INT0(外部中断0输入)INT1(外部中断1输入)T0(计数器0输入)T1(计数器1输入)WR(外部数据RAM写选通信号)RD(外部数据RAM读选通信号)RST:复位信号输入端。ALE:地址锁存信号输出端。当访问外部储存器时,地址锁存使能输出脉冲锁存地址低位字节。PSEN:程序储存使能端有效时可以从外部存储器读入选通脉冲EA/Vpp:允许外部输入。为了使装置能够从外部链接获取代码,EA必须连到Vss端。XTAL1:输入到反相振荡放大器。XTAL2:反相振荡放大器输出。(三)80C52系列单片机的常用外接电路(1)单片机的时钟电路MCS-51系列单片机HMOS器件内含有一个高增益的反相放大器,通过XTAL1、XTAL2外接作为反馈元件的晶体后,构成自激振荡器。接法如图1.3所示。图1.3单片机的时钟电路原理图振荡器的振荡频率主要取决于晶体;电容对振荡频率有微调作用,通常在20-30pF左右。电容的安装位置应尽量靠近单片机芯片。(2)单片机的复位电路单片机在启动运行时都需要复位,以便CPU和系统中的其他部件都处于某一确定的初始状态,并从该状态开始工作。MCS-51系列单片机的复位(RST)引脚上只要出现了10ms以上的高电平,单片机就实现复位。复位的功能是把程序计数器PC值初始化为0000H,使单片机从0000H单元开始执行程序。除此之外,复位操作还对一些特殊功能寄存器的值有影响。MCS-51系列单片机系统常常有上电复位和操作复位两种方法。上电复位是指单片机上电瞬间,要在RST引脚上出现宽度大于10ms的正脉冲,才能使单片机进入复位状态。操作复位是指用户按下“复位”按钮使单片机进入复位状态。本系统中上电复位电路如图1.4所示。图1.4单片机的复位电路原理图上电时,+5V电源立即对单片机芯片供电,同时经R对电容C充电。C上电建立过程就是负脉冲的宽度,经过倒相后,RST上出现正脉冲使单片机实现上电复位。1.3步进电机的选择1.3.1步进电机的概述步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。1.3.2步进电机的工作原理及分类步进电机是一种感应电机,它的工作原理是利用电子电路,将直流电变成分时供电的,多相时序控制电流,用这种电流为步进电机供电,步进电机才能正常工作,驱动器就是为步进电机分时供电的多相时序控制器,虽然步进电机已被广泛地应用,但步进电机并不能象普通的直流电机,交流电机在常规下使用。它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。因此用好步进电机却非易事,它涉及到机械、电机、电子及计算机等许多专业知识。步进电机作为执行元件,是机电一体化的关键产品之一,广泛应用在各种自动化控制系统中。随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。现在比较常用的步进电机包括反应式步进电机(VR)、永磁式步进电机(PM)、混合式步进电机(HB)和单相式步进电机等。永磁式步进电机一般为两相,转矩和体积较小,步进角一般为7.5度或15度;反应式步进电机一般为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大。反应式步进电机的转子磁路由软磁材料制成,定子上有多相励磁绕组,利用磁导的变化产生转矩。混合式步进电机是指混合了永磁式和反应式的优点。它又分为两相和五相:两相步进角一般为1.8度而五相步进角一般为0.72度。这种步进电机的应用最为广泛[4]。考虑到本次设计所需电机不需要带负载,以及价格方面的综合考虑,选用了28BYJ48型步进电机。1.3.328BYJ48型步进电机28BYJ48型步进电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。可以通过控制脉冲个来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。28BYJ48步进电机型四相八拍电机,电压为DC5V—DC12V。当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动。每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度(一个步距角)。当通电状态的改变完成一个循环时,转子转过一个齿距。四相步进电机可以在不同的通电方式下运行,常见的通电方式有单(单相绕组通电)四拍(A-B-C-D-A。。。),双(双相绕组通电)四拍(AB-BC-CD-DA-AB-。。。),八拍(A-AB-B-BC-C-CD-D-DA-A。。。)。一般28BYJ48步进电机实物红线接电源5V,本次设计橙色电线接P2.3口,黄色电线接P2.2口,粉色电线接P2.1口,蓝色接P2.0口[5]。接线方式和对应十六进制转换如表1.2所示。表1.28BYJ48步进电机接线方式和对应十六进制转换表橙黄粉蓝十六制(P2口)110000010111000000011100000000110x080x0c0x040x060x020x030x010x091.4显示元件的选择1.4.1液晶显示元件的简介液晶显示器,或称LCD(LiquidCrystalDisplay),为平面超薄的显示设备,它由一定数量的彩色或黑白像素组成,放置于光源或者反射面前方。液晶显示器功耗很低,适用于使用电池的电子设备。它的主要原理是以电流刺激液晶分子产生点、线、面配合背部灯管构成画面。今天的液晶显示器中广泛采用的是定线状液晶,如果我们微观去看它,会发现它特象棉花棒。与传统的CRT相比,LCD不但体积小,厚度薄(目前14.1英寸的整机厚度可做到只有5厘米),重量轻、耗能少(1到10微瓦/平方厘米)、工作电压低(1.5到6V)且无辐射,无闪烁并能直接与CMOS集成电路匹配。由于优点众多,LCD从1998年开始进入台式机应用领域。嵌入式系统开发中常用的液晶显示器有12864液晶和LCD1602,带中文字库的12864液晶是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64,内置8192个16*16点汉字,和128个16*8点ASCII字符集。利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示8×4行16×16点阵的汉字。也可完成图形显示。LCD1602显示模块只能实现ASCII字符显示,但是低电压低功耗。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。所以考虑到电机控制显示系统不需要太多的显示内容,从经济实惠的角度考虑。本设计选用LCD1602液晶显示器。1.4.2液晶显示元件1602字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块,本设计使用的是长沙太阳人电子有限公司的1602字符型液晶显示器。LCD1602主要技术参数:显示容量为16×2个字符;芯片工作电压是4.5—5.5V;工作电流为2.0mA(5.0V);模块最佳工作电压是5.0V;字符尺寸为2.95×4.35(W×H)mm。引脚功能说明LCD1602引脚图如图1.5所示。图1.5LCD1602引脚图1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表1.3。编号符号引脚说明编号符号引脚说明12345678VSSVDDVLRSR/WED0D1电源地电源正极液晶显示偏压数据/命令选择读/写选择使能信号数据数据910111213141516D2D3D4D5D6D7BLABLK数据数据数据数据数据数据背光源正极背光源负极表1.31602LCD引脚接口说明表其中VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10kΩ的电位器调整对比度。RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据[6]。(三)1602LCD的RAM地址映射及标准字库表液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在何处显示字符,如图1.6是1602的内部显示地址。图1.6LCD1602内部显示地址例如第二行第一个字符的地址是40H,那么是否直接写入40H就可以将光标定位在第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入的数据应该是01000000B(40H)+10000000B(80H)=11000000B(C0H)。在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预。每次输入指令前都要判断液晶模块是否处于忙的状态。1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,就能看到字母“A”[7]。 2系统硬件结构的设计本设计采用的硬件电路设计软件为Protel99SE加servicepack6的补丁包。Protel99SE是Protel公司近10年来致力于Windows平台开发的最新结晶,能实现从电学概念设计到输出物理生产数据,以及这之间的所有分析、验证和设计数据管理。最新版本的Protel软件可以毫无障碍地读Orcad、Pads、Accel(PCAD)等知名EDA公司设计文件,以便用户顺利过渡到新的EDA平台。Protel99SE共分5个模块,分别是原理图设计、PCB设计(包含信号完整性分析)、自动布线器、原理图混合信号仿真、PLD设计。基于单片机的洗衣机电机控制系统硬件基础分为4个部分,分别是:电平转换电路、液晶显示部分、按键设置电路、步进电机电路,另外一个部分是主控芯片单片机和其他部分的通信部分,整体框图如图1.1所示。洗衣机电机控制系统本着低成本,高实用性的设计原则进行设计。因此考虑到了简单明了,使用方便的设计思路。首先,系统的主控芯片采用的是MCS-51系列单片机,这是已经在工业,民用业现场应用十分广泛的单片机型号了,目前已经发展了很多增强功能,本设计采用的是80C52RC单片机。其次,选择一种适合现场要求的、性价比高的步进电机28BYJ48,还有,显示部分采用国液晶显示器1602LCD进行显示。设计主要能及时准确生动的的进行据的显示,使用者很直观的看到电机工作模式和剩余时间的变化情况。2.1电平转换电路的设计由于电脑串口RS232电平是-10v到+10v,而一般的单片机应用系统的信号电压是TTL电平0到+5v。所以在设计单片机电路之前应设计一个电平转换电路,MAX232就是用来进行电平转换的。MAX232是由德州仪器公司(TI)推出的一款兼容RS232标准的芯片该器件包含2个驱动器、2个接收器和一个电压发生器电路提供TIA/EIA-232-F电平。该器件符合TIA/EIA-232-F标准,每一个接收器将TIA/EIA-232-F电平转换成5-VTTL/CMOS电平。每一个发送器将TTL/CMOS电平转换成TIA/EIA-232-F电平[8]。MAX232的接线图如图2.1所示。图2.1MAX232接线图2.2液晶显示器电路的设计液晶显示器(LCD)是平板显示器的一种,具有低电压、微功耗、无辐射、小体积等特点,被广泛应用于各种嵌入式产品中。因而本设计采用液晶显示器显示温室环境信息。液晶显示器的接口电路有2种:一种是总线式接口电路方式;另一种是非总线式接口电路方式。总线式接口电路方式是把液晶显示器看做外部的数据存储器,访问液晶显示器就像访问数据存储器的一个单元一样,采用这种方式能充分发挥单片机的总线读写功能,便于升级和扩展。而非总线方式是直接利用I/O口进行读写,较灵活,不便于升级。这里采用总线式接口方式。接口时要注意显示器的使能信号E是高电平有效,而单片机的读、写信号是低电平有效,所以要取反。这里使用的液晶显示器为LCD1602。LCD1602为字符点阵式液晶显示器,可以显示16×2个字符,可以满足要求。单片机将数字温度量发送到LCD显示模块,并控制LCD显示模块按照一定的格式显示的功能。其具体的电路设计如图2.2所示。图2.2液晶显示电路2.3按键设置电路的设计系统需对电机工作模式以及时间的值进行设定,这就需要应用按键来实现。按键键盘有独立式按键和矩阵式键盘两种形式。根据实际情况,本系统采用独立式键盘设计。其接口电路如图2.3所示。按钮控制部分由六个接触式开关对洗衣机的水位、电机的工作模式和时间进行控制。六个开关分别和单片机的P1.3、P1.4、P1.5、P1.6、P1.7和P3.5相连。采用中断扫描方式识别按键。在初始化系统时,首先是将固化在存储器中的初始温度设定值赋给定义的数据缓存变量。通过服务程序扫描P1口,读入相应按键数据,经过运算修改数据缓存变量,并送LCD进行显示。图2.3键盘电路原理图六个按钮控制功能如下:S1:停止键。S2:调节电机转速按键,可以调节电机的三种不同转速。S3:液位开关按键,模拟洗衣机机内水位到达的高度,只有按下时洗衣机才可以工作。S4:UP键,上调菜单以及增加洗衣机工作时间。S5:DOWN键,下调菜单以及减少洗衣机工作时间。S6:菜单键,选择电机工作模式。2.428BYJ48步进电机电路的设计虽然步进电机已被广泛地使用,但步进电机并不能像普通的直流电机、交流电机在常规下使用。它必须由双环型脉冲信号、功率驱动电路等组成控制系统方可使用。因此用好步进电机却非易事,它涉及到机械、电机、电子及计算机等许多专业知识。所以,步进电机不许加驱动才可以运转,驱动信号必须为脉冲信号,没有脉冲的时候,步进电机静止,如果加入适当的脉冲信号,就会以一定角度转动。转动的速度和脉冲的频率成正比。鉴于综合考虑,用ULN2003APG来驱动步进电机。ULN2003APG是大电流驱动阵列,多用于单片机、智能仪表、PLC、数字量输出卡等控制电路中。可直接驱动继电器等负载。属于高耐压、大电流达林顿管IC,ULN2003APG与ULN2003是同一个系类产品。高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成该电路的特点如下:ULN2003APG的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。ULN2003APG工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V的电压,输出还可以在高负载电流并行运行。ULN2003APG内部还集成了一个消线圈反电动势的二极管,可用来驱动继电器。它是双列16脚封装,NPN晶体管矩阵,最大驱动电压=50V,电流=500mA,输入电压=5V,适用于TTLCOMS,由达林顿管组成驱动电路。ULN2003APG是集成达林顿管IC,内部还集成了一个消线圈反电动势的二极管,它的输出端允许通过电流为200mA,饱和压降VCE约1V左右,耐压BVCEO约为36V。由ULN2003APG和28BYJ48步进电机组成的电机电路如图2.4所示。图2.428BYJ48步进电机电路图根据以上的设计,将各个功能模块通过万用板焊接到一起,再下载好相应的程序就可以实现预期的功能了,系统通电以后的实物图如图2.5所示。从实物图可以看出,该方案设计合理,能达到预期的要求。图2.5洗衣机电机实物图3系统软件程序的设计3.1系统的软件总体设计本系统的程序设计是建立在模拟洗衣机电机控制系统的基础上,按单片机应用系统的步骤开发完成的。整个程序控制的目的是实现洗衣机在各种工作模式下运行,并能够实时的显示出剩余工作时间的状况。本系统的软件部分采用C51编程,在Keil环境下运行。Keil软件是标准的51单片机集成开发环境。既可以实现软件编译,(asrn编译为hex),也可以配合仿真模块实现硬件仿真。整个控制系统软件采用结构化和模块化的设计方法。整个单片机系统的程序共分为五大模块,即主程序模块、工作模式选择模块、显示驱动程序模块、按键设置模块、时间模块。每个模块都具有一定的功能,其中有的模块还包含一些子模块,既相互独立又相互联系,低级模块可以被高级模块调用。3.2各功能模块的介绍3.2.1系统主程序设计系统主程序主要是在系统上电后进行的一系列初始化工作,包括对I/O口、定时器/计数器、中断系统等特殊功能寄存器赋值,使得数据采集、LCD显示模块、按键设置电机状态等模块与单片机的数据传输正常,还包括转入检测控制程序等,然后等待中断响应执行相应的子程序。其程序运行框图如图3.1所示。当水位到达指定位置时(液位开关模拟),按下菜单键,通过UP键和DOWN键调节洗衣机工作模式和工作时间。调节完毕后,再按下菜单键系统开始运行,LCD显示工作状态和工作剩余时间,电机正常转动,直至计时到,LCD计时和电机停止工作。此时,系统正常工作一个周期。图3.1系统主程序流程图3.2.2工作模式选择程序本系统洗衣机的工作模式有三种:分别是洗涤模式、漂洗模式、甩干模式。电机的工作模式有正转和反转两种。这些工作模式都可以通过菜单键和选择配合进行选择。工作模式选择程序运行框图如图3.2所示。图3.2工作模式流程图3.2.3液晶显示驱动程序显示模块采用的是LCD1602液晶显示芯片,使用LCD进行显示也有很多成熟的技术,单片机将处理完的数据传输到LCD显示的时候,也会有相应的子程序。LCD1602子程序运行框图如图3.3所示。 图3.3LCD子程序流程图 3.2.4计时程序计时程序很简单,本洗衣机系统共有四个计时子程序,分别为1分钟子程序、2分钟子程序、5分钟子程序和10分钟子程序。而这些小的时间程序都是在一个最基本的50ms子程序的基础上完成的。计时子程序运行框图如图3.4所示。图3.4计时子程序流程图3.2.5按键设置程序本系统需对菜单和时间上下限的初值进行设定,采用的是独立式的按键设置。键盘接外部中断0,采用中断扫描方式识别按键。当按下某个键以后,外部中断0产生中断,通过服务程序扫描按键接口,读入相应按键数据。由于采用中断方式,键盘的所有操作都在中断处理程序中完成,只需要在程序初始化的阶段打开相应的中断源,且允许系统中断。按键设置子程序运行框图见图3.5所示。图3.5按键设置流程图4系统的调试由于电子元器件存在着误差,且在电路设计过程中采取了一些工程上的估计方法,为了保证系统能够正常工作,且运行状态最佳,需在系统设计完成后,对系统运行进行调试。软件调试与所选用的软件结构和程序设计技术有关。如果采用模块程序设计技术,则逐个模块调试好后,再进行系统程序总调试。如果采用实时多任务操作系统,则一般是逐个任务进行调试。单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。掌握这一软件的使用对于使用51系列单片机的学者来说是十分必要的,如果使用C语言编程,那么Keil几乎就是不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会事半功倍。KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势[9]。4.1本系统的调试当硬件设计从布线到焊接安装完成之后,就开始进入硬件调试阶段,调试大体分为以下几步。(一)硬件静态的调试排除逻辑故障这类故障往往由于设计和加工制板过程中工艺性错误所造成的。主要包括错线、开路、短路。排除的方法是首先将加工的印制板认真对照原理图,看两者是否一致。应特别注意电源系统检查,以防止电源短路和极性错误,并重点检查系统总线(地址总线、数据总线和控制总线)是否存在相互之间短路或与其它信号线路短路。必要时利用数字万用表的短路测试功能,可以缩短排错时间。排除元器件失效造成这类错误的原因有两个:一个是元器件买来时就已坏了;另一个是由于安装错误,造成器件烧坏。可以采取检查元器件与设计要求的型号、规格和安装是否一致。在保证安装无误后,用替换方法排除错误。排除电源故障在通电前,一定要检查电源电压的幅值和极性,否则很容易造成集成块损坏。加电后检查各插件上引脚的电位,一般先检查VCC与GND之间电位,若在5V~4.8V之间属正常。若有高压,联机仿真器调试时,将会损坏仿真器等,有时会使应用系统中的集成块发热损坏。(二)软件调试在Keil软件的工具栏中选Debug进行调试,调试文件时得选好时钟芯片的晶振为11.0592MHz,将文件先分段调试,然后再将整个文件一起调试。在Keil软件中建立好自己的工程文件,并把自己相应的程序保存为.C文件,编译后生成.hex文件。在编译的成的Message中,查看程序的语法错误,如果有错误,可以根据Message中的提示对错误修改。当出现没有出现错误和警告的时候在将程序烧录到单片机中,然后就进行硬件的调试是否一致。调试除了需要注意硬件的设计、安装外,还需注意软件部分的程序编写,以提高系统的性能。系统程序优劣的评定方式有很多,从不同角度就有不同的标准。程序运行效率、可读性、可维护性、可移植性等都是标准。一般来说要求其生成的可执行文件运行效率高、占用存储空间小,即所程序短小精悍、效率高。由于单片机的存储空间和计算速度与PC机相比,性能差的太远,因此我们在处理数据时应尽量多使用PC机,以减少单片机的负担,增强系统的运行效率。4.2本系统的编译器(一)Keil编译器软件KeilC51单片机软件开发系统可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。打开Keil软件后,出现(图4.1)所示界面。当然,如果Keil在上次关闭时有打开的工程,再一次打开时它会自动加载上一次的工程文件。图4.1Keil软件主界面点击Project->NewProject…(Project->OpenProject…为打开一个已经存在的工程),如图4.2所示。图4.2Keil软件打开新工程界面点击会出现的对话框中选择工程存在路径(如图4.3所示),单击“保存”后,出现界面。在此界面上选择电路板上所用的单片机型号(如图4.4所示),单击“确定”。图4.3保存路径界面图4.4选择电路板上所用的单片机型号界面设置完成后,软件会提示“是否将8051上电初始化程序添加入工程?”这个一般选“否”。这样,就建立了一个空的51工程(如图4.5所示)。图4.5建立空的51工程界面在这个工程里面加入自己的程序代码。点击,或者File->New,便建立了一个空的文本框(如图4.6所示)。图4.6建立空文本框界面到现在为止,就可以开始在里面输入代码了。保存时注意:如果是用C语言写的程序,则将文本保存成*.c,如果是用汇编写的程序,则将文本存成*.asm(如图4.7所示)。图4.7保存文本改写界面将写完的程序添加到工程里面,如图4.8所示,在左边ProjectWorkspace里的SourceGroup1上右击,选择AddFilestoGroup’SourceGroup1’。在打开的对话框中,选择刚存的文件路径和对应的扩展名。此时,程序就添加进了这个工程。图4.8添加工程界面下一步,就开始编译刚输入进去的代码。点击工具栏中的按钮。接着,Keil会打出下面的提示:“"4LED"-0Error(s),0Warning(s).其中“"4LED"-0Error(s),0Warning(s).”说明现在的工程编译通过,0个错误和0个警告。建立工程的时候,默认是不生成HEX文件的,得在编译做如下设置:单击,或者在ProjectWorkspace里Target1上右击,选择“OptionsforTarget‘Target1’”。出现如图4.6所示对话框,选择“Output”按图示,将箭头所指的多选框勾上,点“确定”。现在再点击重新编译,系统提示:“creatinghexfilefrom"4LED"...”。便会在工程所在文件夹里生成HEX文件。图4.9生成HEX文件界面然后,单击,在Target页面上设置对应的晶振频率。其他不用作修改。设置完成后,单击,进入调试界面(如图4.10所示)。图4.10Keil调试界面点击中对应的工具按钮则可以开始调试。另外,“View”下的三个工具在调试中会经常用到。“DisassemblyWindow”显示C文件的反汇编程序;“Watch&CallStackWindow”可以显示程序中某一变量的值;“MemoryWindow”可以显示内存中某一地址的值。结论本设计是基于单片机的洗衣机电机控制系统,功能全面,成本低廉。经模拟运行,洗衣机电机系统工作稳定可靠,达到了毕业设计的基本要求。本系统设计的特点:1、阐述了基于单片机的洗衣机电机系统设计的必要性和现实意义。分析了洗衣机电机系统的设计需要,确定了该监控系统的总体方案。2、运用C51编程语言并结合相应的硬件电路,以80C52单片机为核心,执行机构由一个步进电机组成;各模块的功能可行;采用智能键盘控制,操作功能简单可行性强。3、硬件电路的设计简单,减少了信号A/D转换、放大、耦合处理的硬件开销,节约了单片机资源,同时也避免了模拟传感器测量过程中存在引线误差补偿、多点测量切换误差、放大电路零点漂移误差、温度标定等问题。当然该系统的研究还存在一些问题需要解决。比如电机调速范围不够宽,反应速度慢、有滞后、线性度不够好,需要进行校正。也有按键接触等问题需要解决。致谢通过这一阶段的努力,我的毕业论文《基于单片机的洗衣机电机控制系统》终于完成了,这意味着大学生活即将结束。在大学阶段,我在学习上和思想上都受益非浅,这除了自身的努力外,与各位老师、同学和朋友的关心、支持和鼓励是分不开的。在本论文的写作过程中,我的导师刘老师倾注了大量的心血,从选题到开题报告,从写作提纲,到一遍又一遍地指出每稿中的具体问题,到资料收集,到写作、修改,论文定稿,严格把关,循循善诱,在此我表示衷心感谢。同时我还要感谢在我学习期间给我极大关心和支持的各位老师以及关心我的同学和朋友。写作毕业论文是一次再系统学习的过程,毕业论文的完成,同样也意味着新的学习生活的开始。最后再一次对于刘老师表示衷心的感谢,感谢她对我的无私的付出。PAGE60参考文献[1]徐惠民、安德宁.单片微型计算机原理接口与应用.第一版.北京:北京邮电大学出版社,1996.P2-P4.[2]杨立民.51系列单片机系统设计.第三版.航空航天大学出版社,1994.P34-35.[3]赵晓安.MCS-51单片机原理及应用.天津:天津大学出版社,2001.3.[4]郑毛祥.单片机应用基础.第一版.人民邮电出版社,2007.P36-39.[5]刘小俊,涂春霞.基于单片机的步进电机控制系统.电子质量,2007年.P17-19.[6]陈振林,孙中泉..半导体原理与应用.微电子技术,1999年.P1-14.[7]叶峰,田明波.液晶显示原理与技术.科学出版社,1999年.P34-44.[8]刘凯.驱动器的维修与应用.电子工业出版社,2001年.P24-25.[9]陈晓莉,张俊涛.KEILC51单片机仿真器的设计.第二版.陕西科技大学出版社,2006.P19-20.附录A英文原文DesignofPWMControllerinaMCS-51CompatibleMCU
Authors:Abil,GailPublication:PearsonEducationLimitedPublicationdate:2001Abstract:ThispaperpresentsadesignofPulse-WidthModulated(PWM)controllermoduleinaMCUbasedonMCS-51structure.Thedesigncangenerate2-channelprogrammable
periodicPWMsignals.TheseoutputPWMsignalsfromMCUcanbeusedforavarietyofapplications
includingmotorcontrol.Thefunctionofthedesignallowsuserstoselectindependentorcomplementaryinversiontimingrelationshipsbetween2PWMwaveforms.ThelattermodeselectionalsoincludesoptionaldeadtimefunctiontosupportdrivingH-bridgesandinverters.Therefore,userscancontroltheoutputPWMsignalsthroughsettingtheduty-cycleregisters.Afterthesuccessfulsimulationatthefrontend,practicalexperimentsmadeonaNIOSdevelopmentboardverifythedesign.Keywords:PWM,MCS-51,MCU
1.Introduction
PWMtechnologyisakindofvoltageregulationmethodbycontrollingtheswitchfrequencyofDCpowerwithfixedvoltagetomodifythetwo-endvoltageofload.Thistechnologycanbeusedforavarietyofapplicationsincludingmotorcontrol,temperaturecontrolandpressurecontrolandsoon.InthemotorcontrolsystemshownasFig.1,throughadjustingthedutycycleofpowerswitch,thespeedofmotorcanbecontrolled.AsshowninFig.2,underthecontrolofPWMsignal,theaverageofvoltagethatcontrolsthespeedofmotorchangeswithDuty-cycle(D=t1/TinthisFigure),thusthemotorspeedcanbeincreasedwhenmotorpowerturnon,decreasedwhenpowerturnoff.
Therefore,themotorspeedcanbecontrolledwithregularlyadjustingthetimeofturn-onandturn-off.Therearethreemethodscouldachievetheadjustmentofdutycycle:Adjustfrequencywithfixedpulse-width.Adjustbothfrequencyandpulse-width.(3)Adjustpulse-widthwithfixedfrequency.
Generally,therearefourmethodstogeneratethePWMsignalsasthefollowing:(1)Generatedbythedevicecomposedofseparatelogiccomponents.Thismethodistheoriginalmethodwhichnowhasbeendiscarded.(2)Generatedbysoftware.ThismethodneedCPUtocontinuouslyoperateinstructionstocontrolI/OpinsforgeneratingPWMoutputsignals,sothatCPUcannotdoanythingother.Therefore,themethodalsohasbeendiscardedgradually.GeneratedbyASIC.TheASICmakesadecreaseofCPUburdenandsteadyworkgenerallyhasseveralfunctionssuchasover-currentprotection,dead-timeadjustmentandsoon.Thenthemethodhasbeenwidelyusedinmanykindsofoccasionnow.(4)GeneratedbyPWMfunctionmoduleofMCU.ThroughembeddingPWMfunctionmoduleinMCUandinitializingthefunction,PWMpinsofMCUcanalsoautomaticallygeneratePWMoutsignalswithoutCPUcontrollingonlywhenneedtochangeduty-cycle.Itisthemethodthatwillbeimplementedinthispaper.
Inthispaper,weproposeaPWMmoduleembeddedina8051microcontroller.ThePWMmodulecansupportPWMpulsesignalsbyinitializingthecontrolregisterandduty-cycleregisterwiththreemethodsjustmentionedabovetoadjustthedutycycleandseveraloperationmodestoaddflexibilityforuser.
ThefollowingsectionexplainsthearchitectureofthePWMmoduleandthearchitecturesofbasicfunctionalblocks.Section3describestwooperationmodes.Experimentalandsimulationresultsverifyingpropersystemoperationarealsoshowninthatsection.Dependingonmodeofoperation,thePWMmodulecreatesoneormorepulse-widthmodulatedsignals,whosedutyratioscanbeindependentlyadjusted.
2.ImplementationofPWMmoduleinMCU
2.1OverviewofthePWMmodule
AblockdiagramofPWMmoduleisshowninFig.3.Itisclearlyfromthediagramthatthewholemoduleiscomposedoftwosections:PWMsignalgeneratoranddead-timegeneratorwithchannelselectlogic.ThePWMfunctioncanbestartedbytheuserthroughimplementingsomeinstructionsforinitializingthePWMmodule.
ThePWMmodulealsohasthefollowingfeatures:
(1)TwoPWMsignaloutputswithcomplementaryorindependentoperation
(2)Hardwaredead-timegeneratorsforcomplementarymode
(3)DutycycleupdatesareconfigurabletobeimmediatedorsynchronizedtothePWM
2.2Detailsofthearchitecture
2.2.1PMWgenerator
Thearchitectureofthe2-outputPWMgeneratorshowninFig.3isbasedona16-bitresolutioncounterwhichcreatesapulse-widthmodulatedsignal.Thesystemissynthesizedbyasystemclocksignalwhosefrequencycanbedividedby4timesor12timesthroughsettingthevalueofT3MforPWM0orT4MforPWM1inthespecialregisterPWMCONasshowninFig.4.ToPWM0generator,theclockto16-bitcounterwillbepre-dividedby4timesbydefaultwhenT3Missettozero.Andtheclockwillbedividedby12timeswhenT3Missetto1.ThisisalsotrueforPWM1.TheotherbitsinPWMCONareexplainedindetailinTable1.16152.2.2Channel-selectlogic
ThefollowFig.5showsthechannel-selectlogicwhichisusefulinComplementaryMode.Fromthisdiagram,itiscleartoknowthatsignalCPandCPWMcontrolthesourceofPWMHandPWML.Andthedetailsaboutthetwocontrolsignalswillbediscussedinthesection3,andthearchitectureofdead-timegeneratorwillalsobediscussedinsection3.1forthecontinuityofComplementaryMode.
3.OperationModeandSimulationResults
Thedesignhastwooperationmodes:IndependentModeandComplimentaryMode.BysettingthecorrespondingbitCPWMinregisterPWMCONshowninFig.4,usercanselectoneofthetwooperationmodes.WhenCPWMissettozero,PWMmodulewillworkinIndependentMode,whereas,PWMmodulewillworkinComplimentaryMode.Inthefollowingofthissection,thetwooperationmodewillbeexplainedrespectivelyindetailandthesimulationresultsofthePWMmodulefromtheSynoposysVCSEDAplatformwhichverifythedesignwillalsobeshown.3.1IndependentPWMOutputMode
AnIndependentPWMOutputmodeisusefulfordrivingloadssuchastheoneshowninFigure1.AparticularPWMoutputisintheIndependentOutputmodewhenthecorrespondingCPbitinthePWMCONregisterissettozero.Inthiscase,two-channelPWMoutputsareindependentofeachother.ThesignalonpinPWM0/PWMHisfromPWM0generator,andthesignalonpinPWM1/PWMLisfromPWM0generator.Theseparatecaseisachievedbythechannel-selectlogicshowninFig.6.ThePWMI/Opinsaresettoindependentmodebydefaultuponadvicereset.Thedead-timegeneratorisdisabledintheIndependentmode.ThesimulationresultisshowninFigure4asthefollowingFig.5.Tr4andtr3arerunbitstoPWM0andPWM1,respectively.Actually,fromthisdiagram,PinP1[5]/P1[4]ofMCUisusedforPWMH/PWMLornormalI/O,alternatively.
3.2ComplementaryPWMOutputMode
TheComplementaryOutputmodeisusedtodriveinverterloadssimilartotheoneshowninFigure7.ThisinvertertopologyistypicalforDCapplications.InComplementaryOutputMode,thepairofPWMoutputscannotbeactivesimultaneously.ThePWMchannelandoutputpinpairareinternallyconfiguredthroughchannel-selectlogicasshowninFigure5.Adead-timemaybeoptionallyinsertedduringdeviceswitchingwherebothoutputsareinactiveforashortperiod.TheComplementarymodeisselectedforPWMI/OpinpairbysettingtheappropriateCPWMbitinPWMCON.Inthiscase,PSELisineffect.PWMHandPWMLwillcomefromPWM0generatorwhenPSELissettozero,whenthesignalsfromPWM1generatorisuseless,whereasPWMHandPWMLwillcomefromPWM1generatorwhenPSELissetto1,whenthesignalsfromPWM0generatorisuseless.IntheprocessofproducingthePWMoutputsinComplementaryMode,thedead-timewillbeinsertedtobediscussedinthefollowingsection.
4.Conclusions
Inthispaper,wehavedesignedPWMmodulebasedonan8-bitMCUcompatiblewith8051family.Thedesigncangenerate2-channelprogrammableperiodicPWMsignalswithtwooperationmode,IndependentModeandComplementaryModeinwhichdead-timewillbeinserted.TheauthorswouldliketothankShanghaiLeadingAcademicDisciplineProject(ProjectNumber:T0103)forthefinancialsupport.附录B汉语翻译基于51单片机兼容的脉宽调制控制器的设计作者:阿比尔,盖尔ˎ̥出版:培生教育出版有限公司出版日期:2001摘要:这篇论文描述了脉宽调制控制器模块在微控制器中基于51单片机构造的设计。该设计可产生两条可设计的周期脉宽信号。这些从微控制器输出的脉宽信号可以被用于多样化的应用软件包括电动机控制。这种设计功能允许使用者选择在两个脉宽调制波形中不受约束或补充的倒置时间关系。在选择后一个模式中包含选择死区功能用以驱动三相H桥和逆变器。因此,使用者通过设置占空比寄存器能够控制输出脉宽调制信号。在成功的模拟前线末端之后,将在Nios嵌入式处理器上通过实际地实验来证实此设计。关键字:PWM,51系列单片机,MCU1引言脉宽调制技术是一种电压调节方法,它是通过控制直流电的转换频率以固定的电压来更改负载的两个终端电压。这种技术可以被用于多样化的应用软件包括电动机控制、温度控制和电压控制等。电动机控制系统在脉宽调制信号的控制下,电压的平均值通过占空比因素控制了电动机的速度,因此当电动机电源增加,电动机速度也会增加,反之,当电源被切断时速度降低。
因此,电动机的速度可以通过规则的调节开、关的时间来控制。有三种方法可以达到调节周期的任务:用固定的脉冲宽度来调节频率。(2)调节频率和脉冲宽度。(3)用固定的频率来调节脉冲宽度。
一般地,有四种方法来形成脉宽信号如下:(1)通过设计的各个逻辑组成来形成。这种是已经被丢弃的原始额度方法。(2)通过软件来形成。这种方法需要中央处理器不断的操作指令用以控制输入/出引脚来形成脉宽输出信号,以至于中央处理器不能做别的工作。因此,这种方法也已经被逐渐的取消。(3)通过特定用途集成电路来形成。集成电路使得中央处理器的负荷和工作的稳定性降低,它有几点功能,例如,过电流保护,死区的调整等。这种方法被广泛的当前的很多场合。(4)通过微控制器的脉宽调制功能模块来形成。通过在微控制器中藏入脉宽调制功能模块并初始化该功能,微控制器的脉宽调制引脚可以在只需要改变周期而没有中央处理器控制的情况下自动的形成脉宽调制输出信号。这种方法将在本文章中得以实现。在本文中,我们建议在脉宽调制模块中安放一个8051单片机。脉宽调制模块可以通过以上提到的三种方法来调节周期和部分工作指令,使得控制的寄存器和周期寄存器被初始化,以适应使用者的需求。以下的部分解释了脉宽调制模块的结构和基础功能块结构。第三部分描述了两个51单片机脉宽调制控制器外文文献及翻译操作模块。实验和模拟的结果证明适当的系统操作仍然能在此部分中被显示。根据操作的指令,脉宽调制信号模块生成了一个或更多的脉宽已调整的信号,它的时间比率可以独自的被调节。2在微控制器中执行脉宽调制模块
2.1概述脉宽调制模块
脉宽调制模块由两部分组成:通过选择不同的逻辑路线有脉宽信号发生器和死区发生器。使用者通过执行一些初始化脉宽信号的指令可以使脉宽调制功能被启动。特别是在下列电源和运动控制应用软件中被支持。脉宽调制模块也有如下的特征:
(1)两个脉宽输出信号互补或互不相关的运行
(2)硬件死区时间因互补的工作状态而形成
(3)循环更新可以直接或同步的与脉宽信号相配置2.2体系结构的细节
2.2.1脉宽调制的形成
输出脉宽信号的形成结构是基于16位产生脉宽调制信号的寄存器。该系统由时钟信号合成,时钟信号的
频率通过在一个特殊寄存器PWMCON中设置T3M控制PWM0或设置T4M控制PWM1可以被分成4分频或12分频。对于PWM0发生器,时钟的16位寄存器将被提前分成4分频通过将T3M预设为0。当T3M被设为1时,时钟信号可以被分成12分频。这种方法对于PWM1来说也一样。
3操作方式和模拟结果
设计有两种操作方式:独立的方式和互补的方式。通过设置在PWMCON寄存器中的相应位CPWM,用户可以选择两种操作方式中的一种,当CPWM被设为0,脉宽信号将工作在互补的方式下,选择另外一种方式时,两种操作方式将依次被详细的解释,以及从SynoposysVCSEDA平台模拟脉宽信号的结果将也被展示出来用以检验该设计。3.1独立的脉宽信号输出方式
独立的脉宽信号输出方式对驱动负载很有作用。当PWMCON寄存器中相应的CP位被设为0,一个特别的脉宽信号将是以独立的方式输出,那么,两个途径的脉宽信号输出彼此之间将是独立的。在PWM0/PWMH引脚上的信号是来自PWM0发生器,在PWM1/PWML引脚上的信号是来自PWM0发生器。不同的地方是通过途径选择的逻辑方式获得的。脉宽信号输入/出引脚被设置位独立方式通过重新设置它的预设值。死区时间的发生器在独立方式中是不起作用的,Tr4和Tr3是PWM0和PWM1各自的启动位,事实上,微处理器的P1[5]/P1[4]引脚被用于PWMH/PWML或正常的输入/出口,两者择其一。
3.2互补脉宽输出信号方式
互补输出方式被用于驱动变频器电路,这种变频器布局是直流电路应用的典型代表,在互补输出方式中,两个
脉宽输出信号不能同时工作。脉宽通道和输出引脚通过通道选择逻辑方法在内部被形成一定的结构。当两个输出都处于短暂的不工作时间,死区时间可以随意的被插入设备转换中。
互补方式通过在PWMCON寄存器中设置合适的CPWM位,被用于脉宽输入/出引脚,在这种情况下,PSEL是有效的。当PSEL被设为0时,脉宽高/低电平将由PWM0发生器产生,而PWM1发生器产生的信号是无效的;那么当PSEL被设为1时,脉宽信号的高/低电平将从PWM1发生器产生,而PWM0发生器产生的信号是无效的。在用互补方式产生脉宽输出信号的进程中,死区时间将被引入,在下节中将被讨论。3.3死区时间的控制
当PWM输入/输出引脚对是在互补输出操作模式中,死区时间会自动启用。由于输出功率器件不能在瞬间切换,在关断一个PWM输出互补对与开启的其他晶体管之间必须提供一定的时间。两个输出PWM模块有一个可编程死区时间的8位寄存器。PWM模块互补输出一个8位向下计数器,被用于生产死区时间的插入。死区时间单位显示有上升沿和下降沿检测器从PWM其中之一的发生器上连接到PWM信号。死区的时间被加载到对边缘检测的PWM定时器上。根据边缘上升或下降,互补输出被延迟,直到计时器下降到零。
4总结
在这个文件中,我们设计的PWM模块,基于8位微控制器与8051系列兼容。该设计可以产生2通道可编程PWM信号的周期,即两个运作模式,独立模式和互补模式中的死区时间将被插入。仿真EDA平台上的结果证明了其正确性和用处。附录C洗衣机电机控制系统原理图附录D洗衣机电机控制系统程序#include<reg52.h> //器件配置文件#include<stdio.h>//标准输入输出#include<intrins.h>#defineucharunsignedchar#defineuintunsignedint#defineDataP0//数据端口sbitxiang1=P2^0;sbitxiang2=P2^1;sbitxiang3=P2^2;sbitxiang4=P2^3;sbitoff=P1^3;sbittiaosu=P1^5;sbitshuiwei_key=P1^4;sbitup=P3^4;sbitdown=P1^7;sbitmenu=P1^6;sbitRS=P1^0;//Pin4sbitRW=P1^1;//Pin5sbitE=P1^2;//Pin6uchargongzuomoshi=1;uchardianjimoshi=1;uchardingshi_time=1;ucharmenu_flag=0,dianji_flag=0;uintqiehuan_flag=0;uintflag_1s=0;uintsecond=0;uintminute=0;chardataTimeNum[]="";chardataTest1[]="";charidatatemp1[]="";charidatatemp2[]="";uintsudu_time=350;/******************************************************************//*函数声明*//******************************************************************//******************************************************************//*微秒延时函数*//******************************************************************/voidDelayUs(unsignedcharus)//delayus{unsignedcharuscnt;uscnt=us>>1;/*12MHz频率*/while(--uscnt);}/******************************************************************//*毫秒函数声明*//******************************************************************/voidDelayMs(unsignedcharms){while(--ms){DelayUs(250);DelayUs(250); D
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国湖南旅游行业市场调查研究及发展战略规划报告
- 2025年度养殖场养殖技术培训与合作开发合同示例
- 防腐除锈合同范本
- 2025年度高端酒店商标使用权转让合同4篇
- 2025年度电力工程档案管理及信息化服务合同
- 2025版WPS借款合同模板(含反洗钱合规)
- 2025年电动汽车充电桩项目合作计划书
- 2025年度石材资源整合与开发合作合同4篇
- 简单钢结构合同范本
- 光伏汇流箱项目效益评估报告
- 2024年河南郑州二七区侯寨中心卫生院招聘笔试真题
- 中国糖尿病防治指南+2024+解读
- 数学-山东省天一大联考齐鲁名校教研共同体2024-2025学年(下)高三开学质量检测联考试题和答案
- 岗位职责心得体会(2篇)
- 2025年上海宝冶集团限公司招聘历年高频重点提升(共500题)附带答案详解
- GB/T 6822-2024船体防污防锈漆体系
- 电信网络诈骗犯罪的特征、治理困境及对策建议
- 救护车挂靠私立医院协议书(2篇)
- 《血透患教》课件
- app 购买合同范例
- 高二上学期物理(理科)期末试题(含答案)
评论
0/150
提交评论