




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上软 件 学 院课程设计报告书课程名称 嵌入式系统 设计题目 模拟电梯控制系统 专业班级 学 号 姓 名 指导教师 2014年 6 月目录1设计时间.12设计目的.13设计任务.14设计内容.14.1总体方案设计.14.1.1需求规定.24.1.2核心部件选型.34.1.3系统开发环境.44.2硬件设计.44.2.1硬件开发环境简介.44.2.2硬件模块设计.44.3软件设计.64.3.1软件开发环境介绍.64.3.2主程序设计及流程图.74.3.3中断程序设计及流程图.74.3.4软件设计.85总结.10参考文献.11专心-专注-专业1 设计时间 2014年6月16日
2、-2014年6月23日2 设计目的本课程设计是学习嵌入式系统课程后必要的实践教学环节。是检验学生是否掌握相关专业课程知识的重要手段,以学生为主体,充分调动学生的积极性和创造性,重视学生实际动手能力的培养。课程设计通过使学生加深理解、巩固课堂教学和平时实验内容。本次课程设计师利用嵌入式系统所学的知识,设计一个模拟电梯控制系统。3 设计任务模拟电梯系统的设计要求如下:(1)通过键盘输入层数,输入之后LED小灯从当前位置向上或向下运行。(2)运行到对应的楼层,数码管显示楼层号。(3)LED灯表示运行楼层。(4)数码管数字大小的增减表示向上、向下。4 设计内容本文根据AT89S51单片机,利用键盘、开
3、关、数码管和LED模拟实现八层电梯的控制。并且有像电梯的运行功能。软件利用C语言,通过检测用户请求的按键信息,通过键盘输入层数,输入之后LED小灯从当前位置向上或向下运行,运行到对应的楼层,数码管显示楼层号,LED灯表示运行楼层,数码管数字大小的增减表示向上、向下。硬件设计简单可靠,结合软件,基本实现了八层电梯运行的模拟。4.1 总体方案设计通过使用电脑的软件,我们很方便的就可以通过电脑AT89S51单片机进行对其的控制,然后并完成对LED灯,矩阵键盘,和显示器的控制。当按了电梯相应的层数时,小灯从当前位置上升或下降的过程,同时数码管显示相应的电梯层数,模拟电梯的运动过程。步进电梯功能模块图如
4、图4-1所示。电梯功能模块按键输入模块八段数码管模块中端服务模块LED显示模块图4-1 步进电梯功能模块图4.1.1 需求规定用键盘、按钮、八段码和LED模拟电梯工作过程。楼层设为8层,键盘数字键18用来键入希望停的楼层,8个LED显示希望停的楼层,八段码指示电梯当前所在楼层,按扭用来启、停电梯。电梯正常运行时以每2秒1层的速度上升或下降。要求“电梯”能按以下方式运行: (1)设当前电梯停在某层(八段码显示相应楼层,8个LED全灭)。键入18数字键,如键入的数字与当前电梯停层同,则不发生任何动作;若不同则相应楼层的LED亮。如再按运行键,则电梯自动判别上升或下降(在运行过程中八段码显
5、示楼层变化)一直到达希望停的楼层(八段码显示该楼层,相应LED灭);(2)设当前电梯正在上升或下降运行(此时八段码显示楼层变化,LED指示希望抵达的楼层),若键入新的希望停的楼层数字(相应的LED亮),则对同方向(上升或下降)未到的楼层能停,对其他情况则先停原希望停的楼层,然后按运行键后继续进行)。 如下几例: a)设电梯当前在2层,向上运行,LED指示希望在6层停,此时若键入4,则电梯将在4层停;若再按运行键,则继续运行至6层停。 b)同上情况,若键入的不是4而是8,则电梯将先停在6层;再按运行键,运行至8层停。 c)同上情况,若键入的不是4(或8),
6、而是1,则电梯先停在6层;再按运行键,运行至1层停。 电梯状态的介绍:1.当电梯主体由低楼层向高楼层运动时,称为上升状态。 2.当电梯主体由高楼层向低楼层运动时,称为下降状态。 3.当电梯主体到达了某个乘客所希望到达的楼层(以下简称目标楼层)后,在系统中仍然有使用它的请求存在,称为暂停状态。 4.当电梯主体到达目标楼层后,在系统再也没有使用它的请求存在,称为停止状态。5.当乘客进入电梯主体后,使用梯内控制器向系统发送到达其它楼层的请求时,称为楼层请求发送状态。 6.当电梯正在运行时,产生了停电条件,此时称为停电状态。 4.1.2核心部
7、件选型1.AT89S51 AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个
8、外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。 此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。 4.1.3系统开发环境开发环境搭建步骤:1、根据需求确定开发工具。2、认识并了解开发板。3、根据项目要求,配置嵌入式操作系统。4
9、、配置主机环境:安装LINUX。5、在主机上制作交叉工具链,制作调试器GDB。6、使用制作好的交叉工具链在主机上对BootLoader进行交叉编译,形成可执行的BootLoader镜像文件,通过FLASH编程器把该BootLoader镜像文件烧写到目标板上的FLASH中。7、在主机上配置串口终端,使用串口线,连接主机和目标板的串口。8、在主机上进行应用程序源代码编写。然后在主机上进行源代码的编写。然后在主机上通过交叉编译,形成可执行程序。把该可执行程序下载到目标板上,然后在目标板上启动该程序。4.2硬件设计4.2.1硬件开发环境简介EELiod270教学开发平台基于Intel XSCALE架构
10、最新的PXA270嵌入式微处理器。最高主频可达520MHz,可运行Linux 和Linux 2.6.11的Linux的操作系统,支持Tiny-X、QT/E等GUI嵌入式图形用户界面,提供完整的驱动和应用程序。同时还可以支持最新的Windows CE 5.0.NET操作系统。4.2.2硬件模块设计1.按键输入模块电路图如图4-2所示。图4-2 按键输入模块电路图2. 数码管模块图如图4-3所示。图4-3 八段数码管电路图3. LED显示模块图如图4-4所示。图4-4 LED显示模块电路图4.3软件设计4.3.1软件开发环境介绍ADS集成开发环境是ARM公司推出的ARM核微控制器集成开发工具,英文
11、成熟版本为ADS1.2。ADS1.2支持ARM10之前的所有ARM系列微控制器,可以在Windows98、Windows XP、Windows2000以及RedHat Linux上运行。全称为ARM Developer Suite,他的功能非常强大。他的前身是SDT,SDT是ARM公司几年前的开发环境,目前SDT早已经不再升级。ADS包括了四个模块分别是:SIMULATOR;C ;应用函数库。ADS的调试器较SDT都有了非常大的改观, ADS1.2提供完整的WINDOWS界面开发环境。C效率极高,支持c 以及c+,使工程师可以很方便的使用C语言进行开发。提供模拟仿真功能,使没有Emulator
12、s的学习者也能够熟悉ARM的指令系统。配合FFT-ICE使用,ADS1.2提供强大的跟踪功能,片内运行情况尽在掌握。ADS1.2需要硬件支持才能发挥强大功能。目前支持的硬件有Multi-ICE以及兼容Multi-ICE的调试工具如FFT-ICE。ADS由命令行开发工具,ARM实时库,GUI开发环境(Code Warrior和AXD),适用程序和支持组成。4.3.2主程序设计及流程图主程序流程图如图4-5所示。图4-5 主程序流程图4.3.3中断程序设计及流程图判断中断服务子程序流程图如图4-6所示。图4-6 判断中断服务子程序流程图 软件方面主要是应用了USB下载驱动软件和STCISP下载软件
13、以及keil开发软件。USB下载驱动软件的下载,主要是记住com借口,烧写程序时要选择要烧写的端口,STCISP下载软件主要是程序的编写及编译等,而keil开发软件主要将程序烧进开发板,使开发板实现想要的结果。4.3.4软件设计#include<reg52.h> unsigned char code dofly_table8=0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80; void DelayUs2x(unsigned int t) while(-t);/楼层变换延时void DelayMs(unsigned char t) while(t-) D
14、elayUs2x(245); DelayUs2x(245); /按键延时函数void show(unsigned int i)P0=dofly_tablei-1; /数码管P1=(0xff<<(i-1)-1; /LED灯/数码管与LED灯的显示函数unsigned int getKey()switch(P3)case 0xfe:return 1;break;case 0xfd:return 2;break;case 0xfb:return 3;break;case 0xf7:return 4;break;case 0xef:return 5;break;case 0xdf:retu
15、rn 6;break;case 0xbf:return 7;break;case 0x7f:return 8;break; /读取按键的值void main() unsigned int i=1,j=1; /j表示要到的楼层,i表示目前在的楼层show(i);while(1)if(P3!=0xff)DelayMs(10);if(P3!=0xff)j=getKey();for(;i!=j;(i>j)?(i-):(i+) show(i);DelayUs2x(60000); show(i);DelayUs2x(60000);5总结与展望这次课程设计,是我们第一次自己动手使用开发板做设计,从开始
16、的遇到很多问题到最后的逐一解决,在这个过程中,我们学到了很多课本上学不到的东西,通过自己动手实践,自己觉得将以前学的知识有了更深刻的认识,并且有很多之前不了解的东西也通过请教同学和自己查资料得到了想要的答案,在这样的过程中,感觉自己提高了很多。当然设计中还遇到了一些问题,比如:当输入的楼层有多个时,因为缓存数组只有八个,所以会有丢失数据的现象。后来请教同学得到了正确的解决办法:缓存用链表来存数据,这样既可以避免数据丢失,而且在用完一个数据后可以及时释放,避免了空间的浪费。自己做的东西在开发板上运行出来的时候,像是将抽象的知识具体化了,使我们对自己做的题目的实现过程认识的更加深刻。此外,虽然做到了题目要求的功能,但是还远远不够,程序还是可以改进的更完善。通过这次课程设计,是我们体会到自己动手才能真
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 项目风险评估中的定量与定性方法试题及答案
- 2025年初期大学英语四六级考试试题
- 沈阳中考生地试题及答案
- 华三java面试题及答案
- 御泥坊java面试题及答案
- 逐步深入的网络题库试题及答案
- 软考网络工程师优势特长试题及答案
- 深入了解信息系统项目管理试题
- 变革2025年西方政治制度试题及答案
- 政治身份与社会结构的互动研究试题及答案
- 理论联系实际谈一谈如何维护政治安全?参考答案1
- 2025届安徽省合肥市A10联盟高三下学期最后一卷历史试题(B卷)
- 2024吉林省农村信用社联合社招聘笔试历年典型考题及考点剖析附带答案详解
- 2024-2025学年度部编版一年级语文下学期期末试卷(含答案)
- DB13(J)-T 8496-2022 城市污水处理厂提标改造技术标准
- 2025至2030中国锂电池粘结剂市场竞争状况及融资并购研究报告
- 聋校语文课程标准解读
- 河南省百师联盟2024-2025学年高二下学期4月联考数学试题(原卷版+解析版)
- 2025-2030中国IDC行业发展趋势与前景展望战略研究报告
- 合伙人商业保密协议书9篇
- 工程保修的管理措施和承诺
评论
0/150
提交评论