1. c51單片機 2*2矩陣按鍵控制四個燈,按1鍵亮一個燈,按2鍵亮兩個燈,以此
sbit hang1=P1.0;//行線作為輸出
sbit hang2=P1.1;
sbit lie1=P1.2;//列線作為輸入
sbit lie2=P1.3;
sbit led1=P1.4;//定義LED管腳
sbit led2=P1.5;
sbit led3=P1.6;
sbit led4=P1.7;
void main(void)
{
lie1=1;lie2=1;
led1=0;led2=0;led3=0;led4=0;//全部不亮
while(1)
{
hang1=0;hang2=1;
if(lie1=0)
{ delay_ms(10);
led1=1;
led2=0;
led3=0;
led4=0;}
if(lie2=0)
{ delay_ms(10);
led1=1;
led2=1;
led3=0;
led4=0;}
hang1=1;hang2=0;
if(lie1=0)
{ delay_ms(10);
led1=1;
led2=1
led3=1;
led4=0;}
if(lie2=0)
{ delay_ms(10);
led1=1;
led2=1;
led3=1;
led4=1;}
}
}
2. 單片機矩陣燈LD-1088BS使用方法,最主要寫怎麼控制各個燈
http://wenku..com/link?url=CHibI9bVwgaYHrlv__
3. 51單片機矩陣LED顯示編程
我之前用PIC單片機來做16×16LED點陣時,直接用IO口來驅動,能正常顯示一個靜態的任何圖形、文字、字母等符號;我學完靜態顯示之後想著自己研究下動態顯示來顯示移動的文字,就像大街上看到的那些LED廣告牌一樣,但是我發現如果直接用IO口驅動LED點陣沒法完成,點陣屏一直閃爍,亮度不夠。
後來,我通過其他一些方法來做點陣,發現用74HC595晶元來驅動點陣效果相當好,它是串入並出或者串入串出並帶有鎖存功能的TTL型的晶元,可與單片機直接相連,這個做出來的動態顯示LED點陣就完全沒問題了,可以按自己的想法做任何顯示。
希望我的回答能幫助到你。
4. 4個單片機I/O口實現4個按鍵來控制4個LED燈矩陣電路設計
就4個IO口,要實現4個按鍵和4個LED燈好像不太可以吧,要擴展電路的
5. 用51單片機,怎麼來控制1000個左右的LED燈呢
方法1:1000個左右的燈,需要10根地址線選通,51的IO管腳應該是沒有問題。剩下的就是要用大量的解碼器,把二進制信息轉換為管腳信息。
估計你僅僅是控制亮和滅,如果是這樣選通也就可以進行明暗的控制,否則輸出的信息也要加進去,就是說需要加驅動電路。
方法2:用移位電路,比如HC595,在51中地址做為串列信號發出,轉換為對應的地址線,然後在連接解碼器,這樣,51的管腳比較節省,但,編程的難度稍大。
你可以參考一下鍵盤解碼器的電路,控制16個和控制1000個的原理是一樣的。
6. 52單片機,矩陣按鍵怎麼一個鍵控制一個燈(亮滅),主函數里要怎麼加程序
可以啊,可以根據按鍵時間的長短,和高低電平來實現。比如,長按1s為高電平是一個功能,長按2s是另一個功能。 步驟為:先讀取某個io口的值,若為高電平(if 按鍵高電平有效),則延時1s,最後再讀取一次該io口的值,若繼續為高電平,則調用你要的功能即可。
7. 單片機如何控制矩陣型LED燈的亮滅。
先控制LY1-n = 1; 然後LY0=0;
接著輸出LX0-n這一列的亮滅埠值,這是對應LY0這一行工作,延時1ms,
再控制LY0,LY2-n = 1; 然後LY1=0;
接著輸出LX0-n這一列的亮滅埠值,這是對應LY1這一行工作,延時1ms,
。。。。
掃描完成LYn後,再回到最上面,繼續掃描LY0。
8. 單片機如何控制矩陣型LED燈的亮滅。
這個你要看原理圖。流水燈的控制是通過單片機p口接上595晶元來驅動,軟體實現移位實現流水燈現象
具體的步驟:
1:畫出你的原理圖,最小系統,外加led,595晶元
2:些軟體程序,通過keil編譯並下載到你的單片機
3:觀測效果
具體的程序根據你的原理圖
可以參考《吳鑒鷹單片機項目實戰精講》裡面關於搖搖棒的設計
9. 單片機控制leD的基本方法
閃爍LED燈
51單片機是較為簡單的8位單片機,意思是一次能處理8位2進制數據。這一次閃爍LED燈就是讓單片機的引腳定時輸出1或0。
51單片機有4個IO埠,每一個埠分別由P0,P1,P2,P3,4個寄存器控制。我們假設輸出0時LED燈點亮,我們用單片機驅動時就需要讓埠的某一位置零。例如我們用P1口的第0位閃爍點亮,我們需要給P1口的第0位定時置零。
10. C51單片機,如何用矩陣鍵盤控制,使LED燈實現4中不同閃爍方式
我這里用的是按鍵,,不知道你說的開關是不是按鍵,,要不是我再重新編
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit led=P1^6 ; // 控制LED的口
sbit key=P1^0; // 按鍵狀態檢測口
void delay(uint z) //延時函數
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void main()
{
uint a=0;
key=1;
led=1;
if(key==0)
{
delay(5);
if(key==0)
a++;
while(!key);
delay(5);
while(!key);
}
if(a==1)
{
while(key!=0)
{ led=0;
delay(1000);
led=1;}
led=1;a=0;
}
else led=1;
}