4.5 总原理图
图4-5 总原理图
4.6 仿真
图 4-6 仿真
16
第五章 参考文献
[1] 刘勇.数字电路[M].电子工业出版社.2004
[2] 杨子文.单片机原理及应用[M].西安电子科技大学出版社.2006 [3] 刘华东.单片机原理与应用(第2版)[M].电子工业出版社.2006.8 [4] 胡汉才.单片机原理及其接口技术[M].清华大学出版社,2006.
[5]沈精虎.电路设计与制版Protel99入门与提高[M].人民邮电出版社,2004. [6] 范风强,兰婵丽.单片机语言C51应用实战集锦[M].电子工业出版社.,2001. [7] 顾曙敏.单片机与串行时钟DS1307的接口设计[J].现代电子技术,2003,26(14)85-87.
[8] 孙晓燕.基于8051单片机的交通灯控制系统设计与模拟[J].南宁职业技术学院学报,2007年03期.
[9] 陈毅,许飞,王学飞.基于单片机的交通灯智能控制系统[J].中国高新技术企业,2009年第15期. [10]http://www.21ic.com
17
附录一:程序
#include
#define uchar unsigned char //宏定义\代替\。 #define uint unsigned int //宏定义\用来定义无符号整型数。 #include
uchar code smg_du[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92, 0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,
0xff}; //数码管段选定义 0 1 2 3 4 5 6 7 8 9 A B C D E F 不显示 //断码
uchar dis_smg[8] = {0};
uchar smg_i = 4; //显示数码管的个位数 //数码管位选定义
sbit smg_we1 = P2^0; //数码管位选定义 sbit smg_we2 = P2^1; sbit smg_we3 = P3^6; sbit smg_we4 = P3^7;
char dx_s = 0,nb_s = 0; //东西 南北 倒计时变量 sbit dx_red = P2^7; //东西红灯 sbit dx_green = P2^6; //东西绿灯 sbit dx_yellow = P2^5; //东西黄灯
sbit nb_red = P2^4; //南北红灯 sbit nb_green = P2^3; //南北绿灯 sbit nb_yellow = P2^2; //南北黄灯
uchar flag_jtd_mode; //交通灯的模式 根据时间 bit flag_1s = 0; bit flag_500ms;
bit flag_dx_nb = 0; //东西南北模式 uchar flag_5m_value; uchar i;
uchar flag_alarm; //模式
uchar dx_time = 30,nb_time = 20; //东西、南北的时间 uchar flag_jdgz ; //交通管制 void smg_we_switch(uchar i) {
switch(i) {
case 0: smg_we1 = 0; smg_we2 = 1; smg_we3 = 1; smg_we4 = 1; break;
18
case 1: smg_we1 = 1; smg_we2 = 0; smg_we3 = 1; smg_we4 = 1; break; case 2: smg_we1 = 1; smg_we2 = 1; smg_we3 = 0; smg_we4 = 1; break; case 3: smg_we1 = 1; smg_we2 = 1; smg_we3 = 1; smg_we4 = 0; break; } }
void delay_1ms(uint q) {
uint i,j;
for(i=0;i for(j=0;j<110;j++); } void display() { uchar i; for(i=0;i P0 = 0xff; //消隐 smg_we_switch(i); //位选 P0 = dis_smg[i]; //段选 delay_1ms(3); } } void time0_init() { EA = 1; //开总中断 TMOD = 0X11; //定时器0、定时器1工作方式1 ET0 = 1; //开定时器0中断 TR0 = 1; //允许定时器0定时 } void jiaotongdeng_dis() { if(flag_1s == 1) { flag_1s = 0; if(flag_dx_nb == 0) //南北时间 { dx_s --; nb_s --; if(dx_s == 5) nb_s = 5; } if(flag_dx_nb == 1) //东西时间 19 { dx_s --; nb_s --; if(nb_s == 5) dx_s = 5; } if(dx_s < 0) { flag_dx_nb = ~flag_dx_nb; if(flag_dx_nb == 1) { dx_s = dx_time; //东西时间 nb_s = dx_time + 5; } else { dx_s = nb_time + 5; nb_s = nb_time; //南北时间 } } } dis_smg[0] = smg_du[dx_s % 10] ; dis_smg[1] = smg_du[dx_s / 10] ; dis_smg[2] = smg_du[nb_s % 10] ; dis_smg[3] = smg_du[nb_s / 10] ; if(flag_dx_nb == 0) { if(dx_s > 5) { dx_red = 0; //亮 dx_green = 1; //灭 dx_yellow = 1; //灭 nb_red = 1; //灭 nb_green = 0; //亮 nb_yellow = 1; //灭 flag_5m_value = 0; }else if(dx_s <= 5) //当小于5秒时 { dx_red = 0; //灭 dx_green = 1; //灭 dx_yellow = 1; //灭 nb_red = 1; //灭 20 黄灯要闪了 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库单片机交通灯课程设计报告 - 图文(4)在线全文阅读。
相关推荐: