首页 课程设计论文0861130123+吴斌+基于MCS51单片机多机通信系统的实现_

课程设计论文0861130123+吴斌+基于MCS51单片机多机通信系统的实现_

举报
开通vip

课程设计论文0861130123+吴斌+基于MCS51单片机多机通信系统的实现_桂林电子科技大学课程设计说明书课程设计说明书题目:基于MCS51单片机多机通信系统的实现院(系):信息与通信学院专业:电子信息工程学生姓名:吴斌学号:0861130123指导教师:武小年职称:副教授2011年12月3日基于MCS51单片机多机通信系统的实现摘要目前,MCS51单片机在多机通信领域应用很广。研究最多的是上位机与下位机的通信及多单片机构成的主从式多机通信系统。本文重点研究了主从式多机通信系统和平权式多机通信系统,把主从式多机通信系统与平权式多机通信系统有效地结合到了一起。所谓主从式结构,即在两个单片机中...

课程设计论文0861130123+吴斌+基于MCS51单片机多机通信系统的实现_
桂林电子科技大学课程设计 说明书 房屋状态说明书下载罗氏说明书下载焊机说明书下载罗氏说明书下载GGD说明书下载 课程设计说明书题目:基于MCS51单片机多机通信系统的实现院(系):信息与通信学院专业:电子信息工程学生姓名:吴斌学号:0861130123指导教师:武小年职称:副教授2011年12月3日基于MCS51单片机多机通信系统的实现摘要目前,MCS51单片机在多机通信领域应用很广。研究最多的是上位机与下位机的通信及多单片机构成的主从式多机通信系统。本文重点研究了主从式多机通信系统和平权式多机通信系统,把主从式多机通信系统与平权式多机通信系统有效地结合到了一起。所谓主从式结构,即在两个单片机中,一个主机负责通信管理,另一个为从机,从机要负责主机的调度与支配。该设计用AT89S52芯片,并用C语言程序来控制AT89S52,使之能实现两个单片机之间的通信。通信方式为单工通信,一个为主单片机,作为发送方,另一个为从单片机,作为接收方。对于两片MCS51单片机,发送方的数据由串行口TXD端输出,接收方的数据由串行口RXD端输入。通信成功时,对应的LED灯会闪烁,表现通信成功。平权式结构,必须从平权式多机通信 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 入手,首先设计了具体平权式多机通信协议;单片机通信用按键开关控制,编程实现地址寻址。1号机按下按键,2号机的数码管就会显示数字,每按一次就累加1,显示16进制;反之,2号机按下按键,1号机的数码管也会显示数字,每按一次也累加1,显示16进制。不存在主从机之分,权限是平等的,并且通信的时候,对应的LED灯会闪烁,表现通信正在进行。本文已经仿真通过,真实可行。具有一定的检错能力,串行通信的比特率是9600bit/s,通信速度较快,且可靠性高。关键词:单片机;多机通信系统;主从;平权;AT89S52BasedontheMCS51single-chipmicrocomputercommunicationsystemAbstractAtpresent,MCS51MCUinmultimachinecommunicationdomainapplicationisverywide.Themoststudiedisthepositionmachineandthelowerpositionmachinecommunicationandmultichipmicroprocessormaster-slavemultiprocessorcommunicationsystem.Thispaperfocusesonthestudyofthemasterslavecommunicationsystemandaffirmativetypemulticomputercommunicationsystem,themasterslavecommunicationsystemandaffirmativetypemulticomputercommunicationsystemeffectivelycombinetogether.Theso-calledmaster-slavestructure,i.e.,intwosinglechipmicrocomputer,ahostisresponsibleforcommunicationmanagement,anotherfromthemachine,frommachineresponsibleforahostofschedulingandcontrol.ThedesignofAT89S52chip,andClanguageprogramtocontrolAT89S52,sothatitcanrealizecommunicationbetweentwosinglechipmicrocomputer.Communicationmethodforsimplexcommunication,amainchip,asthesender,anotherfromthechip,asthereceiver.ForthetwoMCS51singlechipmicrocomputer,thedatafromtheserialportTXDendsoutput,receivingdatafromtheserialportRXDinput.Thecommunicationissuccessful,thecorrespondingLEDlightflashes,performancecommunicationsuccess.翻译结果重试抱歉,系统响应超时,请稍后再试·支持中文、英文免费在线翻译·支持网页翻译,在输入框输入网页地址即可·提供一键清空、复制功能、支持双语对照查看,使您体验更加流畅Equitystructure,mustfromaffirmativetypemultimachinecommunicationprotocoltostart,firstdesignedspecificaffirmativetypemultimachinecommunicationprotocol;single-chipmicrocomputercommunicationwithkeyswitchcontrol,programmingaddress.Unit1keysarepressed,theNo.2enginedigitalcontrolwilldisplaythenumber,eachtimeincrement1,show16hex;conversely,theNo.2enginepress,machine1digitaltubewillalsodisplaydigital,everytimealsoaccumulated1,show16hex.Thereisnomaster/slavemachinebranch,authorityisequal,andthecommunicationtime,correspondingtotheLEDlightflashes,performancecommunicationis.Thispaperhasbeenadoptedbysimulation,practical.Hasacertainerrordetectioncapability,serialcommunicationbitrateis9600bit/s,communicationspeed,andhighreliability.Keywords:singlechipmicrocomputer;communicationsystem;master-slave;equality;AT89S52目录5引言61课题背景61.1课题研究的背景及意义1.2单片机多机通信领域的历史及国内外发展现状61.3本课题研究的内容72单片机多机通信理论及 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 选择82.1单片机串口通信82.1.1单片机串口介绍82.1.2单片机串口控制寄存器82.1.3单片机串口的四种工作方式9102.2系统网络协议102.3微处理器的选择152.4数码管介绍153单片机多机通信协议设计164硬件电路设计164.1单片机最小系统设计174.2矩阵键盘电路设计4.3数码管显示电路设计184.4电源电路设计185软件设计195.1多机通信协议的算法设计19205.2键盘程序设计215.3系统初始化程序设计216Keil和Proteus介绍和联调216.1Proteus的介绍226.2Keil的介绍247结论24致谢25参考文献附录126附录227附录328附录42940附录5引言单片机作为微型计算机的一个分支,具有功能强、体积小、应用灵活等诸多优点,在工业控制、仪器仪表、通信、家用电器和国防科技等各个领域得到广泛的应用。随着集成电路技术的不断发展,单片机的性能也在不断的提高,其应用的范围必将越来越宽广。然而,随着单片机在工业自动化控制、智能仪器仪表中的广泛应用,单机已经逐渐不能满足需要,多机协同工作已经成为一个重要的发展趋势,多机应用的关键就在于多机之间的互相通讯、互传数据信息。单片机和计算机的共同发展下,单片机的应用从独立的单片机向网络发展,由计算机和单片机构成的双机网络系统也是单片机技术发展的一个方向。单片机多机通信是指由两台以上单片机组成的网络结构,可以通过串行通信方式实现对某一过程的最终控制。随着计算机技术的发展,多机通讯技术也在不断的发展,现在发展比较成熟的还有光纤通信等。目前,单片机多机通信的形式较多,但通常可分为星型、环型、串行总线型和主从式多机型四种。随着单片机和计算机技术的不断发展,单片机的应用也从独立的单机向网络发展。由计算机和单片机构成的多机网络系统已成为单片机技术发展的一个方向。二者的结合,充分发挥单片机在实时数据采集和数据管理上的优点。单片机在计算机的网络通讯与数据传输、工业自动化过程的实时控制和数据处理等都有广泛地应用,已渗透到我们生活的各个领域。许多应用都涉及到单片机多机通信。然而.单片机对网络数据的处理方式不同于通用计算机系统.尤其是有的单片机只提供2位的数据收发接口,这在一定程度上阻碍了单片机在网络方面的应用。因此,采用单片机技术与计算机网络技术相结合的办法,对单片机多机通信系统进行研究.在设计单片机网络的通信协议的基础上,系统网络拓扑结构采用总线型.网络接El电路采用端El转发的形式,实现了单片机多机通信。1课题背景1.1课题研究的背景及意义目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域随着计算机技术的发展及工业自动化水平的提高,在许多场合采用单机控制已不能满足现场要求,因而必须采用多机控制的形式,而多机控制主要通过多个单片机之间的串行通信实现。串行通信作为单片机之间常用的通信方法之一,由于其通信编程灵活、硬件简洁并遵循统一的标准,因此其在工业控制领域得到了广泛的应用。构成较大规模的检测、控制系统,经常要采用多个单片机,组成可以通信的多机系统。Mcs一51系列单片机为实现多机通信联网设计了方便的串行通信接口功能。将多个Mcs一51单片机组成串行总线形式的相互通道,通过写单片机的串行控制方式寄存器,将串行口置成方式2或方式3,就可以实现主机与分机之间的串行通信。这种多机系统结构简单,应用广泛,但它只能实现由主机呼叫分机,然后实现主机与分机之间的全双工串行通信。我们在监控系统中要求既有主机与分机主动通信,又有分机与主机主动通信,这种结构的多机系统就无法满足要求。多机协同工作已是单片机发展的一个重要趋势,目前单片机多机通信的主要方式仍然是主从式多机通信系统。单片机多机通信的目的是实现分布式处理系统,单片机多机通信的方式有很多种,应用前景广阔,非常具有研究意义!1.2单片机多机通信领域的历史及国内外发展现状单片微型计算机(SingleChipMicrocomputer)简称单片机,又称MCU(MicroControllerUnit),是将计算机的基本部分微型化,使之集成在一块芯片上的微机.片内含有CPU、ROM、RAM、并行I/O、串行I/O、定时器/计数器、中断控制、系统时钟及系统总线等。随着科技的发展,单片机已不是一个陌生的名词,它的出现是近代计算机技术发展史上的一个重要里程碑,因为单片机的诞生标志着计算机正式形成了通用计算机系统和嵌入式计算机系统两大分支。单片机单芯片的微小体积和低的成本,可广泛地嵌入到如玩具、家用电器、机器人、仪器仪表、汽车电子系统、工业控制单元、办公自动化设备、金融电子系统、舰船、个人信息终端及通讯产品中,成为现代电子系统中最重要的智能化工具。所涉及的市场占有率最高的是MCS—51系列,因为世界上很多知名的IC生产厂家都生产51兼容的芯片。生产MCS—51系列单片机的厂家如美国AMD公司、ATMEL公司、INTEL公司、WINBOND公司、PHILIPS公司、ISSI公司、TEMIC公司及南韩的LG公司、日本NEC、西门子公司等。到目前为止,MCS—51单片机已有数百个品种,还在不断推出功能更强的新产品。现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。单片机的通信领域应用首先从两片单片机之间的通信发展起来,后来有了主从式多机通信并得到了广泛的应用,又出现了以单片机作为下位机与以PC机作为上位机的通信应用,上位机用VB或VC++等面向对象的程序设计语言编写通信收发程序,也得到了广泛的应用。虽然,单片机多机通信已经有较长的研究历史了,但其形式大多是主从式的,很少是平权式的。1.3本课题研究的内容本文在研究传统的多机通信系统的基础上,设计了一种基于MCS-51系列单片机AT89S52的多机通信系统。当1号机与2号机通信时,1号单片机为主机,2号机为从机。主机通过串口向从单片机发送指定格式的数据,从单片机收数据并作出响应,从机通过LED数码管显示通信状态。1号单片机通过矩阵键盘控制通信过程与显示。这通信模式是主从模式,只能是主机发信息给从机。当1号机与3号机通信时,不存在主从机之分,是平权模式。1号机可以通过按键发信息给3号机,3号机也可以通过按键发信息给1号机,通过各自的数码管显示通信数据,LED灯显示通信状态。2单片机多机通信理论及方案选择2.1单片机串口通信2.1.1单片机串口介绍AT89S52单片机内部含有一个可编程全双工串行通信接口,具有UART的全部功能。该接口电路不仅能同时进行数据的发送和接收,也可作为一个同步移位寄存器使用。在进行异步通信时,数据的发送和接收分别在各自的时钟(TCLK和RCLK)控制下进行的,但都必须与字符位数的波特率保持一致。MCS-51串行口的发送和接收时钟可由两种方式产生,一种是由主机频率fosc经分频后产生,另一种方式是由内部定时器T1或T2的溢出率经16分频后提供。串行口的发送过程由一条写发送缓冲器的指令把数据(字符)写入串行口的发送缓冲器SBUF(发)中,再由硬件电路自动在字符的始、末加上起始位(低电平)、停止位(高电平)及其它控制位(如奇偶位等),然后在移位脉冲SHIFT的控制下,低位在前,高位在后,从TXD端(方式0除外)一位位地向外发送。串行口的接收与否受制于允许接收位REN的状态,当REN被软件置“1”后,允许接收器接收。接收端RXD一位位地接收数据,直到收到一个完整的字符数据后,控制电路进行最后一次移位,自动去掉启始位,使接收中断标志RI置“1”,并向CPU申请中断。TI和RI是由硬件置位的,但需要用软件复位。2.1.2单片机串口控制寄存器a.SBUF是两个在物理上独立的接收、发送缓冲器,可同时发送、接收数据。两个缓冲器只用一个字节地址99H,可通过指令对SBUF的读写来区别是对接收缓冲器的操作还是对发送缓冲器的操作。串行口对外有两条独立的收发信号线RXD(P3.0)、TXD(P3.1),因此可以同时发送、接收数据,实现全双工。b.SCON寄存器用来控制串行口的工作方式和状态,可按位寻址,其字节地址为98H。它用于定义串行口的工作方式及实施接收和发送控制。字节地址为98H,其各位定义如表2-1。表2-1SCON寄存器的各位功能定义 D7 D6 D5 D4 D3 D2 D1 D0 SM0 SM1 SM2 REN TB8 RB8 TI RI表2-2串行口工作方式选择位定义 SM0、SM1 工作方式 功能描述 波特率 00 方式0 8位移位寄存器 Fosc/12 01 方式1 10位UART 可变 10 方式2 11位UART Fosc/64或fosc/32 11 方式3 11位UART 可变其中fosc为晶振频率SM2:多机通讯控制位。在方式0时,SM2一定要等于0。在方式1中,当SM2=1时,则只有接收到有效停止位时,RI才置1。在方式2或方式3下,当SM2=1且接收到的第九位数据RB8=1时,RI才置1。REN:接收允许控制位。由软件置位以允许接收,又由软件清0来禁止接收。TB8:是要发送数据的第9位。在方式2或方式3中,要发送的第9位数据,根据需要由软件置1或清0。RB8:接收到的数据的第9位。在方式0中不使用RB8。在方式1中,若SM2=0,RB8为接收到的停止位。在方式2或方式3中,RB8为接收到的第9位数据。TI:发送中断标志。在方式0中,第8位发送结束时,由硬件置位。在其它方式的发送停止位前,由硬件置位。TI置位既表示一帧信息发送结束,同时也是申请中断,可根据需要,用软件查询的方法获得数据已发送完毕的信息,或用中断的方式来发送下一个数据。TI必须用软件清0。RI:接收中断标志位。在方式0,当接收完第8位数据后,由硬件置位。在其它方式中,在接收到停止位的中间时刻由硬件置位(例外情况见于SM2的说明)。RI置位表示一帧数据接收完毕,可用查询的方法获知或者用中断的方法获知。RI也必须用软件清0。c.PCON中的SMOD用来控制波特率加倍。d.TMOD设置定时器1的工作方式,用来产生波特率e.如果用到中断,则还需要用到中断相关的寄存器IE,IP等2.1.3单片机串口的四种工作方式方式0:同步移位寄存器方式,其波特率是固定为振荡频率fosc的1/12。在这种工作方式下,发送和接收串行数据都通过RXD(P3.0)进行,从TXD(P3.1)输出移位脉冲,控制外部的移位寄存器移位。1帧信息为8位,没有起始位,停止位。方式1:8位UART,1帧信息为10位,其中一位起始位“0”、八位数据位(先低位后高位)和一个停止位“1”,波特率可变,根据定时器1的溢出率计算。方式2:9位UART,1帧信息为11位,其中一位起始位“0”、八位数据位(先低位后高位),一位控制位(第九位)和一个停止位“1”。波特率为振荡频率的1/64或1/32方式3:9位UART,帧信息为11位,其中一位起始位“0”、八位数据位(先低位后高位),一位控制位(第九位)和一个停止位“1”。波特率可变,根据定时器1的溢出率计算。附加的第9位数据为SCON中的TB8的值,它由软件置位或清零,可作为多机通信中地址/数据信息的标志位,也可作为数据的奇偶校验位。单片机的串行通信传输方式有三种:单工制式、半双工制式和全双工制式。2.2系统网络协议通信协议是通信设备在通信前的约定。单片机、计算机有了协议这种约定,通信双方才能明白对方的意图,以进行下一步动作。假定我们需要在PC机与单片机之间进行通信,在双方程式设计过程中,有如下约定:    0xA1:单片机读取P0端口数据,并将读取数据返回PC机;    0xA2:单片机从PC机接收一段控制数据;    0xA3:单片机操作成功信息。在系统工作过程中,单片机接收到PC机数据信息后,便查找协议,完成相应的操作。当单片机接收到0xA1时,读取P0端口数据,并将读取数据返回PC机;当单片机接收到0xA2时,单片机等待从PC机接收一段控制数据;当PC接收到0xA3时,就表明单片机操作已经成功。2.3微处理器的选择本系统对微处理器要求不是太高,速度不要求太高,但代码较长,因此要求微处理器应有较大的程序存储空间,最好用FlashROM。通信的发送缓冲区与接收缓冲区均从RAM中分配,为了能传送更多的数据,要求要有较大的RAM。此外,处理器还应有一个全双工的串行口。综合考虑以上各种因素,选用MCS-51系列的单片机AT89S52。AT89S52是一种低功耗高性能的CMOS8位微处理器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适用于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。其引脚结构如下图:图2-1AT89S52的引脚结构单片机AT89S52的引脚说明:VCC:电源GND:地P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1口:P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示。在Flash编程和校验时,P1口接收低8位地址字节。P1口的第二功能如下表:表2-2P1口的第二功能 引脚号 第二功能 P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出 P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制) P1.5 MOSI(在系统编程用) P1.6 MISO(在系统编程用) P1.7 SCK(在系统编程用)P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。在Flash编程和校验时,P3口也接收一些控制信号。P3口具有第二功能,具体如下表。表2-3P3口的第二功能 引脚号 第二功能 P3.0 RXD(串行输入) P3.1 TXD(串行输出) P3.2 INT0(外部中断0) P3.3 INT1(外部中断1) P3.4 T0(定时器0的外部输入) P3.5 T1(定时器0的外部输入) P3.6 WR(外部数据存储器写选通) P3.7 RD(外部数据存储器读选通)RST:复位输入。晶振工作时,RST脚连续两个机器周期高电平使单片机复位。看门狗计时完成后,RST脚输出96个晶振周期的高电平。:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”,ALE仅在执行MOVX或MOVC指令时有效。否则,ALE将被微弱拉高。这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。当AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。:访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。在flash编程期间,EA也接收12伏VPP电压。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。表2-4AT89S52特殊寄存器映象及复位值并不是所有的地址都被定义了,片上没有定义的地址是不能用的。读这些地址,一般将得到一个随机数据;写入的数据将会无效。用户不应该给这些未定义的地址写入数据“1”。由于这些寄存器在将来可能被赋予新的功能,复位后,这些位都为“0”。定时器2寄存器:寄存器T2CON和T2MOD包含定时器2的控制位和状态位(如表2和表3所示),寄存器对RCAP2H和RCAP2L是定时器2的捕捉/自动重载寄存器。中断寄存器:各中断允许位在IE寄存器中,六个中断源的两个优先级也可在IE中设置。T2CON地址为0C8H复位值:00000000B位可寻址表2-5T2CON位定义 TF2 EXF2 RCLK TCLK EXEN2 TR2 C/T2 CP/RL2 D7 D6 D5 D4 D3 D2 D1 D0TF2:定时器2溢出标志位。必须软件清“0”。RCLK=1或TCLK=1时,TF2不用置位。EXF2:定时器2外部标志位。EXEN2=1时,T2EX上的负跳变而出现捕捉或重载时,EXF2会被硬件置位。定时器2打开,EXF2=1时,将引导CPU执行定时器2中断程序。EXF2必须如见清“0”。在向下/向上技术模式(DCEN=1)下EXF2不能引起中断。RCLK:串行口接收数据时钟标志位。若RCLK=1,串行口将使用定时器2溢出脉冲作为串行口工作模式1和3的串口接收时钟;RCLK=0,将使用定时器1计数溢出作为串口接收时钟。TCLK:串行口发送数据时钟标志位。若TCLK=1,串行口将使用定时器2溢出脉冲作为串行口工作模式1和3的串口发送时钟;TCLK=0,将使用定时器1计数溢出作为串口发送时钟。定时器2外部允许标志位。当EXEN2=1时,如果定时器2没有用作串行时钟,T2EX(P1.1)的负跳变见引起定时器2捕捉和重载。若EXEN2=0,定时器2将视T2EX端的信号无效TR2:开始/停止控制定时器2。TR2=1,定时器2开始工作定时器2定时/计数选择标志位。为0,定时;为1,外部事件计数(下降沿触发)CP/RL2:捕捉/重载选择标志位。当EXEN2=1时,为1,T2EX出现负脉冲,会引起捕捉操作;当定时器2溢出或EXEN2=1时T2EX出现负跳变,都会出现自动重载操作。为0将引起T2EX的负脉冲。当RCKL=1或TCKL为1时,此标志位无效,定时器2溢出时,强制做自动重载操作。2.4数码管介绍共阳极数码管的8个发光二极管的阳极(二极管正端)连接在一起。通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端。当某段驱动电路的输出端为低电平时,则该端所连接的字段导通并点亮。根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。共阴极数码管的8个发光二极管的阴极(二极管负端)连接在一起。通常,公共阴极接低电平(一般接地),其它管脚接段驱动电路输出端。当某段驱动电路的输出端为高电平时,则该端所连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能提供额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻.3单片机多机通信协议设计AT89S52的内部RAM只有256字节,不能存储太多的数据包;其次,单片机的外接晶振选用11.0592MHz,片内CPU的速度不理想,控制多个时钟,CPU资源消耗太多,会大大降低系统性能。因此,取消了停止等待协议有发送窗口这一机制,而采用发送一个数据包就等待当前数据包的确认包,超时再发。主机通信协议如下:(1)主机的SM2=0;发送从机地址。(2)若从机无应答则等待。若有应答,地址若不符,则发从机复位命令,返回(1);若有应答且地址相符则继续,准备发送命令。(3)发送通信方向控制命令(0x00发或0x01收)。(4)若从机无应答则等待;若从机有应答但状态字不正确,则令从机复位,返回(1);若从机有应答且状态字正确,则继续。(5)将命令分类,若为0x00则准备发送转(6),若为0x01则准备接收转(7)。(6)判断状态字,若从机接收但从机未准备就绪,则令从机复位并转到(1);若从机接收且从机准备就绪,则发送数据块。转到(8);(7)判断状态字,若为从机发送但从机未准备就绪,则令从机复位并转到(1);若为从机发送且从机发送就绪,则接收数据块。转到(8)。(8)发送主机号,然后接收从机发来的收发数据长度。发回响应。(9)置为从机使SM2=1,返回等待接收地址。从机通信协议如下:(1)置SM2=1,接收主机发来的地址,若不符合本机地址,则返回;若符合本机地址,则回送本机地址作为响应。(2)关串口中断,置SM2=0准备接收命令。接收到主机发来的命令,先判断,若不是合法命令则置SM2=1并返回;若为合法命令则继续。(3)将命令分类,若为0x00则发送本机接收就绪信号转(5),若为0x01则发送本机发送就绪信号转(4)。(4)发送数据,等待发送结束,转到(6)。(5)接收数据,等待接收完成。(6)接收主机号,发送收发长度,等待主机的响应。(7)收到主机发来的响应后,做些处理后,返回置SM2=1,开串口中断。从机状态字如下: ERR 0 0 0 0 0 TRDY RRDYERR=0时为合法命令,ERR=1时为非法命令;TRDY=0时表示从机发送未就绪,TRDY=1表示从机发送就绪。RRDY=0表示从机接收未就绪;RRDY=1表示从机接收已经就绪。4硬件电路设计4.1单片机最小系统设计本系统共用三块单片机,每块单片机均选用AT89S52,最小系统也都一样。由于三块单片机的主要任务是通信,为了得到准确的波特率,采用振荡频率为12MHz的晶振,再接两个30pF的瓷片电容即可构成单片机的时钟电路。单片机最小系统电路如下:图4-1单片机最小系统电路复位电路也可以换成看门狗电路实现,可使单片机可靠的复位。为了简化电路设计,本系统采用简单方法,可使单片机上电复位,此外可以通过按键手动复位。单片机上电即可复位,R1与C3的充电时间大于两倍的机器周期,使RST引脚有足够长的时间保存高电平,使单片机可靠的复位。正常工作时,按下按键SW1就可以使单片机复位。4.2矩阵键盘电路设计P1口接4×4的矩阵键盘,共16个按键,分别为0~F。P1.0~P1.3接矩阵键盘的行,P1.4~P1.7接矩阵键盘的列。4.3数码管显示电路设计P2口接共阳数码管,P2.0—P2.6分别接数码管的abcdefg,数码管前要有上拉电阻,电阻阻值为1K。4.4电源电路设计电源电路采用USB供电模式,因为USB供电是5V,方便单片机的工作,可以直接插电脑USB接口,用电简洁方便。5软件设计本系统软件部分包括通信模块、键盘模块、中断服务和LED显示等。3块单片机的程序均用C语言编写,采用KeilC51uVesion2作为调试工具。用Proteus7.5作为仿真工具,与KeilC51uVesion2联合调试,最终达到了设计要求,仿真无误。键盘模块包括矩阵键盘按键扫描、获取键值与按键处理。按键处理是根据键值进行散转,又有多个函数用来实现不同的功能。通信子程序包括主机模式通信与从机模式通信。初始化模块包括定时器、串口、发送数据区与LED显示。2号单片机电路与3号单片机电路基本一致,与1号单片机也很相似,只是有些部分电路不同。3号单片机采用独立的按键,利用了单片机的外中断与定时器,实现通信功能。5.1多机通信协议的算法设计每个单片机均有两种通信模式,即主机模式与从机模式,主机模式 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 如下:图5-3主机模式通信流程图从机模式通信流程如下:图5-4从机模式通信流程图5.2键盘程序设计1号单片机的按键采用矩阵形式,4×4的行列矩阵,共16个按键,可以完成多种控制功能。1号单片机的键盘程序包括:按键扫描、获取键值与按键处理几部分。按键处理又包括实现各种功能的函数。由键盘程序负责调度。键盘控制流程如下:按键扫描采用行扫描法,先输出全零行,再读看是否有按键按下,如有按键,则先消抖动,然后再次确认是否有按键,如果确有按键,再逐行置低电平扫描按下的键的行列位置,最后将按键对应位置的8位二进制码(即低四位表示行号,高四位表示列号)返回;若无按键,则返回0。获取键值函数为Switch结构的散转程序,根据按键的行与列得到按键的键值,这里预先定义按键的键值为字符‘0’~‘F’。以字符形式表示键值利于数码管直接显示。5.3系统初始化程序设计系统初始化程序包括定时器初始化、串口初始化、发送数据初始化和全局变量初始化。初始化步骤如下:定时器初始化使定时器一工作在方式二,波特率设置为9600b/s,并开中断。串口初始化使串口工作在方式三,9位数据位。发送与接收数据区的开始地址被已经被指定,用指针常量表示。发送数据初始化在发送数据区存放待发送的数据串,以空字符作为结束符。全局变量初始化只需根据需要设置即可。液晶显示程序只许根据需要调用液晶模块内的函数即可,显示以字符形式输出。输出字符的ASCII码,液晶显示对应的字符。用指向code区的指针访问待显示的字符数据串来显示。6Keil和Proteus介绍和联调6.1Proteus的介绍1、Proteus是一种低投资的电子设计自动化软件,提供SchematicDrawing、SPICE仿真与PCB设计功能,这一点Proteus与multisim比较类似,只不过它可以仿真单片机和周边设备,可以仿真51系列、AVR,PIC等常用的MCU,与keil和MPLAB不同的是它还提供了周边设备的仿真,只要给出电路图就可以仿真,例如373,led,示波器,Proteus提供了大量的元件库,有RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件,编译方面支持Keil和MPLAB,里面有大量的例子参考.2、Proteus可提供仿真元件资源,Proteus软件提供了可仿真数字和模拟、交流和直流等数千种元器件达30多个元件库。3、Proteus可提供的仿真仪表资源包括拟仪器仪表的数量、类型和质量,是衡量仿真软件实验室是否合格的一个关键因素。在Proteus软件中,理论上同一种仪器可以在一个电路中随意的调用。除了现实存在的仪器外,Proteus还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似但功能更多。这些虚拟仪器仪表具有理想的 参数 转速和进给参数表a氧化沟运行参数高温蒸汽处理医疗废物pid参数自整定算法口腔医院集中消毒供应 指标,例如极高的输入阻抗、极低的输出阻抗。这些都尽可能减少了仪器对测量结果的影响。4、Proteus可提供的调试手段Proteus提供了比较丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。Proteus与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。6.2Keil的介绍Keil是德国开发的一个51单片机开发软件平台,最开始只是一个支持C语言和汇编语言的编译器软件。后来随着开发人员的不断努力以及版本的不断升级,使它已经成为了一个重要的单片机开发平台,不过KEIL的界面并不是非常复杂,操作也不是非常困难,很多工程师的开发的优秀程序都是在KEIL的平台上编写出来的。可以说它是一个比较重要的软件,熟悉他的人很多很多,用户群极为庞大,要远远超过伟福等厂家软件用户群,操作有不懂的地方只要找相关的书看看,到相关的单片机技术论坛问问,很快就可以掌握它的基本使用了。1、Keil的µVision2可以进行纯粹的软件仿真(仿真软件程序,不接硬件电路);也可以利用硬件仿真器,搭接上单片机硬件系统,在仿真器中载入项目程序后进行实时仿真;还可以使用µVision2的内嵌模块KeilMonitor-51,在不需要额外的硬件仿真器的条件下,搭接单片机硬件系统对项目程序进行实时仿真。2、uVision2调试器具备所有常规源极调试,符号调试特性以及历史跟踪,代码覆盖,复杂断点等功能。DDE界面和shift语言支持自动程序测试。   3、虚拟实验的构建及调试;单片机的理论教学和实验中,内容一般包括了四方面,即单片机系统资源;硬件电路的设计、组装、调试;应用软件的编制、调试;总调,即应用软件的链接调试,程序固化,软、硬件结合的应用系统。因此教师在进行教学时,应该充分考虑课程的特点并作合理的模块划分,在每次实验课程前作适当的准备工作,以使教学任务能集中和突出。(1)系统资源的实验教学任何一种单片机均提供了一定的系统资源。对于51系列单片机来讲,其所提供的资源是以寄存器和存储器的方式体现出来的。对于寄存器内容的查看,可以采用多种可以模拟仿真51单片机的软件来实现。对于Keil软件来讲,C51编译器可以实现对51系列单片机所有资源的操作。(2)硬件电路的设计、组装、调试硬件电路的设计包含两部分内容:一是系统扩展,即单片机自身的功能单元如ROM、RAM、I/O口、定时器/计数器等容量不能满足应用系统的需要时,必须在片外进行扩展,选择适当的芯片,设计相应的电路;二是系统配置,即按照系统的要求配置外围设备,如键盘、显示器、打印机、A/D转换器、D/A转换器等,要设计合适的接口电路。很多常用的硬件电路的设计可在Proteus软件中实现,学生通过Proteus软件的使用,不当可以实现教材上的大部分实验。而且可以学到硬件电路设计的方法。(3)应用软件的编制、调试;使用Keil软件工具时,项目开发流程和其它软件开发项目的流程极其相似。 ①创建一个项目,从器件库中选择目标器件,配置工具设置。  ②用C语言或汇编语言创建源程序。③用项目管理器生成应用。 ④修改源程序中的错误。 ⑤测试,连接应用。通过使用Keil软件工具编制、调试应用软件,可以学到单片机各种指令,也可以学到单片机软件开发的步骤、方法和技巧。(4)总调,即应用软件的链接调试,程序固化,软、硬件结合的应用系统软硬件联合仿真系统由一个硬件执行环境和一个软件执行环境组成,通常软件环境和硬件环境都有自己的除错和控制界面,Keil与Proteus的整合调试可以实现系统的总调,在该系统中,Keil作为软件调试界面,Proteus作为硬件仿真和调试界面,下面说一下如何在keil中调用proteus进行MCU外围器件的仿真。7结论为期1个月的课程设计,我很好的完成了设计任务。期间,我学到了很多宝贵的经验和相关的通信技术知识。在这次的多机通信系统设计中,C语言程序的编写以及原理图的设计占了很重要的部分。对于零散的芯片,通过编程、仿真、硬件电路搭建,才能形成一个完整的系统。我必须深入到工程实践中,毕竟实践出真知。同时,在本次课程设计中,我将书本中的知识很好的应用到实践中去。经过课程设计,在查阅资料的过程中,学习了基于单片机的C语言程序设计,了解了单片机串行通信的基本知识,对于以后的学习和工作都有很大的益处。在学习的过程中,也遇到了一些困难,比如开始的时候,由于发送端和接收端的通信协议没有做好,导致数据不能正确的传输,在解决问题的过程中,对于通信协议的实现有了深刻的认识。现在课程设计已经结束,但它的影响却留存长久,它让我自己动手,品尝成功的喜悦,激发了我对实践的兴趣和热情,在很大程度上鼓舞了我的学习决心,增强了我的自信心,让我以更大的勇气面对以后的学习和人生他,它给了我开拓进取的动力。通过这次的课程设计我深刻的认识到了,理论知识和实践相结合是教学环节中相当重要的一个环节,只有这样才能提高自己的实际操作能力,并且从中培养自己独立思考、解决问题、勇于挑战困难的精神。在做完这课程设计,我真的学到了很多东西,protel、proteus、keil软件的使用是关乎到以后工作的实践,这次课程设计,我很好地学会了这3款软件的使用,对解决实际电路的问题和软件设计问题有了很好的思维模式,这是最宝贵的经验。致谢持续紧张和忙碌一个月的课程设计终于完了,在此我特别感谢带我的指导老师——武小年老师,在这次设计中对我的的耐心指导和帮助。还有各位同学在此期间对我的帮助和鼓励,使我在设计的时候信心十足。感谢学校给我这次课程设计的机会和其它的帮助。还有一同讨论、帮助我设计的同学表示感谢。在这次课程设计中,老师的教导和同学们的协作,使我受益匪浅。没有老师和他们的帮助、查找资料。对于我一个对单片机知识理解不是很深入的人来说要想在短短的几周的时间里学习到网络知识并完成课程论文是很困难的事情。所以,谢谢指导老师和几位同学,谢谢你们!最后,特别感谢我的父母和家人,是他们多年来无私的奉献、鼓励和支持才能助我顺利完成学业,谢谢他们!参考文献[1]胡汉才.单片机原理机接口技术[M].北京:北京清华大学出版社,2004.3.[2]薛晓书.单片微型计算机原理及应用.西安交通大学出版社,2007.[3]秦实宏,周龙,肖忠.单片机原理与应用技术.中国水利水电出版社,2005.[4]禹言春.单片机的多机通信[J].安徽农学通报,2007.13.[5]陈寿元.单片机多机串行通信的改进方案[J].经验交流,2004.5.[6]杨玉军.单片机多机通信系统可靠性的研究[J].河南科学,2002.6.[7]林雪每,彭佳红,姚志成.单片机多机通信协议的设计[J].单片机开发与应用,2006.2.[8]戴仙金.51单片机及其C语言程序开发实例[M].北京:清华大学出版社.2008.附录1多机通信系统电路原理图附录2多机通信系统PCB图附录3多机通信系统proteus仿真图附录4多机通信系统程序清单1号机程序:#ifndef_send_data_h#define_send_data_h#include<reg52.h>#include<string.h>#defineucharunsignedchar#defineuintunsignedintucharxx=0;//设计数标志sbitR=P2^7;//设键盘sbitL0=P0^0;sbitL1=P0^1;#defineSUCC0x2A#defineERR0xF0#defineMAXLEN64ucharbuf1;ucharbuf2=0;ucharaddr,get_key,key;#endifsbitled1=P3^4;sbitled2=P3^5;ucharnum=0;voiddelay(uintt){uinti;while(t--){for(i=0;i<125;i++){}}}ucharkeyscan(void){ucharscancode,tmpcode;P1=0xf0;if((P1&0xf0)!=0xf0){delay(10);if((P1&0xf0)!=0xf0){scancode=0xfe;while((scancode&0x10)!=0){P1=scancode;if((P1&0xf0)!=0xf0){tmpcode=(P1&0xf0)|0x0f;return((~scancode)+(~tmpcode));}elsescancode=(scancode<<1)|0x01;}}}return(0);}voiddisplay(ucharm){switch(m){case0:P2=0xc0;break;case1:P2=0xf9;break;case2:P2=0xa4;break;case3:P2=0xb0;break;case4:P2=0x99;break;case5:P2=0x92;break;case6:P2=0x82;break;case7:P2=0xf8;break;case8:P2=0x80;break;case9:P2=0x90;break;case10:P2=0x88;break;case11:P2=0x83;break;case12:P2=0xc6;break;case13:P2=0xa1;break;case14:P2=0x86;break;default:P2=0x8e;break;}}voidsenddata(ucharbuf1){TI=0;TB8=0;SBUF=buf1;while(!TI);TI=0;}voidint_s()interrupt4{ES=0;if(RI==1){buf2=SBUF;RI=0;display(buf2);}if(TI==1){TI=0;}ES=1;return;}voidinit_serial(){TMOD=0x20;TH1=250;TL1=250;TR1=1;PCON=0x80;SCON=0xd0;}voidGetkey(){switch(get_key){case0x11:key=0xc0;break;case0x21:key=0xf9;break;case0x41:key=0xa4;break;case0x81:key=0xb0;break;case0x12:key=0x99;break;case0x22:key=0x92;break;case0x42:key=0x82;break;case0x82:key=0xf8;break;case0x14:key=0x80;break;case0x24:key=0x90;break;case0x44:key=0x88;break;case0x84:key=0x83;break;case0x18:key=0xc6;break;case0x28:key=0xa1;break;case0x48:key=0x86;break;case0x88:key=0x8e;break;default:break;}}voidmain(){uchari=0;key=0xc0;while(L0==0){get_key=keyscan();Getkey();buf1=key;P0=0xff;addr=P0&0x0f;init_serial();EA=1;TI=0;TB8=1;SBUF=addr;while(!TI);TI=0;senddata(buf1);P2=buf1;for(num=0;num<3;num++){led1=0;delay(100);led1=~led1;delay(100);}}for(num=0;num<3;num++){led2=0;delay(100);led2=~led2;delay(100);}while(L1==0){display(buf2);EA=1;ES=1;SCON=0X50;//工作方式1TMOD=0X20;//定时器1工作方式2TH1=0XE6;//1200bps,12MhzTR1=1;//启动定时器while(1){while(R==1)//查询键盘是否松开{;}if(R==0)//查询键盘是否按下delay(10);if(R==0){xx=xx+1;//计数标志加1if(xx==16){xx=0;}SBUF=xx;//发送数据}while(R==0)//键盘是否松开{;}for(num=0;num<10;num++){led2=0;delay(80);led2=~led2;delay(30);}}}}2号机程序#ifndef_recevie_data_h#define_recevie_data_h#include<reg52.h>#include<string.h>#defineucharunsignedchar#defineuintunsignedintucharbuf;ucharaddr;sbitP22=P2^2;#endifvoiddelay(uintt){uinti;while(t--){for(i=0;i<125;i++){}}}ucharrecvdata(){while(!RI);if(RB8==1)return0xee;buf=SBUF;RI=0;return0;}voidinit_serial(){TMOD=0x20;TH1=250;TL1=250;TR1=1;PCON=0x80;SCON=0xd0;}voidmain(){uchari=0;uchartmp=0xff;P1=0xff;addr=P1&0x0f;P22=1;init_serial();EA=1;while(1){SM2=1;while(tmp!=addr){RI=0;while(!RI)tmp=SBUF;RI=0;}SM2=0;tmp=recvdata();if(buf!=0x00)if(tmp==0x00){P0=buf;P22=0;delay(30);P22=1;}}}3号机程序#ifndef_recevie_data_h#define_recevie_data_h#include<reg52.h>#include<string.h>#defineucharunsignedchar#defineuintunsignedintucharxx=0;sbitkey=P2^7;//设键盘ucharbuf1;ucharbuf2=0;ucharaddr;sbitP27=P0^1;#endifsbitled1=P3^4;ucharnum=0;voiddelay(uintt)//延时函数{uinti;while(t--){for(i=0;i<125;i++){}}}voiddisplay(ucharm){switch(m){case0:P2=0xc0;break;case1:P2=0xf9;break;case2:P2=0xa4;break;case3:P2=0xb0;break;case4:P2=0x99;break;case5:P2=0x92;break;case6:P2=0x82;break;case7:P2=0xf8;break;case8:P2=0x80;break;case9:P2=0x90;break;case10:P2=0x88;break;case11:P2=0x83;break;case12:P2=0xc6;break;case13:P2=0xa1;break;case14:P2=0x86;break;default:P2=0x8e;break;}}voidint_s()interrupt4{ES=0;if(RI==1){buf2=SBUF;RI=0;display(buf2);}if(TI==1){TI=0;}ES=1;return;}ucharrecvdata(){while(!RI);if(RB8==1)return0xee;buf1=SBUF;RI=0;return0;}voidmain(){uchari=0;///////////////uchartmp=0xff;//////////display(buf2);EA=1;ES=1;SCON=0X50;//工作方式1TMOD=0X20;//定时器1工作方式2TH1=0XE6;//1200bps,12MhzTR1=1;//启动定时器P1=0xff;addr=P1&0x0f;P27=1;EA=1;ES=1;while(1){while(key==1)//查询键盘是否松开{;}if(key==0)//查询键盘是否按下delay(10);if(key==0){xx=xx+1;//计数标志加1if(xx==16){xx=0;}SBUF=xx;//发送数据}while(key==0)//键盘是否松开{;}for(num=0;num<10;num++){led1=0;delay(80);led1=~led1;delay(30);}}}附录5多机通信系统实物演示图片第5页
本文档为【课程设计论文0861130123+吴斌+基于MCS51单片机多机通信系统的实现_】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_179289
暂无简介~
格式:doc
大小:3MB
软件:Word
页数:0
分类:文化娱乐
上传时间:2020-05-18
浏览量:9