单片机交通灯实验报告(汇编语言)
单片机交通灯实验报告
单片机交通灯实验报告简介本实验通过使用单片机设计并实现一个交通灯控制系统,模拟城市道路上的交通信号灯。
实验过程中,我们通过编程控制不同灯的亮灭状态,实现交通灯的循环变换,以此来模拟车辆和行人的行进。
实验材料•单片机•LED灯•电阻•连线•电源实验过程及结果1. 电路连接首先,我们根据实验需要将单片机和LED灯等材料进行连接。
具体连接方式如下:- 将电阻连接到单片机的IO口上,起到限流的作用。
- 将LED灯连接到电阻的另一端。
- 将单片机通过连线与电源进行连接。
2. 程序设计接下来,我们需要编写程序来实现交通灯的循环变换。
使用C语言编程,通过控制IO口的高低电平来控制LED灯的亮灭状态。
以下是程序的主要逻辑:#include <reg52.h>sbit redLed = P1^0; // 红灯sbit yellowLed = P1^1; // 黄灯sbit greenLed = P1^2; // 绿灯void delay(unsigned int t){while(t--);}void main(){while(1){// 红灯亮,其他灯灭redLed = 0;yellowLed = 1;greenLed = 1;delay(50000);// 红灯亮黄灯亮,绿灯灭redLed = 0;yellowLed = 0;greenLed = 1;delay(20000);// 绿灯亮,其他灯灭redLed = 1;yellowLed = 1;greenLed = 0;delay(50000);// 黄灯亮,其他灯灭redLed = 1;yellowLed = 0;greenLed = 1;delay(20000);}}3. 实验结果与分析通过实验,我们观察到LED灯按照我们设计的程序循环地变换亮灭状态,从而实现了交通灯的模拟效果。
红灯、黄灯、绿灯在规定的时间间隔内依次亮起,并在该时间间隔结束后熄灭。
单片机交通灯实验报告
单片机交通灯实验报告一、实验目的二、实验原理三、实验器材四、实验步骤五、实验结果六、实验分析与讨论七、实验总结一、实验目的:本次单片机交通灯实验的主要目的是通过使用单片机控制LED灯的亮灭,模拟交通信号灯的运行状态,并能够正确地掌握单片机编程技巧和硬件连接技术。
二、实验原理:本次交通灯实验采用了单片机作为中央处理器,通过编写程序控制LED灯的亮灭来模拟交通信号灯。
在程序中,我们需要使用到延时函数和条件判断语句。
具体来说,在红绿黄三个LED灯之间切换时,需要设定一个时间段,并在该时间段内循环执行红绿黄三个LED灯亮度变化的循环语句。
三、实验器材:1. 单片机开发板一块;2. LED 灯若干;3. 杜邦线若干。
四、实验步骤:1. 将红色 LED 灯连接至 P0 口;2. 将黄色 LED 灯连接至 P1 口;3. 将绿色 LED 灯连接至 P2 口;4. 将单片机开发板与电脑连接,打开 Keil 软件;5. 编写程序,将红色 LED 灯亮起来;6. 编写程序,将黄色 LED 灯亮起来;7. 编写程序,将绿色 LED 灯亮起来;8. 编写程序,模拟交通信号灯的运行状态。
五、实验结果:在完成了上述步骤后,我们成功地模拟出了交通信号灯的运行状态。
具体来说,在程序中我们设定了一个时间段为10s,在这个时间段内,红灯亮 5s,黄灯亮 2s,绿灯亮 3s。
在这个时间段结束后,循环执行该过程。
六、实验分析与讨论:通过本次交通灯实验,我们学习到了如何使用单片机控制LED灯的亮灭,并能够正确地编写程序模拟交通信号灯的运行状态。
在编写过程中需要注意以下几点:1. 在使用延时函数时要注意时间单位和精度;2. 在编写条件判断语句时要注意逻辑结构和语法规范;3. 在硬件连接时要注意杜邦线的颜色对应关系和插口位置。
七、实验总结:本次单片机交通灯实验是一次非常有意义的实践活动。
通过此次实验,我们掌握了单片机编程技巧和硬件连接技术,并能够正确地模拟交通信号灯的运行状态。
单片机实训报告交通灯
一、实训背景与目的随着城市化进程的加快,交通流量日益增大,传统的交通灯控制系统已经无法满足日益复杂的交通需求。
为了提高交通效率,减少交通拥堵,本实训项目旨在设计并实现一套基于单片机的智能交通灯控制系统。
通过本实训,学生可以深入了解单片机原理,掌握单片机编程与调试技巧,同时锻炼动手实践能力和团队协作精神。
二、系统设计1. 系统组成本系统主要由以下模块组成:单片机模块:采用AT89C52单片机作为核心控制单元,负责接收传感器信号、处理数据、控制交通灯状态等。
传感器模块:包括红外传感器、地磁传感器等,用于检测车辆和行人,实时获取交通信息。
执行模块:包括LED灯、继电器等,用于驱动交通灯和信号灯。
显示模块:采用LCD显示屏,用于显示交通灯状态、倒计时等信息。
电源模块:为系统提供稳定电源。
2. 工作原理系统工作原理如下:(1)单片机初始化,设置各模块参数。
(2)单片机通过传感器模块检测交通情况,如车辆和行人数量。
(3)单片机根据检测到的交通情况,控制交通灯和信号灯的亮灯状态。
(4)LCD显示屏显示交通灯状态和倒计时信息。
(5)当系统检测到紧急情况时,如行人过马路,系统自动切换到紧急模式,确保行人安全。
三、硬件设计1. 单片机模块选用AT89C52单片机作为核心控制单元,具有以下特点:内置8K字节闪存,可存储程序和数据。
内置8位定时器/计数器,可进行定时或计数操作。
内置串行通信接口,可进行数据通信。
2. 传感器模块红外传感器:用于检测车辆和行人,实现自动控制。
地磁传感器:用于检测车辆行驶方向,实现左转和直行控制。
3. 执行模块LED灯:用于显示交通灯状态。
继电器:用于驱动信号灯。
4. 显示模块采用LCD显示屏,用于显示交通灯状态、倒计时等信息。
5. 电源模块采用DC 12V电源,为系统提供稳定电源。
四、软件设计1. 编程语言采用C语言进行编程,具有以下优点:语法简单,易于理解。
可移植性好,可在不同平台上运行。
单片机交通灯实习报告
一、实习背景随着我国城市化进程的加快,城市交通压力日益增大,交通拥堵问题日益突出。
为了提高交通效率,保障交通安全,交通信号灯控制系统的设计与研究显得尤为重要。
本实习项目旨在通过单片机技术,实现对交通灯的智能控制,提高交通路口的通行效率和安全性。
二、实习目的1. 熟悉单片机的基本原理和编程方法;2. 掌握交通信号灯控制系统的设计方法;3. 提高实际动手能力和问题解决能力;4. 培养团队协作精神和创新意识。
三、实习内容1. 硬件设计(1)单片机选型:选用STC89C51单片机作为核心控制器;(2)传感器选型:选用红外传感器检测车辆和行人流量;(3)显示屏选型:选用LCD显示屏显示交通灯状态和时间;(4)交通灯模块:采用LED灯实现红、黄、绿灯的显示;(5)按键模块:采用按键实现功能切换和参数设置。
2. 软件设计(1)系统初始化:单片机上电后,进行系统初始化,包括设置定时器、初始化I/O端口等;(2)数据采集:通过红外传感器采集交通流量数据,并进行处理;(3)数据处理与决策:根据采集到的交通流量数据,结合预设的算法和规则,计算出当前交通灯的信号配时;(4)信号控制:根据计算出的信号配时,控制交通灯的信号状态;(5)人机交互:通过按键实现功能切换和参数设置,并通过LCD显示屏显示交通灯状态和时间。
3. 系统测试与调试(1)硬件测试:检查电路连接是否正确,电源是否稳定,传感器、显示屏、交通灯模块是否正常工作;(2)软件测试:通过编写测试程序,验证系统功能是否满足设计要求;(3)调试:根据测试结果,对系统进行调试,确保系统稳定可靠地运行。
四、实习成果1. 设计并实现了基于单片机的交通信号灯控制系统;2. 系统能够根据实时交通流量自动调整红绿灯的切换时间,提高交通效率;3. 系统具有故障自诊断、手动/自动切换等功能,提高了系统的可靠性和实用性。
五、实习总结通过本次单片机交通灯实习,我掌握了单片机的基本原理和编程方法,熟悉了交通信号灯控制系统的设计方法,提高了实际动手能力和问题解决能力。
单片机实验报告(汇编语言+交通灯+工业控制等)
单片机应用技术实验报告BCD码加法一、实验内容编写一个程序实现多位BCD码加法。
假设单片机RAM中20H和30H中放着BCD码加数和被加数,结果放在20H开始的单元中。
要求考虑进位问题。
二、实验源程序ORG0630HMOV R0,#20HMOV R1,#30HMOV A,R7;R7中放着加数的个数MOV R6,A;R6中放置最后结果CLR CLOOP:MOV A,@R0;取加数ADDC A,@R1DA A;十进制加法调整MOV@R0,A;把结果送回20H开始的单元INC R0INC R1DJNZ R7,LOOPJC NEXT1;如果最后一次加法有进位,跳转到NEXT1SJMP NEXT2NEXT1:MOV@R0,#1;R0中放置进位INC R6NEXT2:NOPEND三、实验小结这个BCD码加法实验在编程是,遇到些语法小问题,后来在同组同学的探讨下纠正了过来。
当程序运行正确时我们有一种成就感,很高兴。
实验名称:P3.3输入、P0口输出一、实验内容(1)P3.3口做输入口,外接一脉冲,每输入一个脉冲,P1口按十六进制加一。
(2)P1口做输出口,编写程序,使P1口接的8个发光二极管L1—L8按16进制加一方式点亮发光二极管。
二、实验说明(1)P1口是准双向口,它作为输出口时与一般的双向口使用方法相同,由准双向口结构可知:当P1口作为输入口时,必须先对它置高电平,使内部MOS管截止,因内部上拉电阻是20KΩ—40KΩ,故不会对外部输入产生影响。
(2)延时子程序的延时计算问题。
对于延时程序DELAY:MOV R6,#00HDELAY1:MOV R7,#80HDJNZ R7,$DJNZ R6,DELAY1MOV、DJNZ指令均需用两个机器周期,而一个机器周期时间长度为12/6.0MHZ,所以该段指令执行时间为:((80+1)×256+1)×2×(12÷6000000)=132.1ms三、实验步骤(1)P3.3用插针连至K1,P1.0—P1.7用插针连至L1—L8。
简单交通灯实验 C语言 汇编语言
值得和即为另外一个方向红灯的时长。
上述两个程序的写法可以相互结合,在汇编语言编写的程序中,使用的是对 位进行赋值的方式控制的,书写麻烦,但是易懂。C 语言使用的是对 P 口进行赋 值,书写简单,可读性稍差。
4
delay(nbhd); P2=0X2D; //东西绿灯,南北红灯
delay(dxld); P2=0X2B; //东西黄灯,南北红灯
delay(dxhd);
}
} 注意:因为一个方向绿灯与黄灯的时长正好等于另外一个方向红灯的时长,因此
在程序开头进行定义时,仅仅定义了东西和南北方向绿灯与黄灯的时长,这两个
1
在进行原理图搭建的过程中需要注意: 1 发光二极管的极性。如果发光二极管在电路中接反了,即使程序正确,也 无法点亮发光二极管。只有当发光二极管中的电流充阳极流到阴极的时候,才能 点亮发光二极管。可以将原理图中发光二极管的的三角形看做箭头,只有电流沿 着箭头方向流动,才可以点亮发光二极管。 2 分压电阻。发光二极管最好串联分压电阻,否则在仿真软件中,单片机引 脚的电平状态显示将错误(注意:即使不添加也不影响发光二极管的点亮状态, 最好添加)。在实物制作时,由于单片机引脚的驱动能力有限,因此即使不串联 分压电阻,也可以。另外分压电阻的阻值需要注意,不可以太大,太大会导致发 光二极管不亮或者发光较暗。在仿真软件中设置为 200Ω 就可以。 3 交通灯组件。在进行交通灯实验时,可以不适用带颜色的数码管,直接使 用交通灯组件,这样绘制电路图非常方便。交通灯组件的关键词是“traffic lights”。 该组件使用的是正逻辑驱动,也就是说当引脚的电平为高电平时,旁边对应的 LED 点亮。 在上述原理图中,我将发光二极管组成的交通灯以及交通灯组件组成的交通 灯放在一个仿真原理图中(东西方向用 LED 灯绘制,南北方向用交通灯组件绘 制),读者如果需要使用相同的交通灯组件,只需要直接修改原理就可以,程序 不需要修改。 虽然交通灯的点亮状态有 3 种,但是将东西和南北的点亮状态组合却又 4 种,在编程的时候需要注意。控制流程:东西红灯,南北绿灯→东西红灯,南北 黄灯→东西绿灯,南北红灯→东西黄灯,南北红灯→······
51单片机设计交通灯(汇编语言)
题目:智能交通灯控制系统班级:p09电气四班姓名:刘强0903110429一、任务:设计并制作一个城市交道口交通灯控制糸统二、要求:根据下图交道口模型,装上交通灯。
交道口模型如图所示。
交通灯控制规则如下:1)每个街口有左拐、右拐、直行及行人四种指示灯。
每个灯有红、绿两种颜色。
自行车与汽车共用左拐、右拐和直行灯。
2)共有四种通行方式:①车辆南北直行、各路右拐,南北向行人通行。
南北向通行时间为1分钟,各路右拐比直行滞后10秒钟开放。
②南北向左拐、各路右拐,行人禁行。
通行时间为1分钟。
③东西向直行、各路右拐,东西向行人通行。
东西向通行时间为1分钟,各路右拐比直行滞后10秒钟开放。
④东西向左拐、各路右拐。
行人禁行。
通行时间为1分钟。
3)在通行结束前10秒钟,绿灯闪烁直至结束。
1, 基本部分:按照上述控制要求,用发光二极管代替交通灯,用PROTEUS绘制电路图,并仿真调试实现之。
2, 发挥部分:1.有倒计时时间显示。
2若交道口出现紧急情况,交警可将糸统设置成手动:全路口车辆禁行、行人通行。
紧急情况结束后再转成自动状态。
3当有119、120等特种车辆通过时,糸统自动转为特种车放行,其它车辆禁止状态。
特种车辆通过15秒钟后,糸统自动恢复,用模型车演示。
4其它自选措施。
智能交通灯控制系统1.系统功能的确定功能一:可以实现红绿灯的转换以及控制路口的基本功能。
功能二:有倒计时功能和最后十秒绿灯闪烁的功能。
功能三:出现紧急情况时,警察可以手动控制特殊状态,并维持交通。
功能四:119或120等特种车经过时,可转换成为特种车道行驶状态,并在情况消除后15秒,恢复原状。
2.方案论证2.1方案一:如下图所示,为proteus仿真图。
其中,P1,P0端口的8位分别来控制东西,南北方向的红绿灯。
且运用了4个74LS164的8位移位寄存器(串行输入,并行输出)来控制4个LED的数码显示,通过AT89C51单片机的P3.0,P3.1两个扩展端口来接4个并行连接的74LS164的DIN和CLK两个端口来显示倒计时的功能,这会产生乱码使得显示杂乱,而主程序以顺序执行为主,其中穿插着对P3.7的端口高低电平的测试和跳转语句来实现功能三,并且功能一、二在主程序中实现,没有功能四的的实现程序。
单片机交通灯实验汇编语言程序
单片机交通灯实验汇编语言程序经过几天的整理,终于将网络上得到交通灯仿真文件,用汇编自己编写了一个程序,实验结果完全符合本人的思路,实验成功。
程序比较长,估计还会用更好的办法重新写。
编写心得是:单片机编程,不一定要背指令,用时可以查,也不必去默写子程序,用时还是可以查,但是,很关键的就是,你的程序,你自己要清楚整个的执行过程,也就是单片机的执行流程。
而在实际的应用中,要注意驱动电路的设计,特别是单片机上电复位输出高电平可能造成的影响。
程序如下:如果网页显示格式错乱可从51hei/f/jtda.rar 处下载. ORG 0000HSTART:MOV R2,#30SU0:MOV P0,#00HMOV P1,#00HMOV P2,#00HMOV P3,#00111111BMOV A,R2MOV R4,AMOV A,R4MOV R0,AMOV B,#5DIV ABMOV B,#3MUL ABMOV R1,ASETB P0.4SETB P0.7SETB P2.2SETBP2.5AJMP KEYSU1A: DEC R0DEC R1SUL5: CJNE R1,#5,SUL6SETB P2.7SUL6: CJNE R1,#4,SUL7SETB P2.7SUL7: CJNE R1,#3,SUL1SETB P2.7SUL1: CJNE R1,#2,SUL2SETB P2.7SUL2: CJNE R1,#1,SUL3SETB P2.7SUL3: CJNE R1,#0,SUL4MOV A,R0MOV R1,ACLR P2.5CLR P0.7SETB P0.5SETB P2.4SUL4: CJNE R0,#0,KEYAJMP SU0BKEY: JB P3.5,KEY1 LCALL DELAY MOVR2,#45KEY1:JB P3.2,KEY2 LCALL DELAY MOV R2,#60KEY2:JB P3.3,KEY3 LCALL DELAY MOV A,R2 ADD A,#5 MOV R2,A CJNE R2,#95,DD MOVR2,#95KEY3:JB P3.4,DD LCALL DELAY MOV A,R2 SUBB A,#5 MOV R2,A CJNE R2,#0,DD MOV R2,#0DD:MOV R3,#50;数码1DD1: MOV P1,#00H MOV A,R0 MOV B,#10 DIV AB MOV DPTR,#TAB MOVC A,@A+DPTR MOV P1,A SETB P0.0 LCALL DELAY1 CLR P0.0 MOV A,B MOV DPTR,#TAB MOVC A,@A+DPTR MOV P1,A SETB P0.1 LCALL DELAY1 CLR P0.1;数码2 MOV。
简易交通灯报告(附源程序——汇编语言)
题目:简易交通灯一、设计目的利用TDN微机原理试验箱及单元电路,实现对一道路交通灯的控制。
当通过车辆计数达到50时,绿灯灭,红灯亮,同时数码块倒计时若干秒(此次设计中设为9秒)。
此时,车辆停止,行人可以通过。
二、参加人员及分工李——试验报告霍——调试程序洪——编写程序三、技术要求1、设计完成交通灯的电路2、采用TDN试验箱上的8255、8259、8253完成3、程序设计中采用软件延时四、试验器材TDN-MD86/51实验箱一台,8253一片,8255一片,8259一片,数码管一组,发光二极管一组。
五、设计和调试环境TDN-MD86/51教学试验系统六、题目分析、工作原理、设计思想题目分析我们所做的交通灯是控制单路口处车辆和行人的通过及停止的简易交通灯。
因此需要两个灯和一块用于显示倒计时的数码块来控制车辆和行人的通行、停留问题。
其中两个灯分为红绿色,主要根据两只灯的亮灭情况来控制车辆,当红灯灭绿灯亮的时候车辆可以通过,而红灯亮绿灯灭时车辆就要停止通行。
数码块用于显示倒计时的时间以控制人,当倒计时开始时人通行,倒计时结束后行人就要等待。
根据题目分析得出以下设计思想及工作原理:设计思想在一开始启动交通灯时设置为红灯灭绿灯亮,让车辆先通行,行人等待,当通过50辆车后,红绿灯都同时灭然后红灯亮绿灯灭且数码快开始倒计时,此时为行人通行时间。
然后当数码块倒计时到0时行人通行的时间结束。
转而红灯灭绿灯亮又改为车辆通行时间。
红绿灯和数码块如此反复工作就构成的交通灯。
工作原理通过向8259写入程序来控制其他器件的工作。
在程序一开始写入中断向量和各芯片的控制方式字,以确保发生中断是正确的响应中断及芯片正确的工作状态。
接下来的程序就是控制8255和8253,8255选择工作方式1,A、B、C、口都做基本的输入输出。
通过8255A 口先让红灯灭绿灯亮。
8253选择工作方式2:计数停止中断,通过8253对车辆的计数达到50辆车是就发出中断请求。
单片机交通灯实验报告
单片机交通灯实验报告实验目的:1.熟悉单片机的基本工作原理和编程方法。
2.学习如何使用单片机控制交通灯的运行。
3.加深对电子元器件和电路原理的理解和掌握。
实验器材:1.51系列单片机开发板:包括单片机主控板、显示器板、外部扩展板等。
2.LED灯:红色、黄色、绿色各一颗。
3.电阻:用于限流。
4.连接线:用于连接各个电子元器件。
实验原理:在交通中,红灯代表停止、黄灯代表警告、绿灯代表通行。
在本实验中,我们将使用单片机控制三个LED灯实现交通灯的运行。
具体原理如下:1.使用单片机的IO口控制LED灯的亮灭。
2.根据交通灯的运行状态,通过改变LED灯的亮灭顺序来模拟交通的运行。
实验步骤:1.连接电路:将三个LED灯连接到单片机的IO口,并通过电阻限流。
2.编写程序:使用C语言编写程序,在主函数中设置交通灯的运行状态和亮灭顺序。
3.烧写程序:将编写好的程序烧写到单片机中。
4.运行实验:启动单片机,观察LED灯的亮灭情况,验证交通灯是否能正常工作。
实验结果:经过实验,我们成功地实现了单片机交通灯的控制。
在程序运行过程中,红灯先亮,表示停止;然后黄灯亮,表示警告;最后绿灯亮,表示通行。
整个过程循环不断,符合实际交通灯的运行规律。
实验总结:通过这次实验,我深入了解了单片机的基本工作原理和编程方法,掌握了使用单片机控制交通灯的技巧。
同时,我也加深了对电子元器件和电路原理的理解和掌握。
这些知识将对我今后的学习和工作产生积极影响。
然而,在实验过程中也遇到了一些问题。
比如,如果LED灯连接不正确或程序编写有误,交通灯可能无法正常运行。
因此,在进行单片机实验时,我们需要仔细检查电路连接和程序编写,确保一切正常。
总之,单片机交通灯实验是一次充满趣味和挑战的实践活动。
通过这次实验,我不仅学到了许多知识,而且培养了动手能力和实践能力。
希望将来能有更多这样的实验机会,继续提升自己的电子技术水平。
基于单片机的交通灯的设计报告(汇编语言)
交通灯的设计报告摘要:近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。
在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。
十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。
那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。
交通信号灯控制方式很多。
本系统采用MSC-51系列单片机AT89C51和74LS47来设计交通灯控制器,实现了能根据实际车流量通过AT89C51芯片的P1口设置红、绿灯熄亮时间的功能;红绿灯循环点亮,绿灯熄灭时黄灯闪烁3秒(交通灯信号通过P1口输出,显示时间直接通过P0、P2口输出至二个对应的双位数码管)。
本系统实用性强、操作简单、扩展功能强。
关键词:单片机交通灯时间一、课题设计需要实现的系统功能:1.AB方向亮绿灯60s,然后黄灯闪烁3次,每次一秒(亮灭各40ms),红灯40s,同时CD方向红灯65s,绿灯35s,黄灯闪烁3s2.各路灯用LED模拟显示,同时用七段数码管显示两路的倒计时时间3.利用键盘可修改灯亮时间4.PC机设置灯亮时间,利用PC与单片机串口通信实现二、单片机概述单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。
单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。
通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和I/O接口电路等。
因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。
单片机经过1、2、3、3代的发展,目前单片机正朝着高性能和多品种方向发展,它们的CPU功能在增强,内部资源在增多,引角的多功能化,以及低电压底功耗。
三、芯片简介3.1、AT89C51芯片简介AT89C51单片机内部结构AT89C51单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线。
单片机汇编,红绿灯显示实验报告
实验报告学生姓名:学号:指导教师:实验地点:实验时间:2018年4月2日实验红绿灯显示实验一、实验目的:1.掌握程序控制指令。
2.掌握分支程序、子程序、循环程序的编写方法。
3.掌握软件延时的方法、了解机器周期和指令周期的概念。
4.了解“静态显示”的含义。
二、实验内容:在显示实验的基础上,如果将第7位,第3位,第1位分别看成红灯、黄灯和绿灯,红灯5秒(对应位显示0)后,显示黄灯1秒(对应位显示0),再显示绿灯3秒,编写对应程序,程序要求,延时使用子程序,最好使用标志位。
其它内容见显示实验三、实验步骤:1.程序清单:a):#include<>typedef unsigned char u8;typedef unsigned int u16;#define Dpy P0sbit LSA = P2^2;sbit LSB = P2^3;sbit LSC = P2^4;u8 code array[17] = {0x3f, 0x06, 0x5b, 0x4f,0x66, 0x6d, 0x7d, 0x07,0x7f, 0x6f, 0x77, 0x7c,0x39, 0x5e, 0x79, 0x71,0x00};void ls(u8 c, u8 b, u8 a){L SA = a;L SB = b;L SC = c;}void delay(u16 i){w hile(i>0) i--;}void Dpy1Display(u8 i){l s(1,1,1);D py = array[i];d elay(100);D py = 0x00;}void Dpy2Display(u8 i){l s(1,1,0);D py = array[i];d elay(100);D py = 0x00;}void Dpy3Display(u8 i){l s(1,0,1);D py = array[i];d elay(100);D py = 0x00;}void Dpy4Display(u8 i){l s(1,0,0);D py = array[i];d elay(100);D py = 0x00;}void Dpy5Display(u8 i){l s(0,1,1);D py = array[i];d elay(100);D py = 0x00;}void Dpy6Display(u8 i){l s(0,1,0);D py = array[i];d elay(100);D py = 0x00;}void Dpy7Display(u8 i){l s(0,0,1);D py = array[i];d elay(100);D py = 0x00;}void Dpy8Display(u8 i){l s(0,0,0);D py = array[i];d elay(100);D py = 0x00;}void DpyDisplay(u8 a, u8 b, u8 c, u8 d, u8 e, u8 f, u8 g, u8 h){D py1Display(a);D py2Display(b);D py3Display(c);D py4Display(d);D py5Display(e);D py6Display(f);D py7Display(g);D py8Display(h);}b):#include<>typedef unsigned char u8;typedef unsigned int u16;extern void DpyDisplay(u8 a, u8 b, u8 c, u8 d, u8 e, u8 f, u8 g, u8 h); void main(){u16 i, j, n;n = 108;w hile(1){for(j=10;j>0;j--){for (i=0; i<n; i++)DpyDisplay(j-1,16,16,16,16,16,16,16);}for(j=2;j>0;j--){for (i=0; i<n; i++)DpyDisplay(16,16,j-1,16,16,16,16,16);}for(j=5;j>0;j--){for (i=0; i<n; i++)DpyDisplay(16,16,16,16,j-1,16,16,16);}}}2.实验现象:开发板数码管第一位从9逐秒递减至0后,第三位从1逐秒递减至0,之后第五位从4逐秒递减至0。
单片机交通灯实验报告
单片机交通灯实验报告交通灯是城市交通管理的重要组成部分,它能够规范车辆和行人的通行秩序,保障交通安全。
为了进一步学习交通灯的原理和掌握其设计,我们进行了一次单片机交通灯实验。
本次实验使用单片机和几个LED灯,通过对单片机的编程控制来实现交通灯的自动切换。
下面是我对该实验进行的详细记录和分析。
首先,我们需要连接电路。
我们采用的是STC89C52单片机,使用3个LED灯来模拟红灯、黄灯和绿灯。
利用杜邦线将LED灯连接到单片机的GPIO口,另外还需要连接一个电位器到单片机的模拟口,用来控制红灯亮灭的时间。
接下来,我们进行了单片机的编程。
我们使用C语言编写程序,利用单片机提供的GPIO口控制LED灯的亮灭,从而实现交通灯的控制。
我们通过控制红灯、黄灯和绿灯的亮灭时间,模拟真实交通灯的工作。
在编写程序的过程中,我们首先做了一些准备工作。
我们初始化了单片机的GPIO口,设定了红灯、黄灯和绿灯的引脚。
然后,我们使用一个循环语句不断地进行交通灯的切换。
具体来说,我们将交通灯控制划分为红灯、绿灯和黄灯三个状态,利用if-else语句对不同状态进行判断并进行相应的控制。
通过对红灯亮灭时间的控制,我们能够实现交通灯的自动切换。
在程序设计的过程中,我们还考虑了交通灯的变化时间。
我们在红灯和绿灯之间设置了一个黄灯过渡时间,以模拟真实交通灯的工作。
同时,我们还设置了一个迟滞时间,使得每个状态之间的切换更加顺滑。
通过这次实验,我们进一步了解了交通灯的工作原理和掌握了单片机的编程技巧。
通过对交通灯的模拟,我们成功地实现了交通灯的自动切换。
总结起来,这次实验不仅提高了我们对交通灯的认识,还锻炼了我们的动手能力和创新思维。
在今后的学习和工作中,我们将继续学以致用,将所学的知识应用到实际问题中。
让我们共同努力,为交通安全做出贡献。
单片机交通灯实验报告
引言:随着城市交通的发展,交通灯作为交通管理的重要组成部分,起着至关重要的作用。
为了研究和实践交通灯的基本原理和实现方法,本文进行了单片机交通灯实验。
本实验通过使用单片机来模拟和控制交通灯的运行,以实现交通流畅和安全。
概述:交通灯是城市交通管理的重要组成部分,通过控制交通灯的信号变化,可以实现不同车辆和行人的交通流畅和安全。
单片机作为实验的控制器,可编程控制交通灯的运行,增强交通流畅性。
正文:一、单片机交通灯实验的背景和意义1.单片机交通灯实验的背景交通灯在城市交通管理中具有重要的地位和作用,通过控制交通灯的信号变化,可以实现车辆和行人的有序通行。
单片机交通灯实验为进一步研究交通灯原理和实现方式提供了实践基础。
2.单片机交通灯实验的意义单片机交通灯实验可以帮助学生理解并掌握交通灯的基本原理和控制方式,培养学生的创新思维和动手能力,并为进一步研究和改进交通灯系统提供参考。
二、单片机交通灯实验的设计和实施1.设计交通灯的硬件结构a.硬件元件选择和连接方式b.单片机选择和编程2.实施交通灯的控制逻辑和操作a.基本的交通灯控制逻辑b.交通灯的运行和状态转换三、单片机交通灯实验的分析和评价1.对交通流畅性的影响分析a.不同信号时间间隔对交通流量的影响b.交通灯控制方式对交通流畅性的影响2.对交通安全性的评价a.不同交通灯参数对交通安全的影响b.交通灯设施对行人安全的影响3.对实验结果的分析和总结a.实验数据的收集和处理b.结果的呈现和解释四、单片机交通灯实验的改进和优化方向1.优化交通灯的控制算法a.基于流量的自适应控制算法b.基于信号的智能预测算法2.改进交通灯的硬件设计a.使用更高效的电子元件和材料b.结合无线通信技术和传感器技术进行实时监测和控制五、单片机交通灯实验的应用和展望1.在城市交通管理中的应用前景a.提高交通流畅性和安全性的需求b.单片机交通灯技术的潜在优势2.可能的进一步研究方向a.基于互联网的智能化交通灯系统b.基于算法的全自动交通控制系统总结:通过本次单片机交通灯实验,我们对交通灯的原理和实现方法有了更深入的了解。
单片机交通灯实验报告
单片机交通灯实验报告单片机交通灯实验报告引言:交通灯作为城市交通管理的重要组成部分,对于保障道路交通的安全和顺畅起着至关重要的作用。
为了更好地了解交通灯的工作原理和控制方法,我们进行了单片机交通灯的实验。
一、实验目的本实验旨在通过使用单片机来控制交通灯的变化,探索交通灯的工作原理,并了解单片机在交通灯控制中的应用。
二、实验材料1. 单片机开发板2. 交通灯模块3. 连接线4. 电源适配器三、实验过程1. 将单片机开发板与电源适配器连接,并接通电源。
2. 将交通灯模块与单片机开发板连接,确保连接线的正确性。
3. 编写单片机程序,实现交通灯的控制逻辑。
4. 将程序烧录到单片机开发板中。
5. 通过操作单片机开发板上的按键,观察交通灯的变化。
四、实验结果通过实验,我们成功地实现了交通灯的控制。
在程序的控制下,交通灯按照规定的时间间隔进行变化,保证了道路交通的安全和顺畅。
五、实验分析1. 单片机控制交通灯的好处通过使用单片机来控制交通灯,可以实现精确的时间控制,避免了传统机械控制方式中可能存在的误差。
同时,单片机还可以根据实际情况进行自适应调整,提高了交通灯的灵活性和响应速度。
2. 单片机程序的设计在本次实验中,我们编写了一段简单的单片机程序来控制交通灯的变化。
该程序通过设定不同的时间间隔来控制红、黄、绿三种灯的亮灭,实现了交通灯的正常工作。
在实际应用中,我们可以根据道路情况和交通流量的变化来调整程序,以达到最佳的交通管理效果。
3. 单片机在交通灯控制中的应用前景随着城市交通的不断发展和智能化水平的提高,单片机在交通灯控制中的应用前景十分广阔。
通过使用单片机,可以实现交通灯的智能控制,根据实时的交通流量和道路情况进行调整,提高交通效率和安全性。
同时,单片机还可以与其他交通管理系统进行联动,实现更加智能化的交通管理。
六、实验总结通过本次实验,我们深入了解了交通灯的工作原理和控制方法,并成功地使用单片机实现了交通灯的控制。
用单片机设计交通灯课设报告(汇编和C语言)
单片机原理及接口技术课程设计报告设计题目:人车分行交通信号指挥灯的控制学号:姓名:指导教师:信息与电气工程学院二零一五年六月人车分行交通信号指挥灯的控制在生活中,我们在各个路口基本都可以看到交通信号灯,道路交通信号灯是交通安全产品中的一种类别,是为了加强道路交通管理,减少交通事故的发生,提高道路使用效率,改善交通状况的一种重要工具。
近年来,随着科技的飞速发展,电子器件也随之广泛应用,其中单片机也不断深入人民的生活当中。
本模拟交通灯系统利用单片机AT89C51作为核心元件,实现了通过信号灯对路面状况的智能控制。
系统具有结构简单、可靠性高、成本低等优点,有广泛的应用前景。
本模拟系统由单片机硬/软件系统,两位8段数码管和LED灯显示系统。
和复位电路、时钟产生电路等组成,较好的模拟了交通路面的控制,利用单片机良好的控制功能来进行设计,应用更灵活,功能更强大,也更智能化。
通过C语言编程,单片机做控制,加上8个LED灯指示交通红绿灯、8155控制数码管倒计时显示来实现基本功能,外加处理突发中断情况的的按钮来模拟儿童过马路的情况。
1.设计任务结合实际情况,基于AT89C51单片机设计一个人车分行交通信号指挥灯。
该系统应满足的功能要求为:(1)交通红绿灯显示;(2)倒计时设置;(3)儿童过马路提示。
主要硬件设备:AT89C51单片机、8个LED灯、两个数码管显示器、蜂鸣器、8155I/O口扩展芯片列写交通灯变化表表1-1 利群超市门前路口交通灯变化情况表2. 整体方案设计人车分行交通信号指挥灯以AT89C51单片机作为整个系统的控制核心,应用其强大的接口功能,构成整个人车分行交通信号指挥灯控制的硬件系统。
该系统用8个LED灯模拟东西南北红黄绿灯以及人行红绿灯,用AT89C51的P1口的8个管脚与其连接,两位数码管显示器显示各个状态的倒计时,而数码管显示器由8155的PA口和PB口控制,PB口控制数码管的段选码,PA口控制数码管的位选码,实现动态显示,节省管脚的使用,AT89C51的管脚P3.2分别连接应对突发状况的紧急开关。
汇编语言交通灯程序及专周报告
一、实验名称:单片机设计交通灯二、实验目的1、巩固单片机基础,利用所学单片机知识编写程序。
2、掌握单片机的编程调试过程。
三、设计要求:1、A、B 两路各放行60S,并在数显管上显示各路通行标。
2、绿灯最后5S闪烁。
3、绿灯到红灯间有黄灯并闪4S。
4、在数显管上显示剩余时间。
四、硬件、软件的设计原理1、硬件设计图:见附页。
2、硬件设计说明:(1)、用单片机的P1口接6只二极管模拟交通灯,P1口先输入高电平熄灭星号灯,输出低电平点亮信号灯。
P1口线控制功能及相应控制码如表:(2)用单片机P0口皆数显管闲事剩余时间。
3、软件设计说明;(1)、软件设计思路1)、主程序主要采取调用子程序,由R7寄存器确定交通灯的各时间,并用它来做子减一坐到倒计时和各红灯的剩余时间是否到0,并用RS1中的R1控制A绿B红的倒计时5S时绿灯闪的状态,R4控制A黄灯闪的状态,R5控制A红B绿闪的状态,R6控制B黄灯闪的状态。
利用定时器查询方式定时1S。
2)、程序流程图:见附页五、程序及说明;见附页六、心得这个专周从刚开始的没头绪,到最后终于明白。
下面就是我在专周过程周遇到的一些困难的描述。
1.分析交通灯的状态的时候少了两种状态,导致最后的程序是红灯和黄灯后都有黄灯,最后在老师的提醒下,我又加了倒数5S时绿灯闪的状态。
2.硬件设计好后,开始编程。
3.编程时,我先画好大概的流程图,以致编程时不容易混乱。
4.编好程后就开始调试,通过不断的改程序,以致程序无误,调试过程中,开始的时候用中断定时,但最后数显闪得太快,经过反复的修改,最后定位定时器查询方式。
在此过程中,通过看书,反复改错,问同学、老师,终于完成了专周。
通过这次专周,我更进一步熟悉了单片机,也明白了如何去设计一个东西的思路,如何改错。
在以后的学习生活中我会更加努力,学更多的东西。
单片机交通灯实验报告
一、实验目的1. 理解单片机在交通灯控制系统中的应用原理。
2. 掌握单片机编程方法,实现交通灯的自动控制。
3. 学会使用Proteus进行电路仿真和调试。
4. 培养动手实践能力和团队协作精神。
二、实验环境1. 硬件:STC89C52单片机、数码管、LED灯、电阻、电容、按键、三极管等元器件。
2. 软件:Keil C51、Proteus 8.0。
三、实验原理本实验基于STC89C52单片机,通过编程实现交通灯的红、黄、绿三色灯光切换,并利用数码管显示倒计时功能。
系统主要包括以下模块:1. 单片机控制模块:负责控制LED灯的亮灭和数码管的显示。
2. 数码管显示模块:显示交通灯状态和倒计时时间。
3. 按键模块:实现交通灯的紧急停用功能。
四、实验步骤1. 电路连接:根据原理图连接单片机、数码管、LED灯、电阻、电容、按键等元器件。
2. 程序编写:使用Keil C51编写单片机控制程序,实现以下功能:- 初始化单片机I/O端口;- 设置定时器中断,实现倒计时功能;- 编写主循环程序,控制LED灯的亮灭和数码管的显示;- 编写按键中断程序,实现紧急停用功能。
3. 仿真调试:使用Proteus软件对电路进行仿真,观察LED灯和数码管的显示效果,确保程序运行正确。
4. 实物测试:将程序烧录到单片机中,连接实物电路,测试交通灯控制系统是否正常工作。
五、实验结果与分析1. LED灯控制:通过编程实现LED灯的红、黄、绿三色灯光切换,模拟交通灯的运行状态。
2. 数码管显示:数码管显示倒计时时间,方便观察交通灯的运行状态。
3. 按键控制:按下按键,实现交通灯的紧急停用功能。
实验结果表明,本实验成功实现了单片机控制的交通灯系统,达到了预期目标。
六、实验总结1. 通过本次实验,掌握了单片机编程方法,实现了交通灯的自动控制。
2. 学会了使用Proteus进行电路仿真和调试,提高了动手实践能力。
3. 培养了团队协作精神,与同学共同完成了实验任务。
单片机交通灯实验报告
单片机交通灯实验报告本实验旨在通过单片机控制,实现交通信号灯的模拟,以达到以下目的:通过模拟交通信号灯的控制,理解交通信号灯的工作原理和优化交通流量的方法。
本实验采用单片机作为主控芯片,通过编程设定各个交通信号灯的亮灭时间,以模拟交通信号灯的工作。
实验中采用LED灯模拟交通信号灯,红灯表示停止,绿灯表示通行,黄灯表示警告。
通过单片机的控制,可以实现交通信号灯的顺序切换,从而达到控制交通的目的。
准备材料:单片机、LED灯(红、绿、黄三个)、电阻、杜邦线、面包板、电脑及编程软件。
搭建电路:将LED灯分别连接到单片机的P1端口,并添加电阻以保护LED灯。
使用杜邦线将单片机与电脑连接,以便进行编程。
编程:使用C语言编写程序,控制交通信号灯的亮灭时间和顺序。
程序中应包含初始化函数、主函数和延时函数等基本元素。
其中,初始化函数用于设置LED灯的初始状态;主函数用于循环读取按键输入并控制LED灯的亮灭;延时函数用于实现交通信号灯的顺序切换。
调试:将程序下载到单片机中,观察交通信号灯的实际运行情况。
如有问题,可通过调整程序中的参数或重新编写程序进行优化。
数据记录与分析:记录每次实验的数据,包括LED灯的亮灭时间、交通流量等。
分析实验数据,得出结论并提出改进意见。
在本次实验中,我们成功地实现了交通信号灯的模拟。
通过调整程序中的参数,我们观察到交通信号灯的亮灭时间和顺序对交通流量的影响。
在早高峰时段,我们将红灯时间设置为较长时间,以减缓交通压力;在平峰时段,我们将绿灯时间设置为较长时间,以加快车辆通行速度。
同时,我们也注意到黄灯设置的重要性,它能够提醒司机注意交通安全。
在实验过程中,我们还发现了一些问题,例如在某些情况下,车辆在绿灯亮起时未能及时启动,导致交通拥堵。
针对这一问题,我们建议在程序中增加一个启动提醒功能,以提醒司机及时启动车辆。
通过本次实验,我们深入了解了单片机的原理和应用,并成功地模拟了交通信号灯的工作过程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验四单片机交通灯实验
1、实验要求
本实验分两部分,第一部分是普通交通灯的模拟:初始状态0为东西红灯,南北红灯.然后转状态1南北绿灯通车,东西红灯.过一段时间转状态,南北绿灯闪几次转两黄灯,延时几秒,东西仍然红灯,再转状态3,东西绿灯通车,南北红灯.过一段时间转状态4.东西绿灯山几次转黄灯,延时几秒,南北仍然红灯,,最后循环至状态1。
第二部分在以上的基础上当有急救车到达时,两项交通信号为全红,以便让急救车通过.假定急救车通过路口时间为10秒,急救车通过后,交通恢复中断前状态.被实验已按键为终端申请,表示有急救车通过.
2、实验电路图
(1)十二端口控制
(2)六端口控制
3、实验程序如下
(1) 十二位控制ORG 0000H
LJMP MAIN
ORG 000BH
LJMP IT0P
MAIN: MOV P1,#0F0H
MOV P0,#0FFH
MOV A,#00H
MOV TMOD,#01H
MOV TL0,#0B0H
MOV TH0,#3CH
SETB ET0
SETB EA
SETB TR0
HERE: SJMP HERE
IT0P: MOV TL0,#0B0H
MOV TH0,#3CH
INC A
CJNE A,#50,L1
MOV P1,#0FCH
MOV P0,#0F3H
RETI
L1: CJNE A,#100,L2
MOV P1,#03CH
MOV P0,#0FFH
RETI
L2: CJNE A,#110,L3
MOV P1,#0FCH
MOV P0,#0FFH
RETI
L3: CJNE A,#120,L4
MOV P1,#03CH
MOV P0,#0FFH
RETI
L4: CJNE A,#130,L5
MOV P1,#0F3H
MOV P0,#0FCH
RETI
L5: CJNE A,#180,L6
MOV P1,#0C3H
MOV P0,#0FFH
L6: CJNE A,#190,L7
MOV P1,#0F3H
MOV P0,#0FFH
RETI
L7: CJNE A,#200,L8
MOV P1,#0C3H
MOV P0,#0FFH
L8: CJNE A,#210,BUTTON
MOV P1,#0F0H
MOV P0,#0FFH
CLR A
RETI
BUTTON:RETI
END
(2) 六位控制ORG 0000H
LJMP MAIN
ORG 000BH
LJMP IT0P
ORG 0013H
LJMP IT1P
MAIN: MOV P0,#09H
MOV A,#00H
MOV TL0,#0B0H
MOV TMOD,#61H
MOV TL0,#0FFH
MOV TH0,#0FFH
SETB ET0
SETB EA
SETB TR0
SETB PX1
SETB PT1
SETB EX1
SETB ET1
SETB TR1
HERE: SJMP HERE
IT1P:MOV Acc,P0
PUSH Acc
MOV P0,#09H
ACALL DL Y10S
POP Acc
MOV P0,Acc
RETI
IT0P: MOV TL0,#0B0H
MOV TH0,#3CH
INC A
CJNE A,#5,L1
MOV P0,#11H
RETI
L1: CJNE A,#60,L2
MOV P0,#21H
RETI
L2: CJNE A,#70,L3
MOV P0,#01H
RETI
L3:CJNE A,#80,L4
MOV P0,#21H
RETI
L4:CJNE A,#90,L5
MOV P0,#0AH
RETI
L5:CJNE A,#140,L6
MOV P0,#0CH
RETI
L6:CJNE A,#150,L7
MOV P0,#08H
RETI
L7:CJNE A,#160,L8
MOV P0,#0CH
RETI
L8: CJNE A,#170,BUTTON
CLR A
RETI
BUTTON:RETI
DL Y10S : MOV R5,#200
DL Y10S1: MOV R6,#125
DL Y10S2: MOV R7,#100
DL Y10S3:DJNZ R7,DL Y10S3 ;248*2+4
DJNZ R6,DL Y10S2 ;(248*2+4)*200+4
DJNZ R5,DL Y10S1 ;[(248*2+4)*200+4]*100+4
RET
END
4、数据记录
有救护车通过时的状态。