基于单片机的交通灯控制系统设计 - 图文(6)

2019-04-02 11:01

只有自己真正接触尝试了,才知道自己的真实水平。也使我看清了自己的知识水平与各种综合能力,找出了自己的不足和差距。我将明确自己在今后要奋斗的目标与方向,勇往直前。 致谢

感谢老师、学校、同学、父母等。自己写

参考文献

1.周润景,张丽娜.基于PROTEUS的电路及单片机系统设计与仿真.北京航空航天大学出版社,2006

2.李朝青.单片机原理及接口技术.北京航空航天大学出版社.2009

3.沈德金,陈粤初.MCS-51系列单片机接口电路与应用程序实例.北京航空航天大学出版社.1990

4.数字电子技术基础.高等教育出版社.2001.

8.胡汉才.单片机原理及接口技术.清华大学出版社.1996.

9.何利民.MCS-51系列单片机应用系统设计系统配置与接口技术[M].北京:北京航空航天大学出版社,2001

10.百度、谷歌、电子发烧友、VeryCD互联网共享等网站。

附录 源程序

/*********************************************************** 十字路口交通灯控制 C 程序

***********************************************************/ #include

typedef unsigned char uint8; typedef unsigned int uint16;

/*****定义控制位*******************************************/

sbit Time_Show_LED2 = P2^5; //Time_Show_LED2(直行时间显示)控制位 sbit Time_Show_LED1 = P2^4; //Time_Show_LED1(直行时间显示)控制位

sbit EW_LED2 = P2^3; //东西数码管个位控制

sbit EW_LED1 = P2^2; //东西数码管十位控制 sbit SN_LED2 = P2^1; //南北数码管个位控制 sbit SN_LED1 = P2^0; //南北数码管十位控制 sbit SN_Yellow = P1^6; //SN黄灯 sbit EW_Yellow = P1^2; //EW黄灯

sbit Nomor_Button = P3^5; //交通正常按键 sbit Busy_Btton = P3^6; //交通繁忙按键 sbit Special_Btton = P3^7; //交通特殊按键 sbit Special_LED = P2^6; //交通特殊指示灯 sbit Busy_LED = P2^7; //交通繁忙指示灯

sbit EW_ManGreen = P3^0; //EW人行道绿灯 sbit SN_ManGreen = P3^1; //SN人行道绿灯 sbit EW_ManRed = P3^3; //EW人行道红灯 sbit SN_ManRed = P3^4; //SN人行道红灯

bit Flag_SN_Yellow; //SN黄灯标志位 bit Flag_EW_Yellow; //EW黄灯标志位 char Time_EW; //东西方向倒计时单元 char Time_SN; //南北方向倒计时单元

uint8 EW = 60,SN = 40,EWL = 19,SNL = 19; //程序初始化赋值,正常模式 uint8 EW1 = 60,SN1 = 40,EWL1 = 19,SNL1 = 19; //用于存放修改值的变量

code uint8 table[10] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; //1~~~~9段选码

code uint8 S[8] = {0x28,0x48,0x18,0x48,0x82,0x84,0x81,0x84}; //交通信号灯控制代码

/**********************延时子程序**************************/ void Delay(uint8 a) {

uint8 i; i = a;

while(i--); }

/*****************显示子函数******************************/ void Display(void) {

uint8 h,l;

h = Time_EW/10; l = Time_EW; P0 = table[l];

EW_LED2 = 1; //点亮EW_LED2

Delay(2);

EW_LED2 = 0; //熄灭EW_LED2 P0 = table[h];

EW_LED1 = 1; //点亮EW_LED1 Delay(2);

EW_LED1 = 0;

h = Time_SN/10; l = Time_SN; P0 = table[l];

SN_LED2 = 1; //点亮SN_LED2 Delay(2);

SN_LED2 = 0; P0 = table[h]; SN_LED1 = 1; //点亮SN_LED1 Delay(2);

SN_LED1 = 0;

h = EW1/10; l = EW1; P0 = table[l];

Time_Show_LED1 = 1; //点亮Time_Show_LED1 Delay(2);

Time_Show_LED1 = 0; P0 = table[h];

Time_Show_LED2 = 1; //点亮Time_Show_LED2 Delay(2);

Time_Show_LED2 = 0; }

/**********************外部0中断服务程序******************/

void ineterrupt_extern0(void) interrupt 0 {

EX0=0; //关中断

if(Nomor_Button==0) //测试按键是否按下,按下为正常状态 {

EW1=60; SN1=40; EWL1=19; SNL1=19; Busy_LED=0; //关繁忙信号灯 Special_LED =0; //关特殊信号灯 }

if(Busy_Btton==0) //测试按键是否按下,按下为繁忙状态 { EW1=45; SN1=30; EWL1=14; SNL1=14; Special_LED=0; //关特殊信号灯 Busy_LED=1; //开繁忙信号灯 }

if(Special_Btton==0)//测试按键是否按下,按下为特殊状态 { EW1=75; SN1=55; EWL1=19; SNL1=19; Busy_LED=0; //关繁忙信号灯 Special_LED =1;//开特殊信号灯 } EX0=1; //开中断 }

/**********************T0中断服务程序*******************/ void timer0(void)interrupt 1 using 1 {

static uint8 counter; TH0 = 0x3C;

TL0 = 0xB0; //定时器定时20ms重新装入初值 counter++;

if (counter == 10) {

if (Flag_SN_Yellow == 1) //测试南北黄灯标志位 { SN_Yellow = ~SN_Yellow; }

if (Flag_EW_Yellow == 1) //测试东西黄灯标志位 { EW_Yellow = ~EW_Yellow; } }

if (counter == 20) {

Time_EW--;

Time_SN--;

if (Flag_SN_Yellow == 1) //测试南北黄灯标志位 {SN_Yellow = ~SN_Yellow;}

if (Flag_EW_Yellow==1) //测试东西黄灯标志位 {EW_Yellow = ~EW_Yellow;} counter = 0; } }

void timer0_init() {

TMOD |= 0x01;

TMOD &= 0x01; //定时器0工作方式设置 TH0 = 0x3C;

TL0 = 0xB0; //定时器定时20ms装初值 TR0 = 1; //打开定时器0 }

void int0_init() //定时器0初始化子函数 {

ET0 = 1; //定时器0中断使能打开 EA = 1; //CPU总中断使能打开 }

void ext_init() //外部中断初始化子函数 {

IT0=1; //INT0负跳变触发 EX0=1; //开外部INTO中断 }

/*********************主程序开始***********************/ void main(void) {

Busy_LED=0; Special_LED=0; timer0_init(); int0_init(); ext_init();

while(1) {

/*******S0状态**********/ SN_ManRed=0;

SN_ManGreen=1; //SN人行道通行 EW_ManRed=1; //EW人行道禁止 EW_ManGreen=0;

Flag_EW_Yellow=0; //EW关黄灯显示信号


基于单片机的交通灯控制系统设计 - 图文(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:郑州某项目园林景观绿化施工组织设计方案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: