1、 毕 业 设 计 报 告 书 题目: 单片机模拟电梯控制系统 专 业 机电一体化 班 级 姓 名 指导教师 目录 第一部分 设计任务与调研………………………………………………………… 第二部分 设计说明……………………………………………………………………… 第三部分 设计成果…………………………………………………… 第四部
2、分 结束语………………………………………………………………………… 第五部分 致谢………………………………………………………………………… 参考文献………………………………………………………………… 第一部分 设计任务与调研 1.设计任务: 设计一个基于单片机模拟电梯控制系统获得调试成功。 2.调研: 单片机是一种集成电路芯片,采用超大规模技术把具有数据处理能力(如算术运算,逻辑运算、数据传送、中断处理)的微处理器(CPU),随机存取数据存储器(RAM),只读程序存储器(ROM),输入输出电路(I/O口),可能还包括定时计数器,串行通信口(S
3、CI),显示驱动电路(LCD或LED驱动电路),脉宽调制电路(PWM),模拟多路转换器及A/D转换器等电路集成到一块单块芯片上,构成一个最小,然而完善的计算机系统。这些电路能在软件的控制下准确、迅速、高效地完成程序设计者事先规定的任务。 由此来看,单片机有着微处理器所不具备的功能,它可单独地完成现代工业控制所要求的智能化控制功能,这是单片机最大的特征。 然而单片机又不同于单板机,芯片在没有开发前,它只是具备功能极强的超大规模集成电路,如果赋予它特定的程序,它便是一个最小的、完整的微型计算机控制系统,它与单板机或个人电脑(PC机)有着本质的区别,单片机的应用属于芯片级应用,需要用户了
4、解单片机芯片的结构和指令系统以及其它集成电路应用技术和系统设计所需要的理论和技术,用这样特定的芯片设计应用程序,从而使该芯片具备特定的功能。 不同的单片机有着不同的硬件特征和软件特征,即它们的技术特征均不尽相同,硬件特征取决于单片机芯片的内部结构,用户要使用某种单片机,必须了解该型产品是否满足需要的功能和应用系统所要求的特性指标。这里的技术特征包括功能特性、控制特性和电气特性等等,这些信息需要从生产厂商的技术手册中得到。软件特征是指指令系统特性和开发支持环境,指令特性即我们熟悉的单片机的寻址方式,数据处理和逻辑处理方式,输入输出特性及对电源的要求等等。开发支持的环境包括指令的兼容及可移植性,
5、支持软件(包含可支持开发应用程序的软件资源)及硬件资源。要利用某型号单片机开发自己的应用系统,掌握其结构特征和技术特征是必须的。 单片机控制系统能够取代以前利用复杂电子线路或数字电路构成的控制系统,可以软件控制来实现,并能够实现智能化,现在单片机控制范畴无所不在,例如通信产品、家用电器、智能仪器仪表、过程控制和专用控制装置等等,单片机的应用领域越来越广泛。 诚然,单片机的应用意义远不限于它的应用范畴或由此带来的经济效益,更重要的是它已从根本上改变了传统的控制方法和设计思想。是控制技术的一次革命,是一座重要的里程碑。
6、 第二部分 设计说明 2.1系统组成框图 在本设计中需用到AT89S51芯片,1个数码管,一个蜂鸣器,复位电路,8个按键,24个发光二极管。 复位键 输入 时钟电路 AT89S51 单片机 输出 显示 图2.1系统组成框图 2.2AT89S51芯片 本设计主要采用AT89S51芯片。AT89S51是一个低功耗,高性能CMOS 8位单片机,片内
7、含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。 AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定
8、时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。 此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作。掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。主要功能性能如表2.1所示: 表2.1 AT89S51芯片的主要功能 ·兼容MCS-51指令系统 · 4k可反复擦写(>1000次)ISP Flash ROM · 3
9、2个双向I/O口 · 4.5-5.5V工作电压 · 2个16位可编程定时/计数器 · 时钟频率0-33MHz · 全双工UART串行中断口线 · 128x8bit内部RAM · 2个外部中断源 · 低功耗空闲和省电模式 · 中断唤醒省电模式 · 3级加密位 · 看门狗(WDT)电路 · 软件设置空闲和省电功能 · 灵活的ISP字节和分页编程 · 双数据寄存器指针 引脚功能说明 VCC:电源电压。 GND:地。 P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能驱动8个TTL逻辑门
10、电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线同时转换成地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。 P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。Flash编程和程序校验期间,P1接收低8位地址。
11、 表2.2 P1端口引脚的第二功能 端口引脚 第二功能 P1.5 MOSI(用于ISP编程) P1.6 MISO(用于ISP编程) P1.7 SCK (用于ISP编程) P2口:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。 在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX @DPTR指令)时,P2口送出高8位地址数据。在
12、访问8位地址的外部数据存储器(如执行MOVX @Ri 指令)时,P2 口线上的内容(也即特殊功能寄存器(SFR)区中P2 寄存器的内容),在整个访问期间不改变。Flash编程或校验时,P2亦接收高位地址和其它控制信号。 P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的P3口将用作上拉电阻输出电流。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如表2.3所示: 表2.3 P3端口引脚
13、的第二功能 端口引脚 第二功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外中断0) P3.3 /INT1(外中断1) P3.4 T0 (定时/计数器0) P3.5 T1 (定时/计数器1) P3.6 /WR (外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。WDT溢出将使该引脚输出高电平,设置SFR AUXR的DISRTO位(地址8EH)可打开或关闭该功能。DISRTO位缺省为RESET输出高电
14、平打开状态。 ALE/ (/PROG):当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲(/PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令ALE才会被激活。此外,该引脚会被拉高,单片机执行外部程序时,应设置ALE无效。 /PSEN:程
15、序存储允许(/PSEN)输出是外部程序存储器的读选通信号,当AT89S51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。当访问外部数据存储器,没有两次有效的/PSEN信号。 EA/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000H—FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12V的编程电压Vpp。 XTAL1:振荡器反相放大器及内部时钟发生器的输入端。 XTAL2:
16、振荡器反相放大器的输出端。 2.3 显示模块 2.3 显示模块 显示电路采用了1个LED数码管,单片机I/O的应用最典型的是通过I/O口与7段LED数码管构成显示电路。7段LED数码管,则在一定形状的绝缘材料上,利用单只LED组合排列成“8”字型的数码管,分别引出它们的电极,点亮相应的点划来显示出0-9的数字。LED数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的。因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。将多只LED的阴极连在一起即为共阴式,而将多只LED的阳极连在一起即为共阳式。以本设计共阴式为例,如把阴极接地,在相应段
17、的阳极接上正电源,该段即会发光。当然,LED的电流通常较小,一般均需在回路中接上限流电阻。假如我们将"b"和"c"段接上正电源,其它端接地或悬空,那么"b"和"c"段发光,此时,数码管显示将显示数字“1”。而将"a"、"b"、"d"、"e"和"g"段都接上正电源,其它引脚悬空,此时数码管将显示“2”。 图2.2 LED数码管 2.4 复位开关模块 MCS-51单片机的复位是靠外部电路实现的。MCS-51单片机工作之后,只要在它的RST引线
18、上加载10ms以上的高电平,单片机就能有效地复位。MCS-51单片机通常采用上电自动复位和按键复位两种方式。最简单的复位电路如下图: 图2.3 复位开关 上电瞬间,RC电路充电,RST引线出现正脉冲,只要RST保持10ms以上的高电平,就能使单片机有效的复位。在应用系统中,有些外围芯片也需要复位。如果这些芯片复位端的复位电平与单片机的复位电平的要求一致,则可以将复位信号与之相连。 2.5 振荡器电路模块 MCS--51单片机内部的振荡电路是一个增益反相放大器,引线 XTAL1和XT
19、AL2分别为反向振荡放大器的输入及内部时钟工作电路的输入和来自反向振荡器的输出,该反向放大器可以配置为片内振荡器。单片机内部虽然有振荡电路,但要形成时钟,外部还需要附加电路。石英晶体振荡和陶瓷振荡均可采用。输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。51单片机的时钟产生方式有两种,分别为:内部时钟方式和外部时钟方式。利用其内部的振荡电路XTAL1和XTAL2引线上外接定时元件,内部振荡电路便产生自激振荡,用示波器可以观察到XTAL2输出的时钟信号。在MCS-51单片机一般常用内部时钟方式,也就是在XTAL1和XTAL2之间连
20、接晶体振荡器与电容构成稳定的自激振荡器,晶体和电容决定了单片机的工作时间精度为1微秒。晶体可在1.2-12MHz之间选择。MCS-51单片机在通常应用情况下,使用振荡频率为6MHZ的石英晶体,而12MHZ频率的晶体主要是在高速串行通信情况下才使用,在这里我用的是12MHZ石英晶体。对电容无严格要求,但它的取值对振荡频率输出的稳定性、大小及振荡电路起振荡速度有一点影响。C1和C2可在20-100PF之间取值,一般情况取30PF。外部时钟方式是把外部振荡信号源直接接入XTAL1或XTAL2。由于XTAL2逻辑电平不是TTL的,所以还要接一个上拉电阻。 2.6 程序下载模块 该模块完成的功能
21、是把源程序代码下载到AT89S51芯片中,它需要和微机上的ISP下载器软件配合使用来完成这样的功能。 ISP为在线编程接口,J2为标准10P JTAG下载接口。ISP在线编程接口为89S51单片机提供了方便的在线编程方法。使用时将ISP下载线一端与PC并口相连接,一端与ISP接口相连,使用ISP下载软件即可实现MCU在线编程。 下载线插接说明:两排十针下载口, 1号引脚的边上有一个小方框;下载线的凸口为正方向,凸口的右侧边的第一个插孔为1号引脚,这一点一定要切记,不然的话程序下载不进去。 2.7流程图设计 初始化 按键查询 1层按键按下 2层按键按
22、下 5层按键按下 6层按键按下 3层按键按下 7层按键按下 4层按键按下 8层按键按下 对应中断程序 图 2.4 主程序流程图 该图为电梯上升时的流程,任意按键按下时则进入相应的中断程序,否则一直进行1到8层按键的循环检测。电梯下降时则进行8到1层按键的循环检测。 、 第三部分 设计
23、成果 2.8设计电路及仿真图 2.9程序设计 2.9.1程序初始化 TCOUNT EQU 4CH CENG EQU 4DH ORG 0000H LJMP START ORG 000BH LJMP INT0X ORG 0030H ;;;;;;;;;;;;初始化;;;;;;;;;;;;;;;;; START: MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H ;50MS MOV IE,#82H SETB TR0 MOV TCOUNT,#4
24、 CLR F0 MOV 20H,#0 MOV R0,#30H MOV R1,#30 QING: MOV @R0,#00H INC R0 DJNZ R1,QING ;把30H到4DH这30个单元清0 MOV P0,#06H MOV P3,#0F8H 2.9.2主程序调用 XUN: JB P1.0,ONE LCALL YS10MS JB P1.0,ONE ;判断一层的停止按键是否按下 CLR P2.0 ;若按下则把对应的红色发光二极管点亮 ONE: JB P1.1,TWO LCALL YS10M
25、S JB P1.1,TWO ;判断二层的停止按键是否按下 CLR P2.1 ;若按下则把对应的红色发光二极管点亮 TWO: JB P1.2,THR LCALL YS10MS JB P1.2,THR CLR P2.2 THR: JB P1.3,FOU LCALL YS10MS JB P1.3,FOU CLR P2.3 FOU: JB P1.4,FIV LCALL YS10MS JB P1.4,FIV CLR P2.4 FIV: JB P1.5,SIX LCALL YS10MS JB P1.
26、5,SIX CLR P2.5 SIX: JB P1.6,SEV LCALL YS10MS JB P1.6,SEV CLR P2.6 SEV: JB P1.7,XUN LCALL YS10MS JB P1.7,XUN CLR P2.7 LJMP XUN 2.9.3中断程序调用 INT0X: MOV TH0,#3CH MOV TL0,#0B0H INC TCOUNT MOV A,TCOUNT CJNE A,#5,ZHUAN2 ;50MS*5=250MS MOV TCOUNT,#00H JB F
27、0,ZHUAN LJMP ZHUAN1 ZHUAN: LJMP XIAJIANG ZHUAN1: MOV P3,#0F8H ;上升的箭头 MOV A,CENG CJNE A,#00H,SS2 MOV P0,#06H ;显示 JB P2.0,SS1_1 INC 30H MOV A,30H CJNE A,#1,SSX1_1 CLR P3.4 ;一层门开的声音开 SSX1_1: CJNE A,#2,SSX1_2 SETB P3.4 ;一层门开的声音关 S
28、SX1_2: CJNE A,#16,SSX1_3 CLR P3.4 ;一层门关的声音开 SSX1_3: CJNE A,#17,ZHUAN2 ;16*250MS=4S(总共次,但实际在这里停止的时间只有次MS) MOV 30H,#0 SETB P3.4 ;一层门关的声音关 SETB P2.0 ;熄灭对应的红色发光二极管 SS1_1: INC 31H MOV A,31H CJNE A,#9,ZHUAN2 ;8*250MS=2S(总共次,但实际上升一层只用次MS) MOV 31H,#0
29、 INC CENG SS2: MOV A,CENG CJNE A,#01H,SS3 MOV P0,#5BH ;显示 JB P2.1,SS2_1 INC 32H MOV A,32H CJNE A,#1,SSX2_1 CLR P3.4 ;二层门开的声音开 SSX2_1: CJNE A,#2,SSX2_2 SETB P3.4 ;二层门开的声音关 SSX2_2: CJNE A,#16,SSX2_3 CLR P3.4 ;二层门关的声音开 SSX2_3: CJNE A
30、17,ZHUAN2 ;16*250MS=4S(总共次,但实际在这里停止的时间只有次MS) MOV 32H,#0 SETB P3.4 ;二层门关的声音关 SETB P2.1 ;熄灭对应的红色发光二极管 SS2_1: INC 33H MOV A,33H CJNE A,#9,ZHUAN2 ;8*250MS=2S(总共次,但实际上升一层只用次MS? MOV 33H,#0 LJMP ZHUAN3 第四部分 结束语 本系统就是充分利用了AT89S51芯片的各引脚。系统采用MSC-5
31、1系列单片机IntelAT89S51为中心器件来设计实现模拟简单电梯控制系统,系统设计简便、实用性强、操作简单,完成了模拟电梯的基本功能。单片机在接口性能和计算速度等方面均有资源不足的问题,仍然不能适应较复杂的控制算法和故障诊断等要求,但单片机控制电梯有成本低,通用性强,灵活性大及易于实现复杂控制等优点。 总体来说,该单片机系统设计很好的完成了简单电梯控制系统,但是不论是在硬件还是软件,都可以通过后续的努力加以改进,主要为以下几个方面:1.在硬件上,通过设计更为复杂的外围电路来实现电梯控制的智能化处理,考虑加入控制器来完成电梯的多信息采集处理功能。2.在软件上,目前软件运行的效率不是很高
32、可以考虑通过对算法的分析,简化程序,提高单片机调试的速度。3.在总体设计上,考虑到更为智能的电梯系统,可以通过调研了解电梯的智能化发展方向,提出更为全面复杂的电梯控制方案及多电梯协同运行策略分析等功能。 第五部分 致谢 在即将结束本文,完成毕业设计的时刻,我要向所有在我毕业设计阶段乃至我大学三年帮助过我的老师和同学致以深深的谢意,感谢他们在学习和生活上给我的帮助。. 通过本次毕业设计,我在指导老师 的精心指导和严格要求下,获得了丰富的理论知识,极大地提高了实践能力,并对当前电子领域的研究状况和发展方向有了一定的了解,单片机领域这对我今后进一步学习计算机方面的知识有极大的帮
33、助。在设计中遇到了很多编程问题,最后在李老师的辛勤指导下,在同学的热情帮助下,终于迎刃而解。同时,在李老师的身上我学到很多实用的知识,在此我表示感谢!最后,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢! 参考文献 [1] AT89C51-AT89S51性能简介 [2] 杨欣.电路设计与仿真.北京:清华大学出版社,2006 [3] ATMEL AT89S51.Atmel Corporation 2001 [4] 楼然苗.51系列单片机设计实例.北京:航空航天大学出版社,2004 [5] 王田苗.嵌入式系统设计与实例开发.北京:清华大学出版社,2005 [6] ATMEL技术资料,ATMEL官方网站 [7] 张友德.单片微型机原理应用与实验.上海:复旦大学出版社,1996 [8] 万长建.用单片机实现高层电梯运行自动控制.实验技术与管理.2007,5






