03 交通灯控制电路的制作.ppt
项目三项目三 交通灯控制电路的制作交通灯控制电路的制作 项目基本技能项目基本技能 开关状态指示电路的制作开关状态指示电路的制作 任务任务一一知识知识点一点一MCS-51MCS-51单片机输入电路单片机输入电路 知识知识点二点二相关指令相关指令项目基本知识项目基本知识交通灯控制电路的制作交通灯控制电路的制作 任务任务二二程序调试与烧写程序调试与烧写 任务任务三三项目三项目三 交通灯控制电路的制作交通灯控制电路的制作 项目学习目标项目学习目标任务一任务一 开关状态指示电路的制作开关状态指示电路的制作 任务要求任务要求项目基本技能项目基本技能按下输入口的任意键,对应的输出口LED指示其状态。1硬件电路制作硬件电路制作(1)电路原理图(2)制作要点及元器件清单(3)电路的调试通电之前先用万用表检查各种电源线与地线之间是否有短路现象。给硬件系统加电,不插入单片机,用一根导线,一端接地,另一端分别接触IC插座的5、6、7、8脚,观察4个二极管是否正常发光。2程序编写程序编写P1口的P1.0P1.3作为输入,读取开关S0S3上的信号,P1.4P1.7作为输出,控制发光二极管VD0VD3。ORG 0000H LJMP STARTSTART:MOV A,#0FH MOV P1,A;P1口为输入口口为输入口MAIN:MOV A,P1;读取读取S0S3上的开关信号上的开关信号 SWAP A;高、低高、低4位互换位互换 ORL A,#0FH;屏蔽低屏蔽低4位位 MOV P1,A ;将开关信号送到将开关信号送到VD0VD3 LCALL DELAY LJMP MAINDELAY:MOV R3,#38H ;延时子程序延时子程序D2:MOV R4,#0F9HD1:NOP DJNZ R4,D1 DJNZ R3,D2 RET END任务二任务二 交通灯控制电路的制作交通灯控制电路的制作 任务要求任务要求项目基本技能项目基本技能假定A、B两个交通干道交于一个十字路口,A为主干道,B为支干道,A、B干道各有一组红、黄、绿3色指示灯,指挥行人和车辆的通行。白天工作期间,信号灯及车道运行状态如表所示。如果工作在夜间,那么南北的黄灯以及东西的黄灯持续闪烁。能够上电复位或者手工复位,初始状态4个路口都亮红灯,2s后正常工作。系统要求系统要求1硬件电路制作硬件电路制作(1)电路原理图(2)制作要点及元器件清单(3)电路的调试通电之前先用万用表检查各种电源线与地线之间是否有短路现象。给硬件系统加电,不插入单片机,用一根导线,一端接地,另一端分别接触IC插座的21、22、23、26、27、28脚,观察6个二极管是否正常发光。2程序编写程序编写(1)程序流程图白天工作模式流程图 白天与夜间工作模式切换流程图 2程序编写程序编写(2)参考程序ORG 0000H MOV P2,#7EH ;4个路口红灯亮个路口红灯亮 MOV R5,#100 LCALL DELAY ;延时延时2sDAY:MOV P1,#0FFH ;P1口作为输入口口作为输入口LOOP1:JNB P1.7,NIGHT MOV P2,#7BH ;东西绿灯亮东西绿灯亮,南北红灯亮南北红灯亮 MOV R5,#250 ;延时延时5s LCALL DELAY MOV R7,#05H ;置黄灯闪烁次数置黄灯闪烁次数05HH1:MOV P2,#7DH ;东西黄灯闪东西黄灯闪,南北红灯亮南北红灯亮 MOV R5,#10;延时延时 LCALL DELAY MOV P2,#7FH;南北红灯亮南北红灯亮 MOV R5,#10;延时延时 LCALL DELAY DJNZ R7,H1;闪烁次数未到继续闪烁次数未到继续H2:MOV P2,#0DEH ;东西红灯亮,南北绿灯亮 MOV R5,#200 ;延时4s LCALL DELAY MOV R7,#05H ;置黄灯闪烁次数05HH3:MOV P2,#0BEH ;东西红灯亮,南北黄灯闪 MOV R5,#10;延时 LCALL DELAY MOV P2,#0FEH ;东西红灯亮 MOV R5,#10;延时 LCALL DELAY DJNZ R7,H3;闪烁次数未到继续 LJMP LOOP1 ;循环NIGHT:LOOP2:JB P1.7,DAY MOV P2,#0BDH;东西黄灯亮,南北黄灯亮 MOV R5,#10;延时 LCALL DELAY MOV P2,#0FFH ;东西黄灯灭,南北黄灯灭 MOV R5,#10 LCALL DELAY LJMP LOOP2 ;延迟时间R520msDELAY:MOV R4,#38H;延时子程序D1:MOV R3,#0F9H DJNZ R3,$DJNZ R4,D1 DJNZ R5,DELAY RET END任务三任务三 程序调试与烧写程序调试与烧写 使用仿真器调试程序。程序调试完成后,使用编程器将编译的十六进制文件烧写入单片机,将单片机从编程器上取下,插入电路板的IC插座上,给电路板接上5V电源,观察电路运行情况。知识点一知识点一 MCS-51单片机输入电路单片机输入电路 项目基本知识项目基本知识单片机中有多种开关信号输入方式,其中,通过I/O引脚输入开关信号是常用的一种方式。当作为输入口时,必须先把端口置“1”,此时锁存器的为“0”,使输出级的场效应管V2处于截止状态,引脚处于悬浮状态,可以作高阻输入。否则,如果此前曾经输出锁存过数据“0”,输出级的场效应管V2则处于导通状态,引脚相当于接地,引脚上的电位就被钳位在低电平上,使输入高电平时得不到高电平,读入的数据是错误的,还有可能烧坏端口。如要把端口置“1”,可执行如下指令:SETB P1.X ;置位P1.X(X代07)MOV P1,#0FFH ;将P1口全部置位知识点二知识点二 相关指令相关指令 1数据传送指令MOV Rn,#data ;将数据传送到工作寄存器Rn(n=07)中2字节交换指令SWAP A;将累加器A中的高4位与低4位互换3逻辑或指令ORL A,#data;将数据与累加器A中的内容按位进行逻辑或操作4控制转移指令 LJMP addr16;PC addr16该指令的功能是直接将目标地址addr16装入PC,程序无条件转向目标地址。AJMP addr11 ;PC(PC)+2,PC100addr11该指令的执行是先将PC+2装入PC,然后用11位地址addr11替换PC100,形成新的PC值,即为转移的目的地址。注意,AJMP指令的转移目标地址要求与AJMP后面一条指令在同一2KB区域内。5判位转移指令JB bit,rel;(bit)1,PC(PC)+3+rel;(bit)0,PC(PC)+3该指令的功能是判断bit位是否为1,若为1,程序转移;若为0,程序顺序执行。JNB bit,rel;(bit)0,PC(PC)+3+rel;(bit)1,PC(PC)+3该指令的功能是判断bit位是否为0,若为0,程序转移;若为1,程序顺序执行。