单片机课程设计_基于单片机的交通灯控制系统设计说明
基于单片机的智能交通灯控制器设计

基于单片机的智能交通灯控制器设计一、本文概述随着城市化进程的加快,交通拥堵问题日益严重,智能交通系统的应用与发展成为解决这一问题的关键。
其中,智能交通灯控制器作为交通系统的重要组成部分,对于提高道路通行效率、保障行车安全具有重要意义。
本文旨在设计一种基于单片机的智能交通灯控制器,通过优化算法和硬件设计,实现交通灯的智能控制,以适应不同交通场景的需求,提升城市交通的整体运行效率。
本文将首先介绍智能交通灯控制器的研究背景和意义,阐述现有交通灯控制系统的不足和改进的必要性。
接着,文章将详细介绍基于单片机的智能交通灯控制器的设计方案,包括硬件电路的设计、控制算法的选择与优化等方面。
在此基础上,本文将探讨如何通过软件编程实现交通灯的智能控制,并讨论如何在实际应用中调试和优化系统性能。
文章将总结研究成果,展望智能交通灯控制器在未来的发展方向和应用前景。
通过本文的研究,旨在为城市交通管理提供一种新的智能化解决方案,为缓解交通拥堵、提高道路通行效率提供有力支持。
本文的研究也有助于推动单片机技术和智能交通系统的发展,为相关领域的研究和实践提供有益的参考和借鉴。
二、单片机技术概述单片机,即单片微型计算机(Single-Chip Microcomputer),是一种集成电路芯片,它采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O 口和中断系统、定时器/计时器等功能集成到一块硅片上,构成一个小而完善的微型计算机系统。
单片机以其体积小、功能强、成本低、可靠性高、应用广泛等特点,广泛应用于工业控制、智能仪表、家用电器、医疗设备、航空航天、军事装备等领域。
单片机作为智能交通灯控制器的核心部件,具有不可替代的重要作用。
它负责接收来自传感器的交通信号输入,根据预设的交通规则和算法,快速作出判断,并输出相应的控制信号,以驱动交通信号灯的亮灭和变化,从而实现交通流量的有序控制和疏导。
基于AT89C51单片机的交通灯系统设计

基于AT89C51单片机的交通灯系统设计摘要:本文设计了一种基于AT89C51单片机的交通灯系统。
该系统通过使用AT89C51单片机作为控制核心,结合LED灯、红外传感器等硬件部件,实现了智能交通灯的功能。
利用AT89C51单片机的高性能和可编程性,本文提出了基于状态机的控制算法,实现交通灯的精确控制,以提高交通效率和安全性。
试验结果表明,所设计的交通灯系统稳定可靠,具有一定的应用价值。
关键词:AT89C51、单片机、交通灯、智能控制、状态机1. 引言交通灯作为城市道路交通的重要组成部分,对交通的顺畅和安全起着至关重要的作用。
传统的交通灯系统通常接受定时控制方式,无法依据实际交通状况进行灵活调整,导致交通拥堵和交通事故频发。
因此,设计一种智能交通灯系统,能够依据实时交通状况智能调整交通信号灯的状态,具有重要的现实意义。
2. 系统设计2.1 系统硬件设计本文所设计的交通灯系统接受AT89C51单片机作为控制核心,具有较高的性能和可编程性。
系统硬件部件包括LED灯、红外传感器、电路板等。
其中,LED灯用于表示交通灯的红、黄、绿三种状态;红外传感器用于感知车辆的存在与否。
这些硬件部件通过电路板毗连并与AT89C51单片机进行相应的电路毗连,构成完整的交通灯系统。
2.2 系统软件设计系统软件主要包括控制算法的设计和程序编写。
本文接受了基于状态机的算法,实现交通灯的智能控制。
系统依据红外传感器感知到的车辆状况和交通灯当前的状态来进行裁定,从而确定下一时刻交通灯的状态。
详尽实现过程如下:状态1:红灯状态。
当红灯亮起时,表示该方向的车辆需要停车等待。
系统检测到车辆通过红外传感器时,切换到状态2。
状态2:绿灯状态。
当绿灯亮起时,表示该方向的车辆可以通行。
系统计时一定时间后,切换到状态3。
状态3:黄灯状态。
当黄灯亮起时,表示该方向的车辆应注意停车。
系统计时一定时间后,切换到状态1。
该算法能够依据交通灯的当前状态和车辆的状况进行相应的状态切换,实现智能交通灯的控制。
基于51单片机的智能交通灯系统设计说明

十字路口交通灯控制系统的设计1.设计思路近年来,随着科技的飞速发展,电子器件也随之广泛应用,其中单片机也不断深入人民的生活当中。
本模拟交通灯系统利用单片机AT89C51作为核心元件,实现了通过信号灯对路面状况的智能控制。
从一定程度上解决了交通路口堵塞、车辆停车等待时间不合理、急车强通等问题。
系统具有结构简单、可靠性高、成本低、实时性好、安装维护方便等优点,有广泛的应用前景。
本模拟系统由单片机硬/软件系统,两位8段数码管和LED灯显示系统。
和复位电路控制电路等组成,较好的模拟了交通路面的控制。
1.1 电源提供方案采用单片机控制模块提供电源。
1.2显示界面方案采用数码管显示。
这种方案只显示有限的符号和数码字符,简单,方便。
1.3 输入方案:直接在I/O口线上接上按键开关。
由于该系统对于交通灯及数码管的控制,只用单片机本身的I/O 口就可实现,且本身的计数器及RAM已经够用,故选择该方案。
2 单片机交通控制系统总体设计2.1单片机交通控制系统的通行方案设计设在十字路口,分为东西向和南北向,在任一时刻只有一个方向通行,另一方向禁行,持续一定时间,经过短暂的过渡时间,将通行禁行方向对换。
一共可以有四个状态。
通过具体的路口交通灯状态的分析我们可以把这四个状态归纳如下:(1)东西方向红灯灭,同时绿灯亮,南北方向黄灯灭,同时红灯亮,倒计时80秒。
此状态下,东西向禁止通行,南北向允许通行。
(2)东西方向绿灯灭,同时黄灯亮,南北方向红灯亮,倒计时3秒。
此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。
(3)南北方向红灯灭,同时绿灯亮,东西方向黄灯灭,同时红灯亮,倒计时60秒。
此状态下,东西向允许通行,南北向禁止通行。
(4)南北方向绿灯灭,同时黄灯亮,东西方向红灯亮,倒计时3秒。
此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。
用图表表示灯状态和行止状态的关系如下:表1交通状态及红绿灯状态灯禁止通行,转绿灯允许通行,之后黄灯亮警告行止状态将变换。
基于单片机的智能交通红绿灯控制系统设计

基于单片机的智能交通红绿灯控制系统设计智能交通红绿灯控制系统是一种基于单片机的电子设备,用于智能化控制交通信号灯的工作。
本文将详细介绍如何设计一套基于单片机的智能交通红绿灯控制系统。
首先,我们需要选择适合的单片机作为控制器。
在选择单片机时,我们需要考虑其功能、性能和价格等因素。
一些常用的单片机型号有8051、AVR、PIC等。
我们可以根据具体的需求选择合适的单片机型号。
接下来,我们需要设计硬件电路。
智能交通红绿灯控制系统的硬件电路主要包括单片机、传感器、继电器和LED等组件。
传感器可以用来感知交通流量和车辆信息,继电器用于控制交通灯的开关,LED用于显示交通灯的状态。
在硬件设计中,我们需要将传感器与单片机相连接,以便将传感器获取的信息传输给单片机。
同时,我们还需要将单片机的控制信号传输给继电器和LED,以实现对交通灯的控制。
在软件设计中,我们需要编写相应的程序代码来实现智能交通红绿灯的控制逻辑。
首先,我们需要对传感器获取的信息进行处理,根据交通流量和车辆信息来确定交通灯的状态和切换规则。
例如,当交通流量较大时,可以延长绿灯亮起的时间;当有车辆等待时,可以提前切换到红灯。
此外,我们还可以在程序中添加自适应控制算法,用于根据交通流量动态调整交通灯的周期和切换时间,以进一步提高交通流量的效率和道路通行能力。
最后,我们需要将程序代码烧录到单片机中,并进行调试和测试。
在测试过程中,我们可以模拟不同的交通流量和车辆信息,以验证智能交通红绿灯控制系统的正常运行和控制效果。
综上所述,基于单片机的智能交通红绿灯控制系统设计主要包括硬件设计和软件设计两个方面。
通过合理的硬件电路设计和程序编写,可以实现对智能交通红绿灯的智能化控制,提高交通流量的效率和道路通行能力,实现交通拥堵的缓解和交通安全的提升。
基于单片机的交通灯设计

基于单片机的交通灯设计为了提高城市交通的效率和安全性,交通信号灯作为一个重要的交通管理措施被广泛应用于各种路口和交叉口。
成为了近年来一个备受关注的研究方向。
单片机作为一种集成电路,具有可编程性和高度灵活性,能够实现各种功能的控制和管理。
因此,利用单片机技术设计交通信号灯可以更好地满足现代城市交通管理的需求,提高交通效率,减少交通事故的发生。
本文将分为以下几个部分来详细介绍基于单片机的交通灯设计。
首先,将介绍交通信号灯的发展历史和现状,分析传统的交通信号灯存在的问题和不足。
然后,将介绍单片机技术在交通信号灯设计中的应用和优势,探讨利用单片机实现交通信号灯控制的原理和方法。
接着,将详细介绍基于单片机的交通信号灯系统的硬件设计和软件设计,包括单片机的选型和编程,各个灯的控制逻辑以及整个系统的实现过程。
最后,将通过实验验证基于单片机的交通信号灯设计的可行性和有效性,并对该设计方案进行优化和改进。
交通信号灯作为一种重要的城市交通设施,可以指挥车辆和行人按照规定的时间和顺序通行,有效地控制交通流量,减少交通拥堵和事故发生。
然而,传统的交通信号灯存在一些问题,如固定的时间设置导致交通拥堵,无法适应实际交通情况变化等。
因此,设计一种智能化、自适应的交通信号灯系统显得尤为重要。
单片机作为一种集成电路,具有逻辑控制功能和高度可编程性,可以实现复杂的控制任务。
利用单片机技术设计交通信号灯系统,能够实现灵活的控制策略,根据实际交通情况自动调整灯光的亮灭时间,提高交通效率,减少交通事故的发生。
因此,基于单片机的交通信号灯设计成为了当前交通管理领域的研究热点之一。
在基于单片机的交通信号灯设计中,硬件设计和软件设计是两个关键的环节。
硬件设计包括单片机的选型、外围器件的选择和连接等。
在选择单片机时,需要考虑其性能、功耗、成本等因素,满足交通信号灯系统的实际需求。
外围器件的选择和连接也需要考虑到稳定性、可靠性和安全性等因素,保证交通信号灯系统的正常运行和可靠性。
单片机课程设计报告1 交通灯

单片机课程设计报告1 交通灯1. 引言本文档是单片机课程设计的报告,主题为交通灯。
交通灯是城市交通管理的重要组成部分,合理的交通灯设置可以提高交通效率、保障交通安全。
本文将介绍交通灯的设计方案、实现过程以及遇到的问题及解决方法。
2. 设计方案2.1 总体设计思路本次交通灯设计采用的是基于单片机的控制系统。
通过在单片机上编程设计,控制交通灯的状态和时间,实现交通灯的自动切换,并保证交通流畅。
2.2 硬件设备本次设计所需的硬件设备包括:•单片机:采用STC89C52型单片机•交通灯信号灯模块:包括红灯、黄灯、绿灯三个灯泡及控制电路板•电源模块:用于提供电力供给2.3 软件设计本次设计的软件部分主要包括:•交通灯控制程序:通过编写程序控制单片机,实现交通灯的自动切换3. 实现过程3.1 准备工作在开始设计之前,我们首先进行了一些准备工作。
包括准备好所需的硬件设备,如单片机、交通灯信号灯模块和电源模块;同时也对单片机进行了初始化配置,以及编写好了交通灯控制程序的框架。
3.2 硬件连接我们将单片机与交通灯模块进行连接。
具体的连接方式如下:1.将单片机的IO口与交通灯模块的各个灯泡的控制引脚相连,以实现对灯泡亮灭的控制。
2.将电源模块与单片机进行连接,以提供电力供给。
3.3 软件设计与编程在硬件连接完成后,我们开始着手进行软件设计和编程。
主要的步骤包括:1.定义交通灯的状态:根据交通灯的信号变化规律定义交通灯状态,如红灯亮、黄灯亮、绿灯亮等。
2.编写控制程序的逻辑:根据交通灯的状态定义,编写控制程序的逻辑,实现不同状态之间的切换和持续时间的控制。
3.编程实现:根据以上设计,在单片机上编写程序,并通过烧录将程序烧录到单片机上。
3.4 测试与调试在程序编写完成后,我们进行了测试与调试。
通过在交通灯工作状态下的观察与测试,我们可以判断出程序是否符合设计要求,并进行必要的调试。
4. 遇到的问题与解决方法在设计与实现过程中,我们遇到了一些问题,具体包括:•问题1:单片机与交通灯模块的连接出现问题,导致交通灯无法正常工作。
基于单片机的智能交通灯的设计

基于单片机的智能交通灯的设计智能交通灯是一种基于单片机控制的新型交通信号灯系统。
相比传统的交通信号灯,智能交通灯具有更高的智能化和自动化水平,能够根据实时交通流量和道路条件进行自适应调整,从而提高交通效率和安全性。
下面将介绍基于单片机的智能交通灯的设计。
首先,整个系统由交通灯控制器、传感器、电源和显示设备组成。
交通灯控制器采用单片机作为核心处理器,通过编程实现交通灯的自动控制。
传感器主要用于收集道路的实时交通流量数据,可以使用车辆检测器、红外线传感器等。
电源则提供系统所需的电能,可以通过交流电转直流电供电。
显示设备包括LED灯组成的交通信号灯。
其次,智能交通灯的设计要考虑到交通流量、道路条件和等待时间等因素。
通过传感器采集到的交通流量数据,可以实时判断道路上的车辆数量和行车速度情况,并根据这些数据来进行灯光的控制。
例如,当一些方向的交通流量较大时,该方向的灯光可以延长绿灯时间,以减少等待时间和堵塞情况。
同时,系统还可以根据实际道路条件进行调整,例如在下雨天或冰雪天气中,可以适当延长红灯时间,以提高行车安全性。
此外,智能交通灯系统还可以配备优先级设定功能。
这意味着交通灯可以根据不同交通参与者的特定需求来设置优先级顺序。
例如,救护车和消防车可以通过特定的信号发送给交通灯系统,以优先通行。
当系统接收到这些信号时,可以尽快改变交通灯状态,并确保畅通无阻地通行。
最后,在智能交通灯的设计过程中,还需要注意安全性和可靠性。
系统中的单片机必须能够稳定运行,并能够及时控制交通灯的状态。
同时,对于车辆和行人来说,应该提供明确的信号指示,以确保他们能够正确理解和响应交通灯的指示。
综上所述,基于单片机的智能交通灯的设计可以提高交通效率和安全性。
通过采集道路上的实时交通流量数据,并根据这些数据来自动调整交通灯的控制,可以减少交通拥堵和事故发生的概率。
此外,智能交通灯还可以根据不同交通参与者的特定需求来进行优先级设置,提高交通系统的灵活性和适应性。
基于单片机的交通灯控制系统设计与实现

基于单片机的交通灯控制系统需要包含以下组成部分:1.硬件设备组成:单片机、LED 灯、显示屏等硬件设备。
2.设计思路描述:交通灯控制系统的设计思路是基于定时器的,利用计数器和定时器来控制红绿灯的转换,同时通过按键检测实现手动控制。
3.程序设计:程序需要完成按键检测、信号灯控制和定时器计数等功能。
具体实现可以分为以下几步:(1) 根据硬件设备的引脚对应关系,定义各个引脚的控制方式和状态。
(2) 在程序中定义计时器和定时器,用于计时和设置红绿灯状态。
例如,计时器每隔一定时间就会触发定时器,设置红绿灯的状态,并且根据状态判断相应的亮灯和熄灯。
(3) 通过按键检测来实现手动控制,当检测到按键按下时,立即切换灯的状态,当再次按下时,又立即切换回之前的状态。
4.实现代码:下面是一个该系统的简单代码示例,供参考:#include <reg52.h>#define uint unsigned int#define uchar unsigned charsbit KEY1 = P3^0;//按键定义sbit RED = P2^2;//红灯定义sbit YELLOW = P2^1;//黄灯定义sbit GREEN = P2^0;//绿灯定义/*函数声明*/void initTimer0();void delay1ms(uint count);/*主函数*/int main(){initTimer0();/*初始化计时器*/while(1){if(KEY1 ==0){/*按键按下*/delay1ms(5);/*消抖*/if(KEY1 ==0){/*仍然按下*//*绿灯亮10s*/GREEN =1;delay1ms(10000);GREEN =0;/*黄灯亮3s*/YELLOW =1;delay1ms(3000);YELLOW =0;/*红灯亮7s*/RED =1;delay1ms(7000);RED =0;/*黄灯亮2s*/YELLOW =1;delay1ms(2000);YELLOW =0;}}}return0;}/*函数定义*/void initTimer0(){TMOD &=0xF0;TMOD |=0x01;TH0 =0xFC;TL0 =0x18;EA =1;ET0 =1;TR0 =1;}/*1ms延时函数*/void delay1ms(uint count){uint i,j;for(i=0;i<count;i++){for(j=0;j<125;j++){}}}/*计时器中断函数*/void timer0() interrupt 1{TH0 =0xFC;TL0 =0x18;}以上是一个简单的基于单片机的交通灯控制系统设计与实现示例。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录1.硬件设计方案............................................... - 3 -1.1总方案设计 (3)1.2中央处理单元 (4)1.3红、绿、黄灯显示部分 (4)1.4时间显示部分 (4)1.5按键部分 (5)2.主要电路原理分析和说明 ..................................... - 6 -2.1红、绿、黄灯显示电路.. (6)2.2时间显示电路 (6)2.3按键电路 (8)2.4时钟及复位电路, (9)其电路原理图如图2.4所示 (9)2.5完整电路原理图 (9)2.6单片机相应管脚及功能说明 (12)3.软件设计流程及描述......................................... - 14 -3.1程序流程图 (14)4.调试....................................................... - 16 -(1)硬件调试 (16)(2)软件调试 (16)5.结束语..................................................... - 17 -6.参考文献................................................... - 17 -7.附录....................................................... - 19 -1.源程序代码 (19)2.实物图 (22)【摘要】:近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。
在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。
交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。
本系统采用单片机STC89C52RC为中心器件来设计交通灯控制器,控制十字路口的红、绿、黄灯交替点亮和熄灭,并且利用4只数码管显示十字路口两个方向的剩余时间。
要求能用按键设置两个方向的通行时间(绿、红灯点亮的时间)和暂缓通行时间(黄灯点亮时间)。
系统实用性强、操作简单、扩展性强。
【关键字】:单片机STC89C52RC 按键设置时间显示1.硬件设计方案1.1总方案设计整个交通灯控制系统可分为五大部分:中央处理单元(CPU)、红、绿、黄灯显示部分、时间显示部分、按键部分、复位与时钟部分。
硬件原理框图如下图1.1-1所示:图1.1-1:硬件原理框图1.2 中央处理单元CPU选用STC89C52RC对整个系统进行控制:(1)它将数据输出到数码管和LED显示。
(2)根据按键输入调用相应键处理子程序,实现对红、绿、黄灯点亮及显示时间的调整和设定。
1.3 红、绿、黄灯显示部分红、绿、黄灯显示模块:用单片机驱动LED显示。
硬件原理图如图1.1-2图1.1-2:红绿黄灯显示原理图红、绿、黄灯显示模块:为方便观看并考虑到现实情况,用LED灯显示提示信息。
这种方案既满足系统功能要求,又减少了系统实现的复杂度。
1.4时间显示部分时间的显示模块:经分析过相向的灯的状态和倒计时都是相同的,可采用两组四个数码管。
同时为了节省口资源,采用串口显示的方式驱动数码管,其硬件原理图如图1.1-3图1.1-3:时间显示原图1.5按键部分按键模块:采用独立方式,通过检测输入线的电平状态可以很容易的判断哪个键按下。
由于独立式键盘编程简单,且可以完全达到要求,所以采用独立式键盘控制。
本系统采用三个按键:分别是绿灯时间设置键、黄灯时间设置键、确认键。
2.主要电路原理分析和说明2.1红、绿、黄灯显示电路:接口电路如图2.1所示:图2.1:红绿黄灯接口电路图红、绿、黄灯显示电路,用P1口的P1.0 P1.1 P1.2 P1.3 P1.4 P1.5分别接一个LED作为东西、南北两个方向的红、绿、黄灯。
通过编程显示东西、南北两个方向的交通灯点亮情况。
当p1口输出信号为0时与之对应相连的led点亮。
2.2时间显示电路时间显示电路:电路原理图如图2.2所示:图2.2:时间显示电路图在时间显示电路中,考虑到动态显示需用很多I/O口,本着节约资源的原则故采用串口接74ls164串入并出的方式驱动数码管,分别显示东西、南北两条干道所剩余的时间。
由74ls164的特性选用共阳极7段数码管,中间接0.3k限流电阻。
第1片74ls164ab端接单片机rxd作为信号输入,其高位接第2片ab端,以此类推。
4片74ls164的Clk端全部接txd端,作为信号输入同步信号。
2.3按键电路按键电路:电路原理如图2.3所示:图2.3:按键电路图图中S3为黄灯时间设置键、S2为绿灯时间设置键、S1为确认键。
通过调用子程序,按S3可以设置黄灯闪烁的时间;按S2可以设置绿灯点亮的时间;由于红灯点亮的时间等于绿灯点亮的时间加上黄灯闪烁的时间所以可以不用设置;按下S1确认后,就可以按照设定好的时间运行。
2.4时钟及复位电路,其电路原理图如图2.4所示图2.4:时钟及复位电路图时钟部分采用12Mhz晶振及30pf电容,复位部分采用22uf极性电容,R10为0.3k 电阻,R11为1k电阻接地,该复位电路具有上电复位及手动复位功能。
2.5完整电路原理图电路原理图如图2.5所示:单片机系统采用STC89C52RC为核心,时钟信号采用12MHZ晶振,采用独立式键盘;显示部分用LED和数码管相结合,分别显示交通灯点亮情况和剩余时间。
图2.5:完整电路原理图2.6单片机相应管脚及功能说明VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P0口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个部上拉电阻的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”后,它们被部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚备选功能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:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有部程序存储器。
注意加密方式1时,/EA将部锁定为RESET;当/EA端保持高电平时,此间部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:反向振荡放大器的输入及部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。
3.软件设计流程及描述3.1程序流程图本设计的总体流程图,如图3.1所示图3.1:设计总体流程图4.调试(1)硬件调试第一步:目测。
检查外部的各种元件或者是电路是否有断点。
第二步:用万用表测试。
先用万用表复核目测中有疑问的连接点,再检测各种电源线与地线之间是否有短路现象。
第三步:加电检测。
给板加电,检测所有插座或是器件的电源端是否符合要求的值第四步:是联机检查。
因为只有用单片机开发系统才能完成对用户系统的调试。
(2)软件调试:软件调试是通过对程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。
通过调试我们发现了一些问题,发现数码管显示有乱码,仔细排除发现是数码管显示字形表与实际接法不符,导致显示乱码。
通过改变字型码问题得到解决。
按键反应太快导致按下键数字猛闪,通过在按键程序中加入延时程序问题也得到解决。
5.结束语通过单片机课程设计,我们不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。
同时,更重要的是,我们在这一设计过程中,学会了坚持不懈,不轻易言弃。
6.参考文献[1]毅刚,喜元编著.单片机原理与应用设计..电子工业,2008.4[2]余锡存,编著.单片机微机原理及接口技术[M].:电子科技,2000.12-14[3] 何立民.单片机应用技术大全.:航空航天大学, 1994[4] 谭浩强.单片机课程设计. :清华大学,19897.附录1.源程序代码K1 EQU P0.0K2 EQU P0.1K3 EQU P0.2ORG 0000HLJMP MAINORG 0030HMAIN:MOV P0,#0FFHMOV P1,#0EBH ;东西绿南北黄,数码管显示相应时间 MOV R1,#10 ;设置最小值MOV R2,#2LCALL BBSW1:JB K1,SW2 ;按下则程序运行,否则设置初值LCALL DELAY10MSJB K1,SW2MOV 70H,R1MOV A,R2ADD A,R1MOV 71H,AMOV P1,#0C0HLCALL DELAY500MSSJMP N0SW2:JB K2,SW3 ;设置绿灯时间LCALL DELAY10MSJB K2,SW3INC R1CJNE R1,#61,BBMOV R1,#10SJMP BBSW3:JB K3,SW1 ;设置黄灯时间LCALL DELAY10MSJB K3,SW1INC R2CJNE R2,#6,BBMOV R2,#2BB:MOV R0,#30HLCALL DISPSJMP SW1 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;N0:MOV R1,70HMOV R2,71HMOV P1,#0EEHS1:MOV R0,#30H ;东西绿南北红DEC R1DEC R2LCALL DISPLCALL DELAYCJNE R1,#00H,S1S2:MOV R0,#32H ;东西黄闪南北红 MOV P1,#0F6HDEC R2LCALL DISPLCALL DELAY500MSMOV P1,#0FEHLCALL DELAY500MSCJNE R2,#00H,S2MOV R1,70HMOV R2,71HMOV P1,#0DDHS3:MOV R0,#34H ;东西红南北绿DEC R1DEC R2LCALL DISPLCALL DELAYCJNE R1,#00H,S3S4:MOV R0,#32H ;东西红南北黄闪 MOV P1,#0DBHDEC R2LCALL DISPLCALL DELAY500MSLCALL DELAY500MSCJNE R2,#00H,S4SJMP N0;;;;;;延时程序;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; DELAY10MS:MOV R7,#20D1:MOV R6,#248NOPDJNZ R6,$DJNZ R7,D1RETDELAY500MS:MOV R5,#50D2:LCALL DELAY10MSDJNZ R5,D2RETDELAY:MOV R4,#100D3:LCALL DELAY10MSDJNZ R4,D3RET;;;;;;;;;显示程序;;;;;;;;;;;;;;;;;;;;;;;;;;;;; DISP:MOV A,R1MOV B,#10DIV ABMOV 30H,BMOV 31H,AMOV 36H,BMOV 37H,AMOV A,R2MOV B,#10DIV ABMOV 32H,BMOV 33H,AMOV 34H,BMOV 35H,AMOV R3,#04MOV SCON,#00HMOV DPTR,#TABLOOP:MOV A,R0MOV SBUF,AJNB TI,$CLR TIINC R0DJNZ R3,LOOPRETTAB:DB 03H,9FH,25H,0DH,99H,49H,41H,1FH,01H,09H ;0,1,2,3,4,5,6,7,8,9END2.实物图。