用keil5编写简单流水灯程序(用keil4编写简单流水灯程序)

keil软件这个流水灯程序怎么写?图片上哪边写错了?能发给我个正确的吗?

错误1,p2小写不行,改成大写P2。

2,那个延时子程序delay(),不能写在主程序中,要写在主程序前面,单独写,主程序去调用它。

3,P2不能写在_corl_()函数中。

4,主程序不能写 int main()

应该这么写

#includereg51.h

#includeintrins.h

void delay()

{

unsigned int a=5000;

while(a--);

}

void main()

{

unsigned char light=0xfe;

P2=0xfe;

while(1)

{

P2=light;

light=_crol_(light,1);

delay();

}

}

keil软件如何编写流水灯程序?哪位大神写个程序给我?

你有过这个提问了,已经给你程序了。

#includereg51.h

#includeintrins.h

void delay()

{

unsigned int a=5000;

while(a--);

}

void main()

{

unsigned char light=0xfe;

P2=0xfe;

while(1)

{

P2=light;

light=_crol_(light,1);

delay();

}

}

一键多控流水灯汇编语言怎么写,软件是keil

一键多空流水灯汇编语言程序编写方法是:设置一个变量,来检测按键的次数,从而控制程序分支来达到控制不同流水灯的效果例如:

ORG 0000H

LJMP MAIN

ORG 0030H

MAIN:

MOV R6,#0FEH

MOV R7,#0

LOOP:

JB P1.0,LOOP1

JNB P1.0,$

INC R7

CJNE R7,#2,LOOP1

MOV R7,#0

LOOP1: ;奇数次按键左向流水灯

MOV A,R7

JNZ LOOP2

MOV A,R6

MOV P0,A

RL A

MOV R6,A

LCALL DELAY

SJMP LOOP

LOOP2: ;偶数次按键右向流水灯

MOV A,R6

MOV P0,A

RR A

MOV R6,A

LCALL DELAY

LJMP LOOP

DELAY:

MOV R2,#200

DL1:

MOV R3,#250

DJNZ R3,$

DJNZ R2,DL1

RET

END

8个流水灯程序如何编???用keil编

#includereg52.h

unsigned char table[8]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};

void delay()

{

unsigned int i;

for(i=0;i30000;i++)

}

void main(void)

{

unsigned char i;

while(1)

{

for(i=0;i8;i++)

{

P1=table[i];

delay();

}

}

}

大致就是这个样子,具体要看你硬件电路的

Keil软件编写流水灯

这个是不对的,sbit是keil针对51硬件对标准C的扩展P1^x中的x只能是立即数,不能做变量,而且for(x=7;x=4;x--);循环什么都做不了,printf函数在单片机中数据流向串口,因此实现这样的功能这个代码显然无法完成。延时算法最简单的当属--运算。具体实例我给你写一个以供参考:

#include STC12C2052AD.h

void delay(unsigned K){while(K--);}//延时函数

void main()

{    

    int i=0;   

    while(1)

    {

        i++;

        i=3;//i在0~3之间变化

        P1=~(1(i+4));//因为是P1.4~P1.7低电平有效所以i要先+4再移位结果还要取非

        delay(65535);//延时

    }

}

如何用proteus和keil制作一个简单的流水灯

工具:STC系列51单片机、串口转换器(USB转TTL或232转TTL)材料:实验板一块(可以买现成的,也可以买面包板自己搭建),电阻、LED灯若干,5V电源等。以下程序可以直接用KeilC直接编译执行。//可以通过左移函数_crol_()和右移函数_cror_()来实现LED等的来回流动。//具体实现方法可以参考如下程序:#include#include#defineuintunsignedint#defineucharunsignedcharvoiddelay(uinta);voidmain(){P1=0xfe;while(1){//向左循环点亮LEDfor(i=0;i0;x--)for(y=110;y0;y--);}

361知讯网

本文链接:http://pdidw.com/keil/31324.html

发表评论

评论列表

还没有评论,快来说点什么吧~