《计算机控制技术课程设计交通灯.doc》由会员分享,可在线阅读,更多相关《计算机控制技术课程设计交通灯.doc(10页珍藏版)》请在三一办公上搜索。
1、1 引言随着社会的发展、科技的进步以及人们生活水平的逐步提高,各种方便于生活的自动控制系统开始进入了人们的生活,以单片机为核心的各种系统也越来越多。同时也标志了自动控制领域成为了数字化时代的一员。它实用性强,功能齐全,技术先进,使人们相信这是科技进步的成果。它更让人类懂得,数字时代的发展将改变人类的生活,将加快科学技术的发展。本次设计为十字路口交通灯控制系统设计,硬件部分它以单片机为核心,软件部分它结合定时/计数等知识进行程序编译。2 设备及功能介绍 2.1 所需设备AT89C51一片,LED灯十二只,按钮开关两个,电阻12个,电源。2.2 芯片功能介绍AT89C51引脚图及管脚说明VCC:供
2、电电压。GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部
3、上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用
4、作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:P3口管脚备选功能P3.0 RXD(串行输入口) P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外
5、部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这
6、两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。3 仿真软件介绍随着单片机功能不断完善,单片机在越来越多的领域得以应用。按照传统的模式,在单片机应用系统整个项目开发过程中先根据系统要求设计原理图,绘制PCB电路图,制作电路板,焊接元器件,然后进行软件
7、编程,通过仿真器对系统硬件和软件调试,最后将调试成功的程序固化到单片机的程序存储器中。无论是从硬件成本上。还是从调试周期上,传统开发模式的效率都有待提高。基于Proteus和Keil接口仿真平台是可以进行仿真、调试、制板并最大限度的软件模拟的单片机的开发平台,可极大地提高单片机应用系统的开发过程Proteus嵌入式系统仿真与开发平台是由英国Iabcenter公司开发的,是目前世界上最先进、最完整的嵌入式系统设计与仿真平台,已有近20年的发展历史,是目前唯一能够对各种微处理器进行实时仿真、调试与测试的EDA工具,真正实现了在没有硬件目标原形时就可对系统进行调试、测试与验证。Keil C51是美国
8、Kell Software公司出品的51系列兼容单片机软件开发系统,提供丰富的库函数和功能强大的集成开发调试工具。正是由于Proteus逼真、强大的协同仿真能力。与Keil联合使用,可以大大提高开发效率,最大限度地减小对硬件的依赖。4 总体设计方案4.1 程序流程图主绿支红主黄支红4S后是主干道来3辆车开 始主红支绿判断25S是否已到支干道是否来车是主绿支红是否否4.2主要设计思想1)在一个十字路口的一条主干道和一条支干道分别装上一套红、绿、黄三种信号灯。2)在一般情况下,主干道上的绿灯常亮,而支干道总是红灯。3)当检测到支干道上来车时,主干道的绿灯转为黄灯,持续4S后,又变为红灯,同时支干道
9、由红灯变为绿灯。4)支干道绿灯亮后,或者检测到主干道上来了三辆车,或者虽未来三辆车,但绿灯已经持续了25秒,则支干道立即变为黄灯,同时主干道由红灯变为绿灯。4.3 原理图4.4 PROTEUS 仿真图一般情况下,主干道绿灯常亮,支干道红灯常亮支干道来车时,主干道黄灯,支干道红灯4S后,主干道为红灯,支干道为绿灯主干道来了3辆车或者支干道绿灯亮了25S,则支干道为黄灯,主干道为绿灯4S后,主干道为绿灯,支干道为红灯5 PCB图5.1 平面图5.2 3D预览图6 程序清单#define uchar unsigned char#define uint unsigned int#include sbi
10、t zhigd=P32;sbit zhugd=P33;uchar tt;void delay(uint z) uint x,y; for(x=z;x0;x-) for(y=110;y0;y-);void timer0 () interrupt 1 TH0=(65536-50000)/256; TL0=(65536-50000)%256; tt+;void main()TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; ET0=1; TR0=1;IT0=1; IT1=1; EA=1; P2=0xdd;while(1) if(zhigd
11、=0) EX0=1; P2=0xbd; delay(2000); P2=0xeb; EX0=0;if(zhugd=0)EX1=1;P2=0xd7;delay(2000);P2=0xdd;EX1=0;if(tt=25)P2=0xdd; 7 设计心得通过此次课程设计,结合所学的微机原理与接口技术这门课程的知识,对其应用之一交通灯控制器进行设计与实现。总体感觉收获比较多,因为可以将书本上的知识应用到实践当中。刚开始的时候,翻阅了一些资料,还是没有什么头绪,后来在老师和同学的帮助下,终于找到了入口点,接下来的事情就相对的容易一些了。首先,把握整个的设计的大概的流程,然后再对每一个分快进行设计,最后进行调试。此次课程设计感觉收获很多,比如,翻阅资料提高了自学能力,和同学一起讨论汲取别人的长处。通过这次毕业设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧(特别是C语言)的掌握方面都能向前迈了一大步,为日后成为合格的应用型人才打下良好的基础。8 参考文献1 李顺增.微机原理与接口技术.北京:机械工业出版社出版社,20052 顾德英.计算机控制技术.北京:北京邮电大学出版社,2007