嵌入式课程设计电梯系统.docx
《嵌入式课程设计电梯系统.docx》由会员分享,可在线阅读,更多相关《嵌入式课程设计电梯系统.docx(11页珍藏版)》请在冰豆网上搜索。
嵌入式课程设计电梯系统
一、实验目的
1、熟悉ARM开发板的基本使用和基本开发流程。
2、加强对嵌入式操作系统的了解,加强对课知识的使用。
3、熟悉基本的单片机开发环境。
4、锻炼一定团队合作能力以及对嵌入式问题的解决能力。
二、实验仪器及设备
安装开发环境的PC机ARM7实验板及相应线AKSeriesEmulator仿真器
三、实验容或任务
1、基本实验
容1:
ARM(LPC2131)&ADSV1.2环境熟悉
LPC2131硬件环境介绍;
ADS工具简介;
要求:
了解LPC2131DemoBoard资源、环境;掌握ADS工具使用。
容2:
ADS模板工具&ARMC语言程序设计
ADS环境中编程模板的理解与使用;
使用ADS工具,基于LPC2131进行简单的C程序设计;
要求:
熟练掌握ADS工具的使用,掌握ARMC程序设计、调试技术;
容3:
GPIOOutput(LED、Beep)实验
理解ARM芯片引脚功能选择;
理解GPIO的使用设置、输出驱动方法;
熟练掌握ADS工具,基于LPC2131进行简单的C程序设计;
要求:
实现一个秒闪航标灯和蜂鸣。
容4:
GPIOInput(KeyInput)实验
理解ARM芯片引脚功能选择;
理解GPIO的使用设置、输入驱动方法;
熟练掌握ADS工具,基于LPC2131进行简单的C程序设计;
要求:
实现一个秒闪航标灯和可按键控制的蜂鸣器。
容5:
EintVIC实验
理解ARM芯片引脚功能选择;
理解外中断的含义与应用;
熟练掌握ADS工具,基于LPC2131进行简单的C程序设计;
要求:
实现一个秒闪航标灯和可按键控制的蜂鸣器(用外中断方式实现)。
容6:
定时器
理解ARM芯片引脚功能选择;
理解GPIO的使用设置、输入/输出驱动方法;
熟练掌握ADS工具,基于LPC2131进行简单的C程序设计;
要求:
基于ucosII的GPIO、定时器、RTC、串口等综合实验。
容7:
异步串行口UART
理解ARM芯片引脚功能选择;
理解GPIO的使用设置、输入/输出驱动方法;
理解UART串行通信原理,学习ARMUART资源的驱动编程;
熟练掌握ADS工具,基于LPC2131进行简单的C程序设计;
要求:
结合前边容,实现LPC2131和PC端串行传输数据信息。
2.、选题实验
电梯控制系统
要求该控制器应具备如下功能:
1,通过键盘输入楼层,输入之后数码管从当前位置向上或向下运行。
流水灯表示运动方向。
2,流水灯在运行中显示电梯正在运行的方向,并且在电梯到达时在该楼层亮闪3次。
3,运行到对应楼层,显示楼层号。
4,灯表示运行楼层
5,可同时满足多用户需求。
达到该系统与现实电梯系统的一致性。
6,数码管数字大小增减表示向上、向下。
四、设计过程
设计方案:
本课题需要设计出一个模拟的电梯系统,与现实联系紧密,设计出一个符合人性化的电梯系统,通过键盘输入按键方式模拟用户按键,对不同楼层用户自动选择优先级,与现实中的电梯系统达到一致。
使用AKSeriesEmulator仿真器连接PC与ARM7开发板,PC连接ARM7供电。
连接实物图如下:
其余需要通过编程完成。
程序中的主要模块设计:
电梯向上或者向下搜索函数。
主要完成电梯的向上向下搜索任务。
如果还有按键的状态处于按下状态。
则会把按下的楼层数存储于目标楼层中。
int8searchup()
{
int8i;
for(i=current;layer[i]==unpressed&&iif(i!
=maxlayer)
{
target=i;
return1;
}
return-1;
}
int8searchdown()
{
int8i;
for(i=current;layer[i]==unpressed&&i>=0;i--);
if(i>=0)
{
target=i;
return1;
}
return-1;
}
电梯活动任务函数:
判断目标楼层与当前楼层关系并且做出判断是电梯进入上升、下降或者停止的活动。
并且控制数码管与电梯楼层一起运动。
voidLiftAct(void*pdata)
{
pdata=pdata;
MSPI_SendData(DISP_TAB[current]);
OSTimeDly(OS_TICKS_PER_SEC<<1);
uartInit();
while
(1)
{
if(target>current)
{
liftstate=up;
current++;
}
elseif(target{
liftstate=down;
current--;
}
elseif(target==current)
{
layer[current]=unpressed;
liftstate=arrive;
}
MSPI_SendData(DISP_TAB[current]);
OSTimeDly(OS_TICKS_PER_SEC<<1);
}
}
找寻下个目标函数:
通过电梯的状态。
判断电梯运行的下一个目标。
实现模拟系统与现实电梯的结合。
可判断先满足哪一个用户的需求。
voidFindTarget(void*pdata)
{
int8flag;
pdata=pdata;
while
(1)
{
if(liftstate==up||liftstate==stop)
{
flag=searchup();
if(flag==-1)//ifnotfind,finddown
searchdown();
}
elseif(liftstate==down)
{
flag=searchdown();
if(flag==-1)
searchup();//ifnotfind,findup
}
}
}
程序运行流程图:
五、实验过程
实验步骤:
1、连接PC、仿真器与AM7开发板。
安装仿真器AKSeriesEmulator驱动。
打开ASD环境,加载仿真器驱动。
2、熟悉基本的开发步骤,开始做基本实验,对ARM7开发板的使用做一个基本的了解并且按要求完成基本实验需要达到的要求。
3、熟悉AXD开发环境。
对需要完成的程序列出具体框架。
通过配合完成此次试验电梯系统的大部分代码。
4、将代码加以整合,调试程序,完成既定要求并且烧入开发板。
完成此次实验的要求并且加以优化改善。
遇到的问题:
此次试验的过程中,刚开始很难做到满足不同用户的需求,并且选择优先级,与现实中电梯的功能达到一致。
程序调试的过程中用PC输入数据无法到达开发板,未建立按键输入,没有与开发板建立通讯,使程序无法执行。
解决办法:
通过使用AXD环境下的U-COSII操作系统对代码进行任务处理。
使部分程序可以并行。
其次通过编写更多模块如:
电梯运动模块,电梯向上向下搜索模块,查找下一楼层模块。
达到了电梯运行时的智能化。
可自动满足多用户需求。
程序会自动判断电梯正在运行的状态,通过判断状态,记录下个目标楼层,会优先满足在当前状态下的楼层的用户的需求。
达到了与现实中电梯运行模式的一致。
对代码进行多次调试,找出代码中并不报错但是会影响程序优劣的错误并且加以改善。
找出了其中无法完成开发板与PC机建立通讯的错误。
是程序得以运行。
实验结果:
通过键盘按键输入楼层数,发送到开发板,数码管和LED灯初始化时会停留在电梯的第一层。
接受到数据后数码管会自动变化到该楼层,并且LED灯在数码管变化的同时会显示电梯当前的运动状态,上或者下。
在程序运行的任何期间都可以从键盘输入电梯的楼层数。
而且程序会自动判断要满足的用户的优先级。
此次试验达到的效果基本与现实中电梯的运行模式达到了一致。
六、实验总结和实验心得
此次试验从开始接触开发到最终完成课题经历了许多问题。
主要是对代码的编写以及调试。
喝多时候代码无法满足该试验的功能,在一次次的不断努力中终于达到了完成此次试验的最终效果。
通过本次试验,是我更加认识到了课本知识的重要性。
理论知识是与实践并行的,同时在试验中也遇到了很多的困难。
不断的查阅资料,不断的对程序需要的代码加以编写、改动。
在试验的过程中,也感受到了一个小团队协作的重要性,虽然仅仅只有两人,但是在合作方面也是需要讲究一定的方式方法和配合分工的。
希望在日后的学习生活中,有更多的这种将理论知识付诸于实践中的课程设计,让我们从理论与能力两个层面上达到更高的层次。
邮电学院计算机系嵌入式硬件课程设计过程考核表
学生
段海鹏
班级/学号
计科070306
承担任务实验室(单位)
嵌入式实验室
所在部门
计算机学院
实施时间
20010年12月6日—20010年12月17日
具体容
第一周
ARM(LPC2131)&ADSV1.2环境熟悉
ADS模板工具&ARMC语言程序设计
GPIOOutput(LED、Beep)实验
GPIOInput(KeyInput)实验
EintVIC实验
定时器试验
异步串行口UART试验
第二周
课题电梯系统的程序框架设计
代码模块的编写
程序调试,将程序写入开发板。
程序功能完善性调试。
硬件与程序的协调调试
优化代码。
将程序功能完善。
最终完成课题
指导教师(师傅)
钊远
职务或职称
教授
指导教师(师傅)
对学生的评价
学习态度
□认真□一般□不认真
学习纪律
□全勤□偶尔缺勤□经常缺勤
实践能力
□很强□一般□较差
指导教师(师傅)对学生专业知识或社会实践能力等情况的意见
指导教师(师傅)签字
2010年12月日
邮电学院计算机系嵌入式硬件课程设计
成绩鉴定表
学生
段海鹏
班级/学号
计科070306
进行时间
20010年12月6日—20010年12月17日
成绩鉴定
设计方案(10分)
设计方案(10分)
设计评价
(70分)
设计过程(30分)
设计结果(30分)
学习态度(6分)
学习纪律(4分)
设计报告
(20分)
报告格式(5分)
报告质量(15分)
评阅教师
钊远
职称
教授
成绩
评语
评阅教师签字
2010年12月日