Re: 麻煩會8051的大大,幫我一個忙!拜託了...謝謝
註:此程式完全沒考慮clock cycle
3個LED的負分別接p1.0 p1.1 p1.2(由p3來控制p1,如果p3.0為1則p1.0為1)
p1.0是0則第1個LED會亮
p1.0是1則第1個LED不會亮
以此類推
如果p1.0是1維持了50000us*200=10000000us=10秒會跳到start2
p1.1是1維持了10秒會跳到start3
p1.2是1維持了10秒會跳到over結束
$mod51
$DEBUG
mov p1,#11111110b
mov p3,#11111111b
mov tmod,#01h;timer0 =mode1
start:mov r0,#199
lcall re
loop:jnb tf0,c1 ;2 50000
lcall re;2 50000
djnz r0,c1
sjmp start2
c1:jnb p3.0,d1
clr p1.0
sjmp start
d1:setb p1.0
sjmp loop
start2:mov p1,#11111101b
mov r0,#199
lcall re;2
loop2:jnb tf0,c2 ;2
lcall re;2
djnz r0,c2
sjmp start3
c2:jnb p3.1,d2
clr p1.1
sjmp start2
d2:setb p1.1
sjmp loop2
start3:mov p1,#11111011b
mov r0,#199
lcall re;2
loop3:jnb tf0,c3 ;2
lcall re;2
djnz r0,c3
sjmp over
c3:jnb p3.2,d3
clr p1.2
sjmp start3
d3:setb p1.2
sjmp loop3
over:sjmp $
re:clr tr0;1
mov th0,#03ch;3cb0h=15536=65536-50000
mov tl0,#0b0h;
clr tf0;1
setb tr0;1
ret;2
end
※ 編輯: loveflames 來自: 61.225.2.81 (02/01 01:33)
※ 編輯: loveflames 來自: 61.225.2.81 (02/01 01:37)
※ 編輯: loveflames 來自: 61.225.2.81 (02/01 18:35)
推
02/03 00:28, , 1F
02/03 00:28, 1F
→
02/03 00:28, , 2F
02/03 00:28, 2F
推
02/03 00:29, , 3F
02/03 00:29, 3F
推
02/03 00:31, , 4F
02/03 00:31, 4F
→
02/03 00:33, , 5F
02/03 00:33, 5F
→
02/03 00:34, , 6F
02/03 00:34, 6F
→
02/03 00:37, , 7F
02/03 00:37, 7F
※ 編輯: loveflames 來自: 61.225.1.115 (02/03 00:39)
→
02/03 00:38, , 8F
02/03 00:38, 8F
→
02/03 00:39, , 9F
02/03 00:39, 9F
→
02/03 00:39, , 10F
02/03 00:39, 10F
→
02/03 00:39, , 11F
02/03 00:39, 11F
→
02/03 00:40, , 12F
02/03 00:40, 12F
→
02/03 00:42, , 13F
02/03 00:42, 13F
→
02/03 00:43, , 14F
02/03 00:43, 14F
推
02/03 00:51, , 15F
02/03 00:51, 15F
→
02/03 00:52, , 16F
02/03 00:52, 16F
→
02/03 00:52, , 17F
02/03 00:52, 17F
→
02/03 00:54, , 18F
02/03 00:54, 18F
→
02/03 00:55, , 19F
02/03 00:55, 19F
※ 編輯: loveflames 來自: 61.225.1.115 (02/03 01:40)
討論串 (同標題文章)
完整討論串 (本文為第 3 之 3 篇):
ASM 近期熱門文章
PTT數位生活區 即時熱門文章