《单片机实训项目.ppt》由会员分享,可在线阅读,更多相关《单片机实训项目.ppt(13页珍藏版)》请在三一办公上搜索。
1、实训项目九 I/O口扩展实验交通灯控制实验,一、实验目的1学习在单片机系统中扩展简单I/O接口的方法。2学习数据输出程序的设计方法。3学习模拟交通灯控制的实现方法。二、实验设备CPU挂箱、8031CPU模块,实训项目九 I/O口扩展实验交通灯控制实验,三、实验内容扩展实验箱上的74LS273做为输出口,控制六个发光二极管亮灭,模拟交通灯管理。仿真实验:P2口做为输出口,控制六个发光二极管亮灭,模拟交通灯管理。,实训项目九 I/O口扩展实验交通灯控制实验,四、交通灯仿真实验图,D1(D9)、D2(D10)、D3(D11)为东西方向的指示灯的红灯、黄灯、绿。D5(D13)、D6(D14)、D7(D
2、15)为南北方向的指示灯的红灯、黄灯、绿灯。交通灯的亮灭规律:1、初始态是两个路口的红灯全亮,延时(3秒);2、东西路口的绿灯亮,南北路口的红灯亮,东西方向通车,延时(10秒);3、南北路口红灯亮。东西路口绿灯灭,黄灯开始闪烁,闪烁若干次(5次间隔0.2秒);4、两个路口的红灯全亮,延时(0.2秒);5、东西路口红灯亮,南北路口的绿灯亮,南北方向开始通车,延时(10秒);6、东西路口红灯亮。南北路口的绿灯灭,黄灯开始闪烁,闪烁若干次(5次);7、两个路口的红灯全亮,延时(0.2秒);6、再切换到东西路口方向,重复上述过程。各发光二极管的阳极通过保护电阻接到+5V的电源上,阴极接到输入端上,因此
3、使其点亮应使相应输入端为低电平。,五、实验原理,指示灯低电平亮,控制码高电平亮,故在显示程序中使其取反。,五、实验原理,五、交通灯控制程序流程图,ORG 0000HLJMP STARTORG 0030HSTART:MOV A,#11H;两个红灯亮,黄灯、绿灯灭ACALL DISP;调用显示子程序(以下雷同)ACALL DE3S;延时3秒,DE10S:MOV R5,#100;延时10秒 JMP DE1DE3S:MOV R5,#30;延时3秒 JMP DE1DE02S:MOV R5,#02;延时0.2秒DE1:MOV R6,#200DE2:MOV R7,#126DE3:DJNZ R7,DE3 DJ
4、NZ R6,DE2 DJNZ R5,DE1 RET,DISP:CPL A MOV P2,A RET,MOV A,#12H;东西路口绿灯亮;南北路口红灯亮 ACALL DISP ACALL DE10S;延时10秒 MOV A,#10H;东西路口绿灯灭;南北路口红灯亮 ACALL DISP MOV R2,#05H;R2中的值为黄灯闪烁次数TTT:MOV A,#14H;东西路口黄灯亮;南北路口红灯亮 ACALL DISP ACALL DE02S;延时0.2秒 MOV A,#10H;东西路口黄灯灭;南北路口红灯亮 ACALL DISP ACALL DE02S;延时0.2秒 DJNZ R2,TTT;返回
5、TTT,使东西路口黄灯闪烁五次 MOV A,#11H;两个红灯亮,黄灯、绿灯灭 ACALL DISP ACALL DE02S;延时0.2秒,NAME T3;I/O口扩展实验PORT EQU0CFA0HORG 0000HLJMP STARTORG 4100HSTART:MOV A,#11H;两个红灯亮,黄灯、绿灯灭ACALL DISP;调用273显示单元(以下雷同)ACALL DE3S;延时3秒LLL:MOV A,#12H;东西路口绿灯亮;南北路口红灯亮ACALL DISP ACALL DE10S;延时10秒MOV A,#10H;东西路口绿灯灭;南北路口红灯亮ACALL DISPMOV R2,#
6、05H;R2中的值为黄灯闪烁次数TTT:MOV A,#14H;东西路口黄灯亮;南北路口红灯亮ACALL DISPACALL DE02S;延时0.2秒 MOV A,#10H;东西路口黄灯灭;南北路口红灯亮ACALL DISPACALL DE02S;延时0.2秒DJNZ R2,TTT;返回TTT,使东西路口黄灯闪烁五次MOV A,#11H;两个红灯亮,黄灯、绿灯灭 ACALL DISPACALL DE02S;延时0.2秒,MOV A,#21H;东西路口红灯亮;南北路口绿灯亮ACALL DISPACALL DE10S;延时10秒 MOV A,#01H;东西路口红灯亮;南北路口绿灯灭ACALL DIS
7、PMOV R2,#05H;黄灯闪烁五次GGG:MOV A,#41H;东西路口红灯亮;南北路口黄灯亮ACALL DISPACALL DE02S;延时0.2秒MOV A,#01H;东西路口红灯亮;南北路口黄灯灭ACALL DISPACALL DE02S;延时0.2秒 DJNZ R2,GGG;返回GGG,使南北路口;黄灯闪烁五次MOV A,#11H;两个红灯亮,黄灯、绿灯灭ACALL DISPACALL DE02S;延时0.2秒 JMP LLL;转LLL循环,DE10S:MOV R5,#100;延时10秒 JMP DE1DE3S:MOV R5,#30;延时3秒 JMP DE1DE02S:MOV R5
8、,#02;延时0.2秒DE1:MOV R6,#200DE2:MOV R7,#126DE3:DJNZ R7,DE3 DJNZ R6,DE2 DJNZ R5,DE1 RETDISP:CPL AMOV P2,ARET END,本实验需要用到实验箱上八个发光二极管中的六个,即红、黄、绿各两个。不妨将L1(红)、L2(绿)、L3(黄)做为东西方向的指示灯,将L5(红)、L6(绿)、L7(黄)做为南北方向的指示灯。扩展实验箱上的74LS273做为输出口。PORT EQU 0CFA0H;片选地址CS0,PORT EQU 0CFA0H;片选地址CS0ORG 0000HLJMP STARTORG 4100HSTART:MOV A,#11H;两个红灯亮,黄灯、绿灯灭ACALL DISP;调用273显示单元(以下雷同)ACALL DE3S;延时3秒,DE10S:MOV R5,#100;延时10秒 JMP DE1DE3S:MOV R5,#30;延时3秒 JMP DE1DE02S:MOV R5,#02;延时0.2秒DE1:MOV R6,#200DE2:MOV R7,#126DE3:DJNZ R7,DE3 DJNZ R6,DE2 DJNZ R5,DE1 RET,DISP:MOV DPTR,#PORT CPL A MOVX DPTR,A RET,