標題:
簡易單片機交通燈顯示系統(tǒng)仿真,帶有急停功能
[打印本頁]
作者:
liuyiryigr
時間:
2017-5-30 21:20
標題:
簡易單片機交通燈顯示系統(tǒng)仿真,帶有急停功能
單片機交通燈仿真圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png
(33.77 KB, 下載次數(shù): 55)
下載附件
2017-5-30 21:25 上傳
原理圖:
單片機源程序如下:
#include "reg51.h"
unsigned char t0,t1;//定義全局變量,用來保存延時時間的循環(huán)次數(shù)
unsigned char i,j,k,l,m;
void delay0_10s1()
{
for(t0=0;t0<20;t0++)//采用全局變量作為循環(huán)控制變量
{
TH1=(65536-46080)/256;// 由于晶振為11.0592,故所記次數(shù)應為46080,計時器每隔50000微秒發(fā)起一次中斷。
TL1=(65536-46080)%256;//46080的來歷,為50000*11.0592/12
TR1 = 1;//啟動T1
while(!TF1);//查出計數(shù)是否溢出,即50ms定時時間一到,TF1 = 1
TF1 = 0;
}
}
void delay_t1 (unsigned char t)
{
for (t1 = 0;t1<t; t1++)
delay0_10s1();
}
void int_0() interrupt 0//緊急情況中斷
{
unsigned char i,j,k,l,m;
i = P1;
j = t0;
k = t1;
l = TH1;
m = TL1;
P1 = 0xdb;
delay_t1 (20);
P1 = i;
t0 = j;
t1 = k;
TH1 = l;
TL1= m;
}
void main() //主函數(shù)
{
//unsigned char k;
TMOD = 0x10;//T1設置為工作方式1
EA = 1; //開總中斷允許位
EX0 = 1; //開外部中斷0允許位
IT0 = 1; //設置外部中斷0為下降沿觸發(fā)
while(1)
{
P1 = 0xde; //A紅燈,B綠燈,延時10秒
delay_t1(20);
P1 = 0xdd; //A紅燈,B黃燈,延時3秒
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
仿真:
交通燈系統(tǒng)控制電路.rar
(93.93 KB, 下載次數(shù): 15)
2017-5-30 21:19 上傳
點擊文件名下載附件
這是仿真圖
下載積分: 黑幣 -5
程序:
交通信號燈.rar
(22.8 KB, 下載次數(shù): 25)
2017-5-30 21:20 上傳
點擊文件名下載附件
這是源程序
下載積分: 黑幣 -5
作者:
jie951
時間:
2017-6-3 18:56
感謝分享謝謝
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1