设计过程
f设计方案:设计方案:
本课题需要设计出一个模拟的电梯系统,与现实联系紧密,设计出一个符合人性化的电梯系统,通过键盘输入按键方式模拟用户按键,对不同楼层用户自动选择优先级,与现实中的电梯系统达到一致。使用AKSeriesEmulator仿真器连接PC与ARM7开发板,PC连接ARM7供电。连接实物图如下:
其余需要通过编程完成。
程序中的主要模块设计:程序中的主要模块设计:
电梯向上或者向下搜索函数。主要完成电梯的向上向下搜索任务。如果还有按键的状态处于按下状态。则会把按下的楼层数存储于目标楼层中。
i
t8searchupi
t8iforicurre
tlayeriu
pressedimaxlayeriifimaxlayertargetiretur
1retur
1
fi
t8searchdow
i
t8iforicurre
tlayeriu
pressedi0iifi0targetiretur
1retur
1
电梯活动任务函数:判断目标楼层与当前楼层关系并且做出判断是电梯进入上升、下降或者停止的活动。并且控制数码管与电梯楼层一起运动。
voidLiftActvoidpdatapdatapdata
MSPI_Se
dDataDISP_TABcurre
tOSTimeDlyOS_TICKS_PER_SEC1uartI
itwhile1iftargetcurre
tliftstateupcurre
t
felseiftargetcurre
tliftstatedow
curre
telseiftargetcurre
tlayercurre
tu
pressedliftstatearriveMSPI_Se
dDataDISP_TABcurre
tOSTimeDlyOS_TICKS_PER_SEC1
找寻下个目标函数:通过电梯的状态。判断电梯运行的下一个目标。实现模拟系统与现实电梯的结合。可判断先满足哪一个用户的需求。
voidFi
dTargetvoidpdatai
t8flagpdatapdatawhile1ifliftstateupliftstatestopflagsearchupifflag1searchdow
if
otfi
dfi
ddow
felseifliftstatedow
flagsearchdow
ifflag1searchupif
otfi
dfi
dup
程序运行流程图:程序运行流程图:
五、实验过程
f实验步骤:实验步骤:
1、连接PC、仿真器与AM7开发板。安装仿真器AKSeriesEmulator驱动。打开ASD环境,加载仿真器驱动。2、熟悉基本的开发步骤,开始做基本实验,对ARM7开发板的使用做一个基本的了解并且按要求完成基本实验需要达到的要求。3、熟悉AXD开发环境。对需要完成的程序列出具体框架。通过配合完成此次试验电梯系统的大部分代码。4、将代码加以整合,调试程序,完成既定要求并且烧入开发板。完成此次实验的要求并且加以优化改善。
遇到的问题:遇到的问题:
此次试验的过程中,刚开始很难做到满足不同用户的需求,并且选择优先级,与现实中电梯的功能达到一致。程序调试的过程中用PC输入r