单片机实时交通信号灯控制模拟
一 实训目的:
1.了解可编程I/O芯片8255的结构功能及编程方法 2. 学习掌握用单片机进行交通灯控制的实现方法。 3. 掌握用软件编程实现延时的方法
二 设计内容及要求:
1. 编程DJ—598KC单片机扩展连接的8255的PA、PB口为输出I/O口,控制DJ—598KC实验箱上的黄、绿、红、三色十二个发光二 极管亮灭,并分别用实验箱上的两位七段LED数码倒计时显示两通车道车辆通行时间(即黄、绿、红三色发光二 极管亮灭时间),模拟十字路口交 通信号灯控制和管理,并完成在DJ—598KC单片机实验箱上的仿真。
2. 将8255的PA、PB口输出控制改为用单片机的P1、P3口实现输出控制,再完成控制电路连接设计及控制程序的编制和仿真。
三 硬件及其相关连接图
8255A的逻辑结构和信号引脚
8255 控制电路逻辑图
DJ-598KC实验系统LED显示器接口电路连接
四 软件设计
用8255的PA、PB口控制程序清单
ORG 0100H HA4S:MOV SP,#60H
; 8255初始化
MOV DPTR,#0FF2BH MOV A,#88H
MOVX @DPTR,A MOV DPTR,#0FF23H MOV A,#88H
MOVX @DPTR,A ;四个红灯
MOV DPTR,#0FF28H
MOV A,#0B6H MOVX @DPTR,A INC DPTR MOV A,#0DH
MOVX @DPTR,A ;5秒延时
MOV 2AH,#05H
LCALL DELAY ;东西绿灯,南北红灯 HA4S3: MOV DPTR,#0FF28H MOV A,# 75 H MOVX @DPTR,A INC DPTR MOV A,# 0D H MOVX @DPTR,A ; 80秒延时
MOV 2AH,#50H LCALL DELAY ;东西黄灯,南北红灯
HA4S1:MOV DPTR,#0FF28H MOV A,# 0 F3 H MOVX @DPTR,A INC DPTR MOV A,# 0C H MOVX @DPTR,A ;10秒延时 MOV 2AH,#0AH LCALL DELAY
;东西红灯,南北绿灯
MOV DPTR,#0FF28H MOV A,# 0AE H MOVX @DPTR,A INC DPTR MOV A,# 0B H MOVX @DPTR,A ; 50秒延时 MOV 2AH,#32H LCALL DELAY
;东西红灯,南北黄灯
HA4S2: MOV DPTR,#0FF28H MOV A,#9EH MOVX @DPTR,A INC DPTR MOV A,#07H MOVX @DPTR,A ;10秒延时
MOV 2AH,#0AH LCALL DELAY
LJMP HA4S3 ;重复东西通行 ;软件秒倒计时延时显示子程序
DELAY:LCALL DISP ;调用秒值显示子程序 DJNZ 2AH, DELAY ;计数器非零循环 RET
;秒值显示子程序(约1,000,800μs fosc=12MHz) 指令周期数
DISP:MOV A,2AH ; 秒数转换为十进制数
MOV B,#0AH ; DIV AB ; AB←(A)/(B) MOV DPTR,# TABLE ; 查表十位数的字形码 MOVC A,@A+DPTR ;
MOV R2,A ; 十位数的字形码存R2 MOV A,B ; MOVC A,@A+DPTR ; 查表个位数的字形码
MOV R3,A ; 个位数的字形码存R3
MOV P2,#0FFH ;
MOV R0,#21H ; MOV R1,#20H ;
MOV R6,#0FAH ; ; 250×((250×?8+1)×2×1+1)?s
LOOP: MOV R5,#0FAH ; LOOP1: MOV A,R3 ; MOVX @R0,A ; MOV A ,#0FEH ; MOVX @R1,A ;
DJNZ R5,LOOP1 ;(250?8+1)?2 ?s MOV R5,#0FAH ; LOOP2:MOV A,R2 ; MOVX @R0,A ; MOV A,#0FDH ; MOVX @R1,A ;
DJNZ R5,LOOP2 ;(250?8+1)???s
DJNZ R6,LOOP ; RET ;
; ’0’~’f ’ 字符七段LED代码表
TABLE:DB 0C0H,0F9H,0A4H,0B0H,99H DB 92H,82H,0F8H,80H,90H END 五 总结体会
以前总是在课堂听老师讲单片机,总觉得很枯燥,抽象,这次交通路灯的单片机实训,使我们更加了解单片机在设计方面的应用,以前学PLC的时候也编过交通路灯的程序,二者相比较感觉单片机更加的精确,更加方便,集成化程度高,成本更加的便宜。 对于了解实际应用有很大的好处。
简易数字秒表的设计与制作
一 设计目的
(1) 熟悉单片机定时/计数器电路和中断的功能与编程 。
(2) 熟悉8051与8255与LED的接口技术、LED动态显示的控制过程。
(3) 通过调试简易秒表整体程序,学会如何编制含LED动态显示、键盘扫描和定
时器中断等多种功能的综合程序,体会大型程序的编制和调试技巧。
二 设计内容与要求:
(1) 内容与要求:
利用DJ—598KC单片机仿真实验系统进行模拟,用六位LED数码管显示实时计时值,其中时、分、秒、十分秒值从左到右各用1至两位LED数码显示,显示值为分、秒值0~59,时和十分秒值为0~9,使用KEY0、KEY1、KEY2等3键分别实现启动、停止、清零等功能。 (2) 方法:
用单片机定时器0中断方式,实现100ms定时作为实时时基信号,编程实现十分秒、秒、分计数。用动态显示方式实现秒表计时显示,采用中断或查询方式取得KEY0、KEY1、KEY2的按键输入,实现秒表的启动、停止、清零等功能。
三 硬件连接图
DJ-598KC实验箱的LED显示电路结构