天津大学嵌入式系统——Traffic实验.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Traffic实验 建立Keil工程 选择Project→New uVision Project命令,弹出Create New Project 对话框,指定工程路径并在文件名文本框中输入Traffic,如图1所示。 图1 单击“保存”按钮,弹出Select Device for Target 窗口,在左侧的列表框中选择CPU的类型(STM32F10系列),右边对应出现该芯片的资源描述,如图2所示。 图2 单击OK按钮,出现如图3所示提示信息(是否复制启动代码到工程文件夹并添加文件到工程中)。这里的启动代码是依据设置的编译器而生成的。 图3 单击是按钮添加启动代码,此时启动代码已经添加到工程中,左侧的Project Workspace 中显示添加的启动代码文件,双击Startup.s可查看代码,如图4所示。 图4 添加如图5所示实验所需文件夹和文件。 图5 进行工程配置 在工作空间选择Target1 右键选择Options for Target‘Target1’命令,弹出对话框如图6所示,设置Xtal为8MHz。 图6 (此后步骤本来想做电路仿真的,但发现proteus里没有stm32系列芯片) 单击Output标签,再单击Create Hex File前面的单选按钮,如图7所示。可生成hex格式可执行文件,再单击Select Folder for Objects按钮,指定输出文件路径。 图7 单击Listing标签,再单击Select Folder for Listings按钮,指定生成的list文件的输出路径,然后单击Assembler Listing和Linker Listing前面的单选按钮,如图8所示。 图8 单击Linker标签,设定链接器参数,指定Linker Script文件的路径,如图9所示,单击Edit按钮对Flash.ld文件进行编辑。 图9 单击OK按钮保存设置。 Build目标 在工作空间右键单击选择Build Target或者按F7键,编译并链接工程,输出窗口如图10所示。 图10 程序仿真 1.交通信号灯的五种状态(正常运行:在起始时间和结束时间之内) 状态 车辆交通灯 行人交通灯 解释 红灯 黄灯 绿灯 Stop Walk 1 0 0 1 1 0 车辆通行,行人禁行 2 0 1 0 1 0 车停靠 3 1 0 0 1 0 车辆禁行,行人准备通行 4 1 0 0 0 1 车辆禁行,行人通行 5 1 0 0 1 0 行人禁行,车辆准备通行 6 1 1 0 1 0 行人禁行,车辆准备通行 状态1 程序仿真截图 状态2 程序仿真截图 状态3 程序仿真截图 状态4 程序仿真截图 状态5 程序仿真截图 状态6程序仿真截图 2.按下按钮(S2: Push for Walk)后程序启动行人自助服务(相当于中断),进入状态2→状态3→状态4(行人通过),之后恢复正常。(正常运行时间之内) 3.异常运行:时间超出起始时间和结束时间,黄灯闪烁。 4.菜单操作: D:显示当前时间 T:设置当前时间 S:设置起始时间 E:设置结束时间 下面依次进行这四个操作 错误输入操作: 5.程序流程图 开始 开始 调用SER_Init,LED_Init,KBD_Init 初始化硬件配置,调用os_sys_init (init)初始化系统任务 Clock任务,定时器(计时器) command命令符操作任务(串口输入命令符) lignts任务,正常运行信号灯顺序控制 键盘扫描任务,捕捉是否有键按下 Command任务流程图 ESC ESC 开始 Print操作菜单 Print “Command” 读操作命令并转换大小写 Switch操作符 =D,显示时间 =T,设置当前时间 =E,设置结束时间 =S,设置起始时间 default,print操作菜单 Print“type ESC to abort” 等待ESC命令 延时50ticks延时 延时50ticks 延时250ticks 延时50ticks 延时50ticks 是,延时50ticks 否,延时800ticks 延时50ticks t_lights改变? 否 否 查询 是 开始 所有灯初始为灭 检查时间是否在起始时间和结束时间之内 Signalon函数 退出lights任务,进入blinking任务 Blinking任务初始化灯全灭 异常状态,黄灯闪烁 检查时间是否在起始时间和结束时间之内 是 状态6 状态1 按键? key_read 键盘扫描任务 状态2 状态3 状态4 状态5 程序分析 Startup Files Startup Files 顾名思义为系统启动文件夹。 RTX Configuration 串口配置文件。 System Files Retarget.c为系统重定义

您可能关注的文档

文档评论(0)

186****6410 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档