導航:首頁 > 操作系統 > 用單片機控制一個led燈閃爍五秒

用單片機控制一個led燈閃爍五秒

發布時間:2022-12-22 19:17:36

A. 單片機怎麼寫才能讓led燈每隔5秒亮下一個並且數碼管一直從5到0顯示倒計時

設為共陽極七段數碼管;

char segCode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90} //共陽極七段碼

char bitCode[]={0x01,0x02,0x04,0x08,0x10,0x20} //共陽極6位位碼,高電平有效

/***在指定位顯示數據***/

// m為待顯示的七段碼數據

// k為指定的位顯示數據

void show(char m,char k)

{ char dat;

dat = segCode[m]; // m=0,1,2,3,4,5,6,7,8,9

HC573(dat,1); //輸出段碼

dat = bitCode[k]; // k=0,1,2,3,4,5

HC573(dat,2); //輸出位碼

}

sbit segm = P2^6; //段鎖存

sbit bitc = P2^7; //位鎖存

/*** HC573 接收鎖存數據***/

void HC573(char dat,char nub)

{

P0=dat;

if(nub==1)

{ segm=1;segm=0;} //輸出段鎖存信號

if(nub==2)

{ bitc = 1;bitc = 0;} //輸出位鎖存信號

}

bit intflag;

void main()

{ char times;
intflag=0; times=5;

P1=0xff;

initime0() ; //初始化定時器0

while(1)

{ if(intflag)

{ intflag=0 ;

show(times,0) ; // 因為僅有一位顯示,不考慮位掃描問題

times--;

if(times==0) { times=5; P1=~P1; }

}

}

}

B. 用單片機中斷控制LED閃爍

假設counter3每秒計數一次,並且一直不斷的 自身加1
bit f; ///定義一個標志位,0表示亮,1表示滅
f=0;
if(100<m&&m<125) ///我不清楚你這個m變化的過程,有可能會影響以下代碼的執行
{
if(f==0)
{
if(counter3==3)
{
f=1;
led2=1; // LED2亮燈3秒後熄燈
counter3=0;
}
}
if(f==1)
{
if(counter3==4)
{
f=0;
led2=0; // LED2熄燈4秒後亮燈
counter3=0;
}
}
}

C. 單片機控制單個LED閃爍五下的c程序,希望能加講解,謝謝啦

c語言程序很簡單:
#include<reg51.h>//包含頭文件
sbit LED=P1^0;//位變數定義
void main()//主程序
{
unsigned char i;//聲明一個變數
for(i=0;i<5;i++)/循環5次
{
LED=0;//亮
delayms(500);//延時
LED=1;//滅
delayms(500);//延時
}
while(1);//停止不動
}
延時子程序隨便搜一個,如果時間差別太大,可調某些參數

D. 在52單片機上實現:點亮任意一個LED,先以1HZ的頻率閃爍5秒,再以100HZ的頻率閃爍5秒,以此循環.

大體思路:設P0^0控制LED的亮滅,當P0.0=0時燈點亮。有兩種閃爍方式,可以讓1HZ的在main()函數里閃爍。然後開個定時器,讓100HZ的在定時器中斷里閃爍,就行了。
1HZ就是1S亮一次,100HZ是10ms亮一次

#include<reg52.h>
void delay(int x)
{
時間是5ms;
}
void timer1()interrupt 1 定時器0中斷
{
static unsigned int a;
unsigned int b;
if(++a==5) 看是否到了5S
{
TR0=0;先把定時器關了,防止在送段運行時再次進入中斷。
a=0;
for(b=1000;b>0;--b)
{
P0.0=0; 讓燈亮滅的間隔為5MS。一共閃5S
delay(1);
p0.0=~p0.0;
delay(1);

}
}
TH0=XX; 再次 設置好定時器,讓它每隔1S進一次中斷;
TL0=XX;
TR0=1;
}
void main()
{
TH0=XX; 設置好定時器,讓它每隔1S進一次中斷;
TL0=XX;
TR0=1;
while(1)
{

P0.0=0; 燈開始以500ms為間隔開始亮滅。
delay(100);
p0.0=~p0.0;
delay(100);
}
}

E. 用C語言編寫一個單片機控制LED燈閃爍變化的編程 急用!!!!!!!!!

C語言實現LED燈閃爍控制配套51單片機開發板。

#include //包含單片機寄存器的頭文件

/****************************************
函數功能:延時一段時間

*****************************************/

void delay(void) //兩個void意思分別為無需返回值,沒有參數傳遞。

{

unsigned int i; //定義無符號整數,最大取值范圍65535。

for(i=0;i<20000;i++) //做20000次空循環。

; //什麼也不做,等待一個機器周期。

}

/*******************************************************

函數功能:主函數 (C語言規定必須有也只能有1個主函數)。

********************************************************/
void main(void)

{

while(1) //無限循環。

{

P0=0xfe; //P1=1111 1110B, P0.0輸出低電平。

delay(); //延時一段時間。

P0=0xff; //P1=1111 1111B, P0.0輸出高電平。

delay(); //延時一段時間。

}

}

單片機驅動LED燈的源程序:

#include<reg52.h> //頭文件。

#define uint unsigned int

#define uchar unsigned char

sbit LED1=P1^7; //位定義。

void delay_ms(uint);//mS級帶參數延時函數。

void main()

{

while(1)

{

LED1=0;

delay_ms(1000);

LED1=1;

delay_ms(1000);

}

}

void delay_ms(uint z) //延時子程序

{

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

(5)用單片機控制一個led燈閃爍五秒擴展閱讀:

單片機應用分類:

通用型:

這是按單片機(Microcontrollers)適用范圍來區分的。例如,80C51式通用型單片機,它不是為某種專門用途設計的;專用型單片機是針對一類產品甚至某一個產品設計生產的,例如為了滿足電子體溫計的要求,在片內集成ADC介面等功能的溫度測量控制電路。

匯流排型:

這是按單片機(Microcontrollers)是否提供並行匯流排來區分的。匯流排型單片機普遍設置有並行地址匯流排、 數據匯流排、控制匯流排,這些引腳用以擴展並行外圍器件都可通過串列口與單片機連接。

另外,許多單片機已把所需要的外圍器件及外設介面集成一片內,因此在許多情況下可以不要並行擴展匯流排,大大減省封裝成本和晶元體積,這類單片機稱為非匯流排型單片機。

控制型:

這是按照單片機(Microcontrollers)大致應用的領域進行區分的。一般而言,工控型定址范圍大,運算能力強;用於家電的單片機多為專用型。

通常是小封裝、低價格,外圍器件和外設介面集成度高。 顯然,上述分類並不是惟一的和嚴格的。例如,80C51類單片機既是通用型又是匯流排型,還可以作工控用。

參考資料來源:網路-單片機



F. 51單片機怎麼只控制一顆LED燈閃爍

1、新建項目,如圖所示。

注意事項:

很多公司都有51系列的兼容機型推出,今後很長的一段時間內將佔有大量市場。51單片機是基礎入門的一個單片機,還是應用最廣泛的一種。需要注意的是51系列的單片機一般不具備自編程能力。

G. 51單片機led燈亮一秒停五秒程式怎麼寫

void delay_s(unsigned char t);
void main()
{
while(1)
{
led = 1;//led 亮
delay_s(1);//延時1s
led = 0;//led 暗
delay_s(5);//延時5s
}
}
這是主循環,你要把delay_s()這個延時函數補充進去,另外,led亮和暗的電平你得根據你得具體電路看是1亮還是0亮。

H. 求單片機c51的C語言編程:設當開關為1時,控制2個led交替閃爍,閃爍時間為5秒

#include#,led;sbitkey1=P1^0;sbitkey2=P1^1;voidt0isr()interrupt1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;times++;}voidrolled(){P0=led;led=(led>>1)|0x80;if(led==0xff)l

閱讀全文

與用單片機控制一個led燈閃爍五秒相關的資料

熱點內容
voc文件夾 瀏覽:862
租廣東聯通伺服器注意什麼雲空間 瀏覽:932
javascript高級程序設計pdf 瀏覽:289
pwm單片機原理 瀏覽:346
ai演算法在線修復圖片 瀏覽:979
scratch編程中如何做射擊游戲 瀏覽:476
at89c51編程器 瀏覽:341
項目經理叫醒程序員 瀏覽:342
autocad旋轉命令 瀏覽:660
手機版wpsoffice怎麼打包文件夾 瀏覽:579
在成都學車用什麼app 瀏覽:818
grep命令管道 瀏覽:426
java修改重啟 瀏覽:567
單片機供電方案 瀏覽:770
airpodspro一代怎麼連接安卓 瀏覽:218
豌豆莢app上有什麼游戲 瀏覽:285
公路商店app標簽選什麼 瀏覽:339
linuxoracle命令行登錄 瀏覽:227
android深度休眠 瀏覽:173
php微信開發例子 瀏覽:846