基于单片机电梯控制系统设计完整版毕业设计Word文档格式.docx

上传人:b****5 文档编号:19655638 上传时间:2023-01-08 格式:DOCX 页数:28 大小:1.33MB
下载 相关 举报
基于单片机电梯控制系统设计完整版毕业设计Word文档格式.docx_第1页
第1页 / 共28页
基于单片机电梯控制系统设计完整版毕业设计Word文档格式.docx_第2页
第2页 / 共28页
基于单片机电梯控制系统设计完整版毕业设计Word文档格式.docx_第3页
第3页 / 共28页
基于单片机电梯控制系统设计完整版毕业设计Word文档格式.docx_第4页
第4页 / 共28页
基于单片机电梯控制系统设计完整版毕业设计Word文档格式.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

基于单片机电梯控制系统设计完整版毕业设计Word文档格式.docx

《基于单片机电梯控制系统设计完整版毕业设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于单片机电梯控制系统设计完整版毕业设计Word文档格式.docx(28页珍藏版)》请在冰豆网上搜索。

基于单片机电梯控制系统设计完整版毕业设计Word文档格式.docx

3、2010年7月13日至2010年7月15日,相关电路原理图和PCB版图的绘制。

4、2010年7月16日上交基础强化训练成果及报告,进行答辩。

指导教师签名:

年月日

系主任(或责任教师)签名:

摘要

本文介绍了一种采用单片AT89S52芯片进行电梯控制系统的设计方法,主要阐述如何使用单片机进行编程来实现电子设计的方法,利用单片机编程实现功能,简洁而又多变的设计方法,缩短了研发周期,同时使电梯控制系统体积更小功能更强大。

本设计实现了电梯控制系统所需的一些基本功能,能通过方向按键选择方向,能通过数字按键选择楼层,数码管显示实时楼层数,点阵显示实时方向,电机控制使电梯箱能上下运动。

原理图和PCB部分采用protel99se专业软件来设计,实现将设计产品化。

本次设计更注重了把一些新的思路加入到设计中。

主要包括采用了AT89S52芯片,使用C语言进行编程,使其具有了更强的移植性,更加利于产品升级。

关键词:

AT89S52;

电梯控制系统;

protel99se;

C语言

Abstract

Thispaperintroducesakindofsingle-chipAT89S52chipsforelevatorcontrolsystemdesignmethod,thispaperdiscusseshowtousemicrocontrollerprogramtorealizeelectronicdesignmethod,themicrocontrollerprogrammingfunction,conciseandchangefuldesignmethod,shortenthedevelopmentcycle,andmaketheelevatorcontrolsystemsmallermorepowerful.Thedesignandimplementationoftheelevatorcontrolsystemforsomebasicfunction,canchoosedirection,keydirectionbydigitalkeychoicefloor,digitaltubedisplayreal-timeseveralfloors,dotmatrixdisplayreal-timedirection,motorcontrolboxcanmakeupelevator.SchematicdiagramandPCBprotel99separtadoptsprofessionalsoftwaretodesignandrealizethedesignprod.Thisdesignhasputmoreattentiontosomenewideastojoininthedesign.MainlyincludesusingClanguage,anduseAT89S52chips,whichhasastronger,moreconducivetoupgradeportability.

Keywords:

AT89S52devices,Theelevatorcontrolsystem,Protel99se,Clanguage

1绪论

人类社会已经进入信息化时代,信息社会的发展离不开电子产品的进步。

单片机的出现使人类实现利用编程来代替复杂的硬件搭建电路,它靠程序运行,并且可以修改。

通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。

一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!

但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!

只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性!

单片机应用的主要领域非常广,智能化家用电器、办公自动化设备商业营销设备、工业自动化控制、智能化仪表、智能化通信产品、汽车电子产品、航空航天系统和国防军事、尖端武器等领域。

单片机应用的意义不仅在于它的广阔范围及所带来的经济效益,更重要的意义在于,单片机的应用从根本上改变了控制系统传统的设计思想和设计方法。

以前采用硬件电路实现的大部分控制功能,正在用单片机通过软件方法来实现。

以前自动控制中的PID调节,现在可以用单片机实现具有智能化的数字计算控制、模糊控制和自适应控制。

这种以软件取代硬件并能提高系统性能的控制技术称为微控技术。

随着单片机应用的推广,微控制技术将不断发展完善。

电路的集成化不仅对硬件电路的设计相关,与电路的布局同样相关。

印刷版的出现使得电路产品更加规范,体积更小。

Protel99se是一款专业的绘制电路及印刷版的软件,近年来的不断升级使得其功能更加完善,出现了altiumdesigner、proteldxp等升级版本。

2设计内容及要求

2.1设计目的

(1)学会单片机的使用来实现智能控制。

(2)熟练掌握keil软件应用和C语言编程在单片机中的应用。

(3)学会应用protel99se软件绘制原理图和PCB版图。

(4)掌握电梯控制系统的主要功能与单片机实现的方法。

2.2设计任务及要求

(1)设计出一个电梯控制系统。

(2)运用keil软件编程。

(3)运用protel99se绘制原理图。

(4)运用protel99se绘制PCB版图。

3设计原理及单元模块

3.1设计原理及方法

根据层次化设计理论,该设计问题自顶向下

可分为单片机最小系统模块、显示模块、开关控制模块、电机驱动模块、报警模块,其系统框图如图所示。

图3.1电梯控制系统框图

本次设计是采用开关控制实现上下到指定楼层,通过电机转动带动电梯箱上下运动,到达指定楼层。

显示模块是显示此时的楼层,报警模块具有错误操作报警以及楼层到达的提示功能。

3.2单元模块设计

3.2.1单片机最小系统模块

图3.2.1单片机最小系统

单片机最小系统包括主芯片,复位电路和晶振脉冲产生电路。

X1为12MHz晶振,与30Pf电容并联,产生1us的脉冲信号作为单片机的“心脏”部分。

复位电路是开关与10uf电容并联组成的上电自动复位电路,在RST端为高电平时单片机清零,也即开关按下会产生清零信号。

RP1为排阻,作为P0端的上拉电阻,接此原因是P0端口是由OC门组成。

U1为数据输入端口,通过电脑编程能将程序通过此接口烧录入单片机中。

3.2.2开关控制模块

图3.2.2开关控制模块

开关控制模块采用4*4矩阵形式电路可以减少单片机接口的使用。

写键盘代码时运用的是逐行扫描判断键值按下与否。

编程如下:

ucharkey_scan(void)

{ucharscode,recode;

P1=0xf0;

if((P1&

0xf0)!

=0xf0)

{delay1

(2);

if((P1&

=0xf0)//有键按下

{scode=0xfe;

//辅助变量,设定行

while((scode&

0x10)!

=0)

{P1=scode;

//将某一行设为0,从而判断是否为该行

if((P1&

{recode=P1&

0xf0;

//列码

scode=scode&

//行码

return(scode+recode);

//按键坐标}

elsescode=(scode<

<

1)|0x01;

//下一行判断

}}}

return0;

}

3.2.3电机驱动模块

图3.2.3电机驱动模块

电机驱动采用L297环形计数分配器和L298大功率步进电机驱动器完成。

本次设计采用步进电机,目的是方便智能控制,可实现调速功能。

电机使用的是二相步进电机,由于仅用来实验,所以电机采用5V电源供电即可,实际中必须使用大电压来供电方能带动重物(人等)。

环形分配器L297引脚图如图3.2.3-1:

图3.2.3-1L97引脚图

L297功能介绍:

SYNC为斩波器输出端,多个L297一起用时用此端口连接在一起共用一组时钟振荡;

HPME端为集电极开路输出端;

A~D为四相输入端;

INIH1,INIH2为控制A~D相驱动,此引脚为低电平时A~D相禁止输入;

ENABLE端为使能输入端,低电平阻止电机驱动;

RESET为复位端;

HALF/FULL为半角全角控制端,高电平时选择半步输入;

CLOCK为时钟输入端,控制电机速度;

CW/CCW为方向控制端;

OSC为斩波器频率输入端;

SEN1和SEN2为电流检测端。

大功率步进电机驱动器L298引脚图如图3.2.3-2:

图3.2.3-2L298引脚图

L298功能介绍:

SENA和SENB为电流检测端;

IN1~IN4为A~D相输入控制端;

ENA和ENB为使能输入端,低电平禁止输入;

OUT1~OUT4为输出端。

3.2.4显示模块

图3.2.4显示模块

由于点阵和双位数码管耗电流较大,不能直接连接单片机IO口驱动其正常工作,所以加上锁存器74HC573和显示译码器CD4511驱动。

其中利用CD4511模块的另一作用是节省接口,因为本次设计外围电路较多,单片机接口不够,使用此驱动是必要的。

锁存器74HC573引脚图如图3.2.4-1:

图3.2.4-174HC573引脚图

74HC573功能介绍:

D0~D7为输入端;

Q0~Q7为输出端;

OEN为输出使能端,当其输入为高电平时输出关断,输入为低电平时输出正常;

DEN为输出输入使能端,当此端口为高电平时,输出跟随D0~D7,当此端口为低电平时,输出保持上一时刻的状态;

显示译码器CD4511引脚图如图3.2.4-2:

图3.2.4-2CD4511引脚图

CD4511功能介绍:

A~D为输入端;

QA~QG为输出端;

LT为试灯输入端,当此端口为低电平时,无论其他的状态如何,始终输出数字8,作为判断数码管的好坏端口使用;

LE/STB为灭灯输入端,当此端口输入低电平时数码管灭,输入高电平时数码管正常显示;

BI为动态消零信号输入端,当此端口输入低电平时且LT为高电平时,当输入0000时,输出0熄;

点阵的使用介绍:

点阵是8*8位的,相当于由64个LED组成,8个阳极控制端口,8个阴极控制端口;

数码管的使用介绍:

数码管是采用两位共阴极数码管,通过对a~g的编码来显示数字。

3.2.5报警模块

图3.2.5报警模块

本设计采用8550三极管驱动蜂鸣器。

当PO口送高电平时,三极管处于截止状态,三极管Vce电压约为VCC,蜂鸣器只有很少电流流过,没法驱动其发声。

当PO口送低电平时,三极管处于饱和导通状态,三极管Vce约为0.3V,蜂鸣器有较大电流流过,能驱动其报警发声。

3.2.6电路总图

图3.2.6电路总图

由于protel99se内部元件不齐全,本次设计全部采用手工绘制元件库以达到训练的最佳效果。

4软件模块

图4程序流程图

注:

详细程序见附录二

5PCB印刷版图模块

5.1protel99se功能介绍

Protel99SE是应用于Windows9X/2000/NT操作系统下的EDA设计软件,采用设计库管理模式,可以进行联网设计,具有很强的数据交换能力和开放性及3D模拟功能,是一个32位的设计软件,可以完成电路原理图设计,印制电路板设计和可编程逻辑器件设计等工作,可以设计32个信号层,16个电源--地层和16个机加工层。

5.2PCB版图

图5.2.1非镀铜版图

在生成PCB之前,要进行元件的封装。

由于protel99se内部封装不齐全,本次设计全部采用手工绘制封装库以达到最佳训练效果。

PCB布线规则是尽量使正面走线和反面走线成90度角,以达到最小干扰。

图5.2.2镀铜顶层图样

图5.2.3镀铜底层图样

图5.3.43D版图正面

图5.3.53D版图背面

6心得体会

通过此次电梯控制系统的设计,我收获颇丰。

设计的核心内容就是利用单片机C51的编程来实现控制外围各电路的运行以及protel99se绘制PCB版图。

通过本次设计,我熟练掌握了程控系统设计的一般步骤,熟练掌握了protel99se软件的用法,并对编程能力起到了一定的提高作用。

在绘制PCB的过程中,我学习了如何制作元件库,如何制作封装库,如何调用原始封装。

在画PCB版图时,通过手工布线,练习了PCB布局,掌握了PCB绘制的一般规则,同时掌握了如何对PCB版镀铜,通过3D模拟图查看实物最终模型。

感谢学校给我们这次机会,锻炼了我们的动手能力及运用专业软件的能力。

通过这次课设让我明白了理论和实际操作之间差距,而且也让我很明确得意识到自己在数电上有很多的知识漏洞,以后应该多钻研一下。

参考文献

[1]李朝青.单片机通讯技术与工程实践.北京:

航空航天大学出版,2007.2

[2]李群芳.单片机原理接口与应用.北京:

清华大学出版社,2005.6

[3]杨志亮.Protel99SE电路原理图设计技术.西安:

西北工业大学出版社,2002.2

[4]马忠梅.单片机C语言应用程序设计.北京:

航空航天大学出版社,1997.10

[5]谢自美.电子线路设计.武汉:

华中科技大学出版社,2000.5

[6]中国电器工业协会微电机分会.微特电机应用手册.福建:

福建科技出版社,2010.4

[7]胡烨.Protel99SE电路设计与仿真教程.北京:

机械工业出版社,2005.5

附录一

元件清单

附录二

C语言代码

#include"

reg52.h"

#defineucharunsignedchar

#defineuintunsignedint

ucharDZ1[]={0x08,0x14,0x2a,0x08,0x08,0x08};

ucharDZ2[]={0xbf,0xdf,0xef,0xf7,0xfd,0xfb};

ucharDZ3[]={0x08,0x08,0x08,0x2a,0x14,0x08};

ucharshuma[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09};

ucharLC[]={0xee,0xde,0xbe,0x7e,0xed,0xdd,0xbd,0x7d,0xeb,0xedb,0xbb,0x7b,0xe7,0xd7,0xb7,0x77};

//楼层编码

ucharkey,dir,floor,zancun,s,x,p2;

sbitDA=P0^0;

sbitDB=P0^1;

sbitDC=P0^2;

sbitDD=P0^3;

sbitw1=P0^4;

//数码管位选1

sbitw2=P0^5;

//数码管位选2

sbitwa=P0^6;

//点阵阳极使能

sbitwb=P0^7;

//点阵阴极使能

sbitEN=P3^0;

//电机使能

sbitCW=P3^1;

//方向控制

sbitCLOCK=P3^2;

//速度控制

sbitred=P3^3;

//上键显示

sbitgreen=P3^4;

//下键显示

sbitbeep=P3^5;

//报警

voiddelay1(ucharz)

{

uchari,j;

for(i=z;

i>

0;

i--)

for(j=110;

j>

j--);

voiddelay2(ucharz)

{

if(key==0)//减短代码运行时间,使用更多时间扫描键盘

break;

else

for(j=110;

}

ucharscode,recode;

delay1

(2);

{

scode=0xfe;

{

P1=scode;

{

recode=P1&

0x0f;

//按键坐标

}

else

scode=(scode<

}

}

voiddisplay1(void)//上箭头显示

for(i=0;

i<

1;

i++)

wa=1;

P2=DZ1[i];

for(j=500;

wa=0;

wb=1;

P2=DZ2[i];

wb=0;

voiddisplay2(void)//下箭头显示

P2=DZ3[i];

voidshuxian(ucharz)//数码管显示

uchartemp;

w1=0;

p0=shuma[z/10];

temp=P0;

P0=p0|temp;

w1=1;

w2=0;

p0=shuma[z%10];

w2=1;

voidinit(void)//初始化

dir=0;

wa=0;

wb=0;

floor=0;

zancun=1;

beep=1;

EN=0;

EA=1;

ET1=1;

//T1中断允许

TMOD=0x10;

//T1的8位计数

TH1=(65536-50000)/256;

TL1=(65536-50000)%256;

voidmain(void)

init();

while

(1)

key=key_scan();

if(key!

delay2(10);

if(key!

TR1=1;

switch(key)

caseLC[14]:

dir=1;

//按键储存上键值

break;

caseLC[15]:

dir=2;

//按键储存下键值

defaultbreak;

if(dir==1)

shuxian(s);

display1();

if((zancun-floor)>

{

switch(key)

{

caseLC[0]:

floor=1;

break;

caseLC[1]:

floor=2;

caseLC[2]:

floor=3;

caseLC[3]:

floor=4;

caseLC[4]:

floor=5;

caseLC[5]:

floor=6;

caseLC[6]:

floor=7;

caseLC[7]:

floor=8;

caseLC[8]:

floor=9;

caseLC[9]:

floor=10;

caseLC[10]:

floor=11;

caseLC[11]:

floor=12;

caseLC[12]:

floor=13;

caseLC[13]:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1