① 51單片機怎麼只控制一顆LED燈閃爍
1、新建項目,如圖所示。
注意事項:
很多公司都有51系列的兼容機型推出,今後很長的一段時間內將佔有大量市場。51單片機是基礎入門的一個單片機,還是應用最廣泛的一種。需要注意的是51系列的單片機一般不具備自編程能力。
② 求教如何用單片機控制LED燈的亮度
控制ked亮度不難,你硬體直接連連接好led燈,串個限流電阻。如果引腳一直給電平那麼燈肯定最亮,那你如果改變給燈的時間燈就能調亮度了,如你用定時器或者延時多少個時間引腳電平取反一次。例如每間隔1毫秒電平取反一次就可以改變亮度。那你在用個變數值來給這個時間賦值。就能調亮度了啊,比如你接個電位器電位器值改變你程序你就讓定時器時間也相應跟著變動
③ 單片機控制燈泡亮滅,請高手幫忙
#include
unsigned
int
void
main()
P1DIR&=~BIT0;//設置P1.0為輸入,用來檢測觸發信號
P1DIR|=BIT2;//p1.1控制LED二極體
{
while(P1IN&BIT0)//高電平觸發
for(i=0;i<15;i++)
{
for(j=0;j<65532;j++)
{
P1OUT=0X02;}
}
}
④ 如何利用單片機控制220V的燈泡亮滅
將220V燈泡串聯一個IGBT,用單片機控制IGBT的通斷來達到控制亮滅的目的,IGBT相當於繼電器,但是速度快很多
⑤ 單片機控制led燈亮度原理
單片機控制LED亮度原理:控制單片機輸出pwm信號的占空比,占空比越大,燈越亮。反之,越暗。
⑥ 單片機用串口通信控制led燈
單片機用串口線控制LED燈也是可以的,還有一些大神可以用plc進行le燈的控制,只要操作熟悉這兩者都是可以的
⑦ 哥,問一下怎樣讓單片機來控制燈泡呀,
這要看你控制什麼燈泡了,如果是220v的照明燈,那麼就用單片機控制繼電器,通過繼電器控制燈泡的亮滅。
如果是LED燈,那麼一般可以直接通過單片機控制其亮滅。當然12V、24V的高壓LED也需要通過一定的電路來控制了。
⑧ 單片機用匯編做一個控制8個LED燈泡從左到右依次點亮,最後全部亮,再全部熄滅後重復前面的過程
#include<reg51.h>
#include<intrins.h>
#defineucharunsignedchar
#defineuintunsignedint
//延時
voidDelayMS(uintx)
{
uchari;
while(x--)
{
for(i=0;i<120;i++);
}
}
//主程序
voidmain()
{
uints;
while(1)
{
P0=0xfe;
DelayMS(150);
for(s=8;s>1;s--)
{
P0=_crol_(P0,1);//P0的值向左循環移動
DelayMS(150);
}
P0=0x00;
DelayMS(150);
p0=0xff;
DelayMS(150);
(8)單片機控制燈泡擴展閱讀:
常用單片機匯編指令:
1 .MOV A,Rn寄存器內容送入累加器
2 .MOV A,direct 直接地址單元中的數據送入累加器
3 .MOV A,@Ri (i=0,1)間接RAM 中的數據送入累加器
4 .MOV A,#data立即數送入累加器
5 .MOV Rn,A 累加器內容送入寄存器
6 .MOV Rn,direct 直接地址單元中的數據送入寄存器
7 .MOV Rn,#data 立即數送入寄存器
8 .MOV direct,A 累加器內容送入直接地址單元
9 .MOV direct,Rn寄存器內容送入直接地址單元
10. MOV direct,direct 直接地址單元中的數據送入另一個直接地址單元
11 .MOV direct,@Ri (i=0,1)間接RAM 中的數據送入直接地址單元
12 MOV direct,#data立即數送入直接地址單元
13 .MOV @Ri,A (i=0,1)累加器內容送間接RAM 單元
14 .MOV @Ri,direct (i=0,1)直接地址單元數據送入間接RAM 單元
15 .MOV @Ri,#data (i=0,1)立即數送入間接RAM 單元
16 .MOV DPTR,#data16 16 位立即數送入地址寄存器
17 .MOVC A,@A+DPTR 以DPTR為基地址變址定址單元中的數據送入累加器
18 .MOVC A,@A+PC 以PC 為基地址變址定址單元中的數據送入累加器
19 .MOVX A,@Ri (i=0,1)外部RAM(8 位地址)送入累加器
20 .MOVX A,@DPTR 外部RAM(16 位地址)送入累加器
21 .MOVX @Ri,A (i=0,1)累計器送外部RAM(8 位地址)
22 .MOVX @DPTR,A 累計器送外部RAM(16 位地址)
23 .PUSH direct 直接地址單元中的數據壓入堆棧
24 .POP direct 彈棧送直接地址單元
25 .XCH A,Rn寄存器與累加器交換
26 .XCH A,direct 直接地址單元與累加器交換
27 .XCH A,@Ri (i=0,1)間接RAM 與累加器交換
28 .XCHD A,@Ri (i=0,1)間接RAM 的低半位元組與累加器交換
⑨ 單片機串口通信控制led燈的點亮
pc通過串口和單片機交換數據,從而控制LED燈。 pc程序用labview 調用Visa 進行串口通訊。單片機接受到串口命令後控制I/O口的高低電平實現led燈亮滅控制。
用串口調試助手就行,網上到處可以下載。也好用。關鍵問題是在電腦上發送的0,1,是以什麼數據格式發送的,通常以字元格式發送的,即是ASCII碼。所以,單片機接收時,也要按字元格式發才行。而你的程序是按十六進制數的格式判斷的,也就是二進制數,所以,發送和接收格式不統一,單片機就不能正常接收控制LED0,也就不能正常返回數據。 if(SBUF==0) //這是按二進制數接收的 if(SBUF==1) //這也是按二進制數接收的 這樣寫程序,要求電腦上,要按二進制數即十六進制數發送才行。 還是按字元格式收發比較好。
看你這程序編的,ha 查詢RI 不是等於 1,而是0 只有當數據傳送過來的時候,RI才會由1變為0,所以需要查詢的狀態是 0,不是1 當接收完數據後,再進行對RI的清零 還是不多說了,上程序,若滿意請記得採納一下,謝謝! 這是一個由串口助手發送十六進制碼來控制單片機的8個LED亮滅的簡單小程序
電腦上,你是用什麼軟體發送數據的看用串口調試助手就行,網上到處可以下載。也好用。關鍵問題是在電腦上發送的0,1,是以什麼數據格式發送的,通常以字元格式發送的,即是ASCII碼。所以,單片機接收時,也要按字元格式發才行。而你的程序是按十六進制數的格式判斷的,也就是二進制數,所以,發送和接收格式不統一,單片機就不能正常接收控制LED0,也就不能正常返回數據。