我在曼彻斯特 UNH 教授一门有关使用 Launchpad (MSP430G2553)进行连接的实验课程。 当然、第一个练习之一是让 LED 闪烁。 代码本质上将 P1.0设置为输出、然后进入循环、在循环中 XOR #BIT0、&P1OUT 更改状态、然后将寄存器设置为一个数字并递减/循环、直到它达到0 (作为延迟)并无限期地执行所有这些操作。 指示灯闪烁。 我让他们在示波器上测量它、估算指令时间以及猜测您可以在没有延迟的情况下切换 LED 的速度。
然后、它们会消除延迟、因此代码基本上是:
环路
XOR #BIT0、&P1OUT
JMP 环路
这会使红色 LED 闪烁、每11.5微秒左右循环一次。 然后、一个实验组将代码更改为使用#BIT6使绿色 LED 闪烁。 循环中的两条指令相同、组测量值为12.6 μ s。 他们想知道、当您切换位6而不是位0时、相同的两条指令会花费更长的时间。 我不知道-有人有什么想法吗?
提前感谢您的任何建议!