问个51单片机代码的问题。

问个51单片机代码的问题。,第1张

#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,只有变低后才顺序执行下一条命令

欢迎分享,转载请注明来源:表白网

原文地址:https://h5.hunlipic.com/biaobai/3362363.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2024-02-24
下一篇2024-02-24

发表评论

登录后才能评论

评论列表(0条)

    保存