首页>资讯>游戏攻略>深圳SHENZHENIO第2关信号放大器攻略
深圳IO是一款硬核的编程游戏,有着严谨的游戏内容,那么一起来看看第2关信号放大器的攻略吧。
概念MAIL:任务中心,游戏的主题都在其中,为了仿照认真工作的样子,所有的任务背景和内容都模拟邮件的形式进行
数据手册:嵌入式开发必经之路,相当于正常游戏的新手引导,哈哈,读起来很有感觉呢
控制面板:就是控制台啦,这不需要过多叙述了
纸牌游戏:这个会在游戏前期解锁,一旦解锁,这个游戏可能就变成了一款蜘蛛牌游戏。
主界面
由于游戏过分硬核,先放个手册中的图看看冰山一角:
游戏中DX300参考
像这样的器件足足有17个!!!! 哈哈,有没有已经感觉到挑战了呢?
不过这也正对应了嵌入式开发中会遇到的海量数据手册,相当程度上还原了嵌入式日常开发的情景。
游戏中设计到部分的编程有些类似于汇编语言,这里上手还是有一些些难度的,大家请做好准备,继续直接扔核弹:
游戏中主要使用的编程语言
不用害怕,在游戏过程中,会逐步引导你学会使用新的指令,对于新的器件,也是随着主线的进行逐步开放的
在游戏中,你不仅可以完成指定的基本目标,还可以挑战全网玩家,看谁能达成最佳优化目标。
鱼和熊掌不可兼得,多数情况下想要达成更好的性能就要增加成本啦,不过这正是优秀的嵌入式开发人员的意义所在——比你好,还比你的便宜。
第1关:安全摄像头
第2关:信号放大器
关卡展示
这一关的要求是将【控制输入】端口的值扩大 2 倍送到【控制输出】端口中。这一关我们需要接触一些新的和算术有关的指令:
加法指令:add I/R/P,将 acc 寄存器的值加上【指定的数/寄存器中的数/从端口获得的数】,并覆盖 acc 寄存器原始的值。
减法指令:sub I/R/P,将 acc 寄存器的值减去【指定的数/寄存器中的数/从端口获得的数】,并覆盖 acc 寄存器原始的值。
乘法指令:mul I/R/P,将 acc 寄存器的值减去【指定的数/寄存器中的数/从端口获得的数】,并覆盖 acc 寄存器原始的值。
遗憾的是,这个游戏里的 MC 系列芯片没有提供任何除法指令。
以上算术指令的计算结果限定在 -999~+999 范围内。如果计算结果低于下限值,则 acc 会变为下限值 -999;如果计算计算结果高于上限值,则 acc 会变为上限值 +999。
例如,执行以下指令后,acc 寄存器的值会变成 999 而不是 1000:
mov 500 acc
mul 2
那么很明显,我们这一关需要把【控制输入】端口的值读入 acc,然后执行乘法指令将读入的值 ×2(或者执行加法指令加上 acc 自身),再执行 mov 指令将处理后的值送入【控制输出】端口即可。执行完以上操作后,需要执行 slp 指令休眠一秒,以便进入下一个时钟周期。若不执行休眠指令,则芯片会在同一个时钟周期内死循环。
现在我们从元件库中拖入一块【MC4000】到开发板中,将这块芯片的 p0 口和【控制输入】端口相连,p1 口和【控制输出】端口相连,并写出如下代码:
点击左下角的【模拟】运行程序,稍等片刻,便会弹出结算界面:
评论 (0)分享