怎麼用51微控制器IO口控制兩個LED分別亮

2021-05-02 00:48:42 字數 1325 閱讀 1947

1樓:

1、新建專案,如圖所示。

2、新增標頭檔案,建立延遲函式。

3、建立c主函式。

4、新增死迴圈效果。

5、點亮led燈。p1=0x7e;二進位制11111110。

6、新增延遲效果即可。

注意事項:proteus 自從有了微控制器也就有了開發系統,隨著微控制器的發發系統也在不斷髮展。 keil是一種先進的微控制器整合開發系統。

它代表著組合語言微控制器開發系統的最新發展,首創多項便利技術,將開發的程式設計/**/除錯/寫入/加密等所有過程一氣呵成,中間不須任何編譯或彙編。

2樓:匿名使用者

兩個led串聯,一端接vcc,另一端接gnd,io引腳接其中間,但要求2個led的導通電壓之和小於電源電壓.

3樓:做而論道

很簡單。

一個 led,正極接 io 引腳,負極接地。

即可實現:io口輸出 1 時,燈亮。

另一個 led,正極接正電源,負極接 io 引腳。

即可實現:io口輸出 0 時,燈亮。

注意, led 都需要串聯一個電阻,用於控制電流的大小。

51微控制器1個按鍵控制2個燈分別點亮的程式。 5

4樓:

#include

#define uchar unsigned charsbit key = p1^0;

sbit led0 = p1^1;

sbit led1 = p1^2;

uchar count = 0;

void delayms (uchar time)//延時}void scan_key (void)}}}void main (void)

if (count==1)

if (count==2)}}

51微控制器,用兩個按鍵分別控制兩個led,一個亮/滅,另一個閃爍/滅,為什麼我按下了第二個燈不閃呢? 100

5樓:l惡魔不會哭

你的led1=~led1;這個語句沒有迴圈,所以只會反轉一次。要麼加迴圈,要麼再寫一個閃爍函式。

void led_filcker(usigned char x)}如果你是想,按一下,鬆開也會閃爍,再按一下熄滅。你得定義一個變數來表示按鍵的按下。

#include

#define uchar unsigned charbit stop=1;

sbit k5=p1^4;

void delay(uchar xms)void main()}}}

51微控制器怎麼用IO口擴充套件成輸入口

分輸入和輸出 輸入你可以選擇74ls244.這個是8通道快取器。輸出你可以選擇鎖存器74ls373.8位下降沿鎖存。然後你把5個輸入或者輸出口都接在某一個口,比如p1.這樣佔用8位。還剩餘2位。你可以用來控制4個這樣的裝置。這2位的組合分別是00,控制一個8位裝置。01控制一個8位裝置,10控制一個...

關於微控制器io口的高阻態問題,51微控制器的IO口怎麼設為高阻態

輸出沒有高阻態,輸入有,輸出是推輓 上拉,不要搞錯了 高阻態意味著從外部看,電阻很大,近於懸空 51微控制器的i o口怎麼設為高阻態 普通51微控制器的io口無法設定為高阻態。stc微控制器可以設定為高阻態,通過改變pnm0和pnm1的值來設定其狀態。當pnm1 pnm0 10時對應的io即為高祖態...

用51微控制器IO口驅動3mmLED燈,要加多大的限流電阻

1 你沒講清楚具體的連線方式 是io口的 高電平驅動燈亮,此時二極體加限流電阻接地 還是io的低電平驅動燈亮,此時二極體 加限流電阻接 5v。2學習51,數位電路切忌不要忘了電流,這兩種方式的電流是不一樣的,請到51 的資料手冊的引數裡面查詢,比如at89s52的英文手冊 找到直流特性 dc cha...