找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4615|回復(fù): 8
打印 上一主題 下一主題
收起左側(cè)

如何用單片機(jī)C語言編程,實(shí)現(xiàn)p1.1口的led閃爍1/2/3次和不斷閃爍與常亮 真的不會呀!

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:190966 發(fā)表于 2017-4-18 20:36 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
2黑幣
如何用C語言編程,實(shí)現(xiàn)p1.1口的led閃爍1/2/3次和不斷閃爍與常亮;用p3.3 int1口控制閃爍狀態(tài)呀?

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:190966 發(fā)表于 2017-4-18 21:21 | 只看該作者
是要沉的節(jié)奏么?大家都不會呀??
回復(fù)

使用道具 舉報(bào)

板凳
ID:151348 發(fā)表于 2017-4-18 21:58 | 只看該作者
HuJohn 發(fā)表于 2017-4-18 21:21
是要沉的節(jié)奏么?大家都不會呀??

p3.3 int1口控制是什么意思,主要是你要怎么控制
回復(fù)

使用道具 舉報(bào)

地板
ID:190966 發(fā)表于 2017-4-18 22:13 | 只看該作者
imxuheng 發(fā)表于 2017-4-18 21:58
p3.3 int1口控制是什么意思,主要是你要怎么控制

就是按鈕接在p3.3,按一下,更改led閃爍次數(shù)
回復(fù)

使用道具 舉報(bào)

5#
ID:190966 發(fā)表于 2017-4-18 22:14 | 只看該作者
imxuheng 發(fā)表于 2017-4-18 21:58
p3.3 int1口控制是什么意思,主要是你要怎么控制

以下程序怎么改才能達(dá)到我的目的呢?主要是延時(shí)那部分還是?
#include<reg51.h>
#define uchar unsigned char
sbit key=P3^3;
sbit led=P1^1;
uchar timeCnt=0;
void delay break( unsigned int t)
{
uchar i,j;
for(i=t;i>0;i--)
for(j=250;j>0;j--);
}
void shanshuo1()
{
led=~led;
delay(1);
}
void shanshuo2()
{
led=~led;
break(2);
}
void shanshuo3()
{
led=~led;
break(3);
}
void shanshuo4()
{
led=0;
delay(1500);
led=1;
delay(1500);
}
void shanshuo5()
{
led=0;
delay(60000);
led=1;
delay(60000);
}
void main()
{
while(1)
{
if(key==0)
{
timeCnt++;
if(timeCnt==6) timeCnt=0;
}
if(timeCnt==1) shanshuo1();
if(timeCnt==2) shanshuo2();
if(timeCnt==3) shanshuo3();
if(timeCnt==4) shanshuo4();
if(timeCnt==5) shanshuo5();

}
}
回復(fù)

使用道具 舉報(bào)

6#
ID:171523 發(fā)表于 2017-4-19 10:55 | 只看該作者
#include<reg51.h>
#define uchar unsigned char
sbit key=P3^3;
sbit led=P1^1;
uchar timeCnt=0;
void delay break( unsigned int t)
{
uchar i,j;
for(i=t;i>0;i--)
for(j=250;j>0;j--);
}
void shanshuo1()
{
led=~led;
delay(1);
}
void shanshuo2()
{
led=~led;
break(2);
}
void shanshuo3()
{
led=~led;
break(3);
}
void shanshuo4()
{
led=0;
delay(1500);
led=1;
delay(1500);
}
void shanshuo5()
{
led=0;
delay(60000);
led=1;
delay(60000);
}
void main()
{
while(1)
{
if(key==0)
{
timeCnt++;
if(timeCnt==6) timeCnt=0;
}
if(timeCnt==1) shanshuo1();
if(timeCnt==2) shanshuo2();
if(timeCnt==3) shanshuo3();
if(timeCnt==4) shanshuo4();
if(timeCnt==5) shanshuo5();

}
}
程序加上注釋
回復(fù)

使用道具 舉報(bào)

7#
ID:151348 發(fā)表于 2017-4-19 11:25 | 只看該作者
HuJohn 發(fā)表于 2017-4-18 22:14
以下程序怎么改才能達(dá)到我的目的呢?主要是延時(shí)那部分還是?
#include
#define uchar unsigned char

led閃爍1/2/3次是閃爍是只1/2/3次,還是隔一段時(shí)間閃爍1/2/3次
回復(fù)

使用道具 舉報(bào)

8#
ID:190966 發(fā)表于 2017-4-19 22:23 | 只看該作者
imxuheng 發(fā)表于 2017-4-19 11:25
led閃爍1/2/3次是閃爍是只1/2/3次,還是隔一段時(shí)間閃爍1/2/3次

p3.3接個(gè)按鍵,led分別接p1.0 p1.1 p1.2 。按一下閃一次,再按一下閃兩下,接著是三次、閃爍、常亮
回復(fù)

使用道具 舉報(bào)

9#
ID:190966 發(fā)表于 2017-4-19 22:40 | 只看該作者
FxMan 發(fā)表于 2017-4-19 10:55
#include
#define uchar unsigned char
sbit key=P3^3;

編譯有兩個(gè)錯(cuò)誤
“delay”:void on variable
missing before break
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表