嵌入式课程设计电梯控制系统Word格式.docx
《嵌入式课程设计电梯控制系统Word格式.docx》由会员分享,可在线阅读,更多相关《嵌入式课程设计电梯控制系统Word格式.docx(13页珍藏版)》请在冰豆网上搜索。
4.1总体方案设计…………….………………………………………...............1
4.1.1需求规定………………………………………................……….............2
4.1.2核心部件选型…………………………………...………..........................3
4.1.3系统开发环境………………………………….......………......................4
4.2硬件设计…………………………………………………………................4
4.2.1硬件开发环境简介…………………………...................………..............4
4.2.2硬件模块设计……………………………….................………................4
4.3软件设计……………………………………………...…...………..............6
4.3.1软件开发环境介绍………………………….................………................6
4.3.2主程序设计及流程图………………………...................………..............7
4.3.3中断程序设计及流程图……………………......................………...........7
4.3.4软件设计……………………….................................………....................8
5总结……………………………………………………..…….....................10
参考文献…………………….....…...…………………..…………................11
1设计时间
2014年6月16日-2014年6月23日
2设计目的
本课程设计是学习《嵌入式系统》课程后必要的实践教学环节。
是检验学生是否掌握相关专业课程知识的重要手段,以学生为主体,充分调动学生的积极性和创造性,重视学生实际动手能力的培养。
课程设计通过使学生加深理解、巩固课堂教学和平时实验内容。
本次课程设计师利用嵌入式系统所学的知识,设计一个模拟电梯控制系统。
3设计任务
模拟电梯系统的设计要求如下:
(1)通过键盘输入层数,输入之后LED小灯从当前位置向上或向下运行。
(2)运行到对应的楼层,数码管显示楼层号。
(3)LED灯表示运行楼层。
(4)数码管数字大小的增减表示向上、向下。
4设计内容
本文根据AT89S51单片机,利用键盘、开关、数码管和LED模拟实现八层电梯的控制。
并且有像电梯的运行功能。
软件利用C语言,通过检测用户请求的按键信息,通过键盘输入层数,输入之后LED小灯从当前位置向上或向下运行,运行到对应的楼层,数码管显示楼层号,LED灯表示运行楼层,数码管数字大小的增减表示向上、向下。
硬件设计简单可靠,结合软件,基本实现了八层电梯运行的模拟。
4.1总体方案设计
通过使用电脑的软件,我们很方便的就可以通过电脑AT89S51单片机进行对其的控制,然后并完成对LED灯,矩阵键盘,和显示器的控制。
当按了电梯相应的层数时,小灯从当前位置上升或下降的过程,同时数码管显示相应的电梯层数,模拟电梯的运动过程。
步进电梯功能模块图如图4-1所示。
图4-1步进电梯功能模块图
4.1.1需求规定
用键盘、按钮、八段码和LED模拟电梯工作过程。
楼层设为8层,键盘数字键1-8用来键入希望停的楼层,8个LED显示希望停的楼层,八段码指示电梯当前所在楼层,按扭用来启、停电梯。
电梯正常运行时以每2秒1层的速度上升或下降。
要求“电梯”能按以下方式运行:
(1)设当前电梯停在某层(八段码显示相应楼层,8个LED全灭)。
键入1-8数字键,如键入的数字与当前电梯停层同,则不发生任何动作;
若不同则相应楼层的LED亮。
如再按运行键,则电梯自动判别上升或下降(在运行过程中八段码显示楼层变化)一直到达希望停的楼层(八段码显示该楼层,相应LED灭);
(2)设当前电梯正在上升或下降运行(此时八段码显示楼层变化,LED指示希望抵达的楼层),若键入新的希望停的楼层数字(相应的LED亮),则对同方向(上升或下降)未到的楼层能停,对其他情况则先停原希望停的楼层,然后按运行键后继续进行)。
如下几例:
a)设电梯当前在2层,向上运行,LED指示希望在6层停,此时若键入4,则电梯将在4层停;
若再按运行键,则继续运行至6层停。
b)同上情况,若键入的不是4而是8,则电梯将先停在6层;
再按运行键,运行至8层停。
c)同上情况,若键入的不是4(或8),而是1,则电梯先停在6层;
再按运行键,运行至1层停。
电梯状态的介绍:
1.当电梯主体由低楼层向高楼层运动时,称为上升状态。
2.当电梯主体由高楼层向低楼层运动时,称为下降状态。
3.当电梯主体到达了某个乘客所希望到达的楼层(以下简称目标楼层)后,在系统中仍然有使用它的请求存在,称为暂停状态。
4.当电梯主体到达目标楼层后,在系统再也没有使用它的请求存在,称为停止状态。
5.当乘客进入电梯主体后,使用梯内控制器向系统发送到达其它楼层的请求时,称为楼层请求发送状态。
6.当电梯正在运行时,产生了停电条件,此时称为停电状态。
4.1.2核心部件选型
1.AT89S51
AT89S51是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。
AT89S51具有如下特点:
40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。
空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。
同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。
4.1.3系统开发环境
开发环境搭建步骤:
1、根据需求确定开发工具。
2、认识并了解开发板。
3、根据项目要求,配置嵌入式操作系统。
4、配置主机环境:
安装LINUX。
5、在主机上制作交叉工具链,制作调试器GDB。
6、使用制作好的交叉工具链在主机上对BootLoader进行交叉编译,形成可执行的BootLoader镜像文件,通过FLASH编程器把该BootLoader镜像文件烧写到目标板上的FLASH中。
7、在主机上配置串口终端,使用串口线,连接主机和目标板的串口。
8、在主机上进行应用程序源代码编写。
然后在主机上进行源代码的编写。
然后在主机上通过交叉编译,形成可执行程序。
把该可执行程序下载到目标板上,然后在目标板上启动该程序。
4.2硬件设计
4.2.1硬件开发环境简介
EELiod270教学开发平台基于IntelXSCALE架构最新的PXA270嵌入式微处理器。
最高主频可达520MHz,可运行Linux和Linux2.6.11的Linux的操作系统,支持Tiny-X、QT/E等GUI嵌入式图形用户界面,提供完整的驱动和应用程序。
同时还可以支持最新的WindowsCE5.0.NET操作系统。
4.2.2硬件模块设计
1.按键输入模块电路图如图4-2所示。
图4-2按键输入模块电路图
2.数码管模块图如图4-3所示。
图4-3八段数码管电路图
3.LED显示模块图如图4-4所示。
图4-4LED显示模块电路图
4.3软件设计
4.3.1软件开发环境介绍
ADS集成开发环境是ARM公司推出的ARM核微控制器集成开发工具,英文成熟版本为ADS1.2。
ADS1.2支持ARM10之前的所有ARM系列微控制器,可以在Windows98、WindowsXP、Windows2000以及RedHatLinux上运行。
全称为ARMDeveloperSuite,他的功能非常强大。
他的前身是SDT,SDT是ARM公司几年前的开发环境软件,目前SDT早已经不再升级。
ADS包括了四个模块分别是:
SIMULATOR;
C编译器;
实时调试器;
应用函数库。
ADS的编译器调试器较SDT都有了非常大的改观,ADS1.2提供完整的WINDOWS界面开发环境。
C编译器效率极高,支持c以及c++,使工程师可以很方便的使用C语言进行开发。
提供软件模拟仿真功能,使没有Emulators的学习者也能够熟悉ARM的指令系统。
配合FFT-ICE使用,ADS1.2提供强大的实时调试跟踪功能,片内运行情况尽在掌握。
ADS1.2需要硬件支持才能发挥强大功能。
目前支持的硬件调试器有Multi-ICE以及兼容Multi-ICE的调试工具如FFT-ICE。
ADS由命令行开发工具,ARM实时库,GUI开发环境(CodeWarrior和AXD),适用程序和支持软件组成。
4.3.2主程序设计及流程图
主程序流程图如图4-5所示。
图4-5主程序流程图
4.3.3中断程序设计及流程图
判断中断服务子程序流程图如图4-6所示。
图4-6判断中断服务子程序流程图
软件方面主要是应用了USB下载驱动软件和STC—ISP下载软件以及keil开发软件。
USB下载驱动软件的下载,主要是记住com借口,烧写程序时要选择要烧写的端口,STC—ISP下载软件主要是程序的编写及编译等,而keil开发软件主要将程序烧进开发板,使开发板实现想要的结果。
4.3.4软件设计
#include<
reg52.h>
unsignedcharcodedofly_table[8]={0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80};
voidDelayUs2x(unsignedintt)
{
while(--t);
}//楼层变换延时
voidDelayMs(unsignedchart)
while(t--)
{
DelayUs2x(245);
}
}//按键延时函数
voidshow(unsignedinti)
P0=dofly_table[i-1];
//数码管
P1=(0xff<
<
(i-1))-1;