怎么用C语言编程51单片机实现两盏LED同时闪烁,端口不限 5

 我来答
走过灯火澜栅处
2011-08-30 · TA获得超过740个赞
知道小有建树答主
回答量:341
采纳率:100%
帮助的人:160万
展开全部
那你把两盏led灯并联,用一个口联接就行了,例如用P2口的1脚
include<reg51.h>
delay()
{
int x,i;
for(x=100;x>0;x--)
for(i=50;i>0;i--);
}
void main()
{
while(1)
{
P1^1=0;
delay();
p1^1=1;
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
feiyang169
2011-08-31 · TA获得超过383个赞
知道小有建树答主
回答量:993
采纳率:0%
帮助的人:439万
展开全部
include<reg51.h>
delay()
{
int x,i;
for(x=100;x>0;x--)
for(i=50;i>0;i--);
}
void main()
{
while(1)
{
P1=0xfc;
delay();
p1=0xff;
}
}
P1.0 1.1接灯的负端。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
亓官含芙
2011-08-31 · 超过13用户采纳过TA的回答
知道答主
回答量:151
采纳率:0%
帮助的人:76.7万
展开全部
/* 程序详细功能介绍:
*利用取表的方法,使端口P0做单一灯的变化:左移2次,右移2次,闪烁2次(延时的时间0.2秒)。
*在用表格进行程序设计的时候,要用以下的指令来完成
*(1).利用MOV DPTR,#DATA16的指令来使数据指针寄存器指到表的开头。
*(2).利用MOVC A,@A+DPTR的指令,根据累加器的值再加上DPTR的值,就可以使程序计数器PC指到表格内所要取出的数据。
*因此,只要把控制码建成一个表,而利用MOVC 工,@A+DPTR做取码的操作,
*就可方便地处理一些复杂的控制动作.
*/

#include <AT89X51.H>
unsigned char code table[]={0xfe,0xfd,0xfb,0xf7,
0xef,0xdf,0xbf,0x7f,
0xfe,0xfd,0xfb,0xf7,
0xef,0xdf,0xbf,0x7f,
0x7f,0xbf,0xdf,0xef,
0xf7,0xfb,0xfd,0xfe,
0x7f,0xbf,0xdf,0xef,
0xf7,0xfb,0xfd,0xfe,
0x00,0xff,0x00,0xff,
0x01};
unsigned char i;

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)
{
if(table[i]!=0x01)
{
P0=table[i];
i++;
delay();
}
else
{
i=0;
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式