久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

單片機AT89C52十字路口交通燈控制C語言程序

時間:2019-05-12 16:26:37下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《單片機AT89C52十字路口交通燈控制C語言程序》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《單片機AT89C52十字路口交通燈控制C語言程序》。

第一篇:單片機AT89C52十字路口交通燈控制C語言程序

單片機AT89C52十字路口交通燈控制程序

東西方向60秒,南北方向57秒

#include #define uchar unsigned char #define uint unsigned int

#define ON 0 #define OFF 1 sbit NS_G=P2^5;//南北綠燈

sbit NS_Y=P2^4;//南北黃燈 sbit NS_R=P2^3;//南北紅燈

sbit EW_G=P2^2;//東西綠燈 sbit EW_Y=P2^1;//東西黃燈 sbit EW_R=P2^0;//東西紅燈

sbit LED_D1=P3^7;//南北方向數碼管位控制 sbit LED_C1=P3^6;//南北方向數碼管位控制 sbit LED_B1=P3^1;//東西方向數碼管為控制 sbit LED_A1=P3^0;//東方向數碼管位控制

/*********倒計時賦初值*************/ uchar EWF=20,NSF=17,X=20,Y=17,Z=20,SHU=20;uchar count;

void Init(void){ TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;} /*******************中斷服務程序**************************/ void timer1(void)interrupt 1 {

TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;

count++;if(count>19){

EWF--;

NSF--;

X--;

Y--;

Z--;

SHU--;

count=0;

}

} /******************延時**********************/

void Delay10uS(uchar z){ uchar x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}

/******************led控制*******************/ unsigned char table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//共陰極數碼管賦值

void display1(uchar num1,uchar num2)

//控制東西方向led顯示 {

P0=table[num1];

LED_A1=ON;

Delay10uS(1);

LED_A1=OFF;

P0=table[num2];

LED_B1=ON;

Delay10uS(1);

LED_B1=OFF;

} void display2(uchar num3,uchar num4)//控制南北方向led顯示 {

P0=table[num3];

LED_C1=ON;

Delay10uS(1);

LED_C1=OFF;

P0=table[num4];

LED_D1=ON;

Delay10uS(1);

LED_D1=OFF;

} void main(){ int i;/************初始狀態東西南北禁止通行************/

NS_R=ON;//南北方向紅燈打開

EW_R=ON;

//東西方向紅燈打開

for(i=0;i<600;i++)

{

Delay10uS(20);

} NS_R=OFF;//南北方向紅燈關閉

EW_R=OFF;//東西方向紅燈關閉

while(1)

{

Init();

// 初始化計時器

/****************狀態1:東西綠燈(57s),南北紅燈(60s)**************/ /***************狀態2:東西黃燈(3s),南北紅燈(60s)****************/

EW_G=ON;//東西方向的綠燈打開

NS_R=ON;//南北方向的紅燈打開

while(EWF!=0)

{

display1(EWF/10,EWF%10);// 東西方向紅燈(60s)

display2(NSF/10,NSF%10);// 南北方向綠燈(57s)

while(EWF==3)

{

while(X!=0)

{

display1(EWF/10,EWF%10);// 東西方向紅燈(3s)

display2(X/10,X%10);// 南北方向黃燈(3s)

EW_G=OFF;// 東西方向的綠燈關閉

EW_Y=ON;// 東西方向的黃燈打開

}

}

}

NS_R=OFF;// 南北方向的紅燈關閉

EW_G=OFF;// 東西方向的綠燈關閉

EW_Y=OFF;// 東西方向的黃燈打?

/*=*************狀態3:東西紅燈(60s),南北綠燈(57s)************/ /****************狀態4:東西紅燈(60s),南北黃燈(3s)***************/

EW_R=ON;// 東西方向的紅燈打開

NS_G=ON;// 南北方向的綠燈打開

while(Z!=0)

{

display2(Z/10,Z%10);// 南北方向紅燈(57s)

display1(Y/10,Y%10);// 東西方向綠燈(57s)

while(Z==3)

{

while(SHU!=0)

{

display2(Z/10,Z%10);// 東西紅燈(3s)

display1(SHU/10,SHU%10);// 南北綠燈(3s)

NS_G=OFF;//南北方向的綠燈關閉

NS_Y=ON;// 南北方向的黃燈打開

}

}

}

} EW_R=OFF;// 東西方向的紅燈關閉

NS_G=OFF;// 南北方向的綠燈關閉

NS_Y=OFF;// 南北方向的黃燈關閉

EWF=60,NSF=57,X=60,Y=57,Z=60,SHU=60;//重新賦值

}

第二篇:51單片機控制交通燈原理圖及C語言程序

Proteus仿真原理圖:

Keil C源程序:

#include #define uchar unsigned char #define uint

unsigned

int sbit

RED_DONGXI

= P1^0;//南北方向紅燈亮 sbit

YELLOW_DONGXI = P1^1;//南北方向黃燈亮 sbit

RED_NANBEI

= P1^3;//東西方向紅燈亮 sbit

GREEN_DONGXI = P1^2;//南北方向綠燈亮 sbit

YELLOW_NANBEI = P1^4;//東西方向黃燈亮 sbit

GREEN_NANBEI = P1^5;//東西方向綠燈亮

sbit

DXweixuan1

= P1^6;//南北方向數碼管位選1 sbit

DXweixuan2

= P1^7;//南北方向數碼管位選2 sbit

NBweixuan1

= P3^0;//東西方向數碼管位選1 sbit

NBweixuan2

= P3^1;//東西方向數碼管位選2 sbit

L1=P3^5;sbit

L2=P3^6;sbit

L3=P3^7;uint aa, bai,shi,ge,bb;uint shi1,ge1,shi2,ge2;uint code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};uint code table1[]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6};void delay(uint z);void init(uint a);void display(uint shi1,uint ge1,uint shi2,uint ge2);void xtimer0();void init1();void init2();void init3();void init4();void init5();void xint1();void xint0();void LED_ON();void LED_OFF();

void main(){ P0=0xFF;P1=0xFF;P2=0x00;

P3=0xFF;EA=1;EX0=1;IT0=0;

init1();while(1)

{

init2();//第2個狀態

init3();//第3個狀態

init4();//第4個狀態

init5();//第5個狀態

} } void init1()//第一個狀態:東西、南北方向均亮紅燈5S { uint temp;temp=5;TMOD=0x01;TH0=(65535-50000)/256;TL0=(65535-50000)%256;EA=1;ET0=1;TR0=1;while(1){

RED_DONGXI=0;

//第一個狀態東西、南北均亮紅燈5S

RED_NANBEI=0;

GREEN_DONGXI=1;

GREEN_NANBEI=1;

YELLOW_DONGXI=1;

YELLOW_NANBEI=1;

if(aa==20)//定時20*50MS=1S

{

aa=0;

temp--;

}

shi1=shi2=temp/10;

ge1=ge2=temp%10;

if(temp==0)

{

temp=5;

break;

}

display(ge1,shi1,ge2,shi2);} } void init2()//第二個狀態:東西亮紅燈30S~5S、南北亮綠燈25~0S;{ uint temp;temp=26;TMOD=0x01;TH0=(65535-50000)/256;TL0=(65535-50000)%256;EA=1;ET0=1;TR0=1;while(1){

RED_DONGXI=1;

RED_NANBEI=0;

GREEN_DONGXI=0;

GREEN_NANBEI=1;

YELLOW_DONGXI=1;//第二個狀態:東西亮綠燈25S、南北亮紅燈

YELLOW_NANBEI=1;

if(aa==20)//定時20*50MS=1S

{

aa=0;

temp--;

shi1=(temp+5)/10;

}

}

} ge1=(temp+5)%10;shi2=temp/10;ge2=temp%10;if(temp==0){ temp=26;break;} display(ge1,shi1,ge2,shi2);void init3()//第三個狀態:東西綠燈變為黃燈閃5次、南北亮紅燈5S { uint temp;temp=6;TMOD=0x01;TH0=(65535-50000)/256;TL0=(65535-50000)%256;EA=1;ET0=1;TR0=1;while(1){

RED_NANBEI=0;

GREEN_DONGXI=1;

if(aa==20)//定時20*50MS=1S

{

aa=0;

temp--;

YELLOW_DONGXI=~YELLOW_DONGXI;

shi1=temp/10;

shi2=shi1;

ge1=temp%10;

ge2=ge1;

}

if(temp==0)

{

temp=6;

break;

}

display(ge1,shi1,ge2,shi2);} } void init4()//第四個狀態:東西亮綠燈25~0S,南北方向亮紅燈30~5S; { uint temp;temp=26;TMOD=0x01;TH0=(65535-50000)/256;TL0=(65535-50000)%256;EA=1;ET0=1;TR0=1;while(1){

RED_DONGXI=0;

RED_NANBEI=1;

YELLOW_DONGXI=1;//第一個狀態東西、南北均亮紅燈5S

GREEN_NANBEI=0;

if(aa==20)

{

aa=0;

temp--;

shi1=temp/10;

shi2=(temp+5)/10;

ge1=temp%10;

ge2=(temp+5)%10;

if(temp==0)

{

temp=26;

break;

}

}

display(ge1,shi1,ge2,shi2);} } void init5()//第五個狀態:東西亮紅燈、南北綠燈閃5次轉亮黃燈5S { uint temp;temp=6;TMOD=0x01;TH0=(65535-50000)/256;TL0=(65535-50000)%256;EA=1;ET0=1;TR0=1;while(1){

RED_NANBEI=1;

RED_DONGXI=0;

GREEN_DONGXI=1;

GREEN_NANBEI=1;

if(aa==20)

{

aa=0;

temp--;

YELLOW_NANBEI=~YELLOW_NANBEI;

shi1=temp/10;

shi2=shi2;

ge1=temp%10;

ge2=ge1;

if(temp==0)

{

temp=6;

break;

}

}

display(ge1,shi1,ge2,shi2);} }

void display(uint shi1,uint ge1,uint shi2,uint ge2){ DXweixuan1=0;DXweixuan2=1;NBweixuan1=1;NBweixuan2=1;P0=table[ge1];delay(5);DXweixuan1=1;DXweixuan2=0;NBweixuan1=1;NBweixuan2=1;P0=table[shi1];delay(5);DXweixuan1=1;DXweixuan2=1;NBweixuan1=0;NBweixuan2=1;P0=table[ge2];delay(5);DXweixuan1=1;DXweixuan2=1;NBweixuan1=1;NBweixuan2=0;P0=table[shi2];delay(5);} void xint0()interrupt 0 { RED_NANBEI=0;RED_DONGXI=0;GREEN_NANBEI=1;GREEN_DONGXI=1;

YELLOW_NANBEI=1;YELLOW_DONGXI=1;P0=0x00;NBweixuan1=0;NBweixuan2=0;DXweixuan1=0;DXweixuan2=0;delay(2);return;} void xint1()interrupt 2 { RED_NANBEI=1;RED_DONGXI=1;GREEN_NANBEI=0;GREEN_DONGXI=0;

YELLOW_NANBEI=1;YELLOW_DONGXI=1;P0=0x00;NBweixuan1=0;NBweixuan2=0;DXweixuan1=0;DXweixuan2=0;delay(2);return;} void xtimer0()interrupt 1 { TH0=(65535-50000)/256;TL0=(65535-50000)%256;aa++;} void delay(uint z){uint x,y;for(x=0;x

for(y=0;y<110;y++);}

第三篇:十字路口交通燈控制設計

網絡教育學院

《可編程控制器》大作業

目: 十字路口交通燈控制設計

學習中心: 遼寧彰武電大學習中心 層 次: 高中起點專科 專 業: 電力系統自動化技術

年 級: 2015 年 秋 季 學 號: ***6 學生姓名: 陳 潤 澤

題目五:十字路口交通燈控制設計

起動后,南北紅燈亮并維持30s。在南北紅燈亮的同時,東西綠燈也亮,東西綠燈亮25s后閃亮,3s后熄滅,東西黃燈亮,黃燈亮2s后,東西紅燈亮,與此同時,南北紅燈滅,南北綠燈亮。南北綠燈亮25s后閃亮,3s后熄滅,南北黃燈亮,黃燈亮2s后,南北紅燈亮,東西紅燈滅,東西綠燈亮。依次循環。

十字路口交通燈控制示意圖及時序圖如下圖所示。

設計要求:(1)首先對可編程序控制器(PLC)的產生與發展、主要性

能指標、分類、特點、功能與應用領域等進行簡要介紹;

(2)設計選用西門子S7-200 系列PLC,對其I/O口進行分配,并使用STEP7-MicroWIN編程軟件設計程序梯形圖(梯形圖截圖后放到作業中);

(3)總結:需要說明的問題以及設計的心得體會。

設計背景 1.1 背景概述

本文對十字路口交通信號燈控制系統,運用可編程邏輯器件PLC做了軟件與硬件的設計,能基本達到控制要求。系統僅實現了小型PLC系統的一個雛形,在完善各項功能方面都還需要進一步的分析、研究和調試工作。如果進一步結合工業控制的要求,形成一個較為成型的產品,則需要作更多、更深入的研究。

1.2 可編程邏輯控制器簡介

可編程邏輯控制器(Programmable Logic Controller,簡稱 PLC)根據國際電工委員會(IEC)在1987年的可編程控制器國際標準第三稿中,對其作了如下定義:“可編程控制器是一種數字運算操作的電子系統,專為在工業環境應用而設計的。它采用可編程序的存儲器,用來在其內部存儲執行邏輯運算,順序控制,定時,計數與算術運算等操作的指令,并通過數字式、模擬式的輸入和輸出,控制各種類型的機械或生產過程。可編程控制器及其有關外部設備,都應按易于使工業控制系統形成一個整體,易于擴充其功能的原則設計。”可編程控制器作為目前工業自動化的重要基礎設備,被稱為“工業自動化三大支柱性產業之一”,在各工業生產領域發揮著愈來愈大的作用。十字路口交通信號燈PLC控制系統簡介 2.1 控制對象及要求 2.1.1 控制對象

本系統的控制對象有八個,分別是: 東西方向紅燈(R—EW)兩個; 南北方向紅燈(R—SN)兩個; 東西方向黃燈(Y—EW)兩個; 南北方向黃燈(Y—SN)兩個; 東西方向綠燈(G—EW)兩個; 南北方向綠燈(G—SN)兩個; 東西方向左轉彎綠燈(L—EW)兩個; 南北方向左轉彎綠燈(L—SN)兩個。2.1.2 控制要求

1、系統工作受開關控制,起動開關 ON 則系統工作;起動開關 OFF 則系統停止工作;

2、交通信號燈按高峰時段、正常時段及晚上時段進行控制,這三個時段的的時序分配如圖1所示;

3、在高峰時段,交通信號燈按圖2所示時序控制;

4、在正常時段,交通信號燈按圖3 所示時序控制;

5、晚上時段按提示警告方式運行,規律為: 東、南、西、北四個黃燈全部閃亮,其余燈全部熄滅,黃燈閃亮按亮 0.4 秒,暗 0.6 秒的規律反復循環。

2.2 系統簡介

本系統是一個十字路口交通燈的PLC控制系統,利用西門子公司的S7-200可編程邏輯控制器對十字路口的交通燈進行控制。本系統具有一定的智能性,即它可以對交通燈按高峰期、正常期及晚間幾個時段進行分段控制。高峰期的控制方案為:

(1)南北方向左轉彎燈和南北南北方向紅燈同時亮10秒,同時東西方向紅燈亮;

(2)南北方向綠燈亮35秒,東西方向紅燈繼續亮;(3)南北方向黃燈閃爍5秒;東西方向紅燈繼續亮;

(4)東西方向左轉彎綠燈和南北方向紅燈同時亮10秒,東西方向紅燈繼續亮;(5)東西方向綠燈亮25秒,南北方向紅燈繼續亮;

(6)東西方向黃燈閃爍5秒,南北方向紅燈繼續亮,然后跳至第(1)步依次循環。

正常期的控制方案為:

(1)南北方向左轉彎燈和南北南北方向紅燈同時亮10秒,同時東西方向紅燈亮;(2)南北方向綠燈亮30秒,東西方向紅燈繼續亮;(3)南北方向黃燈閃爍5秒;東西方向紅燈繼續亮;

(4)東西方向左轉彎綠燈和南北方向紅燈同時亮10秒,東西方向紅燈繼續亮;(5)東西方向綠燈亮30秒,南北方向紅燈繼續亮;

(6)東西方向黃燈閃爍5秒,南北方向紅燈繼續亮,然后跳至第(1)步依次循環。

晚間的控制方案為:

東、南、西、北四個黃燈全部閃亮,其余燈全部熄滅,黃燈閃亮按亮 0.4 秒,暗 0.6 秒的規律反復循環。

2.3 硬件選型

城市道路交通信號控制是典型的開關量順序控制,采用PLC能充分利用它的優點。在這里我們采用德國西門子公司的S7-200可編程控制器,它是積木式結構,安裝比較方便,中央處理單元和信號模板有多種類型,另外還具有如位控單元、PD調節等特殊功能模塊。根據本系統輸入點數及控制要求,中央處理單元可選用CPU224,該CPU板上本身具有10個數字量輸入點,6個非隔離數字量輸出點,最多能夠帶8個數字量信號模板。

電源模塊將交流電源轉換成供CPU,存儲器等所有擴展模塊使用的直流電源,是整個PLC系統的能源供給中心,它的好壞直接影響到PLC的穩定性和可靠。S7-200屬于小型PLC,電源模塊與CPU模塊封裝在一起,通過連接總線為本機和擴展模塊提供+5V(DC)電源。同時,還可通過端子向外輸出一個+24V(DC)電源,供本機輸入點和擴展模塊繼電器線圈使用。需注意的是,從資料中我們了解到,外部電源不可與S7-200的傳感器電源并聯使用。否則,交會導致兩個電源的竟爭而影響它們各自的輸出,縮短其使用壽命,使得一個或兩個電源同時失效,使PLC系統產生不正確的操作。正確的使用方法是S7-200的傳感器電源和外部電源應該在不同的點上提供電源,而兩者之間只能有一個會共連接點。

由于根據控制要求所確定的輸入輸出點分別人二個和九個,由于我們是以一個路口信號單獨控制為例,考慮到夠用為準。所以我們選擇了CPU224這一具有較強控制功能的控制器。

另外,在硬件選型時,不要忘記完成現場測試及軟件編程時所需的一些設備。綜上,得到系統硬件配置如表1所示:

表1 硬件配置表 名 稱 數 量 DC24V電源 1 CPU224 1 PC/PPI編程電纜 STEP7編程軟件 1 PC機 1 3 系統I/O分配

分析PLC的輸入和輸出信號,在滿足控制要求的前提下,要盡量減少占用PLC的I/O點。由系統控制要求可見,由控制開關輸入的啟、停信號是輸入信號。由PLC的輸出信號控制各指示燈的亮、滅。在交通燈布置圖中,南北方向的三色燈共六盞,同顏色的燈在同一時間亮、滅;所以,可將同色燈兩兩并聯,用一個輸出信號控制。同理,東西方向的三色燈也依次設計。再加上東西方向左轉的三色燈共九盞,所以其占9個輸出點。由此可得系統I/O分配如表2所示:

表2 系統I/O分配表

輸入/輸出 設備/器件名稱 I/O地址 輸入 校正當前時鐘 I0.0

符號名 數據類型 1

SB0 BOOL 程序啟停按鈕 I0.1 SB1 BOOL

Q1 DINT 輸出

東西方向綠燈 Q0.0 東西方向黃燈 Q0.1 東西方向紅燈 Q0.2 南北方向綠燈 Q0.3

Q2 DINT Q3 DINT Q4 INT

南北方向黃燈 Q0.4 南北方向紅燈 Q0.5

Q5 INT Q6 INT

Q7 INT Q8 INT 東西方向左轉彎燈 Q0.6 南北方向左轉彎燈 Q0.7 4 軟件設計

本控制系統的控制原理是:用一路數字量的不同輸入狀態來判定是否對時鐘進行初始化,用一路數字量的不同輸入狀態分別用作程序的啟動和停止控制,每一方向有紅、黃、綠及轉彎四種信號燈,分別對應四位數字量輸出,兩個方向共有8位數定量輸出;在某一方向用兩個延時脈沖定時器分別控制該方向黃燈閃爍的亮、滅時間,根據道路人車流量多少,分別設置各信號燈亮滅時間的長短,通過6個定時器依次交替工作,就可實現各方向交通信號燈的順序工作。本文所設計的軟件由一個主程序和四個子程序(時鐘初始化子程序,晚間時段交通燈控制子程序,正常時段交通燈控制子程序和高峰時段交通燈控制子程序)組成。主程序主要任務包括:讀取兩個開關狀態,根據開關的不同狀態做出相應的處理,當開關SB0閉合時則對時鐘進行初始化,反之則不對時鐘進行初始化;當開關SB1閉合時,則讀取時鐘值,并做處理,根據處理后的時鐘值的大小判定當前時間是屬于哪個時間段,并調用相應的交通燈控制子程序,反之,則停止程序的運行主程序流程圖如圖5所示。晚間時段的控制規律為:兩個方向的四個黃燈均按亮0.4秒滅0.6秒的規律閃爍,其余的交通燈全滅程序中將用到兩個定時器T37和T38,各定時器的功能如表3所示。正常時段的控制方案結構圖如圖6所示,程序中將用到8個定時T37-T44,各定時器的功能如表4所示。高峰時段的控制方案結構圖如圖7所示,程序中將用到8個定時T37-T44,各定時器的功能如表5所示。

該程序實現了信號由東西左轉、東西直行、南北直行依次循環變化。其優勢思路簡單,容易理解,對時鐘的校正以及各時段的起始時間和終止時間的修改方便。如路口要求在晚上10:00以后實行各方向黃色信號燈閃爍功能,只需要將實時采集PLC的時鐘信號作為一個子程序的跳轉條件,再增加一段閃光程序即可。如果需要將幾個路口集中到一臺PLC控制,根據實際需要的I/O點數,硬件上再增加相應的數字量輸出模板即可。需要指出的是,用PLC實現城市道路關通信號控制,最好幾個路口共用一套PLC,這樣可以大大降低工程成本。

表3 晚間時段各定時器一個循環中的功能明細表 定時器 t0 t1 T2 T37 定時0.4秒 開始定時,黃燈亮 定時到,輸出ON且保持;黃燈滅 開始下一次循環的定時 T38 定時1秒 開始定時 繼續定時 定時到,輸出ON,隨即復位開始下一次循環的定時,黃燈亮。

表4 正常時段各定時器一個循環中的功能明細表 定時器 t0 t1 t2 t3 t4 t5 t6 T37 定時10秒 開始定時,南北轉彎燈、南北紅燈、東西紅燈亮。定時到,輸出ON且保持;南北轉彎燈滅,南北綠燈亮,東西紅燈繼續亮。開始下一個循環定時

ON ON ON ONT38 定時40秒 開始定時 繼續定時 定時到,輸出ON且保持;南北綠燈滅,南北黃燈閃爍,東西紅燈繼續亮。T39 定時45秒 開始定時 繼續定時 繼續定時 定時到,輸出ON且保持;南北黃燈滅,東西轉彎燈、南北紅燈亮,東西紅燈繼續亮。ON ON 開始下一個循

ON ON ON 開始下一個循環定時 環定時 T40 定時55秒 開始定時 繼續定時 繼續定時 繼續定時 定時到,輸出ON且保持;東西轉彎、東西紅燈滅,東西綠燈亮,南北紅燈繼續亮。一個循環定時 T41 定時85秒 開始定時 繼續定時 繼續定時 繼續定時 繼續定時 定

ON 開始下到,輸出ON且保持;東西綠燈滅,東西黃燈閃爍,南北紅燈繼續亮。開始下一個循環定時 T42 定時90秒 開始定時 繼續定時 繼續定時 繼續定時 繼續定時 繼續定時 定時到,輸出ON,隨即復位開始下一次循環定時;東西黃燈、南北紅燈滅,南北轉彎燈、南北紅燈、東西紅燈亮。

表5 高峰時段各定時器一個循環中的功能明細表 定時器 t0 t1 t2 t3 t4 t5 t6 T37 定時10秒 開始定時,南北轉彎燈、南北紅燈、東西紅燈亮。定時到,輸出ON且保持;南北轉彎燈滅,南北綠燈亮,東西紅燈繼續亮。開始下一個循環定時

ON ON ON ONT38 定時45秒 開始定時 繼續定時 定時到,輸出ON且保持;南北綠燈滅,南北黃燈閃爍,東西紅燈繼續亮。T39 定時50秒 開始定時 繼續定時 繼續定時 定時到,輸出ON且保持;南北

ON ON ON 開始下一個循環定時 黃燈滅,東西轉彎燈、南北紅燈亮,東西紅燈繼續亮。ON ON 開始下一個循環定時 T40 定時60秒 開始定時 繼續定時 繼續定時 繼續定時 定時到,輸出ON且保T41 定時85秒 開始定時 繼續定時 繼續定時 繼續定時 繼續定時 定

時到,輸出ON且保持;東西綠燈滅,東西黃燈閃爍,南北紅燈繼續亮。開始下一個循環定時 T42 定時90秒 開始定時 繼續定時 繼續定時 繼續定時 繼續定時 繼續定時 定時到,輸出ON,隨即復位開始下一次循環定時;東西黃燈、南北紅燈滅,南北轉彎燈、南北紅燈、東西紅燈亮。持;東西轉彎、東西紅燈滅,東西綠燈亮,南北紅燈繼續亮。5 程序編輯

附錄 源程序-STL語句 ORGANIZATION_BLOCK 主:OB1 TITLE=程序注解 VAR T:BYTE;//時鐘值緩沖區 H:INT;//小時數存儲單元 M:INT;//分鐘數存儲單元 SEC:INT;//秒鐘數存儲單元

Tim:WORD;//小時數乘100加分鐘數乘10加秒鐘數所得結果存儲單元 END_VAR BEGIN Network 1 // 網絡標題 // 網絡注解 LD I0.0 CALL SBR0 //開關SB0閉合,調用SBR0(INIT)對時鐘進行初始化 Network 2 LDN I0.1 //起動/停止開關SB1斷開,則停止程序 STOP Network 3 LD I0.1 TODR LB0 //起動/停止開關SB1閉合,則起動程序,讀取時鐘 Network 4 LD I0.1 INCB LB0 Network 5 LD I0.1 INCB LB0 Network 6 LD I0.1 INCB LB0 //T加3指向小時存儲單元 Network 7 LD I0.1 BTI LB0, LW1 //將小時由字節型轉換為整型 Network 8 LD I0.1 MOVW LW1, VW16 *I +100, VW16 //將小時的數值乘以100 Network 9 LD I0.1 INCB LB0 //將T指向分鐘存儲單元 Network 10 LD I0.1 BTI LB0, LW3 //將分鐘由字節型轉換為整型 Network 11 LD I0.1 MOVW LW3, VW18 *I +10, VW18 //將分鐘的數值乘以10 Network 12 LD I0.1 MOVW VW16, VW20 +I VW18, VW20 //將小時數乘100與分鐘數乘10相加 Network 13 LD I0.1 INCB LB0 //將T指向秒鐘存儲單元 Network 14 LD I0.1 BTI LB0, LW5 //將秒鐘由字節型轉換為整型 Network 15 LD I0.1 MOVW VW14, LW7 +I LW5, LW7 //將小時數乘100與分鐘數乘10相加所得的結果與秒鐘數相//加得Tim Network 16 LDW<= LW7, 630序

CALL SBR1 //Tim小于630時,則調用SBR1(SUBE)子程 Network 17 LDW< LW7, 700 CALL SBR2 //Tim大于630小于700時,則調用SBR2(SUBN)子程序 Network 18 總結

通過這次課程設計,加強了我們動手、思考和解決問題的能力。在整個設計過程中,我們通過這個方案包括設計了一套電路原理和PCB連接圖,和芯片上的選擇。這個方案總共使用了74LS248,CD4510各兩個,74LS04,74LS08,74LS20,74LS74,NE555定時器各一個。

2、在設計過程中,經常會遇到這樣那樣的情況,就是心里想老著這樣的接法可以行得通,但實際接上電路,總是實現不了,因此耗費在這上面的時間用去很多。

3、我沉得做課程設計同時也是對課本知識的鞏固和加強,由于課本上的知識太多,平時課間的學習并不能很好的理解和運用各個元件的功能,而且考試內容有限,所以在這次課程設計過程中,我們了解了很多元件的功能,并且對于其在電路中的使用有了更多的認識。

第四篇:單片機定時器控制交通燈程序1

定時器控制交通指示燈

/* 名稱:定時器控制交通指示燈

說明:東西向綠燈亮5s后,黃燈閃爍,閃爍5次亮紅燈,紅燈亮后,南北向由紅燈變成綠燈,5s后南北向黃燈閃爍,閃爍5次后亮紅燈,東西向綠燈亮,如此往復。*/ #include #define uchar unsigned char #define uint unsigned int sbit RED_A=P0^0;//東西向指示燈

sbit YELLOW_A=P0^1;sbit GREEN_A=P0^2;sbit RED_B=P0^3;//南北向指示燈

sbit YELLOW_B=P0^4;sbit GREEN_B=P0^5;//延時倍數,閃爍次數,操作類型變量

uchar Time_Count=0,Flash_Count=0,Operation_Type=1;//定時器0中斷函數 void T0_INT()interrupt 1 { TL0=-50000/256;TH0=-50000%256;switch(Operation_Type){

case 1: //東西向綠燈與南北向紅燈亮5s

RED_A=0;YELLOW_A=0;GREEN_A=1;

RED_B=1;YELLOW_B=0;GREEN_B=0;

if(++Time_Count!=100)return;//5s(100*50ms)切換

Time_Count=0;

Operation_Type=2;

break;

case 2: //東西向黃燈開始閃爍,綠燈關閉

if(++Time_Count!=8)return;

Time_Count=0;

YELLOW_A=~YELLOW_A;GREEN_A=0;

if(++Flash_Count!=10)return;//閃爍

Flash_Count=0;

Operation_Type=3;

break;

case 3: //東西向紅燈與南北向綠燈亮5s

RED_A=1;YELLOW_A=0;GREEN_A=0;

RED_B=0;YELLOW_B=0;GREEN_B=1;

if(++Time_Count!=100)return;//5s(100*50ms)切換

Time_Count=0;

Operation_Type=4;

break;

case 4: //南北向黃燈開始閃爍,綠燈關閉

if(++Time_Count!=8)return;

Time_Count=0;

YELLOW_B=~YELLOW_B;GREEN_A=0;

if(++Flash_Count!=10)return;

Flash_Count=0;

Operation_Type=1;

break;}

} //主程序 void main(){ TMOD=0x01;

//T0方式1 IE=0x82;TR0=1;while(1);}

//閃爍

第五篇:十字路口交通燈控制畢業設計答辯題目

十字路口交通燈控制畢業設計答辯題目

1.PLC控制系統設計的基本內容?本文選擇西門子可編程控制器S7-200為核心部件,著重進行硬件接口設計,利用梯形圖和語句表進行編程,實現了十字路口交通燈控制系統的自動化。

2.試述你設計的十字路口交通燈控制時序關系?信號燈受一個起動開關控制,當起動開關接通時,信號系統開始工作,且先南北紅燈亮,東西綠燈亮。當起動開關斷開時,所有信號燈都熄滅。

南北綠燈和東西綠燈不能同時亮,如果同時亮時應關閉信號燈系統,并報警。

南北紅燈亮維持30S。在南北紅燈亮的同時東西綠燈也亮,并維持25S。到25S時,東西綠燈閃爍,閃爍3S后熄滅。在東西綠燈熄滅時,東西黃燈亮,并維持2S。到2S時,東西黃燈熄,東西紅燈亮。同時,南北紅燈熄滅,南北綠燈亮。

東西紅燈亮維持30S。南北綠燈亮維持25S。然后閃爍3S,熄滅。同時南北黃燈亮,維持2S后熄滅,這時南北紅燈亮,東西綠燈亮。

周而復始。

3.試述你選擇的PLC的型號,它的輸入是(1)、輸出各是(7),留有多少裕量?一般留40%的.裕量

4.試述在PLC編程中,你是如何實現綠燈閃爍的?需脈沖源(時鐘脈沖sm0.5)動作使南北綠燈閃爍,5.PLC控制系統設計的基本原則? 1最大限度的滿足被控制對象的控制要求

2在滿足控制要求的前提下。力求使控制系統簡單、經濟使用和維護方面

3保證控制系統安全可靠

4考慮到生產的發展和工藝的改進在選擇PLC容量時應留有余量

6.在S7-200系列PLC中,定時器按工作方式分為哪幾種類型,你在設計中用了哪幾種類型? 延時接通定時器、延時斷開定時器和保持型延時接通定時器(TONR)。我用的是延時接通定時器(TON)、延時斷開定時器(TOF)。

7.在S7-200系列PLC中,定時器按工作時基脈沖為哪幾種類型,1ms、10ms、100ms三種。你在設計中用了哪幾個編號的定時器?T33、T97、T98、T99、T100.其時基脈沖是多少?10MS 8.在S7-200系列PLC中,計數器按工作方式分為哪幾種類型?加計數器、減計數器和加/減計數器等不同類型。

9.PLC有哪幾種編程語言,請簡要說明?

? 梯形圖(LD)? 功能塊圖(FBD)? 順序功能圖(SFC)? 結構化文本(ST)? 指令表(IL)

10.在十字路口交通燈控制中,你選用的燈具是那種類型,有什么優點?發光二極管.優點:價格便宜、經濟實惠且耐用

11.PLC程序設計有哪幾種方法?現在常用的是梯形圖,除此外還有指令語言(STL),功能圖(SFC)12.PLC有哪三種輸出電路,實訓室用PLC的輸出電路是哪一種?是繼電器輸出、晶體管輸出和雙向晶閘管輸出。實驗室常用的是繼電器輸出

13.PLC控制系統中要用直流電源,現常用的是哪種直流電源?有什么優點?直流24V電源,可以顯著地減少來自交流電源的干擾,在交流電源消失時,也能保證PLC的正常工作。14.試述PLC的定義?PLC[可編程控制器] PLC是一種專門為在工業環境下應用而設計的數字運算操作的電子裝置。它采用可以編制程序的存儲器,用來在其內部存儲執行邏輯運算、順序運算、計時、計數和算術運算等操作的指令,并能通過數字式或模擬式的輸入和輸出,控制各種類型的機械或生產過程

15.PLC與微機相比,為何有更高的可靠性?

1.可靠性高,抗干擾能力強 2.通用性強、控制程序可變 3.使用方便

16.在PLC編程中,你用了哪幾個特殊功能繼電器,請說明?sm0.0:始終接通;

sm0.1:首次掃描為1,以后為0,常用來對程序進行初始化;

sm0.2:當機器執行數學運算的結果為負時,該位被置1; sm0.3:開機后進入run方式,該位被置1一個掃描周期; sm0.4:該位提供一個周期為1分鐘的時鐘脈沖,30秒為1,30秒為0;

sm0.5:該位提供一個周期為1秒鐘的時鐘脈沖,0.5秒為1,0.5秒為0;

sm0.6:該位為掃描時鐘脈沖,本次掃描為1,下次掃描為0;

sm1.0:當執行某些指令,其結果為0時,將改位置1;

下載單片機AT89C52十字路口交通燈控制C語言程序word格式文檔
下載單片機AT89C52十字路口交通燈控制C語言程序.doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發現有涉嫌版權的內容,歡迎發送郵件至:645879355@qq.com 進行舉報,并提供相關證據,工作人員會在5個工作日內聯系你,一經查實,本站將立刻刪除涉嫌侵權內容。

相關范文推薦

    單片機帶應急的交通燈控制實驗程序(精選)

    單片機帶應急的交通燈控制實驗(匯編) org 00h ajmp main org 0003h ajmp int_ red_we equ p1.1 yel_we equ p1.2 gre_we equ p1.3 red_sn equ p1.5 yel_sn equ p1.6 gre_sn e......

    單片機控制交通燈的案例

    單片機控制交通燈 AT89C51單片機及由Keil 軟件編寫單片機程序,并且通過Proteus仿真測試,設計一個交通燈系統,實現簡單的交通燈的管理功能。在交通燈系統的管理中,用發光二極管模......

    基于51單片機的交通燈控制電路設計

    交通燈 一、功能要求 要求甲車道和乙車道兩條交叉道路上的車輛交替運行,每次通行時間都設為25秒,黃燈先亮5秒鐘,才能變換運行車道;黃燈亮時,要求每秒鐘閃亮一次。 二、電路圖 說......

    基于單片機控制的交通燈設計系統

    基于單片機控制的交通燈設計系統 班級: 姓名: 學號: 第一章 概述 1. 設計內容 本系統需要采用AT89C51單片機AT89C5中心器件來設計交通燈控制器,實現以下功能: 1.1初始東西綠......

    單片機C語言學習

    單片機C語言之一___________________________________________________________________ _____________________ 預處理 一》宏定義: 1、不帶參數: #define 標識符 常量表達......

    單片機c語言學習心得轉載

    單片機c語言學習心得(一)相信很多愛好電子的朋友,對單片機這個詞應該都不會陌生了吧。不過有些朋友可能只聽說他叫單片機,他的全稱是什么也許并不太清楚,更不用說他的英文全稱和......

    單片機C語言學習心得

    8、指針的使用 8.1 在定義的時候,*ap中的‘*’是指針類型說明符;在進行指針預算時,x = *ap 中的‘*’是指針運算符。 8.2 如果在已定義好的指針變量,并引用,即 int *ap, int a; a......

    單片機C語言知識點大全

    【C語言】 【數據類型】 【轉義字符】 【語句】 【#define】 #define 新名 原名 【typedef】 typedef 原類型名 新類型名; 【sbit】 sbit P1_0=P1^0; 在reg52.h或reg51.h的......

主站蜘蛛池模板: 中文字幕无码乱码人妻系列蜜桃| 久久精品国亚洲a∨麻豆| 亚洲人成绝费网站色www吃脚| av大尺度一区二区三区| 国产精品一区二区av交换| 欧美日本精品一区二区三区| 亚洲国产美女精品久久久| 国产精品亚洲а∨怡红院| 看全色黄大色黄大片 视频| 国产高清无套内谢| 成人毛片18女人毛片免费| 午夜福利理论片在线观看播放| 久久精品国亚洲a∨麻豆| 国产精品视频一区二区三区无码| 亚洲国产成人av在线观看| 精品国产a∨无码一区二区三区| 国产zzjjzzjj视频全免费| 无码专区一va亚洲v专区在线| 日本成本人三级在线观看| 国产精品特黄aaaa片在线观看| 92午夜少妇极品福利无码电影| 国产伦子沙发午休系列资源曝光| 国产精品无打码在线播放| 国产成人8x人网站视频在线观看| 国产精品成熟老女人视频| 日本免费精品一区二区三区| 在线看片无码永久av| 成在人线av无码免费高潮喷水| 欧美日韩精品乱国产| 影音先锋在线亚洲网站| 97久久超碰精品视觉盛宴| 日韩欧美精品有码在线| 激情五月色综合国产精品| 亚洲 自拍 另类小说综合图区| 免费人成视频在线| 亚洲国产av无码综合原创国产| 欧美日产国产精品| 日韩内射激情视频在线播放免费| 久久人人玩人妻潮喷内射人人| 狠狠精品干练久久久无码中文字幕| 日韩av一国产av一中文字慕|