- 1、本文档共38页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式 电梯
西安邮电大学
嵌入式系统设计实验报告
专 业 班 级 学 号 学生姓名 指导教师 学 期 2013-2014学年第2学期 完成日期 2014-06-25
基于lpc2131的模拟电梯控制实验
实验目的
熟悉ARM ADS V1.2 的环境
理解LPC2131芯片引脚功能的选择
理解GPIO的使用设置、输入驱动方法
理解SPI全双工同步串行通信原理,学习ARM SPI资源的驱动编程
学习在LPC2131上移植ucosⅡ系统
实验内容及要求
通过键盘输入楼层,输入之后数码管从当前位置向上或向下运行,流水灯表示运动方向。
流水灯在运行中显示电梯正在运行的方向,并且在电梯到达时在该楼层闪烁3次。
电梯运行到对应楼层,数码管显示楼层号。
流水灯表示电梯运行楼层。
系统可同时满足多用户需求。达到该系统与现实电梯系统的一致性。
系统总体设计(总体方案及系统框图)
主要是创建了四个任务,分别为电梯总任务、按键检测任务、电梯方向改变任务及电梯向上或向下运行任务,然后启动多任务环境,通过事件标志组发送和接收消息,进而实现电梯的一些基本的功能。
系统详细设计(模块详细设计及流程图)
系统测试(数据测试结果及分析)
通过键盘按键输入楼层数,发送到开发板,数码管和LED灯初始化时会停留在电梯的第一层。接受到数据后数码管会自动变化到该楼层,并且LED灯在数码管变化的同时会显示电梯当前的运动状态,上或者下。在程序运行的任何期间都可以从键盘输入电梯的楼层数。而且程序会自动判断要满足的用户的优先级。
此次试验达到的效果基本与现实中电梯的运行模式达到了一致。
六、总结
在整个课程设计中,我们组员一起认真地查找相关资料,然后又对书中的相关内容仔细翻阅,通过虚心请教和不懈的努力,最终完成了整个设计,心中的喜悦实在无以言表。此刻,我非常感谢我们组长的鼓励和帮助,感谢同学们诸多的帮助!本次设计不仅让我收获了许多,也让我对以前所学习的ARM知识有了进一步的深化与巩固,最关键的是,它给了我一份自信。但我很明白,作品中还存在着比较多的不足,这些都需要进一步的改善,我会不骄傲,不气馁,用着自信与执着尽最大努力将其完善。
附录(代码+注释)
#include config.h
#include stdlib.h
#define KEY1 1 16 // P0.16连接KEY1
#define KEY2 1 17 // P0.17连接KEY2
#define KEY3 1 18 // P0.18连接KEY3
#define KEY4 1 19 // P0.19连接KEY4
#define KEY5 1 20 // P0.20连接KEY5
#define KEY6 1 21 // P0.21连接KEY6
#define BEEP 1 7 // P0.7控制蜂鸣器BEEP
#define HC595_CS (1 29) //P0.29口为74HC595的片选
#define TaskStkLengh 64 //Define the Task0 stack length 定义用户任务0的堆栈长度
int semaphore[7] = {0, 0, 0, 0, 0, 0, 0}; //定义一个信号量数组
int current_floor;
int work_count = 0;
int direction;
int is_working;
uint8 const DISP_TAB[10] = {0XC0, 0XF9, 0XA4, 0XB0, 0X99, 0X92, 0X82, 0XF8, 0X80, 0X90}; //数码管显示数字列表
OS_STK TaskStk [TaskStkLengh]; //Define the Task0 stack 定义用户任务0的堆栈
OS_STK Task0Stk [TaskStkLengh];
OS_STK Task1Stk [TaskStkLengh];
OS_STK Task2Stk [TaskStkLengh];
OS_FLAG_GRP *direct_chan; //事件标志组
OS_EVENT *u_d;
void Elevator(void *pdata); //电梯总任务声明
void Is_button_press(void
您可能关注的文档
- 词性.ppt
- 词语型命题作文.ppt
- 操作契约.ppt
- 联结词全功能集3(张).ppt
- 公共娱乐场所备案登记表.doc
- Notes客户端场所的配置.doc
- 激励能力训练[干部训练系列].ppt
- 案例4—2.ppt
- 托盘训练---说课.ppt
- 新闻类语言表达题练习.ppt
- 第18讲 第17课 西晋的短暂统一和北方各族的内迁.docx
- 第15讲 第14课 沟通中外文明的“丝绸之路”.docx
- 第13课时 中东 欧洲西部.doc
- 第17讲 第16 课三国鼎立.docx
- 第17讲 第16课 三国鼎立 带解析.docx
- 2024_2025年新教材高中历史课时检测9近代西方的法律与教化含解析新人教版选择性必修1.doc
- 2024_2025学年高二数学下学期期末备考试卷文含解析.docx
- 山西版2024高考政治一轮复习第二单元生产劳动与经营第5课时企业与劳动者教案.docx
- 第16讲 第15课 两汉的科技和文化 带解析.docx
- 第13课 宋元时期的科技与中外交通.docx
文档评论(0)