熱門(mén): 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂(lè)園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
發(fā)布時(shí)間: 2021-3-15 20:31
正文摘要:今天正在寫(xiě)流水燈程序我想讓流水燈 先亮P2.0流到P2.7停下來(lái)常亮, 然后再?gòu)腜2.0流到P2.6常亮, 再?gòu)腜2.0流到P2.5, 現(xiàn)象相當(dāng)于一顆一顆疊起來(lái), 直到所有的燈亮完。 第一次發(fā)帖不知道我想表達(dá)的問(wèn)題描述清除 ... |
你碰到了什么問(wèn)題呢 |
mengzhixinheng 發(fā)表于 2021-3-17 13:55 uchar j,k,z; for(j=8;j>0;j--) { for{k=0;k<j;k++} { P2=(0x01<<k)|z; delay(500); } z=P2; } |
光說(shuō)不練 發(fā)表于 2021-3-16 17:51 這個(gè)好,簡(jiǎn)潔明了 |
1045964948 發(fā)表于 2021-3-17 22:33 改j數(shù)組加0xff. 這個(gè)已經(jīng)沒(méi)難度了吧!。 |
感謝各位大神 |
mengzhixinheng 發(fā)表于 2021-3-17 13:55 好了可以了,非常感謝 |
mengzhixinheng 發(fā)表于 2021-3-17 13:55 但是流到第八位沒(méi)辦法常亮,我再思考思考,謝謝 |
mengzhixinheng 發(fā)表于 2021-3-17 13:55 謝謝我去看看 |
uchar tab[]={0,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe}; for(j=8;j>0;j--) for{k=0;k<j;k++} { P2=(0x01<<k)|tab(8-j); delay(500); } 注意:邏輯沒(méi)錯(cuò),程序沒(méi)編譯,自己修改 |
8乘8等于64種花樣,即64個(gè)數(shù)據(jù),每次讀出延時(shí)一下就能實(shí)現(xiàn)。 |
unsigned char a=0x01; P2 = 0; for(i=0;i<8;i++){ P2=P2|(a<<i); delay_1s(); } |
yzwzfyz 發(fā)表于 2021-3-15 22:33 這個(gè)能說(shuō)詳細(xì)一點(diǎn)嗎謝謝 |
啤酒瓶子老大 發(fā)表于 2021-3-15 23:31 這個(gè)能說(shuō)詳細(xì)一點(diǎn)嗎謝謝 |
可以用一個(gè)數(shù)組。LED[]={0X01,......} FOR {然后P2=LED[];} 明白了嗎。 |
不要用直接用:P2.0-7 先設(shè)8個(gè)燈為:L1-L8,將你需的顯示的形式一一列出: 如 第一步:L3,4 亮1秒 第二步:L1,2,5,6 亮1秒 第三步:…… …… 完成上面程序后,再?zèng)Q定L1-8是哪張燈,這樣做很機(jī)動(dòng)。 方法舉例:定義L1為P0.6……,將8張燈定義一下,就可以了。 |
Powered by 單片機(jī)教程網(wǎng)