【2018年最新整理】交通灯试验报告.doc
文本预览下载声明
实验四 交通灯试验
一、实验目的
按键、数码管、发光二极管综合应用编程技术
数据存储于EEPROM的技术(也可以不使用)
定时中断技术
按键中断技术
二、实验实现的功能
对每个路口(主干道、次干道)的绿灯时间,及黄灯时间的设定。
设定参数掉电后不丢失(如果不使用EEPROM,此功能可以不实现)。
紧急按键功能,当按下该键时,所有路口变成红灯,相当于交警指挥特殊车辆通过。再按该键,恢复正常显示。
三、系统硬件设计
1、元器件
STC51单片机,MAX232芯片,晶振,共阴极数码管,PC线路板,排针、电阻、电容、发光二极管、开关若干,串行接口,USB数据接口以及接口数据线
2、原理电路
四、系统软件设计
1、软件开发环境:
2、使用语言:C51
3、程序内容:见附表
五、实验过程中遇到的问题及解决方法
1、时钟倒计时过程,数码管显示数字有时不正常,电路板接触不良,按压后正常显示。
2、程序控制灯亮过程中,先是顺序与预期不符,更改程序后正常。
指导老师签字:
日期:
程序附表:
#include reg51.h
#define uchar unsigned char
#define uint unsigned int
unsigned char table[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfc,0x87,0xff,0xef};
unsigned char table6[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7c,0x07,0x7f,0x6f};
sbit ksec=P0^5;
sbit h1=P3^6; sbit h2=P3^7;
sbit w1=P0^0 ;sbit w2=P0^1 ;
sbit w3=P0^2 ;sbit w4=P0^3 ;
sbit P24=P2^4 ;sbit P34=P3^4 ;
sbit P26=P2^6 ;sbit P20=P2^0 ;
sbit P25=P2^5 ;sbit P35=P3^5 ;
sbit P33=P3^3 ;sbit P23=P2^3 ;
sbit P27=P2^7 ;sbit P32=P3^2 ;
sbit P21=P2^1 ;sbit P22=P2^2 ;
uchar t,j,min=60,hour=60,mina=0,minb=0,houra=0,hourb=0; //正常走时时间变量
uchar min1=90,hour1=90,mina1=0,minb1=0,houra1=0,hourb1=0; //时间设定值变量
uchar min2=0,hour2=0,mina2=0,minb2=0,houra2=0,hourb2=0;
uchar moshi=0;
void initialize(void); //初始化
void show(void); //正常走时显示
void show1(void); //时间设定显示
void show2(void);
void show3(void);
void show4(void);
void show5(void); //闹钟设
void keyscan(void); //键盘扫描
void win(void);
void red(void);
void yellow(void);
void delay(unsigned int z)
{unsigned int x,y;
for(x=z;x0;x--)
for(y=110;y0;y--);
}
//******************主函数***************************
void main()
{
initialize();
while(1)
{
keyscan();
win();
switch(moshi)
{
case 0:show(); break; //显示正常走时
case 1:show5();break; //显示设置时间
}
}
}
//*****************定时器初始化**************************
void ini
显示全部