单片机交通灯课程设计

合集下载

单片机课程设计交通灯(完整版)

单片机课程设计交通灯(完整版)
3.5.3.特性
门控串行数据输入
异步中央复位
符合 JEDEC 标准 no.7A
静电放电 (ESD) 保护:
·HBM EIA/JESD22-A114-B 超过 2000 V
·MM EIA/JESD22-A115-A 超过 200 V 。
多种封装形式
额定从-40 °C至 +85 °C和-40 °C至 +125 °C。
设计思想基于完成以上任务分析结合所学有关知识尤其是本学期所学关于单片机的中断系统和定时计数器的相关知识及应用我们知道对于15红绿黄四组各三盏灯的控制可以通过把这十二盏灯分别接到单片机的六个输出引脚若用p1口进行输出则分配如下at89c51l1l2l3l4l5l6东西红东西黄东西绿南北红南北黄南北绿led显示分布1642
亮灯规律:东西绿灯亮25s,南北红灯亮25s
东西绿灯闪5s,南北红灯亮5s
东西黄灯亮2s,南北红灯亮2s
东西红灯亮25s,南北绿灯亮25s
东西红灯亮5s,南北绿灯闪5s
东西红灯亮2s,南北黄灯亮2s
2.2.
(1)加强对单片机和汇编语言的认识,充分掌握和理解设计各部分的工作原理、设计过程、选择芯片器件、模块化编程等多项知识。
3.2.LED
3.2.1.七段数码显示器:
七段发光线段分别用a、b、c、d、e、f、g七个小写字母表示。
3.2.2.LED数码管:
半导体数码管又称LED数码管,是一种广泛使用的显示器件。LED有两种:共阳极型和共阴极型。
LED优点:亮度高、字形清晰,工作电压低(1.5~3V)、体积小、可靠性高、寿命长,响应速度极快。
1.引言
交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是体现的淋漓尽致。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。

交通信号灯单片机课程设计

交通信号灯单片机课程设计

交通信号灯单片机课程设计一、设计背景交通信号灯是城市道路上的重要设施,它能够指引行车和行人的方向,维护交通秩序和安全。

而现代交通信号灯则采用了单片机技术,使其更加智能化、可靠化和节能环保。

二、设计目标本课程设计旨在通过学习单片机原理和应用知识,掌握交通信号灯的设计与实现方法,并实现以下目标:1. 理解单片机工作原理及其应用;2. 掌握基本的电子元器件和电路知识;3. 学会使用Keil C51集成开发环境编写程序;4. 能够独立完成交通信号灯系统的设计与实现。

三、设计内容1. 系统硬件设计系统硬件主要由单片机、LED等元器件组成。

其中,单片机采用AT89C52型号,具有强大的计算能力和丰富的外设接口;LED则是光电转换元件,可将电能转换为光能进行显示。

2. 系统软件设计系统软件主要由Keil C51集成开发环境编写。

具体步骤如下:(1)编写程序框架:包括头文件引用、全局变量定义、主函数等;(2)编写延时函数:通过循环语句实现时间延迟,用于控制交通信号灯的闪烁和变换;(3)编写状态转换函数:根据交通信号灯的状态进行相应的控制操作,包括红灯、黄灯、绿灯等状态;(4)调试程序:通过单片机仿真器或实际硬件进行程序调试,确保程序运行正确。

四、设计步骤1. 系统硬件设计步骤:(1)确定系统功能需求和性能指标;(2)选取单片机和LED元器件,并进行电路原理图设计;(3)进行PCB布线和焊接工作,完成系统硬件设计。

2. 系统软件设计步骤:(1)安装Keil C51集成开发环境,并创建工程文件;(2)编写程序框架和延时函数,并测试其正确性;(3)编写状态转换函数,并测试其正确性;(4)将程序下载到单片机中,并进行实际运行测试。

五、设计成果展示经过以上步骤,我们成功地完成了交通信号灯系统的设计与实现。

下面是系统运行效果展示:当交通信号灯处于红灯状态时,车辆需停车等待;当交通信号灯处于黄灯状态时,车辆需减速慢行;当交通信号灯处于绿灯状态时,车辆可正常行驶。

(完整版)单片机交通灯毕业课程设计

(完整版)单片机交通灯毕业课程设计

《单片机原理及应用》课程设计题目基于STC89C52单片机的交通灯控制系统设计学生姓名沈邦振学号学院信息与控制学院专业测控技术与仪器指导教师孙伟二O一二年六月五日基于 STC89C52 单片机的交通灯控制系统沈邦振1.项目概述随着我国经济的高速发展,私家车、公家车的增加,无疑会给我国道路交通系统带来沉重的压力,很多大城市都不同程度的受到交通堵塞问题的困扰。

下面以STC89C52单片机为核心,设计出以人性化、智能化为目的的交通信号灯控制系统。

2.项目意义用 STC89C52单片机控制一个交通信号灯系统,晶振采用 12MHz。

设 A 车道与 B 车道交叉组成十字路口, A 是主道, B 是支道。

设计要求如下:(1)用发光二极管模拟交通信号灯,用按键开关模拟车辆检测信号。

(2)正常情况下, A、B 两车道轮流放行, A 车道放行 9s ,其中 3s 用于警告; B 车道放行 6s, 其中 3s 用于警告。

(3)在交通繁忙时,交通信号灯控制系统应有手控开关,可人为的改变信号灯的状态,以缓解交通拥挤状况。

在 B 车道放行期间,若 A 车道有车而 B 车道无车,按下开关 K1 使 A 车道放行 5s;在 A 车道放行期间,若 B 车道有车而 A 车道无车,按下开关 K2 是 B 车道放行 5s。

( 4)有紧急车辆通过时,按下K3 使 A、 B 车道均为红灯,禁行5s。

3系统设计交通控制系统主要控制A、B 两车道的交通,以STC89C52单片机为核心芯片,通过控制三色LED的亮灭来控制各车道的通行;另外通过3 个按键来模拟各车道有无车辆的情况和有紧急车辆的情况。

根据要求,制定总体设计思想如下:(1)正常情况下运行主程序,采用 0.5s 延时子程序的反复调用来实现各种定时时间。

( 2)一车道有车,而另一车道无车时,采用外部中断 1 执行中断服务程序,并设置该中断为低优先级中断。

(3)有紧急车辆通过时,采用外部中断 0 执行中断服务程序,并设置该中断为高优先级中断,实现二级中断嵌套。

单片机交通灯课程设计

单片机交通灯课程设计

单片机交通灯课程设计一、课程介绍:本课程名为“单片机交通灯课程设计”,旨在通过教授单片机的基本原理和应用,使学员能够设计和实现一个简单的交通灯控制系统。

课程将围绕单片机的硬件组成、编程语言、接口技术等方面展开,使学员深入了解单片机的运作机制,掌握交通灯控制系统的原理和设计方法。

通过本课程的学习,学员将能够独立设计和实现一个交通灯控制系统,提高他们的实践能力和创新能力。

二、学习者分析:目标受众为具有一定电子工程或计算机科学背景的大学生,他们的年龄一般在18-25岁之间,学历水平主要为本科或研究生。

他们对电子技术和编程语言有一定的了解,具备一定的逻辑思维能力和问题解决能力。

先备知识方面,学员应掌握基本电路原理、C语言编程和微控制器的基本概念。

三、学习目标:1.认知目标:学生应该了解单片机的硬件组成、工作原理和编程语言;掌握交通灯控制系统的原理和设计方法。

2.技能目标:学生应该能够使用单片机开发工具进行程序编写和调试;能够设计和实现一个简单的交通灯控制系统。

3.情感目标:学生应该培养对电子技术的兴趣和热情,提高他们的问题解决能力和创新意识。

四、课程内容:1.模块/单元划分:将课程内容划分为以下几个模块:模块一:单片机基础知识;模块二:C语言编程;模块三:单片机接口技术;模块四:交通灯控制系统设计。

2.内容描述:模块一将介绍单片机的硬件组成、工作原理和编程环境;模块二将教授C语言的基本语法和编程技巧;模块三将讲解单片机接口技术的原理和应用;模块四将引导学员设计和实现一个简单的交通灯控制系统。

3.核心概念:每个模块中都包含关键概念或理论,如单片机的硬件组成、C语言的编程语法、接口技术的原理等。

这些核心概念是课程的重点,学员需要深入理解和掌握。

五、教学策略:为了达到本课程的学习目标,我们将采用多种教学方法、活动设计和技术的整合。

1.教学方法:我们将结合讲授、讨论、合作学习和实验等方法。

讲授法用于向学生传授单片机和C语言的基础知识;讨论法用于激发学生的思考,解决学习过程中遇到的问题;合作学习使学生在团队中共同完成项目,培养沟通和协作能力;实验法让学生亲手操作,加深对知识的理解和应用。

单片机课程设计-交通灯

单片机课程设计-交通灯

目录目录第一章课程设计内容与要求分析 (1)1.1 课程设计内容 (1)1.2 课程设计要求分析 (2)1.2.1 系统单元电路组成 (2)第二章控制系统程序设计 (4)第三章单片机原理及应用课程设计总结 (18)参考文献 (19)附录 (20)第一章课程设计内容与要求分析1.1 课程设计内容本题目以89C51单片机为核心器件组成交通灯控制系统,采用定时中断实现精确定时;利用提供的单元模块构成硬件系统。

交通灯控制系统的设计要求:1)基本功能:要求在一般工作方式下,十字路口为A、B道(A、B道交叉组成十字路口),每道设置红、绿、黄三盏灯,在灯的控制下各道轮流放行。

通行的流程是:B道红灯亮40秒,同时A道绿灯亮30秒,闪烁5秒,A道黄灯亮5秒;然后切换A道红灯亮40秒,同时B道绿灯亮30秒,闪烁5秒;B道黄灯亮5秒。

如此循环。

在A、B道红、绿、黄灯依次点亮时,A、B道对应的两位数码管分别倒计时显示本道红、绿、黄灯点亮的时间。

2)扩展功能:设置自动流量控制功能:即当一道有车而另一道无车(用按键开关S1、S2模拟车辆检测功能)时,使有车车道放行。

设置优先控制功能:当有紧急车辆通过时,用开关S0进行控制,将A、B 道均设定为红灯,第二次按下开关S0后,回复正常运行状态。

1.2 课程设计要求分析1.2.1 系统单元电路组成图1 交通灯外围电路图2 交通灯运行时电路图3 交通灯运行时电路第二章控制系统程序设计#include <reg51.h>unsigned char code dtab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};//共阳极接法的数字0~9段码表unsigned char code selec[4]={0xFE,0xFD,0xFB,0xF7};//动态显示位选码表unsigned char disp[4];//定义4个显示缓冲单元unsigned char aa[25];sbit Key1=P1^4;//定义四个独立按键sbit Key2=P1^5;sbit Key3=P1^6;sbit Key4=P1^7;sbit YL_ledR=P3^0;//定义Y轴方向左转的红绿黄灯sbit YL_ledY=P3^1;sbit YL_ledG=P3^2;sbit YG_ledR=P3^3;//定义Y轴方向直行的红绿黄灯sbit YG_ledY=P3^4;sbit YG_ledG=P3^5;sbit XL_ledR=P2^0;//定义X轴方向左转的红绿黄sbit XL_ledY=P2^1;sbit XL_ledG=P2^2;sbit XG_ledR=P2^3;//定义X轴方向直行的红绿黄sbit XG_ledY=P2^4;sbit XG_ledG=P2^5;unsigned char flag=13,move_flag; //定义标志位unsigned char XGR,XGY,XGG;unsigned char XLR,XLY,XLG;unsigned char YGR,YGY,YGG;unsigned char YLR,YLY,YLG;unsigned char YYRR,XXRR;unsigned char num;void Delayms(unsigned int x) //定义xms延时函数,x就是形式参数{unsigned int i;unsigned char j;for(i=x;i>0; i--)for(j=110;j>0;j--);}/**************************************************************函数功能:定时器0中断服务函数,显示矩阵按键值**************************************************************/void Time0(void) interrupt 1//"interrupt"声明函数为中断服务函数{unsigned char count;TH0=(65536-50000)/256; //定时器T0的高8位赋初值TL0=(65536-50000)%256;//定时器T0的低8位赋初值if(++count>=20){count=0;YGG--; //Y轴绿灯时间减一XXRR--; //X轴红灯时间减一disp[2]=XXRR%10; //X轴数码管显示Y轴绿灯时间disp[3]=XXRR/10;disp[0]=YGG%10; //Y轴数码管显示X轴红灯时间disp[1]=YGG/10;if(YGG==0) //如果Y抽绿灯时间减为零,Y轴的黄灯开始亮,X轴的数码管显Y轴黄灯时间{disp[0]=YGY%10;disp[1]=YGY/10;YGG=1;YGY--;YG_ledG=1;//Y轴的绿灯熄灭YG_ledY=0;if(YGY==0XFF) //当Y轴黄灯闪烁时间变为零,Y轴红灯亮,黄灯灭,Y数码管显示X轴绿灯时间{ //同时X轴的绿灯亮,红灯灭,X轴数码管显示Y轴红灯时间disp[0]=YLG%10;disp[1]=YLG/10;YGY=0;YLG--;YL_ledG=0;YG_ledR=0;YG_ledY=1;YL_ledR=1;if(YLG==0XFF)//当X轴绿灯时间为零,X轴的绿灯灭,黄灯开始闪烁。

交通灯单片机课程设计报告

交通灯单片机课程设计报告

课程设计报告:交通灯单片机控制系统1. 设计目的本课程设计旨在让学生通过使用单片机开发一个简单的交通灯控制系统来加深对单片机编程和控制原理的理解。

该系统可以模拟道路上的交通灯,实现红灯、绿灯和黄灯的循环控制,并可以通过按键进行手动控制。

2. 设计原理2.1 交通灯状态交通灯状态包括红灯、黄灯和绿灯,它们按照固定的时间间隔循环切换。

2.2 按键控制设计中使用一个按键用于手动控制交通灯状态切换。

按下按键时,会切换到下一个灯状态。

3. 硬件方案3.1 单片机本设计采用ATmega328P单片机,它具有足够的GPIO引脚用于控制交通灯的LED。

3.2 LED使用红色、黄色和绿色LED模拟交通灯的三种状态。

3.3 按键一个按键连接到单片机的GPIO引脚,用于手动切换交通灯状态。

4. 软件方案4.1 控制逻辑编写单片机程序,实现交通灯状态的循环切换和按键控制逻辑。

4.2 定时器使用定时器来控制交通灯状态切换的时间间隔。

4.3 中断配置按键的中断,以便在按下按键时进行状态切换。

5. 实施过程连接硬件组件,包括LED、按键和单片机。

编写单片机程序,包括交通灯状态切换逻辑、定时器配置和按键中断处理。

编译并烧录程序到单片机。

运行程序,观察交通灯的状态切换和按键控制是否正常。

6. 测试结果经过测试,交通灯控制系统能够正常运行。

交通灯状态按照预定的时间间隔循环切换,同时按下按键可以手动切换状态,符合设计要求。

7. 问题解决在实施过程中,遇到了一些问题,如硬件连接错误和程序逻辑错误。

通过仔细检查和调试,成功解决了这些问题。

8. 总结本课程设计使我深入了解了单片机编程和控制系统的原理,通过实际动手操作,更好地掌握了这些概念。

设计交通灯控制系统是一个有趣且教育性的项目,我对单片机编程有了更深入的理解,这对我的学习和职业发展都有所帮助。

这个示例课程设计报告可以作为参考,你可以根据具体的课程设计要求和硬件平台的不同来进行调整和扩展。

单片机交通灯课程设计

单片机交通灯课程设计

单片机交通灯课程设计单片机交通灯课程设计简介:单片机交通灯课程设计是一项基于单片机控制的交通灯系统设计任务。

通过使用单片机的控制和处理能力,设计出实现交通灯的红绿灯控制、时间自动调整等功能的系统。

该设计能够帮助学生提升对单片机的理解和应用能力,同时加深对交通灯控制原理的理解。

需求分析:根据交通灯的基本原理,我们需要实现交通灯的红灯、绿灯和黄灯的切换控制,并且能够按照一定时间间隔进行自动调整。

通过按键控制可以手动改变交通灯的状态。

我们需要选取适当的控制电路和编程语言来实现这一功能。

本设计的目标是使交通灯的切换过程平稳、稳定,并且在故障发生时能够按照预定的故障处理机制进行处理。

设计方案:1. 硬件设计:(1) 选取合适的单片机,可根据实际情况选择合适的型号;(2) 设计电路板,将单片机与交通灯的灯组连接起来;(3) 使用合适的电源供电,保证电路的正常运行;(4) 调试电路,确保电路的连接正常、无故障。

2. 软件设计:(1) 选择合适的编程语言和开发环境,如C语言和Keil等;(2) 设计主循环程序,实现交通灯的红、黄、绿灯的切换功能;(3) 设计按键检测处理程序,实现按键控制交通灯的手动切换功能;(4) 设计时间调整程序,实现交通灯切换时间的自动调整功能;(5) 设计故障处理程序,实现在故障发生时的处理机制。

实验步骤:1. 连接硬件电路,保证电路连接正确;2. 使用适当的编程语言编写程序,并导入单片机中;3. 打开电源,观察交通灯的切换状态,并尝试按键控制;4. 观察交通灯的自动调整功能,验证其正常工作;5. 模拟故障情况,测试故障处理机制;6. 对实验结果进行总结和分析,修正可能存在的问题。

注意事项:1. 实验中要注意电路连接和开关的正确使用,确保电路安全;2. 编写程序时要注意代码的规范性和可读性,方便后续修改和维护;3. 在实验过程中及时记录实验数据和观察结果,以便后续分析和总结。

结论:通过本次课程设计,我学会了如何使用单片机来实现交通灯的控制功能,并加深了对交通灯控制原理的理解。

单片机课程设计红绿灯

单片机课程设计红绿灯

单片机课程设计红绿灯一、教学目标本章节的教学目标是让学生了解和掌握单片机在交通信号灯控制系统中的应用。

通过本章节的学习,学生应能理解交通信号灯的工作原理,掌握单片机的基本编程和电路连接,培养学生的实际操作能力和创新思维。

具体来说,知识目标包括:1.了解交通信号灯的工作原理和作用。

2.掌握单片机的基本编程和电路连接。

3.了解如何利用单片机实现交通信号灯的控制。

技能目标包括:1.能够独立设计和连接单片机电路。

2.能够编写简单的单片机程序。

3.能够对交通信号灯控制系统进行调试和优化。

情感态度价值观目标包括:1.培养学生的团队合作意识和沟通能力。

2.培养学生对科技创新的兴趣和热情。

3.培养学生对交通安全的重视和责任感。

二、教学内容本章节的教学内容主要包括交通信号灯的工作原理、单片机的基本编程和电路连接,以及如何利用单片机实现交通信号灯的控制。

具体来说,教学大纲如下:1.交通信号灯的工作原理和作用:介绍交通信号灯的基本工作原理和其在交通管理中的作用。

2.单片机的基本编程:学习单片机的基本编程语言和编程技巧,包括数据的输入输出、逻辑运算和控制语句等。

3.单片机电路连接:学习单片机的基本电路连接方法,包括电源电路、输入输出电路和传感器电路等。

4.交通信号灯控制系统的实现:学习如何利用单片机实现交通信号灯的控制,包括编程设计、电路连接和系统调试等。

三、教学方法为了达到本章节的教学目标,将采用多种教学方法相结合的方式进行教学。

包括讲授法、讨论法、案例分析法和实验法等。

通过讲授法,向学生传授交通信号灯的工作原理和单片机的基本编程知识。

通过讨论法,引导学生进行思考和交流,培养学生的团队合作意识和沟通能力。

通过案例分析法,让学生通过分析实际案例,深入理解交通信号灯控制系统的实现方法。

通过实验法,让学生亲自动手进行电路连接和编程设计,提高学生的实际操作能力和创新思维。

四、教学资源为了支持本章节的教学内容和教学方法的实施,将选择和准备适当的教学资源。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

摘要近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。

在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。

十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。

那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。

交通信号灯控制方式很多,在学习了单片机的有关知识之后,运用相关知识来设计完成交通信号灯。

我对单片机很感兴趣,所以在听了老师给我们讲解单片机相关知识以后,我自己课后查找资料,不断学习单片机方面的知识。

这次课设给了我学以致用的机会,我利用自己学的单片机知识,做了一个基于单片机的模拟交通灯控制的设计。

目录1 设计目的 (1)2 设计内容 (1)3 总体设计 (2)4 硬件设计介绍 (2)4.1数码管倒计时显示的理论分析 (3)4.2三极管的工作原理 (3)4.3二联共阳数码管原理 (4)4.4 74LS573驱动芯片原理 (6)5 电路图及仿真设计 (7)6 源程序 (8)7 设计体会及建议 (13)单片机交通灯设计一、设计目的(一)通过设计了解一个十字路口交通灯基本工作原理(二)掌握89C52计数器/定时器的工作方式和74LS573驱动芯片的工作原理;(三)掌握keil软件的使用(四)学会team work团队合作二、设计内容设计一个模拟十字路口交通灯控制器,程序运行后,初始状态时东南西北方向红灯全亮5秒,接着程序开始循环以下的程序:先东西绿灯和南北红灯亮15秒;然后南北红灯亮和东西黄灯闪5秒;接着南北绿灯和东西红灯亮15秒;最后东西红灯亮和南北黄灯闪5秒。

三、总体设计本设计采用单片机89C52作为控制器,通行时间及等待时间使用数码管以倒计时的方式显示,使用单片机P1口控制交通灯(红黄绿三色LCD)的替换。

用单片机的P1.0-P1.5六个I/O口控制东西南北的红黄绿灯,用P0.0—P0.7八个I/O口控制数码管的段选,用P2.4—P2.7四个I/O口控制数码管的位选,其中用四个NPN三极管放大数码管位选的电流,用驱动芯片74LS573驱动数码管的段选。

四、硬件设计介绍1. 数码管倒计时显示的理论分析利用MCS-51内部的定时器/计数器进行,配合软件延时实现倒计时。

在工作之前必须通过软件设定它的工作方式,即对寄存器TMOD中每位进行设定,格式如表3所示。

表3 TMOD格式其中,低四位用于决定T0的工作方式,高四位用于决定T1的工作方式,M1 和M0 工作方式控制位用以确定 4 种工作方式,如下表4所示:表4 M1和M0控制4种工作方式采用T0方式1,定时1S,系统时钟为6MHZ,所以时钟周期=(12*1/6)us=2us;采用每隔100ms中断一次,中断10次为1S,使时间的计数值减1,实现了倒计时的功能。

计算计数初值X:(216-X)*2us=1s,所以X=15536=3CB0H,因此TH0=3CH,TL0=B0H。

状态灯显示的理论分析南北通行,东西禁止时利用定时器中断倒计时15S;东西通行,南北禁止时利用定时器中断倒计时15S。

中断理论分析MCS-51中断系统有5个中断源,分别是外部中断0、外部中断1、定时器/计数器T0溢出中断、定时器/计数器T1溢出中断、串行口中断请求。

MCS-51的CPU对中断源的开放和屏蔽,是由片内的中断允许寄存器IE控制。

中断允许控制寄存器IE的格式,如表5所示。

EA —中断允许总控制位,EA=0,中断总禁止,禁止所有中断。

EA=1,中断总允许,总允许位打开后,各中断的允许或禁止由各中断允许控制位设置决定。

EX0(EX1)—外部中断允许控制位,EX0(EX1)=0,禁止外部中断。

EX0(EX1)=1,允许外部中断。

ET0(ET1)—定时/计数中断允许控制位, ET0(ET1)=0,禁止定时/计数中断。

ET0(ET1)=1,允许定时/计数中断。

ES—串行中断允许控制位,ES=0,禁止串行中断。

ES=1,允许串行中断。

利用MCS-51内部的中断进行,采用外部中断0,跳沿触发方式;外部中断0的中断入口地址为0003H。

2.三极管的工作原理三极管是电流放大器件,有三个极,分别叫做集电极C,基极B,发射极E。

分成NPN和PNP两种。

我们仅以NPN三极管的共发射极放大电路为例来说明一下三极管放大电路的基本原理。

如上图所示,我们把从基极B流至发射极E的电流叫做基极电流Ib;把从集电极C流至发射极E的电流叫做集电极电流 Ic。

这两个电流的方向都是流出发射极的,所以发射极E上就用了一个箭头来表示电流的方向。

三极管的放大作用就是:集电极电流受基极电流的控制(假设电源能够提供给集电极足够大的电流的话),并且基极电流很小的变化,会引起集电极电流很大的变化,且变化满足一定的比例关系:集电极电流的变化量是基极电流变化量的β倍,即电流变化被放大了β倍,所以我们把β叫做三极管的放大倍数(β一般远大于1,例如几十,几百)。

如果我们将一个变化的小信号加到基极跟发射极之间,这就会引起基极电流Ib的变化,Ib的变化被放大后,导致了Ic很大的变化。

如果集电极电流Ic是流过一个电阻R的,那么根据电压计算公式 U=R*I 可以算得,这电阻上电压就会发生很大的变化。

我们将这个电阻上的电压取出来,就得到了放大后的电压信号了。

3. 二联共阳数码管原理①静态显示静态显示是当显示器显示某个字符时,相应的段恒定地导通或截止,指导显示另一个字符为止当采用静态显示方式时,各段公共端接地(共阴极)或接电源(共阳极),段选线与一个8位锁存器的输出口相连,显示器的各位相互独立静态方式显示器亮度较高,编程容易,但占用的IO口线资源较多,日常生活中比较少用。

②动态显示数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。

通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。

在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。

4. 74LS573驱动芯片原理说明:LS573 的八个锁存器都是透明的 D 型锁存器,当使能(G)为高时,Q 输出将随数据(D)输入而变。

当使能为低时,输出将锁存在已建立的数据电平上。

输出控制不影响锁存器的内部工作,即老数据可以保持,甚至当输出被关闭时,新的数据也可以置入。

这种电路可以驱动大电容或低阻抗负载,可以直接与系统总线接口并驱动总线,而不需要外接口。

特别适用于缓冲寄存器,I/O 通道,双向总线驱动器和工作寄存器五、电路图及仿真设计设计完成原理图如下在电路连接完成后,将写好的程序放入单片机,运行。

单片机交通灯控制原理图交通灯实物图实物图六、源程序#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit red_dongxi=P1^0; //P1.0东西红灯sbit yellow_dongxi=P1^1; //P1.1东西黄灯sbit green_dongxi=P1^2; //P1.2东西绿灯sbit red_nanbei=P1^3; //P1.3南北红灯sbit yellow_nanbei=P1^4; //P1.4南北黄灯sbit green_nanbei=P1^5; //P1.5南北绿灯sbit nbweixuan1=P2^4; //P2.4南北数码管位选1 sbit nbweixuan2=P2^5; //P2.5南北数码管位选2 sbit dxweixuan1=P2^6; //P2.6东西数码管位选1sbit dxweixuan2=P2^7; //P2.7东西数码管位选2uint aa,shi1,shi2,ge1,ge2; //定义无符号整型变量uint code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};void delay(uint z); //延时函数声明void display(uint shi1,uint ge1,uint shi2,uint ge2);//数码管显示函数声明void init1(); //状态函数1声明void init2() //状态函数2声明void init3(); //状态函数3声明void init4(); //状态函数4声明void init5(); //状态函数5声明void main() //主函数{ P0=0xFF; //P0口初始化P1=0xFF; //P1口初始化P3=0xFF; //P3口初始化EA=1; //打开中断ET0=1;TR0=0;init1();while(1){ init2();init3();init4();init5();}}void init1() //状态函数1{ uint temp;temp=5;TMOD=0x01;TH0=(65535-50000)/256;TL0=(65535-50000)%256;EA=1;ET0=1;TR0=1;while(1){ red_dongxi=0;red_nanbei=0;green_dongxi=1;green_nanbei=1;yellow_nanbei=1;yellow_dongxi=1;if(aa==20){ aa=0;temp--;}shi1=shi2=temp/10;ge1=ge2=temp%10;if(temp==0) break;display(shi1,ge1,shi2,ge2);}}void init2() //状态函数2{ uint temp;temp=10;TMOD=0x01;TH0=(65535-50000)/256;TL0=(65535-50000)%256;EA=1;ET0=1;TR0=1;while(1){ red_dongxi=1;red_nanbei=0;green_dongxi=0;green_nanbei=1;yellow_nanbei=1;yellow_dongxi=1;if(aa==20){ aa=0;temp--;shi1=(temp+5)/10;ge1=(temp+5)%10;shi2=temp/10;ge2=temp%10;}if(temp==0) break; display(shi1,ge1,shi2,ge2);}}void init3() //状态函数3{uint temp;temp=5;TMOD=0x01;TH0=(65535-50000)/256;TL0=(65535-50000)%256;EA=1;ET0=1;。

相关文档
最新文档