51单片机程序编写

51单片机程序编写,第1张

#include <reg51h>

void delay(unsigned int n)

{

while(n--);

}

void main()

{

char i;

//可以编好想要怎么流水的灯位的状态

unsigned char led[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};

while(1)

{

for(i=0;i<8;i++)

{

P1=led[i]; //LED接在P1口

delay(10000);

}

for(i=0;i<8;i++)

{

P1=led[8-i];

delay(10000);

}

}

}

如下:

MOV DPTR, #ST1

MOVX A, @DPTR

MOV B, A

INC DPTR

MOVX A, @DPTR

CJNE A,B, QQQ

QQQ:

JNC >

|P1口接8个发光二极管共阳

#include <AT89X51H>

unsigned char i;

unsigned char temp;

unsigned char a,b;

void delay(void)

{

unsigned char m,n,s;

for(m=20;m>0;m--)

for(n=20;n>0;n--)

for(s=248;s>0;s--);

}

void main(void)

{

while(1)

{

temp=0xfe;

P1=temp;

delay();

for(i=1;i<8;i++)

{

a=temp<<i;

b=temp>>(8-i);

P1=a|b;

delay();

}

for(i=1;i<8;i++)

{

a=temp>>i;

b=temp<<(8-i);

P1=a|b;

delay();

}

}

}

扩展资料:

Proteus 自从有了单片机也就有了开发系统,随着单片机的发展开发系统也在不断发展。 keil是一种先进的单片机集成开发系统。它代表着汇编语言单片机开发系统的最新发展,首创多项便利技术,将开发的编程/仿真/调试/写入/加密等所有过程一气呵成,中间不须任何编译或汇编。

参考资料来源:百度百科-51单片机

首先你这程序有问题,这四行不属于任何的子程序,编译都出错。

DisplayData[1] = smgduan[temp / 10000];

DisplayData[2] = smgduan[temp % 10000 / 1000];

DisplayData[3] = smgduan[temp % 1000 / 100] | 0x80;

DisplayData[4] = smgduan[temp % 100 / 10];DisplayData[5] = smgduan[temp % 10];

把这四行改正后,编译后仿真运行程序,3个按键是起作用的。你感觉不起作用,是因为那3个按键,就是改变 flag 分别为0,1,2。可是,主程序中根据 flag 值不同,执行的却是同一个动作,都是 moto=1; (稍稍有一点区别,只是你感觉不出来)所以,按什么键都是这个动作,按不按都 一样,当然那就会觉得按键不起作用。那3个按键控制的动作要有区别呀,或者动作区别要大,才能看出来按键起作用啦。最简单,直接的方法是,按住按键不松手,看数码管是不是全灭啦,如果全灭了,说明按键就是起作用的。

sfr

P0M1

=

0X93;

sfr

P0M0

=

0X94;

sfr

P1M1

=

0X91;

sfr

P1M0

=

0X92;

sfr

P2M1

=

0X95;

sfr

P2M0

=

0X96;

这一段是对通用IO的设置寄存器定义为好记的变量名。具体是什么寄存器你就得结合手册查一下,估计是设置IO口方向、内部上来电阻之类的,或者是配置给某些内部器件如PCA计数器、定时器、计数器等。

至于下面的应该是电磁波或者超声测距之类的算法!!

看起来不是很复杂。

你要是抄板子的话就得想办法知道原来用的什么MCU!再找到它的手册!

有兴趣的话可以研究一下!

linfeighaot@sinacom

以上就是关于51单片机程序编写全部的内容,包括:51单片机程序编写、关于51单片机程序、51单片机设计跑马灯的程序用(c语言)编写等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9598784.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存