嵌入式系统课程设计报告模板硬件.docx
《嵌入式系统课程设计报告模板硬件.docx》由会员分享,可在线阅读,更多相关《嵌入式系统课程设计报告模板硬件.docx(12页珍藏版)》请在冰点文库上搜索。
嵌入式系统课程设计报告模板硬件
嵌入式系统课程设计报告模板
软件学院
课程设计报告书
课程名称嵌入式系统
设计题目模拟电梯控制系统
专业班级
学号
姓名
指导教师
年月
1设计时间
2设计目的
(1)利用所学过的知识,初步分析单片机原理及接口技术的能力;
(2)进一步掌握硬件电路和软件功能的设计方法;
(3)了解8052的可编程并行接口芯片的工作原理,掌握8052的各种模式编程方法;
3设计任务
1、基于单片机模拟电梯控制。
当按键输入时,数码管将显示楼层数,小灯将运行到指定楼层处2、键盘电路为4×4矩阵键盘。
但键盘按下时,小灯将走到键盘按键的位置停下。
3、显示电路为LED指示灯和六位数码管。
4设计内容
本文根据8052单片机,利用键盘、开关、数码管和LED模拟实现八层电梯的控制。
并且有像电梯的运行功能。
软件利用C语言,通过检测用户请求的按键信息,通过键盘输入层数,输入之后LED小灯从当前位置向上或向下运行,运行到对应的楼层,数码管显示楼层号,LED灯表示运行楼层,数码管数字大小的增减表示向上、向下。
硬件设计简单可靠,结合软件,基本实现了八层电梯运行的模拟。
4.1总体方案设计
通过使用电脑的软件,我们很方便的就可以通过电脑8052单片机进行对其的控制,然后并完成对LED灯,矩阵键盘,和显示器的控制。
当按了电梯相应的层数时,小灯从当前位置上升或下降的过程,同时数码管显示相应的电梯层数,模拟电梯的运动过程。
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) 当电梯正在运行时,产生了停电条件,此时称为停电状态。
当电梯主体在进行状态转换时,将遵守以下的运行规则:
1) 下降状态能变为暂停状态,转变条件为电梯主体到达了目标楼层。
2) 上升状态能变为暂停状态,转变条件为电梯主体到达了目标楼层。
3) 上升状态能变为停电状态,转变条件为电梯上升时遇到了停电条件。
4) 下降状态能变为停电状态,转变条件为电梯下降时遇到了停电条件。
5) 暂停状态能变为上升状态,转变条件为以下两个条件中的任意一个成立。
4.1.2核心部件选型
8052单片机,这个主要用其上面的LED流水灯,4×4矩阵键盘,六位数码管。
4.1.3系统开发环境
USB下载驱动
1.将USB一端接到计算机USB口,一端接到计算机USB口
2.当连接后,计算机屏幕会出现发现新硬件,并弹出安装向导。
选择自动安装,之后点击完成
3.打开电脑的设备管理器到端口,记住COM口
STC—ISP下载软件
1.安装软件,路径是默认路径,之后点击完成
2.打开软件,创建快捷方式到桌面
keil开发软件
1.打开文件夹中的setup.exe进行安装
2.选择fullvirsion,之后选择next,在选择yes到next
3.输入serialnumber后点击next
4.在install上勾选之后点next
5.之后都是直接点击next即可
4.2硬件设计
4.2.1硬件开发环境简介
4.2.2硬件模块1设计
在实际中,厢外五个显示和厢内一个共六个数码管显示厢体位置楼层数,由于显示的数据是一致的,所以本设计中只用一个LED数码管显示代替。
具体电路如下图所示:
数码管和单片机的连接图
4.2.3硬件模块2设计
本电路采用4×4矩阵键盘,列扫描法识别键值的原理,具体原理如下:
a) 判断键盘中有无键按下:
将全部行线P0.0-P0.3置低电平,列线P0.4-P0.7置高电平,然后检测列线的状态。
只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。
若所有列线均为高电平,则键盘中无键按下。
b) 判断闭合键所在的位置:
在确认有键按下后,即可进入确定具体闭合键的过程。
其方法是:
依次将列线置0,此时再将行线依次置1,看行线是否被拉为低电平。
若该行被拉为低电平,则该列线与置为高电平的行线交叉处的按键就是闭合的按键。
键盘和单片机的连接图
4.3软件设计
4.3.1软件开发环境介绍
4.3.2主程序设计及流程图
4.3.3中断程序设计及流程图
4.3.4软件模块1设计
判断过程:
当前电梯正在上升或下降运行(此时八段码显示楼层变化,LED指示希望抵达的楼层),若键入新的希望停的楼层数字(相应的LED亮),则对同方向(上升或下降)未到的楼层能停,对其他情况则先停原希望停的楼层,然后按运行键后继续进行。
以下解释所用单元的含义:
FLAG:
上升下降标志。
FLAG=1上升,FLAG=0下降。
NOW:
电梯当前值。
FIR:
第一次按键值(即第一次按下希望到的楼层)。
SEC:
第二次按键值(即第二次按下希望到的楼层)。
4.3.5软件模块2设计
LED的控制只需送数据LED即可,但键盘扫描的值为16进制,必须转化成01H,02H,04H,08H,10H,20H,40H,80H来模拟1-8层的亮灯情况。
这可采用查表来实现。
键盘扫描子程序:
所谓按查询方式工作的子程序,就是当引用该子程序的时候若用户按下了键盘上的按键就会获得一个“有效键值”,否则将获得一个“无效键值”,对于M行N列的键盘来说,可认为的规定有效键值的取值范围为0~M*N-1,无效键值的数值为M*N。
此处给出该实验用到的键值及定义:
1-8:
对应的电梯楼层键。
按下表示该楼层有请求。
0:
运行键。
电梯按下需要到达的楼层显示对应的LED,需按下此键才能运行到相应的楼层。
9-F:
可做为扩展功能的实现。
5总结
本次实习我们选择了模拟日常生活中常见的电梯运行过程。
这次实习让我对程序的设计、调试有了更深刻的认识。
尤其是写单片机这类的与硬件相关的程序。
在调试的时候会有不少意想不到的结果。
这要求除了对程序充分了解,还要对硬件的特性,电路的连接也深刻认识。
关于程序,总结如下:
必须养成在写之前仔细分析需求、要求,画出流程图,先明确各个模块的作用。
最后分块细化,从底向上设计的习惯。
否则很容易出现程序写了一半发现理解出错,功能达不到的情况。
还有程序注释必须及时,不能等到写完了再注释,否则可能之后连自己也看不懂程序。
及时的修改记录也是必要的。
对于硬件、电路:
要熟练掌握如何用c、汇编语言操作芯片。
要掌握常用芯片的用法、特性,至少要熟悉其datasheet,需要使用时通过查阅手册,能快速、熟练的使用该芯片。
参考文献
[1]屈辉立,陈可明,石武信.JSP网站编程教程[M].第1版,北京:
北京希望电子出版社,2005
[2]白勇.用B/S模式构建在线考试系统[J],重庆电力高等专科学校学报,2003,10(4):
100~130.
[3]JiangGuo,YuehongLiao,BehzadParviz.ASurveyofJ2EEApplicationPerformanceManagementSystems[J],ProceedingsoftheIEEEInternationalConferenceonWebServices(ICWS'04),2004.6(5):
17~32.
[4]VB数据库管理范例:
参考文献要求:
1.标题:
黑体,小三,1.5倍行距,居中;
2.内容:
小四号,中文宋体,西文TimesNewRoman);
3.出版物、正文期刊、外文期刊、网站的参考文献格式分别参照[1][2][3][4]。