[問題] 單燈右移(1000P給第一位正確解答)
最近練習用 keil C 寫c來操控8051
在做一秒的P0 8bit的單燈右移遇到了一點小問題
code寫完後她是一秒後又移了3個,也就是跑了3+8k
節錄如下
P1mem=1;
while(1)
{
P0=~P1mem;
while(systimer!=4999) {
}
if(P1mem==0x80) P1mem=1;
else P1mem<<=1;
}
void T0_int(void) interrupt 1
{
systimer++;
if(systimer==5000) { // systimer=5000時為1秒
systimer=0;
syssec++;
}
TF0=0;
}
應該是在while迴圈中加一行即可搞定
讓他不要移3+8k,只要1即可
但我想破頭還是想不出來 QQ
麻煩版友們解答~ 謝謝
P.S 明天測試成功後即發出1000p
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.121.32.121
※ 編輯: a023087 來自: 59.121.32.121 (08/28 23:46)
推
08/29 01:04, , 1F
08/29 01:04, 1F
→
08/29 01:34, , 2F
08/29 01:34, 2F
→
08/29 09:14, , 3F
08/29 09:14, 3F
→
08/29 10:45, , 4F
08/29 10:45, 4F
→
08/29 10:46, , 5F
08/29 10:46, 5F
→
08/29 20:41, , 6F
08/29 20:41, 6F
→
08/29 20:43, , 7F
08/29 20:43, 7F
→
08/29 20:45, , 8F
08/29 20:45, 8F
→
08/29 20:45, , 9F
08/29 20:45, 9F