資源簡介
研究目的: 模擬交通燈控制器就是使用單片機來控制一些LED和數碼管,模擬真實交通燈的功能。紅、黃、綠交替閃亮,利用數碼管倒計數顯示間隔等,用于管理十字路口的車輛及行人交通,計時牌顯示路口通行轉換剩余時間等。利用所學知識設計一款基于單片機的交通信號燈的控制系統。主要功能如下:東西向與南北向信號燈定時20秒交換一次、每次交換時點亮黃燈5s提醒行人。

代碼片段和文件信息
#include
//--定義你要使用的IO口--//
#define?GPIO_DIG?P0
#define?GPIO_PLACE?P1 //1111-1101
//定義顏色
#define?RED?1
#define?YELLOW?2
#define?GREEN?3
#define?YELLOW_1?4
unsigned?char?Time;
//--定義全局變量--//
//RAMROM
unsigned?char?code?DIG_CODE[16]={0x3F?0x06?0x5B?0x4F?0x66?0x6D?0x7D?0x07
?????????????????????????????????0x7F?0x6F?0x77?0x7C?0x39?0x5E?0x79?0x71};
unsigned?char?code?DIG_PLACE[4]={
0xFE0xFD0xFB0xF7};//位選控制???查表的方法控制
unsigned?char?MyData[4]={0000};
//init?
unsigned?char?x_R_val?=?8;
unsigned?char?x_Y_val?=?0;
unsigned?char?x_G_val?=?0;
unsigned?char?y_R_val?=?0;
unsigned?char?y_Y_val?=?0;
unsigned?char?y_G_val?=?15;
unsigned?char?x_static?=?0;
unsigned?char?y_static?=?0;
sbit?x_R_LED?=?P2^2;
sbit?x_Y_LED?=?P2^1;
sbit?x_G_LED?=?P2^0;
sbit?y_R_LED?=?P2^4;
sbit?y_Y_LED?=?P2^5;
sbit?y_G_LED?=?P2^3;
#define?x_R_Work()?x_R_LED?=?0;?x_Y_LED?=?1;?x_G_LED?=?1;
#define?x_Y_Work()?x_R_LED?=?1;?x_Y_LED?=?0;?x_G_LED?=?1;
#define?x_G_Work()?x_R_LED?=?1;?x_Y_LED?=?1;?x_G_LED?=?0;
#define?y_R_Work()?y_R_LED?=?0;?y_Y_LED?=?1;?y_G_LED?=?1;
#define?y_Y_Work()?y_R_LED?=?1;?y_Y_LED?=?0;?y_G_LED?=?1;
#define?y_G_Work()?y_R_LED?=?1;?y_Y_LED?=?1;?y_G_LED?=?0;
/*******************************************************************************
*?函數名?????????:?DigDisplay
*?函數功能 ???:?使用數碼管顯示
*?輸入???????????:?無
*?輸出????????? ?:?無
*******************************************************************************/
void?DigDisplay()
{
unsigned?char?i;
unsigned?int?j;
for(i=0;i<4;i++)
{
GPIO_PLACE=DIG_PLACE[i];
GPIO_DIG=DIG_CODE[MyData[i]];//發送段碼
j=10; ?//掃描間隔時間設定
while(j--);
GPIO_DIG=0x00;//消隱
}
}
/*******************************************************************************
*?函數名?????????:?TimerConfiguration()
*?函數功能 ???:?配置定時器值
*?輸入???????????:?無
*?輸出????????? ?:?無
*******************************************************************************/ ???
void?TimerConfiguration()
{
????TMOD?=?0x01;?//選擇工作方式1
????TH0?=?0x3C; ?//設置初始值定時50MS
????TL0?=?0xB0;?
????EA?=?1; ?//打開總中斷
????ET0?=?1; ?//打開定時器0中斷
????TR0?=?1; ?//啟動定時器0
}
/*******************************************************************************
*?函數名?????????:?Timer0()
*?函數功能 ???:?定時器0中斷函數
*?輸入???????????:?無
*?輸出????????? ?:?無
*******************************************************************************/ ???
void?Timer0()?interrupt?1
{
TH0?=?0x3C; ?//設置初始值
TL0?=?0xB0;
Time++;
}
/*******************************************************************************
*?函?數?名?????????:?main
*?函數功能 ???:?主函數
*?輸????入?????????:?無
*?輸????出?????????:?無
*******************************************************************************/
void?main(void)
{
TimerConfiguration();
Time?=?0;//初始化時間
//自動判斷當前狀態
//1:R?2:Y?3:G
if((x_R_val!=0)&&(x_Y_val==0)&&(x_G_val==0))
{
x_static?=?RED;
}
if((x_R_val==0)&&(x_Y_val!=0)&&(x_G_val==0
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-12-09?11:37??原理圖\
?????文件??????117784??2017-03-19?22:21??原理圖\Sheet1.PDF
?????文件??????250368??2017-03-19?22:20??原理圖\Sheet1.SchDoc
?????目錄???????????0??2017-06-04?04:24??實物照片\
?????文件?????2604237??2017-03-19?22:05??實物照片\IMG_1300.JPG
?????文件?????2826829??2017-03-19?21:29??實物照片\IMG_1301.JPG
?????文件?????1533880??2017-03-19?21:29??實物照片\IMG_1302.JPG
?????文件?????1763133??2017-03-19?21:29??實物照片\IMG_1303.JPG
?????文件?????2276310??2017-03-19?22:36??實物照片\IMG_1304.JPG
?????目錄???????????0??2017-06-04?04:24??源代碼\
?????目錄???????????0??2017-06-04?04:24??源代碼\Listings\
?????文件???????15234??2017-03-19?22:31??源代碼\Listings\main.lst
?????文件???????11911??2017-03-19?22:31??源代碼\Listings\Project.m51
?????文件???????14155??2017-03-19?22:31??源代碼\Listings\STARTUP.lst
?????文件????????5668??2017-03-19?22:31??源代碼\main.c
?????目錄???????????0??2017-06-04?04:24??源代碼\ob
?????文件????????9472??2017-03-19?22:31??源代碼\ob
?????文件????????8780??2017-03-19?22:31??源代碼\ob
?????文件?????????991??2017-03-19?22:31??源代碼\ob
?????文件????????2065??2017-03-19?22:31??源代碼\ob
?????文件?????????105??2017-03-19?22:31??源代碼\ob
?????文件?????????819??2017-03-19?22:31??源代碼\ob
?????文件???????71083??2017-03-19?22:31??源代碼\Project.uvgui.Tanghua
?????文件????????5389??2017-03-19?21:29??源代碼\Project.uvopt
?????文件???????14031??2017-03-19?21:29??源代碼\Project.uvproj
?????文件????????6376??2016-03-14?08:58??源代碼\STARTUP.A51
評論
共有 條評論