嵌入式系统设计实验报告

嵌入式系统设计实验报告

ID:10552184

大小:308.75 KB

页数:38页

时间:2018-07-07

嵌入式系统设计实验报告_第1页
嵌入式系统设计实验报告_第2页
嵌入式系统设计实验报告_第3页
嵌入式系统设计实验报告_第4页
嵌入式系统设计实验报告_第5页
资源描述:

《嵌入式系统设计实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、西安邮电大学嵌入式系统设计实验报告专业班级学号学生姓名指导教师学期2013-2014学年第2学期完成日期2014-06-25基于lpc2131的模拟电梯控制实验一、实验目的1、熟悉ARM&ADSV1.2的环境2、理解LPC2131芯片引脚功能的选择3、理解GPIO的使用设置、输入驱动方法4、理解SPI全双工同步串行通信原理,学习ARMSPI资源的驱动编程5、学习在LPC2131上移植ucosⅡ系统二、实验内容及要求1、通过键盘输入楼层,输入之后数码管从当前位置向上或向下运行,流水灯表示运动方向。2、流水灯在运行中显示电梯正在运行的方向,并且在

2、电梯到达时在该楼层闪烁3次。3、电梯运行到对应楼层,数码管显示楼层号。4、流水灯表示电梯运行楼层。5、系统可同时满足多用户需求。达到该系统与现实电梯系统的一致性。三、系统总体设计(总体方案及系统框图)主要是创建了四个任务,分别为电梯总任务、按键检测任务、电梯方向改变任务及电梯向上或向下运行任务,然后启动多任务环境,通过事件标志组发送和接收消息,进而实现电梯的一些基本的功能。蜂鸣器模块数码管显示模块SPI串口模块LPC2131LED显示与键盘模块四、系统详细设计(模块详细设计及流程图)五、系统测试(数据测试结果及分析)通过键盘按键输入楼层数,发

3、送到开发板,数码管和LED灯初始化时会停留在电梯的第一层。接受到数据后数码管会自动变化到该楼层,并且LED灯在数码管变化的同时会显示电梯当前的运动状态,上或者下。在程序运行的任何期间都可以从键盘输入电梯的楼层数。而且程序会自动判断要满足的用户的优先级。此次试验达到的效果基本与现实中电梯的运行模式达到了一致。六、总结在整个课程设计中,我们组员一起认真地查找相关资料,然后又对书中的相关内容仔细翻阅,通过虚心请教和不懈的努力,最终完成了整个设计,心中的喜悦实在无以言表。此刻,我非常感谢我们组长的鼓励和帮助,感谢同学们诸多的帮助!本次设计不仅让我收获

4、了许多,也让我对以前所学习的ARM知识有了进一步的深化与巩固,最关键的是,它给了我一份自信。但我很明白,作品中还存在着比较多的不足,这些都需要进一步的改善,我会不骄傲,不气馁,用着自信与执着尽最大努力将其完善。七、附录(代码+注释)#include"config.h"#include"stdlib.h"#defineKEY11<<16//P0.16连接KEY1#defineKEY21<<17//P0.17连接KEY2#defineKEY31<<18//P0.18连接KEY3#defineKEY41<<19//P0.19连接KEY4#defin

5、eKEY51<<20//P0.20连接KEY5#defineKEY61<<21//P0.21连接KEY6#defineBEEP1<<7//P0.7控制蜂鸣器BEEP#defineHC595_CS(1<<29)//P0.29口为74HC595的片选#defineTaskStkLengh64//DefinetheTask0stacklength定义用户任务0的堆栈长度intsemaphore[7]={0,0,0,0,0,0,0};//定义一个信号量数组intcurrent_floor;intwork_count=0;intdirection;in

6、tis_working;uint8constDISP_TAB[10]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90};//数码管显示数字列表OS_STKTaskStk[TaskStkLengh];//DefinetheTask0stack定义用户任务0的堆栈OS_STKTask0Stk[TaskStkLengh];OS_STKTask1Stk[TaskStkLengh];OS_STKTask2Stk[TaskStkLengh];OS_FLAG_GRP*direct_chan;//事件标志

7、组OS_EVENT*u_d;voidElevator(void*pdata);//电梯总任务声明voidIs_button_press(void*pdata);//检测按键任务声明voidDirection_change(void*pdata);//电梯方向改变任务声明voidUp_down(void*pdata);//电梯向上、向下运行任务声明voidMSPI_Init(void){PINSEL0=(PINSEL0&0xFFFF00FF)

8、0x00005500;//设置管脚连接SPI//PINSEL0=(PINSEL0&(~(0xFF<<8

9、)))

10、(0x15<<8);SPI_SPCCR=0x52;//设置SPI时钟分频SPI_SPCR=(0<<3)

11、//CPHA=0,数据在SCK的第一个时钟沿采样(1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。