導航:首頁 > 操作系統 > 單片機一個燈光閃爍程序

單片機一個燈光閃爍程序

發布時間:2023-04-29 01:52:55

⑴ 用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--);

}

(1)單片機一個燈光閃爍程序擴展閱讀:

單片機應用分類:

通用型:

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

匯流排型:

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

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

控制型:

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

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

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



⑵ 我剛學單片機,想讓LED上的第一個小燈間隔200MS閃爍,我編的程序是這樣的

// 定義 LED 的數碼管編號
int led = 1;
// 定義 LED 閃爍的間隔時間,單位為毫秒
int interval = 200;
void setup() {
// 初始化數字輸出為輸出模式
pinMode(led, OUTPUT);
}
void loop() {
// 讓 LED 亮起來
digitalWrite(led, HIGH);
// 延遲一段時間
delay(interval);
// 讓 LED 熄滅
digitalWrite(led, LOW);
// 延遲一段時間
delay(interval);
}

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

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

注意事項:

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

⑷ 用單片機C語言怎麼寫用狀態機實現按鍵控制LED燈閃爍這個程序

#include<STC12C52.H>

#defineucharunsignedchar

#defineuintunsignedint

sbitkey=P1^2;

sbitp1_6=P1^6;

voiddelay(uchardelay_time)

{

ucharn;

uintm;

for(n=0;n<delay_time;n++)

{

for(m=0;m<10000;m++);

}

}

voidkeyscan()

{

if(key==0)

{

delay(5);

if(key==0)

while(!key)

{

p1_6=0;

delay(20);

p1_6=1;

delay(20);

}

}

}

voidmain()

{

WDT_CONTR=0x3C;

while(1)

{

keyscan();

WDT_CONTR=0x3C;

}

}

這個功能可以用中斷來實現,當然,現在我寫的這個也可以實現。由於你用的晶振頻率不知道,所以你自己修改一下延時時間,再把頭文件改一下,就可以了,我試驗了,可以實現改功能。

⑸ 單片機LED燈閃爍程序

char LED;
sbit key1down=P1^0 ; // 設開關key1連接此埠
sbit key2down=P1^1 ; // 設開關key2連接此埠
void main(){

P0=0xff; // 輸出低電平LED亮

LED=0xfe;
while(1){
P0=LED; delay();
if(key1){ LED <<= 1 ; } // 將LED左移一位;
if(key2){ LED >>= 1 ; LED |=0x80; } // 將LED右移一位;
if(key1down==0) { key1=1; key2=0;}
if(key2down==0) { key1=0; key2=1;}
}

⑹ 請大家給我寫一個用單片機c語言變的程序,要求:用定時器實現燈的閃爍

我看樓上寫的程序不怎麼好,而且不容易懂,不是單片機c語言吧,於是自作主張的自己又寫了一個,是51單片機的,12MHz晶振。我猜你現在用的是51吧?
#include
#define
uchar
unsigned
char
sbit
Led=P1^0;
uchar
counter;
void
timer1()
interrupt
3
using
1
{
TH1=-50000/256;
TL1=-50000%256;
counter=counter+1;
}
void
main()
{
counter=0;
TMOD=0x50;
TH1=-50000/256;
TL1=-50000%256;
//定時50ms,16位定時器
EA=1;
TR1=1;
while(1)
{
if(counter==20)
{
counter=0;
Led=~Led;
//led燈閃爍
}
}
}
樓主覺得可以的話,一定要給滿意噢,若有什麼不滿意的地方,請繼續追問。對啊,中斷裡面的程序一定要短,中斷嘛,本來就是要告訴單片機該做什麼的了。

⑺ 單片機下面程序是怎麼實行LED燈閃爍的

  1. 原理:LED閃爍其實就是LED亮滅,要看電路,有的直接是單片機驅動的小LED,給高平亮,給低電平滅,一直給高低電平循環就表現出亮滅了。

  2. 延時:就是亮多久後滅,滅多久後亮。

  3. 實現:先給高電平,LED亮,經過延時後,再給一個低電平,LED滅,再給一個延時,如此無限循環。

⑻ 單片機,用c語言編,單燈約1hz閃爍,怎麼編

首先,是單燈如何點亮的問題,無非就是某個GPIO口輸出高電平或者低電平(由外部電路決定)使燈亮滅,假設輸出高電平為亮,輸出低電平為滅。
其次,1hz閃爍,即代表定時1s開、關燈。所以要用到定時器。
代碼如下:
#include "stdio.h"

#define LED_ON P1.1 = 1;
#define LED_OFF P1.1 = 0;

bit flag_1s;
bit flag_cnt;

void main(void) {
Sys_Init();

while(1) {

if(flag_1s == 1) {

flag_1s = 0;

if(flag_cnt ^= 1)

LED_ON;

else

LED_OFF;

}

}

}

Sys_Init() {
// 初始化MCU的IO口

// 初始化定時器

}

void Timer_ISR (void) interrupt 1 { // 定時器中斷處理函數 1s 進入一次
flag_1s = 1;
}

閱讀全文

與單片機一個燈光閃爍程序相關的資料

熱點內容
linux下安裝vnc 瀏覽:656
微信圖片加密編輯可見 瀏覽:704
江恩操盤術pdf 瀏覽:929
本機構所屬的伺服器是什麼意思 瀏覽:783
c編譯器有哪些段 瀏覽:862
qq原創表情在哪個文件夾 瀏覽:624
點點賺app現在怎麼不能用了 瀏覽:363
網紅阿里程序員事件 瀏覽:203
演算法設計心得體會 瀏覽:116
java修改ip 瀏覽:149
php不需要編譯嗎 瀏覽:134
特斯拉新車如何用app控制 瀏覽:185
文檔拖到文件夾就不見了 瀏覽:814
標致308壓縮比是多少 瀏覽:749
伺服器和備用伺服器地址 瀏覽:926
程序員加班跳槽 瀏覽:706
青年員工在工作中如何化解壓力 瀏覽:604
包子解壓神器怎麼玩才爽 瀏覽:735
聯想加密電腦怎麼做系統 瀏覽:883
解壓最近的壓力 瀏覽:711