PLC单片机嵌入式系统毕业论文目录摘要 (Ⅰ)Abstract (Ⅱ)第1章绪论 (1)1.1 课题的提出 (1)1.2 课题研究的意义 (1)1.3 课题研究的内容 (2)1.4 本章小结 (3)第2章总体设计 (4)2.1 硬件总体设计 (4)2.1.1 硬件需求分析 (4)2.1.2硬件设计方案 (5)2.2 软件总体设计 (6)2.2.1上位机软件需求分析 (7)2.2.2上位机软件总体设计 (7)2.2.3下位机软件需求分析 (8)2.2.4下位机软件设计方案 (10)2.3 本章小结 (10)第3章硬件设计与实现 (11)3.1单片机ADuC841及其必需的外接电路 (11)3.1.1晶振电路 (13)3.1.2复位电路 (13)3.1.3电源电路 (13)3.1.4 24位地址总线及系统扩展的寻址方法 (14)3.2 外部数据存储器接口电路 (14)3.2.1 DS1486芯片简介 (15)3.2.2外部存储器接口电路 (15)3.3 通信接口电路 (16)3.4 数字量I/O模块 (17)3.4.1数字I/O扩展 (17)3.4.2数字量输入端口电路 (18)3.4.3数字量输出端口电路 (18)3.5 模拟量I/O模块 (19)3.5.1 ADuC841片上模拟接口 (19)3.5.2 ADC输入接口电路 (20)3.5.3 DAC输出接口电路 (21)3.6 人机界面模块 (21)3.6.1 LCD接口电路 (22)3.6.2薄膜键盘 (23)3.7 控制器技术规格 (23)3.8 硬件设计方案的特色 (24)3.9 本章小结 (25)第4章上位机软件设计与实现 (26)4.1 文本处理程序 (26)4.1.1预处理器 (26)4.1.2词法分析器 (27)4.2 指令编码 (29)4.2.1编码规则 (29)4.2.2编码器实现 (31)4.3 串口通信程序 (33)4.3.1 LabVIEW与串口通信 (33)4.3.2串口通信程序设计 (34)4.4 上位机软件设计方案的特点 (34)4.5 本章小结 (35)第5章下位机软件设计与实现 (36)5.1 嵌入式软件的开发方式 (36)5.1.1嵌入式软件的特点 (36)5.1.2交叉开发方法 (36)5.1.3开发工具介绍 (37)5.2下位机软件结构 (38)5.2.1软件设计方法 (38)5.2.2软件功能描述 (38)5.2.3任务划分 (39)5.2.4嵌入式实时操作系统RTX51 TINY的移植 (41)5.3下位机任务的实现 (42)5.3.1 PLC功能存储区的映射及I/O读写 (42)5.3.2 LCD显示任务 (45)5.3.3看门狗任务 (45)5.3.4串口通信任务 (46)5.3.5读写外部RAM任务 (46)5.3.6按键处理任务 (48)5.4 PLC指令解释任务的实现 (48)5.4.1 PLC指令解释原理 (49)5.4.2标准触点指令的实现 (50)5.4.3与堆栈有关的指令的实现 (51)5.4.4立即触点指令的实现 (52)5.4.5跳变触点指令的实现 (52)5.4.6输出指令与其它指令 (53)5.4.7定时器指令的实现 (53)5.4.8计数器指令的实现 (55)5.4.9程序跳转指令的实现 (55)5.5 下位机软件的特色 (56)5.6 本章小结 (57)总结 (58)致谢 (59)参考文献 (60)第1章绪论1.1 课题的提出可编程逻辑控制器(PLC),又称为可编程控制器(PC),是为工业控制特别设计的一种专用计算机。
它易于设置和编程,运行可预估,甚至在恶劣的生产环境下还可以保持正常工作,广泛应用在各种机械设备和生产过程的自动控制系统中,成为应用场合最多的工业控制装置。
在所有的PLC种类中,微型PLC是占有市场份额最大的一种。
微型PLC 是指I/O点数少于64点的PLC,这一类PLC主要应用于单台设备的控制,在纺织机械、数控机床、塑料加工机械等设备上运用广泛。
我国PLC市场大部分被欧美,日韩等发达国家产品所占领,国产化率很低。
这主要是由于PLC的核心CPU模块被发达国家垄断。
近几年来,随着微控制器技术的发展,高性能单片机层出不穷,功能日益强大,由于产量的大幅增加成本也不断降低,使我们可以考虑使用现成的高性能单片机作为CPU 模块来研发具有自主知识产权的PLC。
由于微型PLC的研发相对比较容易,且应用最为广泛,因此我们可以考虑从微型PLC入手,设计一个基于单片机的通用控制器,实现微型PLC的精简控制功能。
另一方面,近年来嵌入式技术的发展成果也为本课题的研究提供了便利。
嵌入式技术将软、硬件的开发过程更紧密地结合起来,并将实时操作系统等高级的软件工具引入单片机的程序编制过程中,使得利用单片机能快速地开发比较复杂的软件,而且提升了软件可靠性。
本课题的研究也会将嵌入式开发技术,包括嵌入式实时操作系统工具引入开发过程。
1.2 课题研究的意义设计基于高性能单片机的通用控制器,实现微型PLC的主要控制功能,具有以下几方面的意义:1、实用价值在工业控制中,需要小型控制系统的场合很多,如电梯的升降系统、小型包装机械的控制系统等。
这些应用场合的共有特点是需要控制的点数不多,一般输入输出总和只有20点到40点,而且基本上是以逻辑控制为主。
开发针对这些小型控制系统的通用控制器,具有很强的实用价值和广阔的市场前景。
2、经济价值目前市面上各大PLC厂商都提供微型PLC用于小型控制系统,但它们的价格普遍比较高,最精简型的也在千元以上。
而以单片机为核心开发的小型通用控制器,只需几百元的成本即可实现微型PLC的精简控制功能。
因此开发基于单片机的通用控制器具有较大的成本优势,能实现很好的经济价值。
3、社会价值我国PLC国内市场虽然庞大,但是90%以上的市场份额都被国外品牌占据。
因此,大力发展拥有自主知识产权的PLC,逐步摆脱国内PLC市场被国外厂商垄断的局面,对于推动国内PLC市场的发展具有深远意义。
而要开发自己的PLC,从功能相对最简单的微型PLC入手是一个很好的突破口。
基于上述分析,研究微型PLC的设计与实现是非常有现实意义的。
本文所研究的课题就是在这方面所做的一个尝试,希望能以成本最低的8位微控制器(单片机)来实现微型PLC的基本功能。
1.3 课题研究的内容本课题的主要任务是通过研究PLC系统的工作原理以及PLC编程语言的特点等,采用嵌入式开发技术,设计并实现一个通用的工业控制器,能够实现微型PLC的大多数功能,满足多种工业控制的要求。
该控制器的下位机以ADuC841单片机作为控制芯片,在此硬件平台上设计尽可能多的外围接口电路,以最大限度地实现PLC的功能。
下位机软件用Keil工具采用C语言开发,并引入嵌入式实时操作系统RTX51 TINY,实现多任务的管理,模拟PLC的运行方式,并能够对常用PLC指令进行解释执行。
上位机软件在Windows平台下,用LabVIEW为开发工具,实现对用户程序PLC指令的编码。
1.4 本章小结本章首先介绍了本课题提出的背景、可行性等,然后从三个方面分析了本课题研究的意义,最后指出了课题研究的内容。
第2章总体设计作为一个嵌入式系统,其设计和开发过程分硬件和软件两部分进行。
但硬件和软件的开发又是相互联系、密不可分的。
2.1 硬件总体设计本节通过对针对PLC的体系结构分析系统的硬件需求,结合单片机控制系统的特点,制定基于单片机的通用控制器的硬件总体设计。
2.1.1 硬件需求分析PLC的基本结构主要包括以下几个部分:CPU模块、输入模块、输出模块和编程装置,如图2-1所示。
本设计的目的是实现一个小型PLC的逻辑控制功能及与上位机进行通讯的功能,在硬件上应具有以下几个必要的模块:1、微控制器包含CPU及其存储器。
存储器包括存放操作系统、驱动程序和应用程序的预编程只读存储器ROM,以及存放用户编写的程序和工作数据的随机访问存储器RAM。
2、开关量输入、输出模块开关量输出模块用来控制接触器、电磁阀、电磁铁、指示灯、数字显示装置和报警装置等输出设备。
3、存储器包括存放操作系统、驱动程序和应用程序的预编程只读存储器ROM,以及存放用户编写的程序和工作数据的随机访问存储器RAM。
4、复位电路包括上电复位、按键复位和看门狗复位,以便在死机或紧急情况下将系统重启,保证系统正常工作。
5、串口通讯模块方便控制器与PC通信,实现数据交换和用户程序的下载。
6、模数转换(A/D)、数模转换(D/A)模块用于模拟量的输入输出控制。
A/D模块将模拟输入转换成数字量,供CPU 处理,D/A模块将控制器中的数字量转换为模拟量电压或电流,再去控制执行机构。
2.1.2硬件设计方案根据前面的需求分析,设计系统的硬件框架如图2-2所示。
ADuC841芯片内部已经集成了ROM、RAM、ISP、A/D和D/A等模块,简化了电路设计。
但是芯片内部RAM容量有限,故增加了外部RAM,即DS1556芯片。
本设计中为了充分利用外部的128K数据RAM和其它功能模块,采用24位地址寻址,由P2口分时输出高8位地址和页地址,最多可寻址16M地址空间。
ADuC841片内还集成了通用串行接口UART,采用5V单电源供电的通信收发器LMS202,实现单片机的TTL电平与PC机的RS-232标准电平之间的转换。
为增加I/O端口数目,采用两片82C55A芯片,扩展出24路数字量输入和24路数字量输出。
加上ADuC841内部集成的8个通道12位A/D模块和两个通道的12位D/A模块,如此丰富的内部资源和外围接口足以取代一般小型PLC的功能。
2.2 软件总体设计本系统的软件包括两大部分:上位机软件和下位机软件。
上位机软件即PLC编程软件,用于在PC上创建、编辑和编译PLC用户程序,并将其发送至下位机。
下位机软件是指固化在控制器内部的软件,包括操作系统和驱动程序、PLC指令解释模块等等,主要完成系统的初始化、PLC指令的分析和解释执行、与上位机通讯等功能。
2.2.1上位机软件需求分析常用的PLC编程语言主要有两种:梯形图和指令表语言。
在单片机中,梯形图和指令表程序都不能直接执行,必须先转化成单片机能识别的编码。
因此本设计中上位机软件的任务就是将指令表程序转化成单片机能识别的编码,而梯形图可以先转换成指令表语言后再进行编码转换。
为了使本系统尽可能通用,采用基于西门子PLC的指令集。
上位机软件的开发主要包含三个方面的任务:1、指令表程序文本处理对指令表程序进行文本处理分为两个步骤:一是预处理,即删除程序文本中的注释行;二是词法分析,将输入文本分解成一个个独立的词法符号。
2、PLC指令的编码对指令进行编码包括两部分:操作符编码和操作数编码。