基于单片机的交通灯设计
- 格式:docx
- 大小:50.23 KB
- 文档页数:15
基于单片机的交通灯设计摘要:在城市交通中,交通灯起着非常关键的作用,用于规范车辆和行人的通行。
本文设计了一个基于单片机的交通灯系统,该系统采用红绿蓝LED 灯作为信号灯,通过单片机控制灯的亮灭,实现交通灯的正常运行。
该系统不仅具有稳定性和可靠性,还可以根据实际情况进行调整和扩展。
通过实验验证,该交通灯系统可以准确地显示交通信号,有助于提高交通流量的控制效果。
关键词:单片机;交通灯;LED灯;控制第一节:引言在城市交通中,交通灯是一种非常重要的设备,用于控制车辆和行人的通行。
它可以有效地组织交通流动,减少交通事故的发生,并提高交通效率。
传统的交通灯系统使用机械装置对灯进行控制,但这种方法存在维护困难、调整复杂等问题。
为了解决这些问题,本文设计了一个基于单片机的交通灯系统。
第二节:设计原理2.1系统框架本系统采用单片机作为控制器,通过控制LED灯的亮灭实现交通灯的正常运行。
系统包括信号产生模块、单片机控制模块、驱动电路模块和LED灯模块等部分。
2.2单片机选择本系统采用了AT89C52单片机作为控制器,该单片机具有较高的性能和稳定性,可以满足交通灯系统的要求。
2.3信号产生模块本系统中的信号产生模块通过设置定时器产生不同时间间隔的信号,模拟真实的交通灯信号。
2.4单片机控制模块单片机控制模块是整个系统的核心部分,它根据信号产生模块产生的信号来控制LED灯的亮灭。
具体地,单片机通过设置不同的控制信号,控制LED灯的亮灭时间。
例如,当变换到红灯时,单片机会发送一个控制信号给LED灯模块,使其显示红灯。
2.5驱动电路模块驱动电路模块负责将单片机发送的控制信号转化为LED灯的亮度控制信号,从而实现交通灯的控制。
2.6LED灯模块LED灯模块使用红、绿、蓝三色LED灯,分别代表红灯、绿灯和黄灯。
通过单片机控制,LED灯可以按照预先设置的顺序亮灭。
第三节:实验结果通过实验验证,本系统可以准确地显示交通信号。
在正常情况下,红灯亮10秒,黄灯亮5秒,绿灯亮15秒;在过渡状态下,红灯亮2秒,黄灯亮2秒,绿灯亮2秒;在故障情况下,红、绿、黄灯交替亮1秒。
基于单片机的交通灯系统设计仿真交通信号灯是城市交通管理中不可或缺的一部分,其正常运行与否直接关系到交通流畅与否,甚至关系到交通安全。
为了提高交通信号灯的智能化水平和可靠性,许多城市开始采用基于单片机的交通灯系统。
本文将介绍基于单片机的交通灯系统设计与仿真。
一、设计方案基于单片机的交通灯系统通常采用红绿灯控制器、LED灯、传感器和单片机等组成。
在设计交通灯系统时,首先需要根据道路交通流量和规划,确定交通信号灯的路口设置和灯色变更策略。
然后根据实际需要设计交通灯指示灯的布局和控制方式,确定单片机的接口和控制算法。
二、硬件部分在硬件部分上,需要选择合适的单片机作为控制核心,一般选用AT89C51、PIC、STM32等单片机作为控制核心。
单片机通过IO口连接LED灯和传感器,控制LED灯的亮灭和变化。
传感器用于检测车辆和行人的情况,从而让交通灯做出相应的控制。
LED灯的选择也是非常重要的一环,它们必须具有亮度高、寿命长、耗电低等特点,以确保交通信号灯在各种环境下都能正常工作。
在软件部分上,需要编写单片机的程序,实现交通灯的控制逻辑。
这个部分包括状态机设计、定时器中断控制、IO口输出控制等。
编写好的程序需要经过仿真软件的模拟测试,确保程序的正确性和可靠性。
四、仿真测试在进行仿真测试时,可以使用Proteus、Keil等仿真软件进行模拟仿真。
通过输入不同的交通流量和环境条件,观察交通信号灯的工作状态和控制效果。
并根据仿真结果对程序进行修改和优化,以确保交通信号灯系统的稳定性和可靠性。
五、系统优化在交通信号灯系统运行一段时间后,可以根据实际情况对系统进行调整和优化。
通过收集实际交通数据和用户反馈,对交通信号灯的灯色变化策略和程序逻辑进行优化,提高系统的智能化水平和交通效率。
总结:基于单片机的交通灯系统设计与仿真,是一项有挑战性和意义重大的工作。
通过合理的设计方案、精良的硬件设备、高效的软件程序、严格的仿真测试和系统的优化调整,可以实现交通信号灯的智能化控制和可靠运行,为城市交通管理做出贡献。
基于单片机的交通信号灯的控制系统设计交通信号灯是城市交通管理中非常重要的一部分,它通过灯光信号来指示道路上车辆和行人的行动。
基于单片机的交通信号灯控制系统可以实现对交通信号的自动控制,并能根据实际交通情况和时间变化进行灵活调整,提高道路交通的效率和安全性。
1.系统设计需求分析:
-实现红、黄、绿三种信号灯的循环显示,时间可设定;
-根据实际交通情况和时间变化,动态调整红、黄、绿三种信号灯的显示时间;
-配备感应器,检测行人和车辆的存在,根据情况自动调整信号灯时间。
2.系统硬件设计:
-选择合适的单片机,如AT89C52;
-使用LED灯作为信号灯显示器件;
-选择适当的传感器,如红外传感器用于检测行人,光敏电阻用于检测车辆;
-选择适当的电路板进行连接。
3.系统软件设计:
-编写单片机的控制程序,实现红、黄、绿三种信号灯的循环显示;
-设定初始的信号灯显示时间;
-利用定时器和中断控制程序,实现对信号灯显示时间的控制,可以根据设定的时间进行调整;
-设定感应器的检测程序,当检测到行人或车辆时,调整信号灯显示时间。
4.系统工作流程:
(1)初始化系统,设定初始的信号灯显示时间;
(2)通过定时器和中断控制程序实现循环显示红绿黄信号灯;
(3)检测行人和车辆的存在,根据情况调整信号灯显示时间;
(4)循环执行步骤2和步骤3,实现自动控制交通信号灯。
5.系统优化方案:
-根据实际交通数据和研究结果,优化信号灯显示时间;
-利用流量监测技术,实时监测道路交通情况,进一步优化信号灯的控制策略;
-可以加入数据通信模块,将采集到的交通数据上传到中央交通管理系统,实现更智能化的交通信号灯控制。
基于单片机的交通灯设计_毕业设计随着城市化进程的加快,城市道路交通问题越来越受到关注。
为了保证交通的流畅,交通信号灯的作用日益重要。
在城市各个路口都可以看到交通信号灯,它可以指挥道路交通流动,有效地保障了人们的出行。
因此,在本文中,我们利用单片机设计交通信号灯,实现信号灯路口的交通指挥。
设计完善的交通信号灯不仅可以指挥路口的交通流动,还可以增加路口的安全性,减少交通事故的发生。
一、设计方案在本设计中,我们采用AT89S52单片机作为控制核心进行控制,功能实现主要包括四个路口信号灯的控制、交通灯的时间控制、电源电压检测以及人行横道灯的控制等。
1. 路口信号灯的控制:信号灯状态包括红、黄、绿三种,不同颜色代表不同的交通状态。
例如红灯代表停车,黄灯代表减缓,绿灯代表通行。
2. 交通灯的时间控制:为了保证交通流畅,每种信号灯的时间长度需要进行精确控制。
本设计中,我们采用定时器实现时间控制,通过程序设计来确定每种信号灯持续时间。
3. 电源电压检测:为了确保控制系统的稳定性和安全性,在本设计中,我们加入了电源电压检测功能,通过检查电源电压,可以保证交通信号灯在电压稳定的情况下正常工作。
4. 人行横道灯的控制:为了保护行人的交通安全,我们还加入了人行横道灯的控制,通过设置特殊的信号灯来指示行人安全通过的时间。
二、设计思路1.硬件设计硬件设计是本设计的重点,主要包括电芯电源、核心单元、指示器灯和调试接口等。
其中,核心单元采用了最常用的AT89S52单片机,作为控制中心实现各个功能的控制和管理。
指示器灯是由LED灯组成的,在红、黄、绿三个颜色共15个LED灯的基础上,加入了人行横道灯的控制指示。
本设计的关键在于软件控制部分,主要涉及到定时器的使用、端口控制等方面。
为了实现正常的交通指挥,不仅需要对红、黄、绿灯进行控制,还需要根据实际情况来调整不同信号灯之间的时间差。
因此,在软件设计过程中,我们需要根据路口多车道情况设计不同的交通流控制方案,并通过程序调试实现优化。
基于单片机的交通灯设计引言随着城市交通的持续发展和人口数量的不断增加,交通流量管理变得越来越重要。
交通信号灯是城市道路交通管理的重要组成部分。
为了实现高效的交通流动和安全,交通信号灯需要根据道路的实际情况进行智能控制。
本文将介绍基于单片机的交通灯设计,旨在提供一种实现智能交通信号灯控制的解决方案。
设计目标基于单片机的交通灯设计的主要目标是实现智能交通信号灯控制,包括以下几个方面:1.交通流量感知:通过传感器检测道路上的车辆数量和行驶速度,以了解交通流量的情况。
2.智能信号灯控制:根据交通流量情况自动调整交通信号灯的状态和时长,以提供最优的交通流动和安全。
3.故障检测和自动修复:监测交通信号灯的工作状态,及时发现问题并采取相应的措施修复故障,确保信号灯的稳定工作。
设计原理基于单片机的交通灯设计的实现基于以下几个主要原理:1.传感器技术:通过使用传感器技术来感知道路上的交通流量。
常用的传感器包括红外传感器和光电传感器,它们可以检测车辆和行人的存在和运动。
2.计时器和控制器:使用单片机的内置计时器和控制器来控制交通信号灯的状态和时长。
单片机可以根据传感器的输入和预设的交通流量模型来自动调整信号灯的状态和时长。
号灯连接起来,使它们能够协同工作。
这包括连接传感器和单片机的输入端口,连接单片机和交通信号灯的输出端口等。
设计步骤基于单片机的交通灯设计一般包括以下步骤:1.传感器连接:将传感器与单片机连接,确保传感器可以正确地将信号传递给单片机。
这可能涉及到引脚的正确连接和电气特性的匹配。
2.程序编写:编写单片机的程序代码,实现交通流量的感知和信号灯的控制。
程序应该能够根据传感器的输入来自动调整信号灯的状态和时长。
起来。
这可能需要设计适当的电源供电和保护电路,以确保信号灯的正常工作。
4.测试和调试:将设计好的交通灯系统进行测试和调试,确保它可以正常工作。
这可能涉及到模拟交通流量、模拟故障情况等。
结论基于单片机的交通灯设计可以实现智能交通信号灯控制,提供高效的交通流动和安全。
基于单片机的交通灯课程设计报告(含源程序+仿真)
一、课程设计目的
本课程设计的目的是使用单片机实现二级智能信号灯控制系统,实现智能交通控制。
对于二级智能信号灯控制装置,电路中涉及到各种元器件,包括单片机控制器、执行元件、电源元件、信号识别器等,采用单片机作为控制器,在单片机编程时,配合交通信息识别器,实现自主的交通控制系统,实现智能控制。
根据交通控制装置的物理结构,开发出相应的单片机程序控制系统。
具体的程序设计和控制流程如下:
1、根据需要确定路口的信号方案;
2、在单片机软件模块中添加车辆检测功能;
3、控制信号灯运行,当检测到车辆时,调整信号灯运行;
4、编写交通控制程序,实现对信号灯及其信号闪烁序列的控制;
5、编写车辆检测控制程序,实现对道路中车辆的检测和判断;
6、完成软件调试,将控制程序上传至单片机;
7、实现仿真测试,检验交通控制系统的实际效果。
本课程设计最终实现了一个完整的实时交通控制系统,它具有以下特性:
(1)具有交通灯自动变换功能;
(2)拥堵及女性模式,即可以根据车流量多少,判断如何安排红绿灯;
(3)可以根据实际情况,启动信号灯控制系统,控制信号灯的变换。
本课程设计实现了对交通控制系统的简单控制,可以满足城市交通的需求,减少城市交通拥堵的程度。
基于单片机的交通灯控制系统需要包含以下组成部分: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.单片机:选用一款具有较好性能和稳定性的单片机,如STC89C513.红外传感器:用于检测车辆和行人的存在,以及计算通过时间。
三、软件设计软件设计分为信号灯控制程序和调控算法设计。
1.信号灯控制程序:根据信号灯的布局和时序要求,编写程序实现交通信号灯的亮灭控制。
通过单片机的输出口控制灯的状态切换,可以使用各种延时函数来控制各个灯的亮灭时间。
2.调控算法设计:根据交通状况和道路拥堵情况进行调控。
可以通过红外传感器检测车辆和行人的存在与否,并计算通过时间。
根据不同的情况,编写算法来动态调节交通信号灯的亮灭顺序和时间。
例如,当有车辆和行人需要通行时,可以延长绿灯时间;当一些方向车辆较多时,可以调节配时绿灯的时间比例。
四、系统功能设计完成后的交通信号灯系统具备以下功能:1.自动控制:根据预设的时序和调控算法,系统能够自动控制交通信号灯的亮灭。
2.动态调控:根据红外传感器检测到的交通状况和拥堵情况,系统能够动态调控信号灯的亮灭顺序和时间,以提高道路通行效率。
3.人工干预:在需要进行维护或出现特殊情况时,可以通过人机交互界面对信号灯进行手动控制。
4.报警功能:当交通信号灯系统出现故障时,系统能够及时报警,以提醒维修人员进行处理。
五、系统优势与传统的交通信号灯相比1.灵活性更高:通过单片机的程序设计,交通信号灯可以根据交通状况进行动态调控,提高道路通行效率。
2.可靠性更强:采用单片机控制,系统工作稳定可靠,可避免由于传统信号灯老化等原因导致的故障。
基于单片机的交通信号灯控制系统设计
1. 系统设计目标
设计一个基于单片机的交通信号灯控制系统,实现不同方向车辆和行人的交通规划。
2. 系统硬件设计
硬件组成:单片机、LED灯、电源、电阻、电容等。
系统结构:
- 单片机通过IO口控制LED灯显示红、黄、绿三种状态。
- 通过数码管和按钮实现人行道倒数计时和手动切换信号灯的功能。
- 通过外部输入检测传感器实现车辆和行人的检测。
- 接口技术:USB、串口通讯。
3. 系统软件设计
软件设计流程:
- 初始化IO口、定时器等资源。
- 通过程序控制LED灯的开关。
- 利用定时器完成各个状态的时长控制,将绿灯、黄灯和红灯的切换时间控制在合理的范围内。
- 通过IO口读取外部传感器的状态,确定行人和车辆的状态并作出相应的反应。
- 实现手动切换信号灯的功能,红色按钮为停止键,绿色按钮为启动键,通过按照不同的指令来切换信号灯状态。
- 显示人行道倒数计时的时间,可通过数码管显示。
以上就是基于单片机的交通信号灯控制系统的设计。
需要注意的是,在实际的应用中还需要考虑人车流量、路口情况等因素,获得更可靠的结果。
基于单片机的交通灯设计前言交通是城市经济活动的命脉,对城市经济发展、人民生活水平的提高起着十分重要的作用。
城市交通问题是困扰城市发展、制约城市经济建设的重要因素。
智能化和集成化是城市交通信号控制系统的发展趋势和研究前沿,而针对交通系统规模复杂性特征的控制结构和针对城市交通瓶颈问题并代表智能决策的阻塞处理则是智能交通控制优化管理的关键和突破口。
因此,研究基于智能集成的城市交通信号控制系统具有相当的学术价值和实用价值。
把智能控制引入到城市交通控制系统中,未来的城市交通控制系统才能适应城市交通的发展。
从长远来看该研究具有巨大的现实意义。
交通灯总体设计方案目前设计交通灯的方案有很多,有应用CPLD实现交通信号灯控制器的设计,有应用PLC实现对交通灯控制系统的设计。
有应用单片机实现对交通信号灯设计的方法。
由于STC10F04单片机自带有2个计数器,6个中断源,能满足系统的设计要求。
用单片机设计不但设计简单,而且成本低。
用其设计的交通灯也满足了要求,所以本文采用单片机设计交通灯。
设计一个十字路口交通灯控制电路,根据设定好的周期时间能够指挥车辆在十字路口完成左转和直行交替运行。
在相同的时间里提高通车的质量、效率。
并能在高峰期根据实际状况结合方程式控制按钮来调整主次干道的通车时间,降低交通拥挤堵塞现象。
并使交通控制系统具有紧急控制,使救护车、救护车通过时,使两个方向均亮红灯,救护车和消防车通过后,恢复原来状态,增加对出现特殊情况的处理能力。
采用STC10F04单片机作为控制器,通行倒计时显示采用LED数码管,通行指示灯采用发光二极管,LED显示采用动态扫描,以节省端口数。
特殊紧急车辆通行采用实时中断完成。
车流量变大时,可通过方程式开关控制按钮A1改变十字路口各个方向的通车时间,使交通更顺畅,减少堵塞。
按以上系统构架设计,STC10F04单片机端口刚好满足要求。
该系统具有电路简单,设计方便,耗电较少,可靠性高等特点。
基于单片机的交通灯设计集团文件版本号:(M928-T898-M248-WU2669-I2896-DQ586-M1988)郑州航空工业管理学院单片机课程设计说明书2014 级专业班级题目学号姓名指导教师二О一六年十二月十五日一、交通灯的基本原理单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。
单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。
单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和I/O接口电路等。
因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。
近年来随着科技的飞速发展,单片机的应用正在不断地走向深入。
在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。
交通灯是城市交通的重要指挥系统,与人们的日常生活密切相关。
随着经济的快速发展,城市中的车辆逐渐增多,交通拥堵和堵塞现象日趋严重,引起交通事故频发等一系列问题,因此设计一个灵活、稳定、便捷的多功能交通灯控制系统具有必要性和现实性。
本次设计的意义在于通过对具体的控制系统的设计,掌握微机控制系统设计的一般方法和处理问题的思路,特别是一些常用的技术手段。
在实践设计过程中,积累设计经验,开拓思维空间,全面提高个人的综合能力。
本系统由单片机硬/软件系统,8位8段数码管和LED灯显示系统。
和电路控制电路等组成,较好的模拟了交通路面的控制。
倒计时电路主要是由双位共阴数码管和74HC573N驱动模块组成,控制信号通过单片机的端口P1口进行信号的传输。
倒计时电路负责的是显示红绿灯持续显示的时间。
当绿灯或者红灯持续显示时,数码管显示该状态的持续时间,在黄灯闪烁显示时,起到倒计时秒数的作用。
红绿灯功能电路主要是由各色的发光二极管和74HC573N驱动模块组成,控制信号跟数码管一样都是通过P1口进行传输。
红绿灯电路负责的是各个车行道和人行道通行状态的显示。
系统经初始化可以开始自动运行,数码管有倒计时显示功能,即1、具有直行、左转、右转、停止四个指示灯;2、指示灯有倒计时显示功能,直行+右转20秒,左转+右转10秒,停止+右转30秒,按此规律不断循环;3、直行和左转灯灭掉前3秒能够闪烁提示(每秒两次);4、能够调整直行、左转、停止指示灯的时间。
二、交通灯的硬件设计本设计单片机主要是用于控制交通灯的演示系统,故只需要单片机最小系统即可完成。
此电路由单片机、时钟电路、电源、复位电路4个组成部分组成。
下图分别为单片机原理图、交通灯系统电路图。
图1 单片机系统原理图图2 交通灯系统原理图2.1 复位电路复位方式有多种,本设计采用按键复位。
接线图如图3复位电路,在复位期间(即RST为高电平期间),P0口为高组态,P1-P3口输出高电平;外部程序存储器读选通信号PSEN无效。
地址锁存信号ALE也为高电平。
在设定的定时时间内必须在RST引脚产生一个由高到低的电平变化,以清内部定时器.图3 复位电路图2.2 晶振电路选取原则:传统做法,但能够实现所需,即最简单也最是实用。
电容选取30pF,晶振为12MHz。
图4 晶振电路图供电电路由主电源和备用电源组成。
主电源主要是由变压器、6A整流桥、4个二极管, 2个104pf电容,二个电解电容以及7805三端稳压管组成。
这个部分为系统提供主要的供电,输出电压为5V直流。
备用电源主要是由4位的5号电池盒组成。
这个部分在主电源断电时能够几乎瞬时的为系统提供电源,输出电压也是5V直流。
该电源直接接到单片机的电源端。
图5 主电源和备用电源切换功能电路2.4 原件清单三、交通灯的软件设计3.1交通灯程序#include <reg51.h>#include<intrins.h>#define uchar unsigned char #define uint unsigned int unsigned char codeTab[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x bf,0xff,0xce};sbit up=P3^1;sbit down=P3^2;sbit set=P3^3;sbit S8 = P2^0;sbit S7 = P2^1;sbit S6 = P2^2;sbit S5 = P2^3;sbit S4 = P2^4;sbit S3 = P2^5;sbit S2 = P2^6;sbit S1 = P2^7;ucharfenduan1=20,fenduan2=10,fendua n3=3;uchar times=0;uchar second=0;uchar bsecond=0;uchar sss=0;uchardisData[8]={7,12,1,10,11,11,6, 7};void keydisplay();void display();void Delay(){unsigned char i;for(i=0;i<255;i++);}void ISR_Timer0(void) interrupt 1{TH0=0x3c;TL0=0xb0;times++;if (times == 10){bsecond++;times=0;}}void display(uchar *point){P0= Tab[*(point)];S1 = 0; //开S1显示Delay();S1 = 1; //关S1显示P0= Tab[*(point+1)];S2 = 0; //开S2显示Delay();S2 = 1; //关S2显示P0= Tab[*(point+2)];S3 = 0; //开S3显示Delay();S3 = 1; //关S3显示P0= Tab[*(point+3)];S4 = 0; //开S4显示Delay();S4 = 1; //关S4显示P0= Tab[*(point+4)];S5 = 0; //开S1显示Delay();S5 = 1; //关S1显示P0= Tab[*(point+5)];S6 = 0; //开S2显示Delay();S6 = 1; //关S2显示P0= Tab[*(point+6)];S7 = 0; //开S3显示Delay();S7 = 1; //关S3显示P0= Tab[*(point+7)];S8 = 0; //开S4显示Delay();S8 = 1; //关S4显示}void delayAJ(uchar a){uchar i;while(a--){for(i=0;i<125;i++);{display(disData);}}}void key(){if(set==0){delayAJ(10);//消抖 //消抖时间可根据实际情况设定if(set==0){sss++;delayAJ(10);}while(!set){delayAJ(10);}}if(sss%4==1){if(up==0){ delayAJ(10);if(up==0){fenduan1++;if(fenduan1==100)fenduan1=0;{while(!up)delayAJ(10);}}}if(down==0){ delayAJ(10);if(down==0){fenduan1--;if(fenduan1==-1)fenduan1=99;} while(!down)delayAJ(10);}}if(sss%4==2){if(up==0){ delayAJ(10);if(up==0){fenduan2++;if(fenduan2==100)fenduan2=0;{while(!up)delayAJ(10);}}}if(down==0){ delayAJ(10);if(down==0){fenduan2--;if(fenduan2==-1)fenduan2=99;} while(!down)delayAJ(10);}}if(sss%4==3){if(up==0){ delayAJ(10);if(up==0){fenduan3++;if(fenduan3==100)fenduan3=0;{while(!up)delayAJ(10);}}}if(down==0){ delayAJ(10);if(down==0){ fenduan3--;if(fenduan3==-1)fenduan3=99;} while(!down)delayAJ(10);}}}void keydisplay(){bsecond=0;if(sss%4==1){disData[0]=11;disData[2]=1;disData[3]=11;disData[6]=fenduan1/10;disData[7]=fenduan1%10;}if(sss%4==2){disData[0]=7;disData[2]=11;disData[3]=11;disData[6]=fenduan2/10;disData[7]=fenduan2%10;}if(sss%4==3){disData[0]=11;disData[2]=11;disData[3]=10;disData[6]=fenduan3/10;disData[7]=fenduan3%10;}}void xianshi(){second=bsecond/2;if(second>fenduan1+fendua n2+fenduan3+1)bsecond=0;if(second<=fenduan1){disData[0]=11;disData[1]=12;disData[2]=1;disData[3]=11;disData[6]=(fenduan1-second)/10;disData[7]=(fenduan1-second)%10;if((fenduan1-second<=3)&&(bsecond%2==0)){disData[0]=11;disData[1]=11;disData[2]=11;disData[3]=11;}}else if((second>fenduan1) &&(second<=fenduan2+fenduan1)){disData[0]=7;disData[1]=12;disData[2]=11;disData[3]=11;disData[6]=(fenduan1+fendu an2-second+1)/10;disData[7]=(fenduan1+fend uan2-second+1)%10;if((fenduan1+fenduan2-second+1<=3)&&(bsecond%2==0)) {disData[0]=11;disData[1]=11;disData[2]=11;disData[3]=11;}}elseif((second>fenduan2+fenduan1)& &(second<=fenduan2+fenduan1+fe nduan3)){disData[0]=11;disData[1]=12;disData[2]=11;disData[3]=10;disData[6]=(fenduan1+fenduan2+fenduan3-second+1)/10; disData[7]=(fenduan1+fenduan2+fenduan3-second+1)%10;if((fenduan1+fenduan2+fenduan3-second+1<=3)&&(bsecond%2==0)){disData[0]=11;disData[1]=11;disData[2]=11;disData[3]=11;}}if(second>fenduan1+fenduan2+fenduan3+1)bsecond=0;}void main(){TMOD |=0x01;//T0 16位定时器TH0=0x3c;TL0=0xb0;ET0=1;TR0=1;EA=1;while(1){key();if(sss%4==0)xianshi();elsekeydisplay();display(disData);}}3.2程序流程图四、课程设计总结五、指导教师评语。