51单片机综合实验交通灯设计报告_第1页
51单片机综合实验交通灯设计报告_第2页
51单片机综合实验交通灯设计报告_第3页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

51单片机综合实验交通灯设计报告班学生姓级:名:学指导教号:师:一实验题目二实验目的1、学会用8051单片机开发简单的计算机控制系统;2、学会用汇编语言和C语言开发系统软件;38051waveKeiluVision34、学会Proteus软件的使用方法,会用Proteus单片机系统进行仿真;5、学会Protel软件的使用方法,会用Protel绘制电气原理图和印制板图;6、熟悉七位数码管显示的使用方法;7、了解交通灯控制系统的基本组成。三实验要求﹑黄﹑(或者左转)而南北方向的绿灯灭红灯亮。反之当南北方向允许行车(或者左转)1北绿 绿 黄 红直 左 灯 北绿 绿 黄 红直 左 灯 行 转 缓 数码管西东南四设计内容与原理16。25s20s时间为5s50500ms12345123456125s25s南北路口20s左转5s缓行450s6直行红灯亮禁行东西路口红灯亮禁行50s直行25s左转20s缓行5s图2交通信号灯点亮时间图个,红灯四个,七段数码管两个(省略一对。五电路设计分析(单片机电路(十六个信号灯和两个七段数码管5V816盏信号灯。各信号灯均是共阴极接法,LED负极均接地,正极通过保护电阻接单片机P18RESPACK-8连接。单片机中应包括复位电路和晶振电路。本设计中,采用上电复位形式,由于本系统应用的机器周期为ls12MHz30p.图3:复位电路图4:晶振电路六硬件原理图七程序流程本程序的程序流程图如图所示开始开始复位东西直行绿灯亮南北红灯亮南北直行绿灯亮东西红灯亮25s25s东西左转绿灯亮南北红灯亮南北左转绿灯亮东西红灯亮20s20s设置闪烁次数设置闪烁次数黄灯亮黄灯亮500ms500ms黄灯灭黄灯灭500ms500msNYNY闪烁次数到?闪烁次数到?八心得体会使用到调试的专业知识,逻辑思维和动手能力都得到了很大的提高。要解决的主要问题就是程序的设计和仿真,虽然初期在设计和布局、编程时思路比较清晰,但是到了细节处,也出了不少问题,而且很难被检查出来,如在通过这次系统实验,对以前学过的知识进行了巩固,加深了理解,提高了应用的能力,而且提高了我们的发现、分析、解决问题的能力,同时提高了对专业的认识及兴趣,对于我们工科生来说,对以后就业很有帮助。附录程序代码:#defineucharunsignedchar#defineuintunsignedint#include<reg52.h>/*****定义控制位**********************/sbitEW_LED2=P2^3;//东西数码管个位sbitEW_LED1=P2^2;//东西数码管十位sbitSN_LED2=P2^1;//南北数码管个位sbitSN_LED1=P2^0;//南北数码管十位_sbit SN_Yellow=P1^6;//南北黄sbit EW_Yellow=P1^2;//东西黄sbit EW_Red=P1^3;//东西红灯sbit SN_Red=P1^7;//南北红灯sbit Busy_Btton=P3^4;bit Flag_SN_Yellow;//南北黄灯标志位bit Flag_EW_Yellow;//东西黄灯标志char Time_EW;//东西方向倒计时单元char Time_SN;//南北方向倒计时单元ucharEW=50,SN=25,EWL=20,SNL=20;//程序初始化赋值ucharEW1=50,SN1=25,EWL1=20,SNL1=20;//用于存放修改值的变量1-9段选码ucharcodetable[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};ucharcodeS[8]={0X28,0X48,0X18,0X48,0X82,0X84,0X81,0X84};//控制代码延时子程序************************/void Delay(uchar a){uchar i=a;while(i--){;}}显示子函数**************************/void Display(void){charh,l;h=Time_EW/10;l=Time_EW%10;P0=table[l];EW_LED2=1;Delay(200);EW_LED2=0;P0=table[h];EW_LED1=1;Delay(200);EW_LED1=0;h=Time_SN/10;l=Time_SN%10;P0=table[l];SN_LED2=1;Delay(200);SN_LED2=0;P0=table[h];SN_LED1=1;Delay(200);SN_LED1=0;}/**********************T0*******************/voidtimer0(void)interrupt1using1{staticucharcount;TH0=(65536-50000)/256;TL0=(65536-50000)%256;count++;if(count==10){if(Flag_SN_Yellow==1)//南北黄灯标志位{SN_Yellow=~SN_Yellow;}if(Flag_EW_Yellow==1) //{EW_Yellow=~EW_Yellow;}}if(count==20){Time_EW--;Time_SN--;if(Flag_SN_Yellow==1)//南北黄灯标志位{Time_SN=Time_EW;{SN_Yellow=~SN_Yellow;}}if(Flag_EW_Yellow==1)//东西黄灯标志位{Time_EW=Time_SN;{EW_Yellow=~EW_Yellow;}}count=0;}}void main(void){IT0=1;//INT0负跳变触发TMOD=0x01;//定时器工作于方式1TH0=(65536-50000)/256;//定时器赋初值TL0=(65536-50000)%256;EA=1;//开中断总允许ET0=1;//开定时中断EX0=1;//INTOTR0=1;//启动定时while(1){ /*******1**********/Flag_EW_Yellow=0; //EWTime_EW=EW;Time_SN=SN;while(Time_SN>0){P1=S[0]; //SN,EWDisplay();}/*******状态2**********/Flag_SN_Yellow=0;//SNwhile(Time_SN>0){P1=S[2];//SN,EWDisplay();}/*******P1=0x00;while(Time_EW>0){Flag_SN_Yellow=1; //SNEW_Red=1; //SNEW//SN_LED1=EW_LED1;//SN_LED2=EW_LED2;Display();}赋值**********/EW=EW1;SN=SN1;EWL=EWL1;SNL=SNL1;/*******状态4**********/Flag_SN_Yellow=0; //SN关黄灯显示信Time_EW=SN;Time_SN=EW;while(Time_EW>0){P1=S[4]; //EW,SNDisplay();}/*******状态5**********/Flag_EW_Yellow=0; //EW关黄灯显示信Time_

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论