先把P1口全部接低电平!
ORG 0000H
AJMP START
ORG 0040H
AA:MOV P1,#55H
ACALL DELAY
MOV P1,#0AAH
ACALL DELAY
MOV P1,#00H
ACALL DELAY
AJMP AA
DELAY:MOV R5,#256
LOOP2:MOV R4,#256
LOOP1:NOP
NOP
DJNZ R4,LOOP1
DJNZ R5,LOOP2
RET
#include<reg52h>
#include <intrinsh>
void main()
{
unsigned int x,y;
P1=0xfe;
while(1)
{
P1=_crol_(P1,1);
for(x=500;x>0;x--)
for(y=113;y>0;y--);
}
}
P1接二极管(低电平有效)每隔x毫秒流动一下(可改变x的值)
震荡周期为110592MHz
把上面的P1=0xfe;改为P1=0x01;!!!
高电平也许要用上拉电阻!!
r7在赋了42H后就不能在延时程序里再用了。因为在延时程序里用的话,当从延时程序里跳出后,R7的值就不是42H了。
把这三句(DJNZ R7, LOOP; DELAY:MOV R7,#10H; DJNZ R7,DELAY0;)里的r7改成R4 试试。
以上就是关于请帮忙编写一个花样流水灯单片机程序(要求1,3,5,7灯亮,2,4,6,8灯亮然后全灭)全部的内容,包括:请帮忙编写一个花样流水灯单片机程序(要求1,3,5,7灯亮,2,4,6,8灯亮然后全灭)、试编写一个流水灯的程序(C语言)、51单片机的流水灯程序—等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)