资源简介
/*内含交通灯课程设计报告,程序设计,题目要求以及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曲线代码
相关资源
- 51单片机+adc0809+PT100的24路温度巡检仪
- LED点阵显示汉字
- 51单片机流水灯仿真+程序
- 51单片机DHT11温湿度
- 基于51单片机HC-06蓝牙模块使用
- 基于51单片机的HC-08蓝牙程序
- 51单片机实用计算器汇编+数码管.zip
- 51单片机 菜单程序OLED屏
- 51单片机跑uC/OS II 2个任务
- 基于51单片机的GPS定位程序
- 基于51单片机和PROTEUS的非常形象的交
- 十字路口的交通灯控制电路
- UCOS 删除任务实验proteus仿真
- 最经典的51单片机经典流水灯汇编程序
- QX-mini51开发板资料.zip
- Proteus仿真AD转换单片机+ADC0809
- 基于51单片机的智能交通灯设计
- AVR单片机ATmega16L驱动一个数码管Prot
- 以51单片机为核心的DS18B20的数码管显
- 数字电压表proteus仿真+程序资料
- 基于51单片机pwm控制的呼吸灯程序
- MCS-51单片机期末试题2及答案
- 交通灯控制设计multism12
- 基于51单片机的打地鼠游戏
- 交通灯控制系统设计基于单片机的设
- 51单片机电梯程序加仿真
- 基于51单片机的篮球计分器可用
- 6个16X16LED点阵 滚动显示 源代码和pr
- 基于51单片机控制的函数信号发生器含
- 51单片机课程设计报告
评论
共有 条评论