资源简介
基于51单片机的智能交通灯控制,其中包含程序代码,仿真图,设计报告

代码片段和文件信息
//***************简易智能交通灯设计**************//
//***********************************************//
#include
#define uchar unsigned char
#define uint unsigned int
//***********************************************//
uchar code tab[]={ 0x3F/*0*/
0x06/*1*/
0x5B/*2*/
0x4F/*3*/
0x66/*4*/
0x6D/*5*/
0x7D/*6*/
0x07/*7*/
0x7F/*8*/
0x6F/*9*/
} ;
//*******************共阴码**********************//
sbit wela=P3^0; //段选
sbit dula=P3^1; //位选
sbit K1=P3^6; //停止
sbit K2=P3^7; //清零
sbit K3=P3^5;
sbit D1=P1^0;
sbit D2=P1^1;
sbit D3=P1^2;
uchar aashigeflagtt;
uint num=30;
//*******************延时函数*******************//
void delay(uint z)
{
uint xy;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
//********初始化主函数T0定时器******************//
void init()
{
TMOD=0x01; //设置定时器0工作在方式一(16位工作方式)
TH0=(65536-50000)/256;
TH1=(65536-50000)%256;
EA=1; //开总中断
ET0=1; //开定时器0中断
TR0=1; //开定时器
D2=0;
D1=0;
}
//*************数码显示子程序*******************//
void Display(uchar shiuchar ge) //显示十位和个位
{
dula=1; //开段选
P2=tab[shi]; //把十位给
dula=0; //关段选
wela=1; //开位选
P0=0xfe; //打开第一个数码管 1111 1110 - 0111 1111
wela=0; //关位选
P2=0x00; //关闭数码管
delay(10);
dula=1;
P2=tab[ge];
dula=0;
wela=1;
P0=0xfd;
wela=0;
P2=0x00;
delay(10);
}
//************键盘扫描程序**********************//
void keyscan()
{
uchar aa;
if(K1==0)
{
aa++;
switch(aa)
{
case 1:TR0=0; //停止
break;
case 2:TR0=1; //启动
}
if(aa==2)
{
aa=0;
init();
}
}
if(K2==0)
{
delay(80);
if(K2==0)
{
delay(80);
num++;
}
while(!K2);
}
if(K3==0)
{
delay(80);
if(K3==0)
{
delay(80);
num--;
}
while(!K3);
}
}
void main()
{
init();
while(1)
{
shi=num/10;
ge =num%10;
Display(shige);
keyscan();
}
}
//*************定时器控制**********************//
void timer0() interrupt 1
{
TH0=(65536-50000)/256;
TH1=(65536-50000)%256;
aa++;
if(aa==20)
{
aa=0;
num--;
if(num<=10)
{
D3=1; //红灯亮
D2=0;
if(num<=5)
{
D1=1; //黄灯开始闪烁
delay(80);
D1=0;
}
if(num==0)
{
D2=1;
D3=0;
}
}
if(num==-1)
{
num=30;
}
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 159609 2013-06-24 19:58 智能交通灯.DSN
文件 290304 2013-06-24 22:06 智能交通灯设计1.doc
文件 2779 2013-06-24 16:11 jiaotongdeng.c
- 上一篇:多个DLL合并成一个DLL
- 下一篇:编译原理答案 李文生
相关资源
- 最新的北京地铁shp文件75146
- 程序员专用字体YaHei.Consolas.1.11b42517
- STC8951系列单片机中方指南
- 基于MCS_51单片机的工业屏柜散热方案
- 清翔电子MCS51开发板资料_新版 01_开发
- MCS_51单片机与8255A的接口设计
- Rtx51_tiny_RTOS中文版.pdf
- 51单片机PWM程序,占空比、周期可调整
- 51单片机多功能自行车测速仪
- proteus仿真 AT89C51输出各种波形
- 00
- 用51单片机实现G代码翻译
- 简易的电阻电容测量电路
- 51单片机基于protues的几个仿真实例
- 51单片机PCB设计图
- PC -- 单片机的串口数据传输系统设计
- 51模拟SPI读写SD卡(包括Fat和Fat32文件
- NRF24L01实现51与STM32双向通讯
- 基于c8051f020的AD转换程序及LCD显示程序
- 51单片机控制舵机程序
- 51单片机读取温度数据存储到SD卡中并
- 【单片机】51单片机数码管显示万年历
- 课程设计蔬菜大棚自动控制系统,包
- 基于proteus的单片机仿真--交通灯控制
- 基于AT89C51的数据采集系统设计新方法
- C51单片机汇编指令查询、学习工具集
- 基于8051单片机的红外接收程序
- 基于89c51的数字钟
- 8251 全双工异步通信
- 8051F040SMBUS多机通信
评论
共有 条评论