『壹』 51單片機如何實現,LED燈定時5分鍾定自己熄滅
這個不難,如果任務單純可以直接用軟體延時,如果還有其它任務循環,可以設置計數變數對定時器中斷進行累計,計數時間到了關閉相關驅動引腳即可。
『貳』 用c51單片機控制一個閃光燈循環閃光5次以後熄滅不再閃光,用C語言編程,求程序……
用C語言編程,求程序的方法:
#include//包含單片機寄存器的頭文件
/****************************************函數功能:延遲一段時間
*****************************************/
Voiddelay(Void)//Void表示沒有返回值,也沒有傳遞參數。
{
Unsignedint我;定義一個最大值為65535的無符號整數。
For (I = 0;我< 20000;i++) //執行20000個空循環。
;//什麼也不做,等待一個機器周期。
}
/*******************************************************
函數函數:主函數(C語言規則必須有且只能有一個主函數)。
********************************************************/空白主要(空白)
{
而(1)//無限循環。
{
P0=0xfe;//P1=11111110B,P0.0輸出低電平。
延遲();//推遲一段時間。
P0=0XFF;//P1=11111111B,P0.0輸出高電平。
延遲();//推遲一段時間。
}
}
單片機驅動LED光源程序:
#include//頭文件。
定義uint無符號int
#定義uchar無符號字元
SbitLED1=P1^7;//定義。
空白delay_ms(單位);//帶參數的ms級延時函數。
Voidmain()
{
而(1)
{
LED1=0;
Delay_ms(1000);
LED1=1;
Delay_ms(1000);
}
}
Voiddelay_ms(uintz)//delay子常式
{
使用Uintx,y;
For (x = z;X > 0;X -)
For (y = 110;Y > 0;Y -);
}
(2)編程滅燈擴展閱讀:
單片機應用分類:
一般類型:
這是關於微控制器的。例如80C51通用型單片機,它並不是為特定的目的而設計的;專用單片機是為某一類產品甚至某一種產品而設計生產的。例如,為了滿足電子體溫計的要求,晶元中集成了具有ADC介面的溫度測量控制電路等功能。
主線:
這是由微控制器是否提供並行匯流排來區分的。匯流排微控制器一般安裝有並行地址匯流排、數據匯流排、控制匯流排,這些引腳擴展並行外圍設備可以通過串口與單片機連接。
另外,很多單片機都需要將外圍設備和外圍設備的介面集成在一塊,所以在很多情況下不能並行擴展匯流排,大大降低了封裝成本和晶元體積,這種單片機被稱為非匯流排單片機。
控制類型:
這是關於微控制器的一般應用。一般來說,工業控制定址范圍大,計算能力強。家用電器的單片機大多是專用的。
它通常是小包裝、低價格、高集成的外圍設備和外圍介面。顯然,上述分類並不獨特和嚴格。例如,80C51類單片機既是通用的,又是匯流排的,還可以用於工業控制。
『叄』 C語言編程式控制制LED燈亮滅
首先要看Led燈和單片機的連接情況,如果只是控制亮滅,只需要看單片機埠控制即可,關鍵是配置埠的DDRx方向寄存器和PORTx數據寄存器,比如埠A的0引腳控制一個燈,要配置它的輸出高電平或是低電平以達到控制燈的亮滅,那就
燈亮:
DDRA |= BIT(0); //輸出
PORTA |= BIT(0);//高電平
燈滅:
DDRA |= BIT(0); //輸出
PORTA &= ~BIT(0);//低電平
其餘的就看你電路如何連接的,每個埠寄存器的每一位控制一個引腳,你可以查查晶元的數據手冊,上邊有個表格的。
如果你要控制燈的亮暗程度,選擇使用PWM輸出來控制,需要看定時計數器。
『肆』 如何編程式控制制電腦指示燈的亮滅
那個是實現不了的 那些都是一些簡單的二極體,通電就亮,沒有什麼控制 ,都是集成電路。不是軟體可以控制的
『伍』 單片機編程,控制LED延時亮滅的程序,
#include<reg51.h>
#include<INTRINS.h>
#defineu16unsignedint
#defineu8unsignedchar
#definePin00x01
#definePin10x02
#definePin20x04
#definePin30x08
#definePin40x10
#definePin50x20
#definePin60x40
#definePin70x80
sbitled1=P1^1;
sbitled2=P1^2;
sbitled3=P1^3;
sbitled4=P1^4;
sbitled5=P1^5;
sbitkg1=P3^1;
sbitkey2=P3^2;
sbitkey3=P3^3;
/****************************************/
voidinit() //初始化函數
{TMOD=0x01;
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
EA=1;
ET0=1;
}
/////////////////////////
u8s(){//掃描按鍵
staticu8ms;
u8t=0;
// if(key1==0)t|=Pin1;
if(key2==0)t|=Pin2;
if(key3==0)t|=Pin3;
if(t!=0x00){
if(ms<100)ms++;
if(ms==5){
returnt;
}
}elsems=0;
return0x00;
}
///////////////////////
typedefstruct{
u16time;//n毫秒後
u8l; //亮的燈
u8m; //滅的燈
}ledcmd;
#defineLED_CMD_SIZE10
codeledcmdlcmd[]={
{0,Pin2,0},//0s後led2亮
{500,Pin4,0,},//0.5s後led4亮
{1000,0,Pin4},//1s後led4滅
{300,Pin3,0,},
{300,Pin4,0,},
{1000,0,Pin4,},
{300,0,Pin2,},
{200,Pin5,0,},
{40,0,Pin5|Pin3},
{500,0,Pin1},
};
voidled_l(u8v){//亮燈程序
P1=P1&(~v);
}
voidled_m(u8v){//滅燈程序
P1=P1|(v);
}
u8ledzt=0xff;//led任務zt為0xff表示待機
u16ledjs;//倒計時
voidled_start(){//啟動程序
ledzt=0;
ledjs=lcmd[ledzt].time;
}
voidledcx(){//led流程程序
if(ledzt<LED_CMD_SIZE){
if((ledjs==0)&&(ledzt<LED_CMD_SIZE)){//計時到0
ledzt++;
if(ledzt!=LED_CMD_SIZE){
ledjs=lcmd[ledzt].time;
}
}
if(ledzt>1){//
led_l(lcmd[ledzt-1].l);
led_m(lcmd[ledzt-1].m);
}
}
}
/***********************************/
voidmain()//主函數
{
u8k;
init();//系統初始化
TR0=1;//定時器開始計時
while(1){
if(ledzt==0xff){led1=(kg1!=0);};//led不在運行狀態時根據開關改變led1
k=s();//讀取按鍵值
if((k&Pin2)!=0){//key2
if(led1==0&&ledzt==0xff){
led_start();
}
}
if((k&Pin3)!=0){//key3
ledzt=0xff;
led_m(Pin2|Pin4);
}
ledcx();
}
}
/****************************/
voidtimer0()interrupt1//1ms定時器
{
TH0=(65536-1000)/256;//重載初值
TL0=(65536-1000)%256;
if(ledjs>0)ledjs--;
}
『陸』 串聯通信口輸入01或00(16位)信號到單片機,分別讓單片機亮燈和滅燈,應該如何編程
編程建議你還是自己編,不然永遠不會。給你提供一點思路:
不同狀態下會從串列通信口輸出00或01信號(16位),為什麼要16位?只有兩個狀態,8位不可以嗎?如果必須16位,你也得拆分成兩個8位的位元組才能通信。你想讓這個信號控制單片機的亮燈和滅燈,接收程序中判斷從SBUF讀到的數據就可以了。
『柒』 三菱PLC8個走道燈的延時熄滅的程序怎樣編程
條件說的台太模糊了,可以詳細一點。
『捌』 按下SB1燈常亮,按下SB2燈亮2秒滅1秒,按下SB3燈熄滅 用PLC如何編程
用的是西門子的PLC,用梯形圖語言進行的編程。
PLC程序如下:I0.0代表SB1,I0.2代表SB2,I0.3代表SB3。
TON1為通電延時繼電器,延時2秒。
TON2為通電延時繼電器,延時1秒。
Q0.0為燈。
(8)編程滅燈擴展閱讀
1、PLC編程的特點
PLC編程的應用面廣、功能強大、使用方便,已經成為當代工業自動化的主要裝置之一,在工業生產的所有領域得到了廣泛的使用,在其他領域(例如民用和家庭自動化)的應用也得到了迅速的發展。
2、PLC編程的語言類型
PLC有五種標准編程語言:梯形圖語言(LD)、指令表語言(IL)、功能模塊語言(FBD)、順序功能流程圖語言(SFC)、結構文本化語言(ST)。這五標准編程語言,十分簡單易學。
『玖』 無命令循環4次後自動停止循環並熄滅所有燈編程
那你就編一個循環,設置循環為四次,如果說有命令進來的話,就設置一個標志位,有命令來的時候就給標志位置位並且重新執行循環,如果四個循環還不置位的話,循環結束後就執行停止循環熄滅燈的指令。不知道你用什麼語言哈。
『拾』 在兩秒內按下按鈕兩次燈亮,燈亮後兩秒內按下同一按鈕燈熄滅怎麼用三菱plc編程
如圖所示,望採納。。。。。。