文档详情

【2018年最新整理】交通灯试验报告.doc

发布:2018-02-15约4.37千字共7页下载文档
文本预览下载声明
实验四 交通灯试验 一、实验目的 按键、数码管、发光二极管综合应用编程技术 数据存储于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
显示全部
相似文档