资源简介
/*内含交通灯课程设计报告,程序设计,题目要求以及proteus仿真电路设计。资源齐全,代码简洁,之前做课程设计写的,现分享出来供初学者学习*/
提示:之前忘记上传课设报告了,由于不能删除修改,请下载此压缩文件!

代码片段和文件信息
#include //包含头文件
#define uint unsigned int //预处理命令
#define uchar unsigned char
sbit du = P2^6;//段选
sbit we = P2^7;//位选
sbit d0 = P1^2;//南北红灯
sbit d1 = P1^3;//南北黄灯
sbit d2 = P1^4;//南北绿灯
sbit d3 = P1^7;//东西红灯
sbit d4 = P1^6;//东西黄灯
sbit d5 = P1^5;//东西绿灯
uchar table[] = {0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f0x77};//共阴数码管断码
uint count = 10count1=14;
//初始绿灯10S,红灯14S
uchar k;//50MS置位
uchar mode_flag;//显示模式
void T0_Init(void)//定时器0模式1
{
TMOD = 0x01;
TH0 = (65536 - 50000)/256;
TL0 = (65536 - 50000)%256;
EA = 1;
ET0 = 1;
TR0 = 1;
}
void delay_1MS(uint xms)//1MS延时
{
uint jk;
for(j = 0;j < xms;j++)
for(k = 0;k < 114;k++);
}
void display(uchar abcd)//数码管显示函数
{
P0 = 0x00;du = 1;P0 = table[a];du = 0;
we = 1;P0 = 0xfe;we = 0;delay_1MS(2);
P0 = 0x00;du = 1;P0 = table[b];du = 0;
we = 1;P0 = 0xfd;we = 0;delay_1MS(2);
P0 = 0x00;du = 1;P0 = table[c];du = 0;
we = 1;P0 = 0xfb;we = 0;delay_1MS(2);
P0 = 0x00;du = 1;P0 = table[d];du = 0;
we = 1;P0 = 0xf7;we = 0;delay_1MS(2);
}
void display_mode()//交通灯显示模式函数
{
switch(mode_flag)
{
case 0:d0=0;d1=0;d2=1;d3=1;d4=0;d5=0;break;//南北绿灯亮黄灯红灯灭,东西红灯亮绿灯黄灯灭
case 1:d0=0;d1=1;d2=0;d3=1;d4=0;d5=0;break;//南北黄灯亮绿灯红灯灭,东西红灯亮绿灯黄灯灭
case 2:d0=1;d1=0;d2=0;d3=0;d4=0;d5=1;break;//南北红灯亮绿灯黄灯灭,东西绿灯亮黄灯红灯灭
case 3:d0=1;d1=0;d2=0;d3=0;d4=1;d5=0;break;//南北红灯亮绿灯黄灯灭,东西黄灯亮绿灯红灯灭
}
}
void control()
{
if(k == 20)//1S时间到
{
k = 0;
count--;//南北数码管倒计时
count1--;//东西数码管倒计时
if(count==0&&mode_flag==0)//南北绿灯时间到转黄灯
{
count = 4; //南北黄灯赋值4S
mode_flag = 1; //模式1
}
if(count==0&&mode_flag==1)//南北黄灯时间到转红灯
{
count = 9; //南北红灯辅助9S
count1 = 5;//东西绿灯赋值5S
mode_flag = 2;//模式2
}
if(count1==0&&mode_flag==2)//东西绿灯时间到转黄灯
{
count1 = 4;//东西黄灯赋值4S
mode_flag = 3;//模式3
}
if(count==0||count1==0&&mode_flag==3)//南北红灯东西黄灯时间到南北转绿灯灯东西转红灯
{
count = 10;//南北绿灯赋值10S
count1 = 14;//东西红灯赋值14S
mode_flag = 0;//模式0
}
}
}
void main()
{
T0_Init();
while(1)
{
display_mode();//交通灯显示模式函数
display(count/10count%10count1/10count1%10);//数码管显示函数
control();//交通灯数码管控制函数
}
}
void timer0(void)interrupt 1
{
TH0 = (65536 - 50000)/256;
TL0 = (65536 - 50000)%256;
k++;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-01-27 10:35 交通灯\
文件 63664 2019-01-05 13:31 交通灯\交通灯控制要求.doc
文件 514767 2019-01-27 10:34 交通灯\交通灯课程设计报告.docx
目录 0 2019-01-22 18:41 交通灯\程序设计及电路\
文件 104916 2018-12-29 08:59 交通灯\程序设计及电路\Last Loaded 仿真图.DBK
文件 5115 2002-04-16 14:32 交通灯\程序设计及电路\STARTUP.A51
文件 11665 2018-12-29 09:49 交通灯\程序设计及电路\STARTUP.LST
文件 758 2018-12-29 09:49 交通灯\程序设计及电路\STARTUP.OBJ
文件 6763 2018-12-29 09:49 交通灯\程序设计及电路\交通灯
文件 2137 2018-12-28 10:49 交通灯\程序设计及电路\交通灯 (2).bak
文件 1079 2018-12-28 08:39 交通灯\程序设计及电路\交通灯 (3).Bak
文件 2137 2018-12-28 08:39 交通灯\程序设计及电路\交通灯 (4).Bak
文件 57378 2018-12-29 09:56 交通灯\程序设计及电路\交通灯 (5).bak
文件 5969 2018-12-29 09:49 交通灯\程序设计及电路\交通灯.LST
文件 10172 2018-12-29 09:49 交通灯\程序设计及电路\交通灯.M51
文件 7187 2018-12-29 09:49 交通灯\程序设计及电路\交通灯.OBJ
文件 951 2018-12-28 10:49 交通灯\程序设计及电路\交通灯.bak
文件 2611 2019-01-22 18:40 交通灯\程序设计及电路\交通灯.c
文件 2045 2018-12-29 09:49 交通灯\程序设计及电路\交通灯.hex
文件 45 2018-12-29 09:49 交通灯\程序设计及电路\交通灯.lnp
文件 191 2019-01-22 18:33 交通灯\程序设计及电路\交通灯.plg
文件 57376 2019-01-22 18:40 交通灯\程序设计及电路\交通灯.uvopt
文件 13410 2018-12-28 11:41 交通灯\程序设计及电路\交通灯.uvproj
文件 104916 2018-12-29 09:00 交通灯\程序设计及电路\仿真图.DSN
文件 1052 2018-12-29 09:56 交通灯\程序设计及电路\仿真图.PWI
文件 1465 2018-12-24 14:12 交通灯\程序设计及电路\新建 文本文档.txt
- 上一篇:ble-interface.vue.zip
- 下一篇:画bezier曲线代码
相关资源
- 基于MCS_51单片机的工业屏柜散热方案
- MCS_51单片机与8255A的接口设计
- 51单片机PWM程序,占空比、周期可调整
- 51单片机多功能自行车测速仪
- proteus仿真 AT89C51输出各种波形
- 00
- 用51单片机实现G代码翻译
- 简易的电阻电容测量电路
- 51单片机基于protues的几个仿真实例
- 51单片机PCB设计图
- PC -- 单片机的串口数据传输系统设计
- 51单片机控制舵机程序
- 51单片机读取温度数据存储到SD卡中并
- 【单片机】51单片机数码管显示万年历
- DS18B20分布式多点测温的Proteus仿真
- 基于proteus的单片机仿真--交通灯控制
- 带时间温度显示的室内灯光控制系统
- C51单片机汇编指令查询、学习工具集
- 基于8051单片机的红外接收程序
- 基于单片机交通灯设计
- 51单片机频率计(很简单)
- 基于VHDL的交通灯控制器设计
- 数字电路课程设计—交通灯
- 基于51单片机的智能温控器
- 基于51单片机的16*16点阵动态显示
- 基于51单片机的模数转换与数模转换
- 51单片机中使用ucos ii的优缺点转
- 51单片机中使用ucos ii的优缺点
- 8051单片机教程第二十七课:单片机几
- 8051单片机教程第二十六课:矩阵式键
评论
共有 条评论