首页 基于单片机下芯片的电梯控制系统毕业设计

基于单片机下芯片的电梯控制系统毕业设计

举报
开通vip

基于单片机下芯片的电梯控制系统毕业设计 毕业设计论文 论文题目:自动升降电梯控制系统 【摘要】本设计采用单片机技术来模拟电梯控制系统,使用80C51为最小系统,通过外部扩展8255A芯片来当做按键模块,并使用了74LS373芯片来驱动数码显示管和控制指示灯的亮暗,采用直流电机标志机箱的运行情况和电梯门的运行情况。系高统采用C语言来编写的,加快了设计的进度。根据以上的设计,本设计实现了电梯的自动控制和效运行。 【关键字】自动升降;单片机;按键;模块;80C51 目录 11课题的背景和概述 11.1电梯的发展历史 11.2电梯的分类 11...

基于单片机下芯片的电梯控制系统毕业设计
毕业设计 论文 政研论文下载论文大学下载论文大学下载关于长拳的论文浙大论文封面下载 论文题目:自动升降电梯控制系统 【摘要】本设计采用单片机技术来模拟电梯控制系统,使用80C51为最小系统,通过外部扩展8255A芯片来当做按键模块,并使用了74LS373芯片来驱动数码显示管和控制指示灯的亮暗,采用直流电机标志机箱的运行情况和电梯门的运行情况。系高统采用C语言来编写的,加快了设计的进度。根据以上的设计,本设计实现了电梯的自动控制和效运行。 【关键字】自动升降;单片机;按键;模块;80C51 目录 11课题的背景和概述 11.1电梯的发展历史 11.2电梯的分类 11.2.1根据电梯的用途分类 11.2.2根据驱动方式分类 21.2.3根据速度分类 21.2.4根据电梯有无司机分类 21.2.5根据操纵控制方式分类 21.2.6其它分类方式 21.2.7特殊电梯 31.3课题的研究内容 31.4设计思路与比较 31.4.1思路 31.4.2设计比较 41.5课题的设计步骤 41.6课题的开发环境介绍 41.6.1 Proteus7.0软件 51.6.2 Keil程序研发软件 51.7功能要求 52课题总体设计 52.1系统总设计框图 62.2系统元器件清单 62.3必备知识点 62.4相关芯片说明 62.4.1最小系统80C51 72.4.2扩展芯片8255A 92.4.3电机驱动专用芯片L298 103系统硬件设计 103.1各模块功能选择与设计 103.1.1数码管显示电路 103.1.2 LED灯显示电路 113.1.3电机驱动电路 123.1.4按键电路 123.1.5晶振电路 133.1.6复位电路 133.2电路总设计图 134系统的软件设计 134.1 80C51资源的分配 144.2软件流程图 144.2.1主程序流程图 154.2.2中断流程图 155部分程序 155.1主程序 155.2初值定义程序 165.3原函数声明程序 165.4外部中断0程序 236系统仿真及调试 247系统运行结果 258心得体会 259致谢语 27附录一:总硬件设计原理图 1课题的背景和概述 1.1电梯的发展历史 历史上最高的一部电梯是美国人伊莱沙·格雷夫斯·奥的斯发明的,他在1854年展示了第一部安全升降电梯,从此升降电梯在世界范围的各个领域都等到广泛的使用。自动升降从这一时刻慢慢的发展起来了。 人民生活水平的提高,工业的发展,科技的进步,电梯也一直在进步,电梯的技术也一直在进步。经过上百年的发展,电梯在材质上有黑白的到彩色的,运行方式有垂直式到倾斜式的,在操控方面也出现了很多方式,例如:人机对讲,集选控制,信号控制,按键控制,手柄控制等等;很多台电梯还实现了智能群控并联控制;双控机箱电梯体现出了节省井道空间,提升了运输能力的优势,变速式的自动人行电梯很大一定程度节省了乘客的时间;电梯的外形也分为很多种,有圆形、半菱形、三角形、扇形、等等,圆形观光电梯则使身处其中的乘客的视线不会受到约束。现在以美国的奥的斯公司为主的世界各个大著名电梯公司各战风资,一直在进行研究新产品的电梯,不断地在完善电梯的维修和保养服务系统。一款款崭新的电梯一直在问世,使得冷冰冰的建筑因此出现人行而温馨的感觉,人们的生活也过得越来越好了。 中国历史上最早出现了是在上海,是由美国的奥的斯公司在1901年安装的。美国的奥的斯公司在1932年在天津顺德酒店安装了一步电梯至今还在运行着。在1951年,中共党中央提出要在天安门安装一部由我国自己制造的电梯,天津的从庆生电机厂荣幸接此任务,经过四个月的努力,顺利完成了任务。十一届三中全会后,改革时代的到来,我国的电梯行业进入了飞速发展的阶段。现今,在我国任何一个大小城市,电梯都会被广泛应用着。电梯会给人们带来生活的便利,工业的发展,也为了我国现代化建设的加速发展提供了强大的保障和推动力量。 电梯是高层建筑中安全、可靠、垂直上下的运载工具,对改善劳动条件、减轻劳动强度起到很大的作用。电梯的应用很广泛,可用于宾馆、酒店、办公大厦、商场、娱乐场所、工地以及住宅等。在经济高速发展的社会中,电梯已经成为人类必不可少的运输交通工具。 1.2电梯的分类 根据电梯使用的环境和客流量来决定采用何种电梯,在当今社会中的电梯基本上分为以下几种方式: 1.2.1根据电梯的用途分类 观光型电梯,机箱壁需要采用透明的材料,电梯的速度不能太快,最好采用圆形的外形,这样使得游客可以慢慢观赏。 乘客型电梯,主要是接送乘客到所要求的目的地,应具有完善的安全保障措施以及一定的内部装修装饰。 载货型电梯,主要实现了接送货物的电梯,一般都需要有人伴随在电梯里面。 医用型电梯,主要是为了运送医用车、病床、担架等等而设计的电梯,机箱具有长而窄的特点。 杂物型电梯,一般都使用在饭馆、图书馆、办公楼用于运送食物、图书、文件等。 船舶型电梯,一般都是使用在船舶上的电梯。 建筑施工型电梯,一般指着的建筑工地上使用的电梯。 其它类型的电梯,除了以上所讲述的电梯之外,还有很多特殊的电梯,如冷库型电梯、防爆型电梯、矿井型电梯、消防员专用型电梯等等。 1.2.2根据驱动方式分类 交流型电梯,是用交流感应的电动机作为驱动力的电梯,根据拖动驱动的方式一般可分为交流单速、交流双速、交流调压调速=交流变压变频调速等等。 直流型电梯,是用直流电动机作为驱动力的电梯。这种类型的电梯额定速度一般都是在2.00m/s以上。 液压型电梯,一般都是利用电动泵驱动液体流动的,由柱塞促使机箱升降的电梯。 齿轮型电梯,将运输路线弄成齿条行的,机箱装上与齿条相吻合的齿轮,电机带动齿轮的旋转,从而使得电梯的升降。 螺杆型电梯,是将电梯的柱塞加工成矩形螺纹,再用带有推力推力轴承的大螺母安装于油缸顶,在经过电梯经减速机带动螺母旋转。从而使得电梯的升降。 直线型电梯,一般是采用直线电机直接驱动电梯,使得电梯升降的。 在电梯问世初期时,也采用过了蒸汽机、内燃机等作为动力能源来直接驱动电梯,如今已经都不适用了。 1.2.3根据速度分类 电梯的速度分类没有严格区分,中国习惯上按下面的方法进行分类: 时速在1.00m/s以下的速度的电梯一般分为低速型电梯; 时速在1.00~2.00m/s的电梯一般分为中速型电梯; 时速在2.00m/s以上的电梯一般分为高速型电梯; 时速在5.00m/s以上的电梯一般分为超高速型电梯; 在电梯技术的不断发展时代中,电梯的速度越来越高,区分低、中、高型速度的电梯也应回会对地高值进行比较。 1.2.4根据电梯有无司机分类 有司机的电梯,电梯的运行方式有专职的司机进行操纵。 无司机的电梯,电梯的运行方式根据乘客的要求进行运行,乘客必须按键操纵盘上面所显示的按键,电梯才会运行到所要达到的目的层,这种电梯一般都具有集选功能。 有司机的电梯和无司机的电梯,电梯是可变换控制电路,乘客流动量小的是由乘客自行操纵,在乘客流动量大的时候有必须有司机进行操纵。 1.2.5根据操纵控制方式分类 手柄开关操纵型电梯,是由电梯里面的司机按机箱内的控制操纵手柄开关进行操作,让电梯启动、上升、下降、开门、关门等等运行状态。 按键控制型电梯,是一种常用比较简单的自动控制电梯,具有自动平层运行的功能,常见的有机箱外按键控制、机箱内按键控制两种控制方式。 信号控制型电梯,是有司机的自动控制程度比较高的电梯。除了具有自动平层运行功能之外,还有自动开关门功能之外,还有机箱命令登记的功能,每层召唤功能,自动停止功能等等。 集选控制型电梯,是在信号控制基础上发展起来的全自动控制的电梯,与信号控制型电梯的主要区别是不用司机的操纵。 并联控制型电梯,一般是指有2~3台电梯的控制线路并联在一起进行逻辑控制,共用每层召唤按键,电梯本身也有集选的功能。 群控型电梯,是采用微型控制和统一控制多台集中并列的电梯,群控型电梯有梯群的程序控制、梯群智能控制等等形式。 1.2.6其它分类方式 按机房位置分类,则有机房在井道顶部的(上机房)电梯、机房在井道底部旁侧的(下机房)电梯,以及有机房在井道内部的(无机房)电梯。 按机箱尺寸分类,则经常使用“小型”、“中型”、“大型”等抽象词汇表示。 此外,还有双层轿厢电梯等。 1.2.7特殊电梯 (1)斜行型电梯,轿厢在倾斜的井道中沿着倾斜的导轨运行,是集观光和运输于一体的输送设备。特别是由于土地紧张而将住宅移至山区后,斜行电梯发展迅速。 (2)立体停车场用型电梯,根据不同的停车场可选配不同类型的电梯。 (3)建筑施工型电梯,是一种采用齿轮齿条啮合方式(包括销齿传动与链传动,或采用钢丝绳提升),使吊笼作垂直或倾斜运动的机械,用以输送人员或物料,主要应用于建筑施工与维修。它还可以作为仓库、码头、船坞、高塔、高烟囱的长期使用的垂直运输机械。 (4)消防型电梯,在发生火警时,用来运送消防人员,乘客和消防器材等等。 (5)冷库型电梯,在大冷库或制冷车间,运送冷冻货物.但是需要满足门扇及导轨等活动处密封 ,浸水等要求。 (6)矿井型电梯,供矿井运送人员及货物之用。 (7)特殊型电梯,供特殊环境条件下使用,如防爆,防腐,耐热等特殊用途的电梯。 (8)滑道型电梯,在建筑物内配置,常与建筑物,人行道平行使用。 (9)运机型电梯,能不机库中几十吨或者上百吨重量的飞机,垂直提升到飞机场跑道上。 (10)门吊型电梯,在大型门式起重机的门腿中,运送在门机中的工作人员及检修机件等。 (11)自动型扶梯。 (12)座椅型电梯,人坐在电动机驱动的椅子上,控制椅子手柄上的按扭,使椅子下部的动力驱动装置驱动人椅,沿楼梯扶栏的导轨上下运动。 1.3课题的研究内容 本课题主要完成电梯的自动升降的功能,即根据每个楼层不同的乘客的按键要求,使电梯做出合理的判断,正确高效地完成各项任务,从而实现电梯的高效、安全运行。 依据课题的任务,本课题需要研究的内容有: 1、收集系统的相关资料,并进行实地调查; 2、根据系统技术的要求,进行系统硬件的总体设计; 3、学习和完善单片机的相关知识,并且加以运用; 4、巩固C语言编程知识,并且规定电梯的工作规则,本设计编程语言采用的是C语言实现; 5、对软件和硬件进行调试,完成课题任务。 1.4设计思路与比较 1.4.1思路 系统主要是为了实现电梯的自动控制和高效运行,根据具体要求和实地考察,最后确定了总体的思路。使用80C51为最小系统,采用C语言进行编写程序,系统采用的外部中断0的方式进行对按键的处理,采用LED灯来表示按键响应情况,LED亮表示当前的按键被按下,LED灭表示当前的按键被处理完毕或者按键无响应,通过八段数码管来同步显示当前机箱所处在的位置,为了进一步形象的表示出电梯的运行情况,系统采用了两个电机来表示电梯的运情况,电机1正传表示电梯上升,反转表示电梯下降,电机2正传表示开门,反转表示关门。由于系统的按键比较多,故本采用8255A才扩展用于按键中。 1.4.2设计比较 在系统的设计中总会出现一些争议,为什么要使用C语言而不使用汇编语言来编写程序呢?为什么选择80C51作为最小系统等等这些都是值得探讨的一个问题。下面就根据系统的存在的一些争议问题进行详细的说明。 1、C语言和汇编语言在开发中的优缺点。 汇编语言是用文字助记符来表示机器指令的符号语言,是最近于机器码的一种语言。主要的优点是占用的资源少、程序的执行的效率高。但是不同的CPU,汇编语言可能存在某些差异,所以汇编语言比较不容易移植。 C语言是一种编译型程序设计语言,并具备汇编语言的功能。C语言有丰富的库函数、运算速度快、编译效率高、良好的移植性,而且可以直接实现对系统硬件的控制。C语言是一种结构化程序设计语言,它支持当前程序设计中广泛采用的由顶向下结构化程序设计技术。C语言还具有完善的模块化程序结构,在软件编写的时候采用模块化程序设计提供了有力的保障。C语言主要的优点是可读性好,移植比较容易,不太需要考虑外界因素,是普遍使用的一种计算机语言。缺点是占用资源比较多,执行效率没有汇编的高。 根据以上的对比,故此系统才用的是C语言进行程序编写,只要是C语言的在进行程序设计的时候会大大缩短设计的周期,并且增加了软件的可读性,便于改进和扩充,系统还可以进行更新等,从而使系统的性能更为强大。 2、最小系统的选择 在选择最小系统的控制核心、价格、性能、稳定性、能否满足本系统的要求为主才进行选择的,本系统采用的80C51为最小系统,性能价格和稳定性都满足了系统的要求,故选择了80C51为最小系统。 3、按键的处理方式 按键是实现人机交互的主要设备,按键的处理方式在一定程度上会影响倒系统的性能,故选择一个合适的处理方式还是很重要的。 按键的处理方式一般分为三种:程控扫描方式、定时扫描方式、中断扫描方式。程控扫描方式首先是判断按键是否有按键,如果在进行逐行逐列的判断,还要进行按键消抖的处理,最终才能读出按键的值,而且还需要编写一大推的程序进行按键的判断,占用了很多CPU。定时扫描方式是CPU每隔一段时间对按键扫描一遍,当有发现按键按下的时候就进行按键操作,读去按键值,定时器时间间隔由单片机内部定时/计数器产生,这样可以减少计算机扫描按键的时间,减少CPU的开销。中断扫描方式当有按键响应时就向CPU申请中断,CPU响应中断后立刻转到中断的服务程序对按键进行扫描,进行按键值的读取。 此系统对实时性的要求很高,所以CPU的占用时间要尽量的少才是主要的,在以上三种处理方式中程控扫描方式占用的CPU最多,定时扫描方式占用的CPU相对比较少,而中断扫描方式占用的CPU是最少的,故本系统采用中断扫描方式对按键进行处理。 4扩展芯片的选择 由于很系统的特点,需要较多的按键,故需要扩展I/O口,在开发中一般都是使用8255A作用I/O扩展的芯片。8255A在一定程度上满足的本系统的要求。 5电机的选择 按电梯的驱动方式有很多种如直流电梯、液压电梯、齿轮齿条电梯、螺杆式电梯等等,但是此设计是采用仿真来实现的,没有办法真正实,故在本系统中采用用的是直流电机驱动的方式来模拟电梯的自动运行。 1.5课题的设计步骤 根据课题的研究内容,本课题的设计 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 步骤: 硬件部分: 对实际电梯控制系统进行模拟,一般情况下,一个 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 的电梯都应该具备相关按键,数码显示管,拖动电机,机箱等等。由于采用的软件仿真方式,有很多无法实现的功能,如自动 检测 工程第三方检测合同工程防雷检测合同植筋拉拔检测方案传感器技术课后答案检测机构通用要求培训 超载,安装监控等相关功能等。本课题只是实现了电梯的自动升降,在硬件方面选择了80C51为主芯片,晶振采用12MHZ,按键部分采用8255A扩展,显示采用了八段数码管显示和LED灯显示,并采用74LS373进行输出数据锁存。 软件部分: 根据实地考察,并对电梯的流程进行了严格的反复思考,完成了电梯的软件设计部分。假设机箱要上就要上升要上响应的最高层,下就要下降到下响应的最底层,这样才能实现电梯的高效运行,才不会出现电梯运行的复杂化。 硬件设计和软件设计是密不可分的,二者是相辅相成的,硬件是根据软件才验证的,软件是根据硬件才实现的,经过长期的研究,发现问题,解决问题,最终完成了电梯的设计。 1.6课题的开发环境介绍 1.6.1 Proteus7.0软件 Proteus软件是由英国Labcenter electronics公司出版的EDA工具软件。Proteus软件是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。Proteus软件不仅具有其它EDA工具软件的仿真功能,且还能仿真单片机及外围器件。Proteus软件是至今最好的仿真单片机及外围器件的工具。Proteus软件从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。在编译方面,Proteus软件也支持IAR、Keil和MPLAB等多种编译器。Proteus软件在中国的推广比较晚,但是已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的学习和开发的良好工具。 Proteus软件的主要特点: (1)互动的电路仿真 用户甚至可以实时采用诸如AD,ROM, RAM,马达, LCD,DA,键盘,LED,部分IIC器件,部分SPI器件。 (2)仿真处理器及其外围电路 可以仿真PIC、ARM 、51系列、AVR等等一些常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果,并且系统配置了示波器、虚拟逻辑分析仪等,Proteus软件可以建立一个完备的电子设计开发环境。 Proteus软件功能模块: (1)独特的单片机协同仿真功能; (2)智能原理图设计; (3)完善的电路仿真功能; (4)实用的PCB设计平台。 Proteus软件资源丰富: (1)Proteus软件可提供的仿真仪表资源 :交直流电流表、交直流电压表、模式发生器、信号发生器、I2C调试器、SPI调试器、虚拟终端、逻辑分析仪、示波器。在原理上同一种仪器可以在一个电路中任意的使用。 (2)除了现实存在的仪器外,Proteus还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似,但功能更多。这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗。这些都尽可能减少了仪器对测量结果的影响。 (3)Proteus软件可提供的仿真元器件资源:仿真数字和模拟、交流和直流等数千种元器件,有30多个元件库。 (4)Proteus软件可提供的调试手段:Proteus提供了比较丰富的测试信号用于电路的测试。这些测试信号包括数字信号和模拟信号。 Proteus软件与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。 本系统采用Proteus7.0版本进行硬件的构造,根据以上所阐述的Proteus软件的功能和用途,在加上有强大的外围设备,在一定程度上已经满足了系统研究的需要了。 1.6.2 Keil程序研发软件 开发过程中除了必要的硬件之外,还需要软件。汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是机器汇编,另一种是手工汇编。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境将这些部份组合在一起。Keil也有一定的硬件配置要求,运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。 Keil软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM 语言和C语言的程序设计,界面美观,易学易用,是编写软件与系统调试的好软件。所以在编写程序的时候采用Keil软件进行编写程序的工具。 1.7功能要求 本课题是设计一个八层的自动升降电梯控制系统,使得电梯能够合理高效地运行,完成每个楼层的接送任务。具体的说是满足不同楼层乘客的不同需求,作出合理高效的判断,让所有乘客在整体运用时间最短的条件下达到所要到达的楼层。 本设计采用的是Proteus软件仿真,用Keil软件编写程序,严格按照两个原则:一是高效性,二是人性化。然而实际中,电梯还存在很有很多比较复杂的情况,在仿真中没有办法完成,这是本设计存在的瓶颈。总体来说本系统设计合理,效果不错。 2课题总体设计 2.1系统总设计框图 本设计是利用80C51为最小系统,采用外部中断0,80C51的P0口接8255A扩展芯片,P1口两个八段数码管,用于显示响应楼层的情况,P2.0和P2.1接8255A的A0和A1,P3.6和P3.7分别8255A的读与写端口,P2.7通过非门与8255A的CS相连,用于片选8255A,P2.2、P2.3、P2.4、P2.5用于74LS373的控制选择端口,P3.0、P3.1、P3.4、P3.5用于两个电机的控制。系统刚开始运行的时候,电梯处在第一层。其总设计框图如图2-1所示。 图2-1系统总设计框图 2.2系统元器件清单 在硬件的设计的时候,要很据实际情况选择相应的元器件,在现实中可能要考虑到很多问题,如成本问题,功率问题,环境问题等等,这些都是在开发中存在的一些细节问题,但是在仿真中就没有那么的要求,所以在选择元器件的时候有多种方案,现在的一些模拟型器件在仿真中也是没有办法实现的,所以在选择元器件的时候还是要根据实际情况,选择相应的元器件。表2-1为本设计的元器件清单。 表2-1系统元器件清单 元器件 型号 数量/个 用途 单片机 80C51 1 控制核心 晶振 CRYSTAL(12MHZ) 1 晶振电路 电容 CAP 2 晶振电路 电容 CAP-ELEC 1 复位电路 集成电阻 RESPACK-8 2 上拉电阻 按键 BUTTON 23 按键电路、复位电路 非门 NOT 1 用于选中8255A 锁存器 74LS373 4 数码管、LED灯显示电路 8255A 8255A 1 按键电路 与门 AND_3 1 用于中断 与门 AND_8 3 用于中断 数码管 7SEG-COM-CATHODE 2 数码管显示 LED灯 LED-RED 22 LED灯显示电路 电机 MOTOR 2 电机驱动电路 电阻 RES 1 复位电路 电机驱动芯片 L298 1 电机驱动电路 2.3必备知识点 ·单片机复位电路工作原理及设计 ·单片机晶振电路工作原理及设计 ·按键电路设计 ·LED灯和数码管的使用方法 ·80C51的使用方法 ·单片机C语言及程序设计相关知识 ·电机驱动电路的原理(L298专用芯片) ·8255A的使用方法 ·74LS373的使用方法 ·与门的使用方法 2.4相关芯片说明 2.4.1最小系统80C51 80C51单片机属于MCS-51系列单片机,由Intel公司开发,其结构是8048的延伸,改进了8048的缺点,增加了如乘(MUL)、除(DIV)、减(SUBB)、比较(PUSH)、16位数据指针、布尔代数运算等指令,以及串行通信能力和5个中断源。采用40引脚双列直插式DIP(Dual In Line Package),内有128个RAM单元及4K的ROM。80C51有两个16位定时计数器,两个外中断,两个定时计数中断,及一个串行中断,并有4个8位并行输入口。80C51内部有时钟电路,但需要石英晶体和微调电容外接,本系统中采用12MHz的晶振频率。由于80C51的系统性能满足系统数据采集及时间精度的要求,而且产品产量丰富来源广,应用也很成熟,故采用来作为控制核心,基本构架如图2-2最小系统80C51引脚图。当输入口不够的话可以采用8255A进行扩展。 图2-2最小系统80C51引脚图 2.4.2扩展芯片8255A 8255A是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。其各口功能可由软件选择,使用灵活,通用性强。8255A可作为单片机与多种外设连接时的中间接口电路,也可以与其他系列的微处理器配套使用。由于8255A的通用性强,与微型计算机借口方便,且可通过程序制定完成各种不同输入和输出操作,因此获得非常广泛的应用。 8255A是可编程的并行输入输出接口芯片,它具有三个8位并行端口,分别为A口、B口和C口,且具有40个引脚,双列直插式封装,采用+5V供电,其引脚与功能示意图如图2-38255A引脚分布图所示。 图2-3为8255A引脚分布图 D0~D7:三态双向数据总线,8255A与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。 A1,A0;地址选择线,用来选择8255A的PA口,PB口,PC口和控制寄存器。 A1,A0;地址选择线,用来选择8255A的PA口,PB口,PC口和控制寄存器; 当A1=0,A0=1时,PB口被选择; 当A1=1,A0=0时,PC口被选择; 当A1=1,A0=1时,控制寄存器被选择。 /CS:芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允许8255A与CPU进行通讯;/CS=1时,8255A无法与CPU做数据传输。 /RD:读信号线,当这个输入引脚为低电平时,即/RD=0且/CS=0时,允许8255A通过数据总线向CPU发送数据或状态信息,即CPU从8255A读取信息或数据。 /WR:写入信号,当这个输入引脚为低电平时,即/WR=0且/CS=0时,允许CPU将数据或控制字写入8255A。 RESET:复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。 根据以上说明列出扩展8255A个端口的读/写操作的信息关系如表2-2所示。 表2-2扩展8255A个端口的读/写操作的信息关系 /CS /RD /WR A1 A0 操作 0 1 0 0 0 写端口A 0 1 0 0 1 写端口B 0 1 0 1 0 写端口C 0 1 0 1 1 写控制存储器 0 0 1 0 0 读端口A 0 0 1 0 1 读端口B 0 0 1 1 0 读端口C 0 0 1 1 1 无操作 8255A在使用前要先写入一个工作方式控制字,用于指定A口、B口、C口三个端口各自的工作方式,三个端口是相互独立的输入输出通道端口。8255A共有三种工作方式: 方式0—基本输入输出方式,即无须联络就可以直接对8255A与外设之间的数据输入输出操作。A口、B口、C口和高4位和低4位均可设置为方式0。 方式1—选通输入/出方式,此时8255A的A口和B口与外设之间进行输入或者输出操作时,需要C口的部分I/O线提供联络信号。只有A口和B口可工作于方式1。 方式2—双向选通输入/输出方式,即同一端口的I/O线即可以输入也可以输出,只有A口可以工作于方式2.这种工作方式需要C口的部分I/O线来提供联络信号。 PA0~PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。 工作于三种方式中的任何一种; PB0~PB7:端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。不能工作于方式二; PC0~PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口,每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。不能工作于方式一或二。 8255A作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。同时必须具有与外设连接的接口A、B、C口。由于8255A可编程,所以必须具有逻辑控制部分,因而8255A内部结构分为3个部分:与控制部分、CPU连接部分、与外设连接部分。 1)控制器 8255A将3个通道分为两组,即PA0~PA7与PC4~PC7组成A组,PB0~PB7与PC0~PC3组成B组。A组控制器:控制A口与上C口的输入与输出。B组控制器:控制B口与下C口的输入与输出。 2)与CPU连接部分 根据定义,8255A能并行传送8位数据,所以其数据线为8根D0~D7。由于8255A具有3个通道A、B、C,所以只要两根地址线就能寻址A、B、C口及控制寄存器,故地址线为两根A0~A1。此外CPU要对8255A进行读、写与片选操作,所以控制线为片选、复位、读、写信号。各信号的引脚编号如下: (1)数据总线DB:编号为D0~D7,用于8255A与CPU传送8位数据。 (2)地址总线AB:编号为A0~A1,用于选择A、B、C口与控制寄存器。 (3)控制总线CB:片选信号、复位信号RST、写信号、读信号。当CPU要对8255A进行读、写操作时,必须先向8255A发片选信号选中8255A芯片,然后发读信号或写信号对8255A进行读或写数据的操作。 3)与外设接口部分 根据定义,8255A有3个通道A、B、C与外设连接,每个通道又有8根线与外设连接,所以8255A可以用24根线与外设连接,若进行开关量控制,则8255A可同时控制24路开关。各通道的引脚编号如下: (1)A口:编号为PA0~PA7,用于8255A向外设输入输出8位并行数据。 (2)B口:编号为PB0~PB7,用于8255A向外设输入输出8位并行数据。 (3)C口:编号为PC0~PC7,用于8255A向外设输入输出8位并行数据,当8255A工作于应答I/O方式时,C口用于联络信号的通信。 以上阐述的是8255A的相关资料,根据系统的需求,采用了8255A的方式0—基本输入输出方式,根据表2-2的信息才选择对应8255A的控制字,通过总线控制的方式来实现8255A的读写,当然系统在对8255A的使用时,只是对PA、PB、PC的输入数据进行读取值而已。 2.4.3电机驱动专用芯片L298 L298是意大利SGS半导体公司生产的步进电机专用控制器,它能产生4相控制信号,可用于计算机控制的两相双极和四相单相步进电机,能够用单四拍、双四拍、四相八拍方式控制步进电机。芯片内的PWM斩波器电路可开关模式下调节步进电机绕组中的电机绕组中的电流。该集成电路采用了SGS公司的模拟/数字兼容的I2L技术,使用5V的电源电压,全部信号的连接都与TFL/CMOS或集电极开路的晶体管兼容。图2-4为L298引脚分布图。 图2-4为L298引脚分布图 L298芯片引脚说明 1脚(SENSA)-IN1、IN2电流检测电压反馈输入端 2脚(OUT1)-第一个输出 3脚(OUT2)-第二个输出 4脚(VS)-外部电压 5脚(IN1)-第一个输入 6脚(ENA)-IN1、IN2阻止电机驱动 7脚(IN2)-第二个输入 8脚(GND)-接地端 9脚(VCC)-+5V电源输入端 10脚(IN3)-第三个输入 11脚(ENB)- IN3、IN4阻止电机驱动 12脚(IN4)-第四个输入 13脚(OUT3)-第三个输出 14脚(OUT4)-第四个输出 15脚(SENSB)-IN3、IN4电流检测电压反馈输入端 根据以上引脚说明,列举出L298控制表如表2-3所示。 表2-3 L298控制表 ENA/ENB SENSA/SENSB IN1/IN3 IN2/IN4 直流电机运行状态 +5V 接地 0 0 滑行 +5V 接地 1 0 正转 +5V 接地 0 1 反转 +5V 接地 1 1 刹车 以上阐述了L98的功能,系统的两个直流电机分别是连接到L298的输出端口,通过L298的输入对应来控制直流电机的运行状态。主要采用了正传、反转和刹车这三个运行状态。 3系统硬件设计 3.1各模块功能选择与设计 本设计在硬件设计中分为数码管显示电路、LED灯显示电路、电机驱动电路、按键电路、晶振电路、复位电路。 3.1.1数码管显示电路 根据设计的需要,本设计采用的八段数码管来显示,楼层分配一个数码管,机箱里面也分配一个数码管,总共使用了2个八段数码管,使用74LS373来进行锁存当前数据,数码管同步显示当前机箱所在的楼层数。设计如图3-1所示。 图3-1数码管显示电路 80C51的P1口与74LS373的数据端口相连,P2.2来控制74LS373读取数据和显示数据,数码管采用共阴极接法。74LS373具有锁存数据的功能。 单片机在驱动数码管有很多种方法,一般可以分为静态输出驱动、动态输出驱动和动态扫描驱动着三种方法。一个数码管正常都是需要5mA的电流才能正常显示,两个数码管总的才需要10mA的,但是单片机在20mA的电流之下一般都不需要什么驱动。系统中单片机动态输出静态驱动数码管,也直接给每位数码管加驱动信号了,并且采用了74LS373对单片机输出的数据进行了锁存。 3.1.2 LED灯显示电路 LED灯主要是为了显示当前哪些按键有响应,根据设计的需要,总共需要22个LED来显示,分别用于上七个按键、下七个按键、机箱里面的八个按键,并通过三个74LS373来锁存当前响应的数据,设计如图3-2所示。 图3-2 LED显示电路 80C51的P1口与74LS373的数据端口相连,P2.3、P2.4和P2.5分别来控制三个74LS373读取数据和显示数据,LED灯采用的低电平显示方式。 系统使用的是红光LED灯,在3mA的电流就能使得LED很亮的,电流需要控制在10m内,单片机单片机动态输出静态驱动LED灯,就能驱动LED灯了,所以无需在加驱动了,并且采用了74LS373对单片机输出数据进行了锁存。 3.1.3电机驱动电路 在此设计中,电机的驱动是十分重要的,也是为了更好的体现出仿真系统的友好性,电机的运行情况反应了机箱的运行情况。本设计采用了两个电机,一个是用于机箱的升降,正传表示机箱上升,反转表示机箱下降,另一个是用于机箱门的开关情况,正传表示开门,反转表示关门。采用L298电机驱动专用芯片进行驱动。设计如图3-3所示。 图3-3电机驱动电路 80C51的P3.0、P3.1、P3.4、P3.5分别L298电机驱动芯片连接,OUT1与OUT2分别于电机1相接,OU3与OUT4分别于电机2相接。电机1的电压12V,转速为18r/s,负载为200。电机2的电压12V,转速为7r/s,负载为100。 按电梯速度的分类柯分为低速梯,常指低于1.00m/s速度的电梯,中速梯,常指速度在1.00~2.00m/s的电梯,高速梯,常指速度大于2.00m/s的电梯,超高速梯,速度超过5.00m/s的电梯。乘客电梯一般都是为2.00m/s,一层楼一般都是为3m左右,所以上升一层需要的时间一般都是为1.5s的时间,在进行实际的设计时需要根据不同环境不同高度的楼层进行相应的更改。本系统采用的仿真,为了满足人眼视觉的效果,电机1采用的转速为18r/s 18r/s,电机2采用的转速为7r/s,这主要是为了实现仿真视觉效果,故在设计的时候存在着偏差。 3.1.4按键电路 在本设计中,使用到的按键比较多,八层总共需要22个按键,所以用8255A扩展来当做按键模块。设计如图3-4所示。 图3-4按键控制电路 80C51的P0口与8255A的数据口相连接,P2.0对应接8255A的A0,P2.1对应接8255A的A1,P2.7TO通过非门反向器接8255A的/CS,使得8255A一直处于被选择的状态,P3.6对应接8255A的/WR,P3.7对应接8255A的/RD,8255A的RESET也需要接地,8255A的PA口与七个上按键相接,8255A的PB口与七个下按键相接,8255A的PC口与机箱里面的八个按键相接。此外按键还需要分别通过与门在与80C51的P3.2(外部中断0)端口相接,当有按键按下时就会产生中断。 3.1.5晶振电路 单片机的时钟信号是用来提供单片机内各种微操作的时间基准,80C51片内设有一个由反向放大器所构成的振荡电路,XTAL1和 XTAL2分别为振荡电路的输入和输出端,80C51单片机的时钟信号通常用两种电路形式得到:外部振荡方式和内部振荡方式。外部振荡方式的时钟很少用,如果需要用到外部振荡,只要将XTAL1接地,XTAL2接外部振荡器就行,对外部振荡信号没有什么特殊要求,只要保证脉冲宽度,一般采用频率低于12MHz的方波信号。 时钟发生器把振荡频率两分频,产生一个两相时钟信号供单片机使用。一个时钟信号在每一个状态S的前半部分有效,另一个时钟信号在每个状态的后半部分有效。本设计采用的内部振荡方式,内部振荡方式所得的时钟信号比较稳定,实用电路中使用较多。只要按照图3-5所示电路进行设计连接就能使系统可靠起振并能稳定运行。图中,电容器C1、C2起稳定振荡频率、快速起振的作用,电容值一般为5~33pF。但在时钟电路的实际应用中一定要注意正确选择其大小,并保证电路的对称性,尽可能匹配,选用正牌的瓷片或云母电容,如果可能的话,温度系数尽可能低。本设计中采用大小为22pF的电容和12MHz的晶振。 图3-5晶振电路 3.1.6复位电路 当80C51单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,此时单片机就完成了复位操作的功能。如果RST持续为高电平,单片机就一直处于循环复位状态,而无法执行程序。因此要求单片机复位后能脱离复位状态。而本系统选用的是12MHz的晶振,因此一个机器周期为1μs,那么复位脉冲宽度最小应为2μs。在实际应用系统中,考虑到电源的稳定时间,参数漂移,晶振稳定时间以及复位的可靠性等因素,必须有足够的余量。 根据应用的要求,复位操作功能通常有两种基本形式:上电复位功能、手动复位功能。 上电复位功能的要求接通电源后,自动实现复位操作。80C51单片机的上电复位POR(Power On Reset)实质上就是上电延时复位,也就是在上电延时期间把单片机锁定在复位状态上。在单片机每次初始加电时,首先投入工作的功能部件是复位电路。复位电路把单片机锁定在复位状态上并且维持一个延时,以便给予电源电压从上升到稳定的一个等待时间;在电源电压稳定之后,再插入一个延时,给予时钟振荡器从起振到稳定的一个等待时间;在单片机开始进入运行状态之前,还要至少推迟2个机器周期的延时,一般至为2μs。 标准80C51不仅复位源比较单一,而且还没有设计内部上电复位的延时功能,因此必须借助于外接阻容支路来增加延时环节。当然,外接电阻R还是可以省略的。 手动复位功能的要求在电源接通的条件下,在单片机运行期间,如果发生死机,用按钮开关操作使单片机复位。单片机要完成复位,必须向复位端输出并持续两个机器周期以上的高电平,从而实现复位操作。 本设计采用上电阻开关复位电路,如图3-6所示上电后,由于电容充电,使RST持续一段高电平时间。当单片机已在运行之中时,按下复位键也能使RST持续一段时间的高电平,从而实现上电且开关复位的操作。 图3-6复位电路 3.2电路总设计图 根据以上的个个模块原理图构思,通过Proteus软件画出整个硬件设计的图,总的电路设计原理图见附录一。 4系统的软件设计 4.1 80C51资源的分配 P0.7---P0.0接8255A的数据输入输出引脚 P1.7---P1.0段控线,接两个八段数码管和四个74LS373的数据端口 P2.0接8255A的A0引脚 P2.1接8255A的A0引脚 P2.2接第一片74LS373的控制引脚 P2.3接第二片74LS373的控制引脚 P2.4接第三片74LS373的控制引脚 P2.5接第四片74LS373的控制引脚 P2.7接8255A的/CS引脚 P3.0接电机1的的控制引脚 P3.1接电机1的的控制引脚 P3.2用于外部中断0 P3.4接电机2的的控制引脚 P3.5接电机2的的控制引脚 P3.6接8255A的写信号引脚(/WR) P3.7接8255A的读信号引脚(/WD) 4.2软件流程图 4.2.1主程序流程图 根据实地考察,并进行了详细的思考,画出软件主流程图,如图4-1所示。 图4-1软件主流程图 4.2.2中断流程图 根据系统的要求,画出相应的中断流程图,如图4-2所示。 图4-2中断流程图 5部分程序 5.1主程序 /* *函数名:main *功能描述:main主程序 *输入参数:无 *返回值:无 */ void main() { initkey();//中断初始化,即有一个按键按下则产生中断 kuozhan8255chushihua();//8255A初始化 P1 = 0xFF; LS1 = 1;//选择74LS373第一片 LS1 = 0;//数码管初始化 P1 = 0xFF; LS2 = 1;//选择74LS373第二片 LS2 = 0;//LED上灯初始化 P1 = 0xFF; LS3 = 1;//选择74LS373第三片 LS3 = 0;//LED下灯初始化 P1 = 0xFF; LS4 = 1;////选择74LS373第四片 LS4 = 0;//机箱的LED灯初始化 shumaguanxianshi();//数码管显示子程序 while(1) { key();//按键处理模块 } } 5.2初值定义程序 在程序开始运行的需要相关的初始化,如外部中断0初始化,8255A初始化,还需要对一些相关值进行初值定义。 /*相关初值定义*/ uchar aim1 = 0;//表示机箱要处理的最高层,初值为0 uchar aim2 = 9;//表示机箱要处理的最底层,初值为9 uchar shang = 0;//响应上按键返回值,初值为0 uchar xia = 0;//响应下按键返回值,初值为0 uchar aim = 0;//响应机箱按键返回值,初值为0 uchar persent = 1;//表示机箱目前所在的层数,初值为1,表示在第一层 uchar a = 0xFF;//8255A瞬时读取值,初值为0 uchar b = 0xFF;//开按键与上按键动态存储,0表示有按下 uchar c = 0xFF;//关按键与下按键动态存储,0表示有按下 uchar d = 0xFF;//机箱按键动态表示,1表示有按下 uchar e = 0;//机箱上升或下降的标志,停止为0,上运行为1,下运行为2,刚好响应当层为3 uchar code table[] = { 0x3F, //"0" 0x06, //"1" 0x5B, //"2" 0x4F, //"3" 0x66, //"4" 0x6D, //"5" 0x7D, //"6" 0x07, //"7" 0x7F, //"8" };//显示数码管1、2、3、4、5、6、7、8的字符段 5.3原函数声明程序 原函数声明是为了程序更加清晰,阅读者更容易的看懂编写者的代码,也是程序模块化的表现。 void deleayms(uchar z);//延时n毫秒 void deleays(uchar z);//延时n秒 void initkey();//按键中断初始化,即有一个按键按下则产生中断 void kuozhan8255chushihua();//8255A初始化 void externalint0(void);//外部中断0程序 void yunxingqingkuang();//判断机箱是上运行或者下运行或者是响应当前层 void panduanshangxiagaodi();//判断上或下的最高层和最低层 void shuzushang();//当下响应完的时候判断上是否需要响应 void shuzuxia();//当上响应完的时候判断下是否需要响应 void key();//按键处理模块 void shumaguanxianshi();//数码管显示子程序 void LEDshangliang();//LED灯上亮 void LEDxialiang();//LED灯下亮 void LEDliang();//机箱的LED灯亮 void LEDshangmie();//LED上灭 void LEDxiamie();//LED下灭 void LEDmie();//LED当前层灭 void kai();//电梯开门 void guan();//电梯关门 void yunxingshang();//电机匀速上运行 void yunxingxia();//电机匀速下运行 5.4外部中断0程序 外部中断0本系统一个非常重要的程序,当外部中断0有响应的时候,主程序才可以运行。 /*外部中断0程序,当产生中断时,说明有按键按下,识别哪个按键按下,并用b、c、d标注,且进行上下最高低判断,用aim1和aim2返回,aim1表示上最高层,aim2表示下最底层*/ void externalint0(void) interrupt 0 { EA = 0;//禁止所有中断 //A口读写数据 a = PA_8255;//取出数据 if(a != 0xFF) { switch(a) { //第一层的上按键 case 0xFE: { LEDshangliang();//响应当前所按下的按键的LED灯 if((aim1 == 0) && (aim2 == 9))//判断当前机箱是否所以静止状态 { e = 0;//机箱停止 } shang = 1; yunxingqingkuang();//判断电梯上升还是下降 panduanshangxiagaodi();//判断电梯上的最高层和下的最底层 shang = 0; a = 0xFF; break; } //第二层的上按键 case 0xFD: { LEDshangliang();//响应当前所按下的按键的LED灯 if((aim1 == 0) && (aim2 == 9))//判断当前机箱是否所以静止状态 { e = 0;//机箱停止 } shang = 2; yunxingqingkuang();//判断电梯上升还是下降 panduanshangxiagaodi();//判断电梯上的最高层和下的最底层 shang = 0; a = 0xFF; break; } //第三层的上按键 case 0xFB: { LEDshangliang();//响应当前所按下的按键的LED灯 if((aim1 == 0) && (aim2 == 9))//判断当前机箱是否所以静止状态 { e = 0;//机箱停止 } shang = 3; yunxingqingkuang();//判断电梯上升还是下降 panduanshangxiagaodi();//判断电梯上的最高层和下的最底层 shang = 0; a = 0xFF; break; } //第四层的上按键 case 0xF7: { LEDshangliang();//响应当前所按下的按键的LED灯 if((aim1 == 0) && (aim2 == 9))//判断当前机箱是否所以静止状态 { e = 0;//机箱停止 } shang = 4; yunxingqingkuang();//判断电梯上升还是下降 panduanshangxiagaodi();//判断电梯上的最高层和下的最底层 shang = 0; a = 0xFF; break; } //第五层的上按键 case 0xEF: { LEDshangliang();//响应当前所按下的按键的LED灯 if((aim1 == 0) && (aim2 == 9))//判断当前机箱是否所以静止状态 { e = 0;//机箱停止 } shang = 5; yunxingqingkuang();//判断电梯上升还是下降 panduanshangxiagaodi();//判断电梯上的最高层和下的最底层 shang = 0; a = 0xFF; break; } //第六层的上按键 case 0xDF: { LEDshangliang();//响应当前所按下的按键的LED灯 if((aim1 == 0) && (aim2 == 9))//判断当前机箱是否所以静止状态 { e = 0;//机箱停止 } shang = 6; yunxingqingkuang();//判断电梯上升还是下降 panduanshangxiagaodi();//判断电梯上的最高层和下的最底层 shang = 0; a = 0xFF; break; } //第七层的上按键 case 0xBF: { LEDshangliang();//响应当前所按下的按键的LED灯 if((aim1 == 0) && (aim2 == 9))//判断当前机箱是否所以静止状态 { e = 0;//机箱停止 } shang = 7; yunxingqingkuang();//判断电梯上升还是下降 panduanshangxiagaodi();//判断电梯上的最高层和下的最底层 shang = 0; a = 0xFF; break; } default: //条件不满足返回 break; } } //B口读写数据 a = PB_8255;//取出数据 if(a != 0xFF) { switch(a) { //第二层的下按键 case 0xFE: { LEDxialiang();//响应当前所按下的按键的LED灯 if((aim1 == 0) && (aim2 == 9))//判断当前机箱是否所以静止状态 { e = 0;//机箱停止 } xia = 2; yunxingqingkuang();//判断电梯上升还是下降 panduanshangxiagaodi();//判断电梯上的最高层和下的最底层 xia = 0; a = 0xFF; break; } //第三层的下按键 case 0xFD: { LEDxialiang();//响应当前所按下的按键的LED灯 if((aim1 == 0) && (aim2 == 9))//判断当前机箱是否所以静止状态 { e = 0;//机箱停止 } xia = 3; yunxingqingkuang();//判断电梯上升还是下降 panduanshangxiagaodi();//判断电梯上的最高层和下的最底层 xia = 0; a = 0xFF; break; } //第四层的下按键 case 0xFB: { LEDxialiang();//响应当前所按下的按键的LED灯 if((aim1 == 0) && (aim2 == 9))//判断当前机箱是否所以静止状态 { e = 0;//机箱停止 } xia = 4; yunxingqingkuang();//判断电梯上升还是下降 panduanshangxiagaodi();//判断电梯上的最高层和下的最底层 xia = 0; a = 0xFF; break; } //第五层的下按键 case 0xF7: { LEDxialiang();//响应当前所按下的按键的LED灯 if((aim1 == 0) && (aim2 == 9))//判断当前机箱是否所以静止状态 { e = 0;//机箱停止 } xia = 5; yunxingqingkuang();//判断电梯上升还是下降 panduanshangxiagaodi();//判断电梯上的最高层和下的最底层 xia = 0; a = 0xFF; break; } //第六层的下按键 case 0xEF: { LEDxialiang();//响应当前所按下的按键的LED灯 if((aim1 == 0) && (aim2 == 9))//判断当前机箱是否所以静止状态 { e = 0;//机箱停止 } xia = 6; yunxingqingkuang();//判断电梯上升还是下降 panduanshangxiagaodi();//判断电梯上的最高层和下的最底层 xia = 0; a = 0xFF; break; } //第七层的下按键 case 0xDF: { LEDxialiang();//响应当前所按下的按键的LED灯 if((aim1 == 0) && (aim2 == 9))//判断当前机箱是否所以静止状态 { e = 0;//机箱停止 } xia = 7; yunxingqingkuang();//判断电梯上升还是下降 panduanshangxiagaodi();//判断电梯上的最高层和下的最底层 xia = 0; a = 0xFF; break; } //第八层的下按键 case 0xBF: { LEDxialiang();//响应当前所按下的按键的LED灯 if((aim1 == 0) && (aim2 == 9))//判断当前机箱是否所以静止状态 { e = 0;//机箱停止 } xia = 8; yunxingqingkuang();//判断电梯上升还是下降 panduanshangxiagaodi();//判断电梯上的最高层和下的最底层 xia = 0; a = 0xFF; break; } default: //条件不满足返回 break; } } //C口读写数据 a = PC_8255;//取出数据 if(a != 0xFF) { switch(a) { //电梯机箱的第一层按键 case 0xFE: { LEDliang();//响应当前所按下的按键的LED灯 if((aim1 == 0) && (aim2 == 9))//判断当前机箱是否所以静止状态 { e = 0;//机箱停止 } aim = 1; yunxingqingkuang();//判断电梯上升还是下降 panduanshangxiagaodi();//判断电梯上的最高层和下的最底层 aim = 0; a = 0xFF; break; } //电梯机箱的第二层按键 case 0xFD: { LEDliang();//响应当前所按下的按键的LED灯 if((aim1 == 0) && (aim2 == 9))//判断当前机箱是否所以静止状态 { e = 0;//机箱停止 } aim = 2; yunxingqingkuang();//判断电梯上升还是下降 panduanshangxiagaodi();//判断电梯上的最高层和下的最底层 aim = 0; a = 0xFF; break; } //电梯机箱的第三层按键 case 0xFB: { LEDliang();//响应当前所按下的按键的LED灯 if((aim1 == 0) && (aim2 == 9))//判断当前机箱是否所以静止状态 { e = 0;//机箱停止 } aim = 3; yunxingqingkuang();//判断电梯上升还是下降 panduanshangxiagaodi();//判断电梯上的最高层和下的最底层 aim = 0; a = 0xFF; break; } //电梯机箱的第四层按键 case 0xF7: { LEDliang();//响应当前所按下的按键的LED灯 if((aim1 == 0) && (aim2 == 9))//判断当前机箱是否所以静止状态 { e = 0;//机箱停止 } aim = 4; yunxingqingkuang();//判断电梯上升还是下降 panduanshangxiagaodi();//判断电梯上的最高层和下的最底层 aim = 0; a = 0xFF; break; } //电梯机箱的第五层按键 case 0xEF: { LEDliang();//响应当前所按下的按键的LED灯 if((aim1 == 0) && (aim2 == 9))//判断当前机箱是否所以静止状态 { e = 0;//机箱停止 } aim = 5; yunxingqingkuang();//判断电梯上升还是下降 panduanshangxiagaodi();//判断电梯上的最高层和下的最底层 aim = 0; a = 0xFF; break; } //电梯机箱的第六层按键 case 0xDF: { LEDliang();//响应当前所按下的按键的LED灯 if((aim1 == 0) && (aim2 == 9))//判断当前机箱是否所以静止状态 { e = 0;//机箱停止 } aim = 6; yunxingqingkuang();//判断电梯上升还是下降 panduanshangxiagaodi();//判断电梯上的最高层和下的最底层 aim = 0; a = 0xFF; break; } //电梯机箱的第七层按键 case 0xBF: { LEDliang();//响应当前所按下的按键的LED灯 if((aim1 == 0) && (aim2 == 9))//判断当前机箱是否所以静止状态 { e = 0;//机箱停止 } aim = 7; yunxingqingkuang();//判断电梯上升还是下降 panduanshangxiagaodi();//判断电梯上的最高层和下的最底层 aim = 0; a = 0xFF; break; } //电梯机箱的第八层按键 case 0x7F: { LEDliang();//响应当前所按下的按键的LED灯 if((aim1 == 0) && (aim2 == 9))//判断当前机箱是否所以静止状态 { e = 0;//机箱停止 } aim = 8; yunxingqingkuang();//判断电梯上升还是下降 panduanshangxiagaodi();//判断电梯上的最高层和下的最底层 aim = 0; a = 0xFF; break; } default: //条件不满足返回 break; } } EA = 1;//恢复中断允许 } 6系统仿真及调试 系统设计完成之后,要进行软件与硬件的调试。在仿真中,软件和硬件的调试采用的是联调的方式,通过Proteus和Keil的连接起来,采用单步的方式进行调试,经过不懈的努力,使得系统圆满完成。 在调试的时候得出了以下几点问题: 1、74LS373最多只能锁存7个八段数码管(主要是单片机没有办法驱动更多的数码管,一般都是需要数码管驱动电路来驱动数码管); 2、74LS373刚开始响应的时候都是为低电平,故需要软件初始化,让全部的74LS373全部置为高电平; 3、 按键的灵敏度不高; 4、 编译程序的时候,hex文件的不能超过单片机最小系统的存储空间; 5、 要保证程序的结构化与合理化,避免出现调用的问题; 6、 有时候电脑程序运行很多或者电脑电脑短时间出现卡住现象都会影响电机的仿真效果; 7、 八段数码管有时候也会出现乱码问题,不过也是短时间出现的问题; 8、 仿真使用到的8255A时系统的出错的概率比较大,故有出现这种情况的需要重新运行程序。 在整体系统调试过程中基本上出现这些问题,不过这些问题大部分都是客观存在的,可能是因为软件编写出现了问题,也有可能是仿真软件的问题,当然出现了问题要及时更改才是非常必要的。 7系统运行结果 系统主要的功能是实现了八层电梯的自动升降功能。电梯刚开始运行时候是在第一层,当电梯运行到某一层的时候且后面有没有相应的响应时,电梯一直停留在该层,直到有其他按键相应时,电梯在进行运转。系统在运行的时候没有其他的按键可以使得电梯特殊运行,此电梯的设计的一个载客电梯。 经过调试的后,系统终于可以正常的运行了。图7-1为电梯刚启动的情况。 图7-1为电梯刚启动的情况 经过一系列按键相应时,电梯进行了相应的运行之后,电梯处于第五层时电梯处于停止运行状态,电梯会一直停留在第五层,一直等待下一个响应,电梯才会接着运行。图7-2为电梯运行到第五层时停止运行的状态。 图7-2电梯运行到中间的停止运行状态 8心得体会 本文对自动升降电梯控制系统这一毕业设计做了详细的报告与总结,其中包括硬件部分与软件部分两大模块,而且对其中各个重要的子模块加以了重点详细地说明。 经验证,本设计所设计的电梯基本符合当初的预想,该电梯的运行完全符合高效、省时、人性化的特点。在Proteus与Keil环境下可以实现仿真的正常运行。 本毕设的主导思想是:当有顾客按下按键呼叫电梯时,运用单片机的中断,将该信息传递给单片机,从而单片机置位相关的状态参量,并判断电梯是上还是下,且判断电梯上的最高层,下的最底层,为按键处理提供相应的依据,然后单片机再实时地控制二极管的亮灭情况。其中,单片机中断系统是基础,8255A是读取中断是基石,电梯运行函数为主导,电梯目标楼层判决函数为关键与核心。经过按键处理模块使得电梯运行到相应的位置,并使得电梯运行到的某个地方相应的LED灭,从而人性化的显示了电梯的运行情况,并且需要对一些值进行相关的赋初值,从而不会使得数值调用出现了错误。 总的来说,由于精心的设计与耐心的调试,整个设计还是算很成功的,而且本程序的编写思想不仅仅是适应八层楼的电梯,更多层的电梯也是可以实现,例如8255A扩展还可以使用很多按键,P1口还可以多加些74LS373进行数据锁存。当然,如果更高层的电梯,就会受到单片机管脚资源的限制了。而程序本身的思想是可以支持更多层电梯的运行的,如果需要更多的管脚就需要采用更为高档的处理器(如ARM型处理器),则这一设想完全可以实现。 9致谢语 通过本次毕业设计,经过不懈的努力,系统圆满完成。在设计的过程中也体会到了完成一个项目的艰巨性与困难性,遇到一个问题,解决一个问题。 本次设计,把大学学到的东西串接起来,但是这样还是远远不够的,还上网找资料,实地考察实物的运行情况,图书馆翻阅书籍才顺利完成的。经过本次设计把我在大学所学的理论知识转化为实际应用,既锻炼了实际操作能力,又使理论知识得以加强和升华,激发了创新意识。由于编写能力和所学知识的局限性,可能系统还会存在一些问题,例如程序总体看上去很长,缺少简洁性和强壮性等等一些问题都需要我在进一步完善,让系统更完美。 最后,感谢XXX老师的耐心指导,是她严谨的作风一直不断激励着我,让我在困难的路上不断前行,还有身边同学的帮助,使得存在的一些问题得以及时解决。通过本次设计使我的动手能力得到了很大的提高,使我们走出了实践的盲区,为以后的工作打下了坚实的基础。 参考文献 【1】 王忠民. 微型计算机原理(第二版)[M] 陕西:西安电子科技大学出版社,2007,294-307 【2】 赵全利.肖兴达.单片机原理及应用教程(第2版)[M].北京:机械工业出版社,2010,86-98 【3】 潘新民.王燕芳.微型计算机控制技术(第2版)[M].北京:电子工业出版社,2011,140-151 【4】 杨居军.单片机课程设计指导[M].北京:清华大学出版社,2009,81-87 【5】 百度文库.L297-L298中文资料介绍[EB],2009,1-10 【6】 谭浩强.C语言程序设计(第2版)[M].北京:清华大学出版社,2008,103-105 附录一:总硬件设计原理图 毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作 者 签 名:       日  期:        ​​​​​​​​​​​​ 指导教师签名:        日  期:        使用授权说明 本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:        日  期:        ​​​​​​​​​​​​ 学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名: 日期: 年 月 日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权      大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名: 日期: 年 月 日 导师签名: 日期: 年 月 日 指导教师评阅书 指导教师评价: 一、撰写(设计)过程 1、学生在论文(设计)过程中的治学态度、工作精神 □ 优 □ 良 □ 中 □ 及格 □ 不及格 2、学生掌握专业知识、技能的扎实程度 □ 优 □ 良 □ 中 □ 及格 □ 不及格 3、学生综合运用所学知识和专业技能分析和解决问题的能力 □ 优 □ 良 □ 中 □ 及格 □ 不及格 4、研究方法的科学性;技术线路的可行性;设计方案的合理性 □ 优 □ 良 □ 中 □ 及格 □ 不及格 5、完成毕业论文(设计)期间的出勤情况 □ 优 □ 良 □ 中 □ 及格 □ 不及格 二、论文(设计)质量 1、论文(设计)的整体结构是否符合撰写规范? □ 优 □ 良 □ 中 □ 及格 □ 不及格 2、是否完成指定的论文(设计)任务(包括装订及附件)? □ 优 □ 良 □ 中 □ 及格 □ 不及格 三、论文(设计)水平 1、论文(设计)的理论意义或对解决实际问题的指导意义 □ 优 □ 良 □ 中 □ 及格 □ 不及格 2、论文的观念是否有新意?设计是否有创意? □ 优 □ 良 □ 中 □ 及格 □ 不及格 3、论文(设计说明书)所体现的整体水平 □ 优 □ 良 □ 中 □ 及格 □ 不及格 建议成绩:□ 优 □ 良 □ 中 □ 及格 □ 不及格 (在所选等级前的□内画“√”) 指导教师: (签名) 单位: (盖章) 年 月 日 评阅教师评阅书 评阅教师评价: 一、论文(设计)质量 1、论文(设计)的整体结构是否符合撰写规范? □ 优 □ 良 □ 中 □ 及格 □ 不及格 2、是否完成指定的论文(设计)任务(包括装订及附件)? □ 优 □ 良 □ 中 □ 及格 □ 不及格 二、论文(设计)水平 1、论文(设计)的理论意义或对解决实际问题的指导意义 □ 优 □ 良 □ 中 □ 及格 □ 不及格 2、论文的观念是否有新意?设计是否有创意? □ 优 □ 良 □ 中 □ 及格 □ 不及格 3、论文(设计说明书)所体现的整体水平 □ 优 □ 良 □ 中 □ 及格 □ 不及格 建议成绩:□ 优 □ 良 □ 中 □ 及格 □ 不及格 (在所选等级前的□内画“√”) 评阅教师: (签名) 单位: (盖章) 年 月 日 教研室(或答辩小组)及教学系意见 教研室(或答辩小组)评价: 一、答辩过程 1、毕业论文(设计)的基本要点和见解的叙述情况 □ 优 □ 良 □ 中 □ 及格 □ 不及格 2、对答辩问题的反应、理解、表达情况 □ 优 □ 良 □ 中 □ 及格 □ 不及格 3、学生答辩过程中的精神状态 □ 优 □ 良 □ 中 □ 及格 □ 不及格 二、论文(设计)质量 1、论文(设计)的整体结构是否符合撰写规范? □ 优 □ 良 □ 中 □ 及格 □ 不及格 2、是否完成指定的论文(设计)任务(包括装订及附件)? □ 优 □ 良 □ 中 □ 及格 □ 不及格 三、论文(设计)水平 1、论文(设计)的理论意义或对解决实际问题的指导意义 □ 优 □ 良 □ 中 □ 及格 □ 不及格 2、论文的观念是否有新意?设计是否有创意? □ 优 □ 良 □ 中 □ 及格 □ 不及格 3、论文(设计说明书)所体现的整体水平 □ 优 □ 良 □ 中 □ 及格 □ 不及格 评定成绩:□ 优 □ 良 □ 中 □ 及格 □ 不及格 (在所选等级前的□内画“√”) 教研室主任(或答辩小组组长): (签名) 年 月 日 教学系意见: 系主任: (签名) 年 月 日 学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下进行的研究工作所取得的成果。尽我所知,除文中已经特别注明引用的内容和致谢的地方外,本论文不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式注明并表示感谢。本人完全意识到本声明的法律结果由本人承担。 学位论文作者(本人签名): 年 月 日 学位论文出版授权书 本人及导师完全同意《中国博士学位论文 全文 企业安全文化建设方案企业安全文化建设导则安全文明施工及保证措施创建安全文明校园实施方案创建安全文明工地监理工作情况 数据库出版章程》、《中国优秀硕士学位论文全文数据库出版章程》(以下简称“章程”),愿意将本人的学位论文提交“中国学术期刊(光盘版)电子杂志社”在《中国博士学位论文全文数据库》、《中国优秀硕士学位论文全文数据库》中全文发表和以电子、网络形式公开出版,并同意编入****《中国知识资源总库》,在《中国博硕士学位论文评价数据库》中使用和在互联网上传播,同意按“章程”规定享受相关权益。 论文密级: □公开 □保密(___年__月至__年__月)(保密的学位论文在解密后应遵守此协议) 作者签名:_______ 导师签名:_______ _______年_____月_____日 _______年_____月_____日 独 创 声 明 本人郑重声明:所呈交的毕业设计(论文),是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议。尽我所知,除文中已经注明引用的内容外,本设计(论文)不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。 本声明的法律后果由本人承担。   作者签名: 二〇一〇年九月二十日   毕业设计(论文)使用授权声明 本人完全了解**学院关于收集、保存、使用毕业设计(论文)的规定。 本人愿意按照学校要求提交学位论文的印刷本和电子版,同意学校保存学位论文的印刷本和电子版,或采用影印、数字化或其它复制手段保存设计(论文);同意学校在不以营利为目的的前提下,建立目录检索与阅览服务系统,公布设计(论文)的部分或全部内容,允许他人依法合理使用。 (保密论文在解密后遵守此规定)   作者签名: 二〇一〇年九月二十日 致 谢 时间飞逝,大学的学习生活很快就要过去,在这四年的学习生活中,收获了很多,而这些成绩的取得是和一直关心帮助我的人分不开的。 首先非常感谢学校开设这个课题,为本人日后从事计算机方面的工作提供了经验,奠定了基础。本次毕业设计大概持续了半年,现在终于到结尾了。本次毕业设计是对我大学四年学习下来最好的检验。经过这次毕业设计,我的能力有了很大的提高,比如操作能力、分析问题的能力、合作精神、严谨的工作作风等方方面面都有很大的进步。这期间凝聚了很多人的心血,在此我表示由衷的感谢。没有他们的帮助,我将无法顺利完成这次设计。 首先,我要特别感谢我的知道***老师对我的悉心指导,在我的论文书写及设计过程中给了我大量的帮助和指导,为我理清了设计思路和操作方法,并对我所做的课题提出了有效的改进方案。***老师渊博的知识、严谨的作风和诲人不倦的态度给我留下了深刻的印象。从他身上,我学到了许多能受益终生的东西。再次对周巍老师表示衷心的感谢。 其次,我要感谢大学四年中所有的任课老师和辅导员在学习期间对我的严格要求,感谢他们对我学习上和生活上的帮助,使我了解了许多专业知识和为人的道理,能够在今后的生活道路上有继续奋斗的力量。 另外,我还要感谢大学四年和我一起走过的同学朋友对我的关心与支持,与他们一起学习、生活,让我在大学期间生活的很充实,给我留下了很多难忘的回忆。 最后,我要感谢我的父母对我的关系和理解,如果没有他们在我的学习生涯中的无私奉献和默默支持,我将无法顺利完成今天的学业。 四年的大学生活就快走入尾声,我们的校园生活就要划上句号,心中是无尽的难舍与眷恋。从这里走出,对我的人生来说,将是踏上一个新的征程,要把所学的知识应用到实际工作中去。 回首四年,取得了些许成绩,生活中有快乐也有艰辛。感谢老师四年来对我孜孜不倦的教诲,对我成长的关心和爱护。 学友情深,情同兄妹。四年的风风雨雨,我们一同走过,充满着关爱,给我留下了值得珍藏的最美好的记忆。 在我的十几年求学历程里,离不开父母的鼓励和支持,是他们辛勤的劳作,无私的付出,为我创造良好的学习条件,我才能顺利完成完成学业,感激他们一直以来对我的抚养与培育。 最后,我要特别感谢我的导师***老师、和研究生助教***老师。是他们在我毕业的最后关头给了我们巨大的帮助与鼓励,给了我很多解决问题的思路,在此表示衷心的感激。老师们认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我收益匪浅。他无论在理论上还是在实践中,都给与我很大的帮助,使我得到不少的提高这对于我以后的工作和学习都有一种巨大的帮助,感谢他耐心的辅导。在论文的撰写过程中老师们给予我很大的帮助,帮助解决了不少的难点,使得论文能够及时完成,这里一并表示真诚的感谢。 致 谢 这次论文的完成,不止是我自己的努力,同时也有老师的指导,同学的帮助,以及那些无私奉献的前辈,正所谓你知道的越多的时候你才发现你知道的越少,通过这次论文,我想我成长了很多,不只是磨练了我的知识厚度,也使我更加确定了我今后的目标:为今后的计算机事业奋斗。在此我要感谢我的指导老师——***老师,感谢您的指导,才让我有了今天这篇论文,您不仅是我的论文导师,也是我人生的导师,谢谢您!我还要感谢我的同学,四年的相处,虽然我未必记得住每分每秒,但是我记得每一个有你们的精彩瞬间,我相信通过大学的历练,我们都已经长大,变成一个有担当,有能力的新时代青年,感谢你们的陪伴,感谢有你们,这篇论文也有你们的功劳,我想毕业不是我们的相处的结束,它是我们更好相处的开头,祝福你们!我也要感谢父母,这是他们给我的,所有的一切;感谢母校,尽管您不以我为荣,但我一直会以我是一名农大人为荣。 通过这次毕业设计,我学习了很多新知识,也对很多以前的东西有了更深的记忆与理解。漫漫求学路,过程很快乐。我要感谢信息与管理科学学院的老师,我从他们那里学到了许多珍贵的知识和做人处事的道理,以及科学严谨的学术态度,令我受益良多。同时还要感谢学院给了我一个可以认真学习,天天向上的学习环境和机会。 即将结束*大学习生活,我感谢****大学提供了一次在**大接受教育的机会,感谢院校老师的无私教导。感谢各位老师审阅我的论文。 毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作 者 签 名:       日  期:        ​​​​​​​​​​​​ 指导教师签名:        日  期:        使用授权说明 本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:        日  期:        ​​​​​​​​​​​​ 学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名: 日期: 年 月 日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权      大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名: 日期: 年 月 日 导师签名: 日期: 年 月 日 独 创 声 明 本人郑重声明:所呈交的毕业设计(论文),是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议。尽我所知,除文中已经注明引用的内容外,本设计(论文)不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。 本声明的法律后果由本人承担。   作者签名: 年 月 日   毕业设计(论文)使用授权声明 本人完全了解**学院关于收集、保存、使用毕业设计(论文)的规定。 本人愿意按照学校要求提交学位论文的印刷本和电子版,同意学校保存学位论文的印刷本和电子版,或采用影印、数字化或其它复制手段保存设计(论文);同意学校在不以营利为目的的前提下,建立目录检索与阅览服务系统,公布设计(论文)的部分或全部内容,允许他人依法合理使用。 (保密论文在解密后遵守此规定)   作者签名: 年 月 日 基本要求:写毕业论文主要目的是培养学生综合运用所学知识和技能,理论联系实际,独立分析,解决实际问题的能力,使学生得到从事本专业工作和进行相关的基本训练。毕业论文应反映出作者能够准确地掌握所学的专业基础知识,基本学会综合运用所学知识进行科学研究的方法,对所研究的题目有一定的心得体会,论文题目的范围不宜过宽,一般选择本学科某一重要问题的一个侧面。 毕业论文的基本教学要求是: 1、培养学生综合运用、巩固与扩展所学的基础理论和专业知识,培养学生独立分析、解决实际问题能力、培养学生处理数据和信息的能力。2、培养学生正确的理论联系实际的工作作风,严肃认真的科学态度。3、培养学生进行社会调查研究;文献资料收集、阅读和整理、使用;提出论点、综合论证、总结写作等基本技能。 毕业论文是毕业生总结性的独立作业,是学生运用在校学习的基本知识和基础理论,去分析、解决一两个实际问题的实践锻炼过程,也是学生在校学习期间学习成果的综合性总结,是整个教学活动中不可缺少的重要环节。撰写毕业论文对于培养学生初步的科学研究能力,提高其综合运用所学知识分析问题、解决问题能力有着重要意义。 毕业论文在进行编写的过程中,需要经过开题报告、论文编写、论文上交评定、论文答辩以及论文评分五个过程,其中开题报告是论文进行的最重要的一个过程,也是论文能否进行的一个重要指标。 撰写意义:1.撰写毕业论文是检验学生在校学习成果的重要措施,也是提高教学质量的重要环节。大学生在毕业前都必须完成毕业论文的撰写任务。申请学位必须提交相应的学位论文,经答辩通过后,方可取得学位。可以这么说,毕业论文是结束大学学习生活走向社会的一个中介和桥梁。毕业论文是大学生才华的第一次显露,是向祖国和人民所交的一份有份量的答卷,是投身社会主义现代化建设事业的报到书。一篇毕业论文虽然不能全面地反映出一个人的才华,也不一定能对社会直接带来巨大的效益,对专业产生开拓性的影响。但是,实践证明,撰写毕业论文是提高教学质量的重要环节,是保证出好人才的重要措施。 2.通过撰写毕业论文,提高写作水平是干部队伍“四化”建设的需要。党中央要求,为了适应现代化建设的需要,领导班子成员应当逐步实现“革命化、年轻化、知识化、专业化”。这个“四化”的要求,也包含了对干部写作能力和写作水平的要求。 3.提高大学生的写作水平是社会主义物质文明和精神文明建设的需要。在新的历史时期,无论是提高全族的科学文化水平,掌握现代科技知识和科学管理方法,还是培养社会主义新人,都要求我们的干部具有较高的写作能力。在经济建设中,作为领导人员和机关的办事人员,要写指示、通知、总结、调查报告等应用文;要写说明书、广告、解说词等说明文;还要写科学论文、经济评论等议论文。在当今信息社会中,信息对于加快经济发展速度,取得良好的经济效益发挥着愈来愈大的作用。写作是以语言文字为信号,是传达信息的方式。信息的来源、信息的收集、信息的储存、整理、传播等等都离不开写作。 论文种类:毕业论文是学术论文的一种形式,为了进一步探讨和掌握毕业论文的写作规律和特点,需要对毕业论文进行分类。由于毕业论文本身的内容和性质不同,研究领域、对象、方法、表现方式不同,因此,毕业论文就有不同的分类方法。 按内容性质和研究方法的不同可以把毕业论文分为理论性论文、实验性论文、描述性论文和设计性论文。后三种论文主要是理工科大学生可以选择的论文形式,这里不作介绍。文科大学生一般写的是理论性论文。理论性论文具体又可分成两种:一种是以纯粹的抽象理论为研究对象,研究方法是严密的理论推导和数学运算,有的也涉及实验与观测,用以验证论点的正确性。另一种是以对客观事物和现象的调查、考察所得观测资料以及有关文献资料数据为研究对象,研究方法是对有关资料进行分析、综合、概括、抽象,通过归纳、演绎、类比,提出某种新的理论和新的见解。 按议论的性质不同可以把毕业论文分为立论文和驳论文。立论性的毕业论文是指从正面阐述论证自己的观点和主张。一篇论文侧重于以立论为主,就属于立论性论文。立论文要求论点鲜明,论据充分,论证严密,以理和事实服人。驳论性毕业论文是指通过反驳别人的论点来树立自己的论点和主张。如果毕业论文侧重于以驳论为主,批驳某些错误的观点、见解、理论,就属于驳论性毕业论文。驳论文除按立论文对论点、论据、论证的要求以外,还要求针锋相对,据理力争。 按研究问题的大小不同可以把毕业论文分为宏观论文和微观论文。凡届国家全局性、带有普遍性并对局部工作有一定指导意义的论文,称为宏观论文。它研究的面比较宽广,具有较大范围的影响。反之,研究局部性、具体问题的论文,是微观论文。它对具体工作有指导意义,影响的面窄一些。 另外还有一种综合型的分类方法,即把毕业论文分为专题型、论辩型、综述型和综合型四大类: 1.专题型论文。这是分析前人研究成果的基础上,以直接论述的形式发表见解,从正面提出某学科中某一学术问题的一种论文。如本书第十二章例文中的《浅析领导者突出工作重点的方法与艺术》一文,从正面论述了突出重点的工作方法的意义、方法和原则,它表明了作者对突出工作重点方法的肯定和理解。2.论辩型论文。这是针对他人在某学科中某一学术问题的见解,凭借充分的论据,着重揭露其不足或错误之处,通过论辩形式来发表见解的一种论文。3.综述型论文。这是在归纳、总结前人或今人对某学科中某一学术问题已有研究成果的基础上,加以介绍或评论,从而发表自己见解的一种论文。4.综合型论文。这是一种将综述型和论辩型两种形式有机结合起来写成的一种论文。如《关于中国民族关系史上的几个问题》一文既介绍了研究民族关系史的现状,又提出了几个值得研究的问题。因此,它是一篇综合型的论文。 写作步骤:毕业论文是高等教育自学考试本科专业应考者完成本科阶段学业的最后一个环节,它是应考者的 总结 性独立作业,目的在于总结学习专业的成果,培养综合运用所学知识解决实际 问题 的能力。从文体而言,它也是对某一专业领域的现实问题或 理论 问题进行 科学 研究 探索的具有一定意义的论说文。完成毕业论文的撰写可以分两个步骤,即选择课题和研究课题。 首先是选择课题。选题是论文撰写成败的关键。因为,选题是毕业论文撰写的第一步,它实际上就是确定“写什么”的问题,亦即确定科学研究的方向。如果“写什么”不明确,“怎么写”就无从谈起。 教育部自学考试办公室有关对毕业论文选题的途径和要求是“为鼓励理论与工作实践结合,应考者可结合本单位或本人从事的工作提出论文题目,报主考学校审查同意后确立。也可由主考学校公布论文题目,由应考者选择。毕业论文的总体要求应与普通全日制高等学校相一致,做到通过论文写作和答辩考核,检验应考者综合运用专业知识的能力”。但不管考生是自己任意选择课题,还是在主考院校公布的指定课题中选择课题,都要坚持选择有科学价值和现实意义的、切实可行的课题。选好课题是毕业论文成功的一半。 第一、要坚持选择有科学价值和现实意义的课题。科学研究的目的是为了更好地认识世界、改造世界,以推动社会的不断进步和发展 。因此,毕业论文的选题,必须紧密结合社会主义物质文明和精神文明建设的需要,以促进科学事业发展和解决现实存在问题作为出发点和落脚点。选题要符合科学研究的正确方向,要具有新颖性,有创新、有理论价值和现实的指导意义或推动作用,一项毫无意义的研究,即使花很大的精力,表达再完善,也将没有丝毫价值。具体地说,考生可从以下三个方面来选题。首先,要从现实的弊端中选题,学习了专业知识,不能仅停留在书本上和理论上,还要下一番功夫,理论联系实际,用已掌握的专业知识,去寻找和解决工作实践中急待解决的问题。其次,要从寻找科学研究的空白处和边缘领域中选题,科学研究。还有许多没有被开垦的处女地,还有许多缺陷和空白,这些都需要填补。应考者应有独特的眼光和超前的意识去思索,去发现,去研究。最后,要从寻找前人研究的不足处和错误处选题,在前人已提出来的研究课题中,许多虽已有初步的研究成果,但随着社会的不断发展,还有待于丰富、完整和发展,这种补充性或纠正性的研究课题,也是有科学价值和现实指导意义的。 第二、要根据自己的能力选择切实可行的课题。毕业论文的写作是一种创造性劳动,不但要有考生个人的见解和主张,同时还需要具备一定的客观条件。由于考生个人的主观、客观条件都是各不相同的,因此在选题时,还应结合自己的特长、兴趣及所具备的客观条件来选题。具体地说,考生可从以下三个方面来综合考虑。首先,要有充足的资料来源。“巧妇难为无米之炊”,在缺少资料的情况下,是很难写出高质量的论文的。选择一个具有丰富资料来源的课题,对课题深入研究与开展很有帮助。其次,要有浓厚的研究兴趣,选择自己感兴趣的课题,可以激发自己研究的热情,调动自己的主动性和积极性,能够以专心、细心、恒心和耐心的积极心态去完成。最后,要能结合发挥自己的业务专长,每个考生无论能力水平高低,工作岗位如何,都有自己的业务专长,选择那些能结合自己工作、发挥自己业务专长的课题,对顺利完成课题的研究大有益处。 致 谢 这次论文的完成,不止是我自己的努力,同时也有老师的指导,同学的帮助,以及那些无私奉献的前辈,正所谓你知道的越多的时候你才发现你知道的越少,通过这次论文,我想我成长了很多,不只是磨练了我的知识厚度,也使我更加确定了我今后的目标:为今后的计算机事业奋斗。在此我要感谢我的指导老师——***老师,感谢您的指导,才让我有了今天这篇论文,您不仅是我的论文导师,也是我人生的导师,谢谢您!我还要感谢我的同学,四年的相处,虽然我未必记得住每分每秒,但是我记得每一个有你们的精彩瞬间,我相信通过大学的历练,我们都已经长大,变成一个有担当,有能力的新时代青年,感谢你们的陪伴,感谢有你们,这篇论文也有你们的功劳,我想毕业不是我们的相处的结束,它是我们更好相处的开头,祝福你们!我也要感谢父母,这是他们给我的,所有的一切;感谢母校,尽管您不以我为荣,但我一直会以我是一名农大人为荣。 通过这次毕业设计,我学习了很多新知识,也对很多以前的东西有了更深的记忆与理解。漫漫求学路,过程很快乐。我要感谢信息与管理科学学院的老师,我从他们那里学到了许多珍贵的知识和做人处事的道理,以及科学严谨的学术态度,令我受益良多。同时还要感谢学院给了我一个可以认真学习,天天向上的学习环境和机会。 即将结束*大学习生活,我感谢****大学提供了一次在**大接受教育的机会,感谢院校老师的无私教导。感谢各位老师审阅我的论文。
本文档为【基于单片机下芯片的电梯控制系统毕业设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
不系舟红枫
从教近30年,经验丰富,教学水平较高
格式:doc
大小:901KB
软件:Word
页数:0
分类:工学
上传时间:2019-01-22
浏览量:1