#include<reg52h>
#include<intrinsh>
#define uint unsigned int
#define uchar unsigned char
void delayms(uint);
uchar a;
void main()
{
a=0x01;
while(1)//把这里的分号去了就好了!
{
P1=a;
delayms(300);
a=_crol_(a,1);
}
}
void delayms(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=100;j>0;j--);
}
已帮你改正,复制进去即可,重新编译试一下!
loop :MOV A,#0FFH 设置1个起点 并向 寄存器A 存放 高电平
MOV P0,A 把A存放的高电平推送到P0端口
SETB P27 P27 置高电平
SETB P22 同上
SETB P21 同上
,LCALL DEL 调用 DEL
MOV A P1 把P1端口 映射到A寄存器
MOV 36H,A 这句是错的吧
XRL A,#0FFH A寄存器里的数据和 #0FFH 异或
AJMP LOOP 绝对跳转 到 LOOP即上面的起点
CJNE A,#00H,JANB1 寄存器A不等于#00H,则跳转到JANB1
JB P20,LOOP 判断P20口是否一直为高,高就跳到LOOP,只有变低后才顺序执行下一条命令
欢迎分享,转载请注明来源:表白网
评论列表(0条)