微机原理与接口技术课程设计 交通灯设计
微机原理课程设计报告交通灯
ANDAL,0FH
MOV AH,AL
MOV DX,PTCON8255
MOV AL,88H
OUTDX,AL
MOV DX,PORTC
IN AL,DX
ANDAL,0FH
XORAL,AH
ADD CL,AL
CMP CL,9
JNZ TEST2;闪烁5次
CODE ENDS
END STA
连接实验箱电路,上机调试并对实验现象进行分析,完成实验报告。
MOV DX,PORTA
MOVAL,0
OUTDX,AL
MOV DX,PORTB
MOVAL,0FH
OUTDX,AL
MOV DX,PORTC
MOVAL,0FH
OUT DX,AL;灯初始化完成
STA:MOV DX,PORTA
MOVAL,0A0H
OUTDX,AL
MOV DX,PORTB
MOVAL,0F0H
OUTDX,AL
电路图如下所示:
程序流程图
初始化8255,8253
红灯全亮
绿灯黄灯全灭
南北绿灯亮
东西红灯亮
等待8253延时30s时间是否到?
Y
N
南北绿灯灭
东西红灯不变
南北黄灯闪烁
等待黄灯闪烁5次?
Y
N
南北红灯亮
东西绿灯亮
8253延时30s
东西绿灯灭
黄灯闪烁5次
程序清单
DATA SEGMENT;设置数据段,以及端口地址分配
MOV CX,0
TEST1:MOV DX,PTCON8255 ;检测PB7
MOV AL,82HOUTX,ALMOV DX,PORTB
IN AL,DX
《微机原理与接口技术》课程设计-交通灯
信息工程系计算机科学与技术12计本1班1214110214黄 福朱 茜 2015年06月29日院 系: 专 业: 年级班级: 学 号: 姓 名: 指导教师: 设计日期:目录一.课程设计目的 (3)二.课程设计任务 (3)三.总体设计方案 (3)五.程序设计流程图 (4)六. 程序连接图 (5)七.程序清单 (5)八.实验结果 (8)九.课程设计总结和体会 (8)一.课程设计目的用汇编语言和微机原理实验箱完成实现双方向交通信号灯控制系统,以达到熟练运用汇编语言编程以及实验箱上各个芯片的灵活运用。
⒈了解交通灯管理的基本工作原理⒉熟悉8253定时计数器的工作方式和编程应用⒊熟悉8255A并行接口的工作方式和编程应用二.课程设计任务本次课程设计的内容为双方向交通信号灯的控制和管理。
具体要求如下:1.东西方向车辆放行20秒钟。
即东西方向的绿灯和南北方向的红灯同时点亮25秒钟和黄灯点亮3秒钟。
2.南北方向车辆放行20秒钟后,转为南北方向的黄灯点亮3秒钟,以警示将切换红绿灯。
此时东西方向仍维持红灯点亮。
3.循环重复执行1和2两步骤。
三.总体设计方案1、用实验系统8255A实现对信号灯的控制(B端口),A端口的PA6、PA7口用来和8253共同控制信号灯点亮的时间。
2、实验中,8255选用(10010000)方式选择字,A组工作0方式,A端口输入,PC4-PC7输出,B组0方式,B端口输出,PC3-PC0输出3、实验中,8253采用两个计数器级联的方式达到定时的效果,8253计数器0的CLK0输入1MHZ的时钟脉冲,工作在模式3即方波发生器,理论设计OUT0 输出周期为0.01S的方波,则计数器0的初值为10000;OUT0输出的方波分别作为计数器1、计数器2的CLK1和CLK2的输入时钟脉冲,计数器1和计数器2工作方式为模式1,计数器1的初值为2500,即OUT1输出25秒,控制红绿灯的时间;计数器2初值为300,即OUT2输出3秒,控制黄灯的时间。
微机原理课程设计说明(交通灯)
2、有急救车通过时:(用中断实现)
两个方向的交通灯全为红(10S),急救车通过后恢 复正常信号。
3、 制作交通灯控制硬件电路板,编写软件
在XL1000-2000仿真仪实现交通信号灯控制。
(二)提高部分:实现智能交通灯控制
1、考虑左转灯控制
2、红绿灯点亮时间用键盘设定,用数码管
减“1”操作显示时间变化。。
附录:1、kerl-uvision集成调试软件的操作
操作步骤:
(1)双击桌面上的UV2快捷图标,启动软件。 (2)点击P工程 N新建工程 输入文件名并选择 存入的盘(如E:)点击保存。出现CPU屏幕,选Atmel AT89C51 点确定。屏幕左上方出现图标目标1, 原则上一个程序可建一个工程。 (3)点击文件 新建文件 出现汇编语言输入区。 输入汇编语言程序,点击文件中的保存,输入:程序 名.ASM 并选择存入的盘(如E:)点击保存。(输入的程 序名一般不超过6个字母数字,以字母打头)
③为了简化操作步骤,第一次使用时, 应当确认一 下软件的设置。首先点击下图的“设置”对话框在 自动编程的选项中选择: “擦除” “写入”“运 行目标板” (下图打钩的地方)然后点确定。由于 一般情况下,检测芯片,查空,校对,写加密等等 选项没有必要选择,会浪费编程时间。 ④在芯片类型的对话框中选择 MCU\ATMEL_51\AT89S52 然后点确定。 ⑤点击主界面的“打开”,找到要烧录的程序的 .HEX文件,然后点确定。
《微机原理机接口技术》课程设计
一、课程设计的目的: 1、加深对单片机的基本概念、基本原理、基 本结构的理解; 2、通过课程设计提高学生单片机的开发能力,
包括硬件设计和软件编程的能力。
二、课程设计的内容:
用单片机控制十字路口的交通灯,要求能
微机原理与接口技术课程设计-----交通灯设计解析
中南大学微机课程设计报告题目交通灯设计专业班级姓名学号指导老师林立新老师目录1.课程设计题目、功能、目的 (2)2.系统分析与设计 (3)2.1系统所用芯片分析 (3)2.2所选用芯片的简要介绍 (4)2.3系统框图 (6)3.程序设计 (7)3.1十字路口交通灯状态转换表 (7)3.2主程序流程图 (7)3.3 中断子程序流程图 (8)3.4 数码管码表 (8)3.5 各芯片初始化说明 (9)4.运行情况 (10)5.具体源代码及注释 (11)6.心得体会 (16)一、课程设计题目、功能、目的1.课程设计题目--------------交通灯设计2.本设计所实现功能1)实现十字路口交通灯各种状态的转换;2)各种状态转换的时间可进行灵活设置;3)采用中断的方法对状态转换进行控制,提高处理器效率;4)在各个状态转换的同时实现倒计时提醒。
3.本次课程设计目的1)通过《微机原理与接口》课程设计,使学生能够进一步了解微型计算机工作原理, 微型计算机的硬件结构及微型计算机软件编程。
2)要求学生根据接口电路的硬件要求进行计算机的汇编语言程序设计,使学生的软件编程能力得到加强,对接口电路的综合应用能力有较大提高。
二、系统分析与设计1.系统所用芯片分析1)首先本个系统需要一个中央处理器来负责对整个系统进行控制管理,因为《微机原理与接口技术》这门课上介绍了8086芯片,所以可以采用8086作为本系统的中央处理器。
2)由于本次的课程设计的题目是交通灯,而根据十字路口处的交通灯南北和东西方向各有红、绿、黄三种颜色的灯,因此可用8255来控制6个LED灯的实现模拟的南北和东西方向上的交通灯。
3)而交通灯的状态转换时间要由中断方式来控制,所以很容易想到了可以用8259作为中断芯片,与8086芯片相连。
4)交通灯的状态转换时间可灵活设置,于是想到了可以采用一块8253或8254芯片和一个脉冲源相连,8253对脉冲源送来的脉冲进行分频,然后将输出送到8259作为中断源,而8253采用不用的计数初值其输出脉冲的频率就不一样,因此实现了交通类状态转换时间的灵活设置。
微机原理课程设计交通信号灯正文3
1设计任务描述1.1设计题目:交通信号灯1.2设计内容利用微机原理试验箱,采两组红,黄,绿发光二极管来模拟A,B两路交差路口的信号灯控制。
1.2.1设计目的通过课程设计使学生更进一步掌握微机原理及应用课程的有关知识,提高应用微机解决问题的能力,加深对微机应用的理解。
通过查阅资料,结合所学知识进行软、硬件的设计,使学生初步掌握应用微机解决问题的步骤及方法。
为以后学生结合专业从事微机应用设计奠定基础。
1.2.2设计要求一、基本要求:1.(1)按实际交通灯控制规程控制;(2)当路口发生交通事故时,能强制A、B两路禁行;(3)K0-K7为开关,K7来模拟紧急情况,K1-K6来模拟车辆多少;D11-D8为黄灯;D7-D0分别为4红4绿。
2.也可以选择具有一定难度的其他题目,但要经过指导老师的同意。
3.认真查阅资料,理解题目要求。
4.按时上机,认真调试程序。
5.运行程序,检查结果是否和设计要求一致。
6.记录出现的问题及现象,并对问题进行分析,思考解决方法。
7.遵守课程设计时间安排。
8.独立思考,认真设计。
9.认真书写课程设计说明书,避免相互抄袭。
二、对设计说明书撰写内容、格式、字数的要求1.课程设计说明书(论文)是体现和总结课程设计成果的载体,一般不应少于3000字。
2.学生应撰写的内容为:目录、正文、参考文献等。
课程设计说明书(论文)的结构及各部分内容要求可参照《沈阳工程学院毕业设计(论文)撰写规范》执行。
应做到文理通顺,内容正确完整,书写工整,装订整齐。
3.说明书(论文)手写或打印均可。
手写要用学校统一的课程设计用纸,用黑或蓝黑墨水工整书写;打印时按《沈阳工程学院毕业设计(论文)撰写规范》的要求进行打印。
4. 课程设计说明书(论文)装订顺序为:封面、任务书、成绩评定表、目录、正文、参考文献。
三、设计完成后应提交成果的种类、数量、质量等方面的要求提交课程设计说明书一份。
在说明书中要有设计原理、硬件电路接线图、设计的程序及必要注释等。
微型计算机原理与接口技术课程设计报告智能交通灯控制系统设计
摘要根据十字路口交通灯的控制要求,采用PLC 设计实现正常交通的时序控制,通过传感器完成对交通异常状况的智能判别及处理。
在系统的设计中,主要使用了PLC 可编程序控制器和传感器相结合的一种智能控制方法,使用压轴式传感器采集车辆脉冲,用PLC 高速计数器对脉冲进行计数,根据取得的数据运用一定的智能控制原则自动调节红绿灯的时间长度,最大限度地减少车辆滞留现象,较好地解决了车流量不均衡、不稳定问题。
仿真结果表明,该系统设计方案可以达到预期目标。
关键词:可编程控制器,交通灯,智能控制系统目录摘要 (Ⅰ)Abstract (Ⅱ)第1章设计要求 (1)1.1课题背景 (1)1.2 控制要求 (1)第2章总体框图 (3)2.1方案的确定 (3)2.2 原理框图 (3)2.3 元件简介 (3)第3章智能交通灯的实现 (7)3.1 车辆的检测 (7)3.2P L C具体设计 (7)3.3 I/O引脚分配及接口电路 (10)3.4 PLC故障防范 (11)3.5 PLC程序与编写 (13)总结 (21)参考文献 (22)致谢 (23)附录 (24)第1章 设计要求1.2 控制要求一、 信号灯及显示时间的数码管受开关控制,一个启动按钮控制其启动,一个停止按钮控制其停止。
二、 信号灯分为东西向直通红灯、直通黄灯、直通绿灯、左转红灯、左转黄灯、左转绿灯各两个;南北向直通红灯、直通黄灯、直通绿灯、左转红灯、左转黄灯、左转绿灯各两个。
三、 工作过程。
初始状态:信号灯全部灭;显示某方向信号灯工作的时间用数码管来显示,初始显示为0,以表示等待时间控制信号的输入。
工作状态:信号灯及数码管由一个启动按钮控制其启动,启动后信号灯及数码管自动循环运行;按下停止按钮后,回到初始状态。
特殊情况由五个按钮控制不同情况的应对程序启动,当车辆行驶数量回到正常时,通过一个按钮使其停止,程序执行正常工作时的程序。
正常工作:1、周期前半段。
南北向直通道与左转道红灯亮,并维持63s 。
微机原理及机电接口技术课程设计红绿灯
微机原理及机电接口技术课程设计第五组题目十字路口交通灯控制系统一.明确任务1.任务要求1)、模拟十字路口交通灯变化规律能实现通行时间的倒计时显示;当特种车(消防、警车等)通过时,中断保护现场并使四个口红灯全亮,中断消除后恢复现场。
2)、用开关控制中断信号2.任务分析1)南北东西道路有信号灯显示2)2位7段数码管显示通行和禁行倒计时3)针对特种车经过要设计相应的中断程序,并且中断返回后能信号灯按原来的状态继续进行道路控制。
二.总体设计1. 设计方案十字路口有南北方向和东西方向,每个方向都设有红、黄、绿三色交通信号灯12盏,并配有相应的亮灯倒计时显示4组。
当南北为绿灯或黄灯时,东西向一定是红灯,即南北绿灯时间加南北黄灯时间应等于东西红灯时间。
系统开始工作,南北路口绿灯亮,南北方向数码管进行绿灯50S倒计时显示,东西路口的红灯亮,东西方向数码管进行红灯55S倒计时显示。
当东西禁行方向剩5S时,南北通行方向的绿灯灭黄灯亮,同时数码管进行5S黄灯倒计时显示,5S后黄灯熄灭红灯亮,并进行南北红灯倒计时,同时东西方向红灯55S计时时间到红灯灭绿灯亮,东西向开始通行南北向禁行。
同样东西向绿灯50S计时时间到后转为黄灯,黄灯5S计时时间到再转为红灯,之后重复上述过程。
另设有点动按钮用来发出特种车经过时的中断信号2.单片机选型选择89C51系列单片机3.划分系统软、硬件功能数码管采用共阴极七段码动态显示4.确定系统结构组成时钟电路,复位电路,红绿黄灯指示电路(采用各色发光二极管代替),动态显示电路和简单按键电路三.硬件电路设计P0示位选控制。
P3.3作为外部中断输入口P1.0:南北向红灯,高电平点亮P1.1:南北向黄灯,高电平点亮P1.2:南北向绿灯,高电平点亮P1.3:东西向红灯,高电平点亮P1.4:东西向黄灯,高电平点亮P1.5:东西向绿灯,高电平点亮P2.7:南北向十位数码管位选信号P2.6:南北向个位数码管位选信号P2.5:东西向十位数码管位选信号P2.4:东西向个位数码管位选信号P0.0:数码管aP0.1:数码管bP0.2:数码管cP0.3:数码管dP0.4:数码管eP0.5:数码管fP0.6:数码管gP3.3:中断按钮,点动南北东西全部禁行,特种车通过四.软件设计1.片内RAM的定义A_BIT EQU 20H :用于存放南北十位数B_BIT EQU 21H :用于存放南北个位数C_BIT EQU 22H :用于存放东西十位数D_BIT EQU 23H :用于存放东西个位数TEMP1 EQU 24H :南北方向要显示的时间TEMP2 EQU 25H :东西方向要显示的时间SEC EQU 30H:1S计时标志2.程序设计由设计方案描述交通灯的显示可以分为以下4种状态:状态一:南北绿灯亮并从50S开始倒计时显示,东西红灯亮并从55S开始倒计时显示状态二:南北黄灯亮并从5S开始倒计时显示,东西红灯亮并继续55S倒计时显示状态三:南北红灯亮并从55S开始倒计时显示,东西绿灯亮并从50S开始倒计时显示状态四:南北红灯亮并继续55S 倒计时显示, 东西黄灯亮并从5S 开始倒计时显示3.设计流程图主程序流程图INT1中断程序流程图4.源程序:A_BIT EQU 20H ;用于存放南北十位数B_BIT EQU 21H ;用于存放南北个位数C_BIT EQU 22H ;用于存放东西十位数D_BIT EQU 23H ;用于存放东西个位数TEMP1 EQU 24HTEMP2 EQU 25HSEC EQU 30H ;1S计时标志ORG 0000HAJMP MAINORG 0013HAJMP INTORG 0100HMAIN:MOV SP,#45HMOV IE,#84H ;开INT0中断SETB IT1 ;下降沿触发MOV TMOD,#01H ;定时器初始化MOV TH0,#3CH ;50ms定时初值MOV TL0,#0B0HSETB TR0 ;启动定时器T0MOV SEC,#20 ;1S循环常数MOV R7,#50 ;绿灯时间MOV R6,#5 ;黄灯时间MOV R5,#55 ;红灯时间MOV R4,#10 ;全部红灯的时间STA1:MOV P1,#00001100B ;南北绿灯东西红灯ST1:MOV TEMP1,R7MOV TEMP2,R5ACALL CONVERT ;调用BCD码转换子程序STLOP1: ACALL DISPLAY ;调用显示子程序JNB TF0,STLOP1 ;50MS定时未到,转到STLOP1 CLR TF0DEC SECMOV A,SECCJNE A,#0,STLOP1 ;1S定时未到转到STLOP1 MOV SEC,#20DEC R5 ;东西倒计时数减一DJNZ R7,ST1 ;南北倒计时数减一MOV R7,#50STA2:MOV P1,#00001010B ;南北黄灯东西红灯ST2:MOV TEMP1,R6MOV TEMP2,R5ACALL CONVERT ;调用BCD码转换子程序STLOP2: ACALL DISPLAY ;调用显示子程JNB TF0,STLOP2CLR TF0DEC SECMOV A,SECCJNE A,#0,STLOP2MOV SEC,#20DEC R5DJNZ R6,ST2MOV R6,#5MOV R5,#55STA3:MOV P1,#00100001B ;南北红灯东西绿灯ST3:MOV TEMP1,R5MOV TEMP2,R7ACALL CONVERT ;调用BCD码转换子程序STLOP3: ACALL DISPLAY ;调用显示子程JNB TF0,STLOP3CLR TF0DEC SECMOV A,SECCJNE A,#0,STLOP3MOV SEC,#20DEC R5DJNZ R7,ST3MOV R7,#50STA4:MOV P1,#00010001B ;南北红灯东西黄灯ST4:MOV TEMP2,R6MOV TEMP1,R5ACALL CONVERT ;调用BCD码转换子程序STLOP4: ACALL DISPLAY ;调用显示子程JNB TF0,STLOP4CLR TF0DEC SECMOV A,SECCJNE A,#0,STLOP4MOV SEC,#20DEC R5DJNZ R6,ST4MOV R6,#5MOV R5,#55AJMP STA1INT: ;中断子程序PUSH 90H ;存入46H中PUSH PSWPUSH 00HPUSH 01HPUSH 02HPUSH 05HPUSH 06HPUSH 07HPUSH 20HPUSH 21HPUSH 22HPUSH 23HPUSH 24HPUSH 25HPUSH 30HPUSH TH0PUSH TL0MOV P1,#09H ;全部红灯CLR TF0MOV TH0,#3CHMOV TL0,#0B0HMOV SEC,#20L3:MOV TEMP1,R4MOV TEMP2,R4ACALL CONVERT ;调用BCD码转换子程序L4:ACALL DISPLAY ;调用显示子程JNB TF0,L4CLR TF0DEC SECMOV A,SECCJNE A,#0,L4MOV SEC,#20DJNZ R4,L3MOV R4,#10POP TL0POP TH0POP 30HPOP 25HPOP 24HPOP 23HPOP 22HPOP 21HPOP 20HPOP 07HPOP 06HPOP 05HPOP 02HPOP 01HPOP 00HPOP PSWPOP 90HRETI转换子程序CONVERT:MOV A,TEMP1 ;将南北要显示的数存放到A MOV B,#10DIV AB ;A除以B商存A,余数存B MOV A_BIT,A ;将A放到20HMOV B_BIT,B ;将B放到21HMOV A,TEMP2 ;将东西要显示的数存放到A MOV B,#10DIV AB ;A除以B商存A,余数存B MOV C_BIT,A ;将A放到22HMOV D_BIT,B ;将B放到23HRETDISPLAY: MOV DPTR ,#TAB ;显示子程序DPLOP1: MOV A,A_BIT ;将南北要显示的10位数送A MOVC A,@A+DPTR ;查表MOV P0,ACLR P2.7 ;显示南北10位数ACALL D1MS ;延时1MSSETB P2.7 ;灭南北10位数MOV A,B_BIT ;将南北要显示的个位数送A MOVC A,@A+DPTR ;查表MOV P0,ACLR P2.6 ;显示南北个位数ACALL D1MS ;延时1MSSETB P2.6 ;灭南北个位数MOV A,C_BIT ;将东西要显示的10位数送A MOVC A,@A+DPTR ;查表MOV P0,ACLR P2.5 ;显示东西10位数ACALL D1MS ;延时1MSSETB P2.5 ;灭东西10位数MOV A,D_BIT ;将东西要显示的个位数送A MOVC A,@A+DPTR ;查表MOV P0,ACLR P2.4 ;显示东西个位数ACALL D1MS ;延时1MSSETB P2.4 ;灭东西个位数RETD1MS:MOV R3,#250 ;1MS延时子程序D2:NOPNOPDJNZ R3,D2RETTAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END。
微机系统接口课程设计——交通灯
微机系统接口课程设计题目:交通灯系部名称:计算机系班级:学号:指导教师:学生姓名:时间2009-6-1—2009-6-12微机系统接口课程设计一实习的目的本次实习是基于微机原理与微机接口技术的实践课程设计。
1,通过实习熟悉并掌握接口芯片8253、8255、8259的原理、功能和应用2,对微机原理知识的熟悉和巩固,了解微机工作基本原理。
二硬件课程设计题目1,十字路口交通信号灯控制系统设计三对题目的简单分析(用到哪些芯片及作用)(1)十字路口交通信号灯控制系统设计8253 计数控制,用于交通信号灯的时间控制8255 数码管显示,用于倒计时时间的显示8259 突发事件的控制及信号灯的切换四以下是三个题目分别的实习报告(一)十字路口交通信号灯控制系统设计一硬件课程设计题目交叉路口交通信号灯控制系统设计二设计任务编写一个交通灯控制程序,实现东西路口与南北路口状态灯的转换,并设置紧急键,能使交通灯实现紧急处理。
利用中断程序实现多次循环调用电风扇工作子程序,并在显示器上提示进入中断服务程序的信息。
具体实现如下:1.用试验台提供的发光二极管(红绿黄各两支,共六支)作为南北路口(红绿黄各一支)和东西路口(红绿黄各一支)的模拟交通灯。
如图:D7,D5,D3作为南北路口的交通灯与A7,A5,A3相连,D6,D4,D2作为东西路口的交通灯与A6,A4,A2相连。
编程使六个灯按交通灯变化规律燃灭B7 B6 B5 B4 B3 B2 B1 B0A7 A6 A5 A4 A3 A2 A1 A0C3C2C1C0C4C58255AA B C D E F G DP X2X1LED OUT0 CLK0GATE0 CSCS8254红 红 绿 绿 黄 黄 白 白D7 D6 D5 D4 D3 D2 D1 D0二极管K3(东西紧急)K1(夜间紧急)K2(南北紧急)IOY01KHZ +5V IOY2硬件连接图:2.用可编程并行接口芯片8255A 控制模拟交通灯的亮与灭和数码管的倒计时显示。
微机原理与接口技术课程设计资料讲解
微机原理与接口技术课程设计微机原理与接口技术课程设计题目:交通灯显示系统学院:计算机科学与技术学院专业班级:计算机科学与技术0904班一.设计任务利用唐都实验箱,模拟十字路口交通灯显示系统。
具体要求如下:一:东西与南北的交通灯定时30秒交换红绿灯一次。
二:每次红绿灯交换之间要求黄色灯闪烁3秒。
三:在紧急车辆(如消防车、救护车)通过时,四边街道均显示红灯,以便紧急车辆顺利通过,而其它车辆暂停行驶。
紧急车辆通过后,交通灯自动恢复原来的颜色标志。
四:当一个方向绿灯亮后6秒无车通过则切换到另一路绿灯亮。
五:在数码管上显示已计时多少时间。
二.方案设计本实验用到的芯片有8253、8255A、8259A,其中8253利用计数器2来计时,8255A的A、B口作输出与七段显示数码管和发光二极管连接,8259A 用来中断控制及紧急情况。
三.电路原理图、接线图1.实物接线图2.硬件接线图四.程序流程图延时子程序:五.源代码STACK SEGMENT STACKDB 64 DUP(?)STACK ENDSDATA SEGMENTMSG1 DB 'START', 0AH, 0DH, 00HMSG2 DB 'STOP', 0AH, 0DH, 00HMSG3 DB 'NO CAR', 0AH, 0DH, 00HMSG4 DB 'RESTART', 0AH, 0DH, 00HTABLE DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H, 7FH, 6FH LED DB 4 DUP(0)COUNT DB 0FLAG1 DB 1FLAG2 DB 0DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATA, SS:STACKRUN MACRO ADDR ;宏调用,数码管两位显示LEA DI, ADDRMOV AX,[DI]AAD ;除法非压缩指令(AH)<-(AH)*10+(AL),(AH)<-0DEC ALCMP AL, 0AAM ;乘法非压缩指令,将(AL)/0AH,(AH)<-商,(AL)<-余数MOV [DI], AXENDMINF MACRO MSGMOV AH, 06HLEA BX, MSGINT 10HENDMSTART: MOV AX, DATAMOV DS, AXPUSH DSMOV AX, 0000HMOV DS, AXLEA AX, IRQ7 ;取中断程序入口地址ADD AX, 2000H ;IP=2000HMOV SI, 003CH ;中断7的中断向量MOV [SI], AX ;填偏移量矢量MOV AX, 0000H ;段地址CS=0000MOV SI, 003EHMOV [SI], AX ;填段地址矢量LEA AX, IRQ6ADD AX, 2000HMOV SI, 0038H MOV [SI], AX MOV AX, 0000H MOV SI, 003AH MOV [SI], AXLEA AX, IRQ2 ADD AX, 2000H MOV SI, 0028H MOV [SI], AX MOV AX, 0000H MOV SI, 002AH MOV [SI], AXLEA AX, IRQ1 ADD AX, 2000H MOV SI, 0024H MOV [SI], AX MOV AX, 0000H MOV SI, 0026H MOV [SI], AXCLIPOP DSIN AL, 21H AND AL, 39H OUT 21H, ALINF MSG1MOV AL, 80H ;A、B输出,方式0OUT 63H, AL ;8255A控制寄存器MOV AL, 0B6H ;计数器2,方式3,二进制OUT 43H, AL ;8253控制寄存器MOV AX, 0000HOUT 42H, ALMOV AL, AHOUT 42H, ALSTIA0: CALL GO1CALL GO2CALL GO3CALL GO4JMP A0GO1 PROC NEAR LEA DI, LEDMOV AX, 0207HMOV [DI], AXMOV AX, 0300HMOV [DI+2], AXA1: CMP FLAG1, 0JZ A2MOV AL, 10111101B ;红灯2:27秒绿灯1:30秒OUT 61H, ALCALL DISPCMP COUNT, 15JL A1MOV COUNT, 0RUN LEDCMP AX, 0JZ A2RUN LED+2CMP AX, 0JZ A2JMP A1A2: MOV FLAG1, 0RETGO1 ENDPGO2 PROC NEARLEA DI, LEDMOV AX, 0003HMOV [DI], AXMOV AX, 0003HMOV [DI+2], AXA3: CALL DISPCMP COUNT, 15JL A3MOV COUNT, 0MOV AL, 11111001B ;黄灯2:3秒绿灯1:3秒OUT 61H, ALCALL DELLYMOV AL, 11111101BOUT 61H, ALRUN LEDCMP AX, 0JZ A4RUN LED+2JMP A3A4: RETGO2 ENDPGO3 PROC NEARLEA DI, LEDMOV AX, 0300HMOV [DI], AXMOV AX, 0207HMOV [DI+2], AXA5: CMP FLAG1, 1JZ A6MOV AL, 01111110B ;绿灯2:30秒红灯1:27秒OUT 61H, ALCALL DISPCMP COUNT, 15JL A5MOV COUNT, 0RUN LEDCMP AX, 0JZ A6RUN LED+2CMP AX, 0JZ A6JMP A5RETGO3 ENDPGO4 PROC NEARLEA DI, LEDMOV AX, 0003HMOV [DI], AXMOV AX, 0003HMOV [DI+2], AXA7: CALL DISPCMP COUNT, 15JL A7MOV COUNT, 0MOV AL, 11101110B ;绿灯2:3秒黄灯1:3秒OUT 61H, ALCALL DELLYMOV AL, 11111110BOUT 61H, ALRUN LEDCMP AX, 0JZ A8RUN LED+2JMP A7A8: RETGO4 ENDPIRQ1: MOV FLAG2, 1 ;重新开始OUT 20H, ALIRETIRQ2: MOV AL, 00111111B ;暂停OUT 61H, ALINF MSG2STIMOV FLAG2, 0I3: CALL DISPCMP FLAG2, 0JZ I3INF MSG4MOV AL, 20HOUT 20H, ALIRETIRQ6: INF MSG3 ;在LED显示到计时24秒以下(6秒内某一方向无车STI 辆通过),按动K0切换到另一方向绿灯车辆通过LEA DI, LEDMOV AX, 0205HCMP FLAG1,0JZ I4CMP [DI+2], AXJG I5MOV FLAG1, 0JMP I5I4: CMP [DI], AXJG I5MOV FLAG1, 1I5: MOV AL, 20HOUT 20H, ALIRETIRQ7: INC COUNTMOV AL, 20HOUT 20H, ALIRETDISP PROC NEARLEA DI,LEDMOV CL, 0FEHD1: MOV AL, CLTEST AL, 10H ;测试指令,最高位为1则转移,否则顺序执行JZ D2OUT 62H, ALROL AL, 01HMOV CL, ALMOV AL, [DI]LEA BX, TABLEXLAT ;换码指令,将TABLE中的数显示到数码管上OUT 60H, ALCALL DELLYINC DIJMP D1D2: RETDISP ENDPDELLY PROC NEAR ;延时子程序PUSH CXMOV CX, 1000D3: LOOP D3POP CXRETDELLY ENDPCODE ENDSEND START六.实验结果分析在8259A芯片中,所用的中断有IRQ1、IRQ2、IRQ6、IRQ7,其中IRQ1与KK1+连接来控制继续,IRQ2与KK2+连接控制暂停,IRQ6与K0连接控制紧急情况时的切换,IRQ7与8253的OUT2相连来控制延时。
《微机原理与接口技术》交通灯控制实验
2.4实验详细步骤首先接线,8255C口的0、1、2、5、6、7号管脚接LED显示电路L0、L1、L2、L5、L6、L7,D0~D7接JD1,RD*、WR*、A0、A1、RESET、CS*接IOR、IOW、A0、A1、RST、Y1,各模块接电。
然后运行DVCC软件,替换I/O基址,汇编、链接、运行,查看结果。
2.5实验结果LED显示电路的L0、L1、L2、L5、L6、L7按照十字路口交通灯的变化规律显示。
2.6实验过程遇到的问题与解决方案当出现红绿灯交换闪烁时,老师说体现不了交叉路口的灯的感觉(灯的排布的问题),后来我们把两个控制线叠加连接,使相同的灯闪烁。
江西理工大学《微机原理与接口技术》课实验报告实验二交通灯控制实验专业班级实验人学号实验日期同组人2.1 实验目的通过并行接口8255实现十字路口交通灯的模拟控制,进一步掌握对并行口的使用。
2.2实验内容1.如图16-1,L8、L7、L6作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。
编程使六个灯按交通灯变化规律亮灭。
2.L0对应东西路口绿灯,L1对应东西路口黄灯,L2对应东西路口红灯;L6对应南北路口绿灯,L7对应南北路口黄灯,L8 对应南北路口红灯。
D034D133D232D331D430D529D628D727PA04PA13PA22PA31PA440PA539PA638PA737PB018PB119PB220PB321PB422PB523PB624PB725PC014PC115PC216PC317PC413PC512PC611PC710R D5W R36A09A18R ESET35C S6U18255D0D1D2D3D4D5D6D7/R D/W RA0A1R STPA0PA1PA2PA3PA4PA5PA6PA7PB0PB1PB2PB3PB4PB5PB6PB7PC0PC1PC2PC3PC4PC5PC6PC7R14.7KVCCD0D1D2D3D4D5D6D7JD1IORIOWA0A1RST(288H)Y1L6L7L8L0L1L28255C S图2-12.3实验整体思路实验时,首先根据实验手册连线,待连好后检查无误时,打开电脑中的程序,修改其地址,然后运行程序。
微机原理和接口技术交通灯设计
课程设计任务书学生姓名:专业班级:指导教师:工作单位:题目:交通灯系统设计初始条件:1.运用所学的微机原理和接口技术知识;2.微机原理和接口技术实验室的实验箱设备。
要求完成的主要任务:(包括课程设计工作量及其技术要求以及说明书撰写等具要求)该课程设计要求采用定时加中断控制的方式进行,对两个方向车辆的通行时间分别计时,可随意进行更改双向的通行时间。
具体要求如下:1.东西方向车辆放行60秒钟。
即东西方向绿灯和南北方向的红灯同时点亮1分钟;2.1分钟后,东西方向的红(绿)灯闪烁5秒钟,以警示车辆将切换红绿灯。
此时南北方向仍维持红灯点亮。
3.东西方向的红(绿)灯闪烁5秒钟后,转为南北方向放行60秒钟。
即东西方向的红灯和南北方向的绿灯同时点亮60秒钟;4.南北方向放行60秒钟后,转为南北方向的红(绿)灯闪烁5秒钟,以警示将切换红绿灯。
此时东西方向仍维持红灯点亮。
5.南北方向的红(绿)灯闪烁5秒钟后转为东西方向放行1分钟。
如此循环重复。
6.严格按照课程设计说明书要求撰写课程设计说明书。
时间安排:指导教师签名:年月日系主任(或责任教师)签名:年月日摘要本次专业课程设计作为前阶段学习知识的一个检验,培养了我们的动手能力以及独立思考设计的能力,也是大学培养的一个重要实践步骤。
设计初期,我们通过网络,图书馆等资源查找到利用微机原理与接口技术设计制作交通灯的相关信息,对不同的方案进行细致的分析比较。
并且按照题意与实际情况进行改进,使之符合要求。
然后按照电路图进行接线,最终做出一个简单的交通灯。
制作过程中发现的一些问题通过共同的分析研究得到的解决,此次课程设计巩固了前期的理论知识,增强了动手实践能力。
程序主要是由定时子程序、发光二极管显示子程序和中断服务程序组成。
包括对8255、8259等可编程器件的编程。
目录前言 (4)第一章 (5)1.1 初始条件 (5)1.2 主要任务 (5)第二章 (6)2.1 方案设计 (6)2.2 硬件设计 (6)2.3 软件设计 (7)第三章 (8)3.1 硬件安装与调试 (8)3.2 软件调试 (8)3.3 系统整体调试 (8)第四章设计体会与小结 (9)第五章附录 (10)5.1 芯片介绍 (10)5.2 程序代码 (15)5.3 参考文献 (20)前言电子课程设计是电子技术学习中非常重要的一个环节,是将理论知识和实践能力相统一的一个环节,是真正锻炼学生能力的一个环节。
微机原理与接口技术交通灯设计
《微机原理和接口技术》课程设计姓名:*******班级学号:*******任课老师:*******一、实验课题《交通信号灯控制系统》二、实验目的在熟悉8086/8088指令系统的基础上,掌握8086/8088汇编语言程序设计方法;掌握8259可编程中断控制器,8255可编程并行接口、8253可编程定时/计数器的使用三、实验要求1、模拟交通信号灯(分A、B两组)的红、黄、绿灯(实验箱中的发光二极管)交替变换的过程。
2、在实验箱的LED显示器上显示当前剩余时间(每秒更新一次,倒计时)。
A组、B组之间时间关系如下:A组B组绿灯26秒红灯30秒四、 实验设备机一台、PC实验箱一个(8086、8259、8255、8253芯片及相关电路、发光二极管六只)及导线若干。
五、 设计 1、 设计思路(1)分析问题——各端口使用——代码实现(2)具体使用(8255的B 口做灯信号的输出,A 口做位选码的输出,C 口做LED 的输出。
)(3)实验内容1、系统中,8259采用初始化命令字ICW1、ICW2、ICW4和操作命令字OCW1,允许内部中断IRQ0和外部中断IRQ1 2、系统中,8255选用(10000000)方式选择字,A 组工作0方式,A 端口输出,PC3-PC7输出,B 组0方式,B 端口输出,PC3-PC0输出3、系统中,8253选用(00110101)选择零号端口读写两个字节,工作方式2(频率发生器)二十进制2、程序流程黄灯 4秒 红灯 30秒 绿灯 26秒 黄灯 4秒3、电路原理图4、初始化8259 初始化8255设置中断向量显示时间启动计数器开始设置交通灯初态结束初始化8253STACK ENDSDATA SEGMENTTIMER DB 00H,30H;IRQ0中断次数,通行剩余时间(A道30秒,B道30秒)初始设为B道通行TAB DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;七段码,用于显示时间,顺序不可调换DISOFF DB 00H,00H,00H,00H;LED显示器缓冲区,数字(剩余时间)的个位和十位ROD DB 00H ;当前道路通行状态(00:为A通行道;01为B通行)LIGHT DB 0D7H ;信号灯的输出信号(11010111)KK1 DB 00H ;暂停开关KK1计数LIGHTZT DB 00HDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK START:MOV AX,0000H ;数据段清零MOV DS,AX;填写中断向量表MOV AX,OFFSET IRQ0 ;提取IRQ0的中断处理程序的偏移地址ADD AX,2000H ;加载时IP=2000H(绝对地址) MOV SI,0020H ;中断号0的矢量地址为(20H-23H) MOV [SI],AX ;填写中断处理程序的偏移地址写进中断向量表MOV AX,0000HMOV SI,0022HMOV [SI],AX ;填写中断处理程序的段地址写进中断向量表MOV AX,OFFSET IRQ1ADD AX,2000HMOV SI,0024H ;中断号1的矢量地址为(24H-27H) MOV [SI],AXMOV AX,0000HMOV SI,0026HMOV [SI],AX;加载数据段MOV AX,DATAMOV DS,AX;8259初始化MOV AL,13H ;8259初始化ICW1(00010011)单片方式需写ICW4OUT 20H,AL ;端地址A0=0MOV AL,08H ;ICW2(00001000)中断向量号的高五位(000001)OUT 21H,ALMOV Al,01H ;ICW4(00000001)一般全嵌套,非缓冲,非自动中断结束,十六位机系统OUT 21H,AL ;特征位:D7-D5=000MOV AL,0FCH ;OCWl允许IRQ0、IRQ1中断OUT 21H,AL;8255初始化MOV AL,80H ;(10000000)方式选择字,A组工作0方式,A端口输出,PC3-PC7输出,B组0方式,B端口输出,PC3-PC0输出OUT 63H,AL;初始化8253MOV AL,35H ;(00110101)选择零号端口读写两个字节,工作方式2(频率发生器)二十进制OUT 43H,ALMOV AX,380 ;定时(频率乘以时间)OUT 40H,AL ;低字节MOV AL,AHOUT 40H,AL ;高字节STI ;开中断(允许CPU接收中断)M:CALL DISP2CMP KK1,1JZ ZT ;调用时间显示函数CMP TIMER+1,04H ;判断是否到了最后4秒,到了则跳转JZ R1CMP TIMER+1,00H ;判断通行时间是否结束,到了则跳转JZ R2JMP DISP1 ;如时间大于五秒,则直接按当前方式显示信号灯R1: CMP ROD,00H ;如到了最后五秒,则判断是A 道通行否? ROD=00H为A道JZ R12 ;如是A道通行,则改变状态R11:MOV LIGHT,7BH ;(01111110)改变为A道红,B道黄JMP DISP1 ;信号输出R12:MOV LIGHT,0B7H ;(10110111)改变为A道黄,B道红JMP DISP1R2: CMP ROD,00H ;改变通行状态JZ R22R21:MOV LIGHT,0D7H ;如果当前B道通行结束,则切换为A道MOV ROD,00HMOV TIMER+1,30H ;A道通行时间30秒JMP DISP1R22:MOV ROD,01H ;如果当前A道通行结束,则切换为B道ROD=01H为B道MOV LIGHT,7DHMOV TIMER+1,30HJMP DISP1 ;B道通行时间30秒ZT:JMP MDISP1: ;灯信号输出函数MOV AL,LIGHT ;将灯信号输出到8255的B口OUT 61H,ALSTIJMP MIRQ0:PUSH AX ;现场保护PUSH CXPUSHFMOV AL,TIMER ;取80次中断请求为一秒INC ALMOV TIMER,ALCMP AL40H ;1秒判断?JNE M1 ;不到则跳转MOV AL,00H ;毫秒数清零MOV TIMER,ALMOV AL,TIMER+1 ;剩余时间减1 SUB AL,01HDAS ;调整为压缩BCD码MOV TIMER+1,ALM1: MOV AL,20H ;中断复位OUT 20H,ALPOPFPOP CXPOP AXSTIIRETIRQ1: ;暂停(恢复)PUSH AXPUSHFMOV AL,KK1CMP AL,00H ;判断当前的状态:00为通行,01为暂停JNE M2INC AL ;改变当前状态MOV KK1,ALMOV AL,0FDH ;(11111101)关IRQ0中断,开IRQ1中断OUT 21H,ALMOV AL,LIGHTMOV LIGHTZT,AL;///////////////////////////////////////////////////////////MOV AL,77H ;(01110111)大、小道均为红灯OUT 61H,ALJMP M3M2: ;恢复MOV AL,00HMOV KK1,ALMOV AX,LIGHTZT;//////////////////////////////////////////////////////////////////OUT 61H,ALMOV AL,0FCH ;(11111100)开IRQ0、IRQ1中断OUT 21H,ALSTIM3:MOV AL,20HOUT 20H,ALPOPFPOP AXSTIIRETDISP2: ;时间显示函数MOV AL,TIMER+1 ;AL=30H AX=?30HAND AL,0FH ;AX=0000HMOV DISOFF+3,AL ;DISOFF+3=00HDISOFF DB 03H,00H,03H,00HMOV DISOFF+1,AL ;DISOFF+1=00HMOV AL,TIMER+1 ;AL=30HMOV CL,04H ;CL=04HSHR AL,CL ;AL=03HMOV DISOFF+2,AL ;DISOFF+2=03HMOV DISOFF,AL ;DISOFF=03HMOV SI,OFFSET DISOFF ;缓冲区的偏移地址MOV DL,0F7H ;(11110111)将位选码初值送DLMOV AL,DL ;AL=0F7HAGAIN:OUT 60H,AL ;从A口输出位选码MOV AL,[SI]MOV BX,OFFSET TAB ;七段码的偏移地址AX=0003H BX=TABAND AX,00FFHXLAT ;MOV AL,BX+[AX] ;将显示七段码送ALOUT 62H,AL ;将AL转换成七段码从B口输出CALL DALLY ;调用延时1ms子程序INC SI ;SI=SI+1MOV AL,DLTEST AL,01H ;4位显示完否?JZ M4ROR AL,01H ;DL循环右移一位MOV DL,ALJMP AGAINM4: RETDALLY: ;循环256次MOV CX,0010H ;延时子程序T1: MOV AX,0010HT2: DEC AXJNZ T2LOOP T1RETCODE E NDSEND START六、心得体会这周关于交通灯的设计是对我来说就是一次挑战,虽然说代码并非是我自己写的,可以说我是参考别人的,但是理解所有的设计代码我确实也花了不少时间,我除了要熟悉8259、8255、8253这些芯片,还得将它们合理的利用起来,由于之前对汇编知识的掌握相当差,理解起来是相当的困难,但是庆幸的事,我向同学和老师咨询中吸收了不少知识。
微机原理及接口技术课程设计交通灯
微机原理及接口技术课程设计交通灯序言十字道口的红绿灯是交通法规的无声命令,是司机和行人的行为准则。
十字道口的交通红绿灯控制是保证交通安全和道路畅通的关键。
当前,国内大多数城市正在采用“自动”红绿交通灯,它具有固定的“红灯—绿灯”转换间隔,并自动切换。
它们一般由“通行与禁止时间控制显示、红黄绿三色信号灯和方向指示灯”三部分组成。
在交通灯的通行与禁止时间控制显示中,通常要么东西、南北两方向各50秒;要么根据交通规律,东西方向60秒,南北方向40秒,时间控制都是固定的。
交通灯的时间控制显示,以固定时间值预先“固化”在单片机中,每次只是以一定周期交替变化。
但是,实际上不同时刻的车辆流通状况是十分复杂的,是高度非线性的、随机的,还经常受认为因素的影响。
采用定时控制经常造成道路有效应用时间的浪费,出现绿灯方向车辆较少,红灯方向车辆积压。
它不顾当前道路上交通车辆数的实际情况变化,其最大的缺陷就在于当路况发生变化时,不能满足司机与路人的实际需要,轻者造成时间上的浪费,重者直接导致交通堵塞,导致城市交通效率的下降。
目前,有一种使用“模糊控制”技术控制交通灯的方法。
能够根据十字路口两个方向上车辆动态状况,自动判断红绿灯时间间隔,以保证最大车流量,减少道口的交通堵塞。
但是却不像定时控制,能用数字显示器显示当前灯色剩余时间,以便于驾驶员随时掌握自己的驾驶动作,及时停车或启动。
本次课程设计采用定时加中断控制的方式进行,对两个方向车辆的通行时间分别计时,可随意进行更改双向的通行时间。
目录一、实验目的 (3)二、实验内容 (3)三、交通信号灯实时控制和管理的总体设计 (4)(一)芯片选择及端口选择 (4)(二)实验连接线路图及相关说明 (5)(三)设计思想 (6)(四)设计流程图 (7)四、实验环境及条件 (9)五、源程序清单 (9)(一)初始化主程序 (9)(二)中断服务程序 (11)六、程序运行结果 (13)七、课程设计总结 (13)八、参考文献 (15)机原理及接口技术课程设计一、实验目的⒈了解交通灯管理的基本工作原理⒉熟悉8259A中断控制器的工作原理和应用编程⒊熟悉8255A并行接口的各种工作方式和应用⒋熟悉8253计数器/定时器的工作方式及应用编程,掌握利用软硬件相结合定时的方法⒌掌握多位LED显示问题的解决二、实验内容本次课程设计的内容为交通信号灯的实时控制和管理。
微机原理课程设计交通信号灯.
交通信号灯的控制课程设计报告书姓名:学号:班级:课程名称:微机原理与应用课程设计指导教师:一.设计题目:交通信号灯的控制二.课程设计目的:综合运用本课程知识,利用集成电路设计实现一些中小规模电子电路或者完成一定功能的程序,以复习巩固课堂所学的理论知识,提高程序设计实现系统、绘制系统电路图的能力,为实际应用奠定一定的基础。
三.设计要求:1.通过8255A并口来控制LED发光二极管的亮灭。
2.A口控制红灯,B口控制黄灯,C口控制绿灯。
3.输出为0则亮,输出为1则灭。
4.用8253定时来控制变换时间。
要求:设有一个十字路口,1、3为南,北方向,2、4为东西方向,初始态为4个路口的红灯全亮。
之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车。
延迟30秒后,1、3路口的绿灯熄灭,而1,3路口的黄灯开始闪烁(1HZ)。
闪烁5次后,1、3路口的红灯亮,同时2、4路口的绿灯亮,2、4路口方向开始通车。
延迟30秒时间后,2、4路口的绿灯熄灭,而黄灯开始闪烁。
闪烁5次后,再切换到1、3路口方向。
之后,重复上述过程。
四.主要设计思路及工作原理:1.设计思路流程图:开始程序初使化调用显示主程序东西绿灯亮,南北红灯亮,进入倒计时,打开数码管显示东西和南北黄灯亮,进入倒计时,打开数码管显示东西红灯亮,南北绿灯亮,进入倒计时,打开数码管显示结束2.工作原理说明:此方案是通过并行接口芯片8255A和8088计算机的硬件连接,以及通过8253延时的方法,来实现十字路口交通灯的模拟控制。
硬件连接参考方案:红灯(RLED),黄灯(YLEDD)和绿灯(GLED)分别接在8255的A,B,C口的低四位端口,PA0,PA1,PA2,PA3分别接1,2,3,4路口的红灯,B,C口类推。
8088工作在最小模式,低八位端口AD0~AD7接到8255和8253的D0~D7,A8~A15通过地址锁存器,接到3—8译码器,译码后分别连到8255和8253的CS片选端。
微机原理及机电接口技术课程设计红绿灯
微机原理及机电接口技术课程设计红绿灯微机原理及机电接口技术课程设计第五组题目十字路口交通灯控制系统一.明确任务1.任务要求1)、模拟十字路口交通灯变化规律能实现通行时间的倒计时显示;当特种车(消防、警车等)通过时,中断保护现场并使四个口红灯全亮,中断消除后恢复现场。
2)、用开关控制中断信号2.任务分析1)南北东西道路有信号灯显示2)2位7段数码管显示通行和禁行倒计时3)针对特种车经过要设计相应的中断程序,并且中断返回后能信号灯按原来的状态继续进行道路控制。
二.总体设计1. 设计方案十字路口有南北方向和东西方向,每个方向都设有红、黄、绿三色交通信号灯12盏,并配有相应的亮灯倒计时显示4组。
当南北为绿灯或黄灯时,东西向一定是红灯,即南北绿灯时间加南北黄灯时间应等于东西红灯时间。
系统开始工作,南北路口绿灯亮,南北方向数码管进行绿灯50S倒计时显示,东西路口的红灯亮,东西方向数码管进行红灯55S倒计时显示。
当东西禁行方向剩5S时,南北通行方向的绿灯灭黄灯亮,同时数码管进行5S黄灯倒计时显示,5S后黄灯熄灭红灯亮,并进行南北红灯倒计时,同时东西方向红灯55S计时时间到红灯灭绿灯亮,东西向开始通行南北向禁行。
同样东西向绿灯50S计时时间到后转为黄灯,黄灯5S计时时间到再转为红灯,之后重复上述过程。
另设有点动按钮用来发出特种车经过时的中断信号2.单片机选型选择89C51系列单片机3.划分系统软、硬件功能数码管采用共阴极七段码动态显示4.确定系统结构组成时钟电路,复位电路,红绿黄灯指示电路(采用各色发光二极管代替),动态显示电路和简单按键电路三.硬件电路设计P0示位选控制。
P3.3作为外部中断输入口P1.0:南北向红灯,高电平点亮P1.1:南北向黄灯,高电平点亮P1.2:南北向绿灯,高电平点亮P1.3:东西向红灯,高电平点亮P1.4:东西向黄灯,高电平点亮P1.5:东西向绿灯,高电平点亮P2.7:南北向十位数码管位选信号P2.6:南北向个位数码管位选信号P2.5:东西向十位数码管位选信号P2.4:东西向个位数码管位选信号P0.0:数码管a P0.1:数码管b P0.2:数码管c P0.3:数码管d P0.4:数码管e P0.5:数码管f P0.6:数码管gP3.3:中断按钮,点动南北东西全部禁行,特种车通过四.软件设计1.片内RAM的定义A_BIT EQU 20H :用于存放南北十位数B_BIT EQU 21H :用于存放南北个位数C_BIT EQU 22H :用于存放东西十位数D_BIT EQU 23H :用于存放东西个位数TEMP1 EQU 24H :南北方向要显示的时间TEMP2 EQU 25H :东西方向要显示的时间SEC EQU 30H:1S计时标志2.程序设计由设计方案描述交通灯的显示可以分为以下4状态一:南北绿灯亮并从50S开始倒计时显示,东西红灯亮并从55S开始倒计时显示状态二:南北黄灯亮并从5S开始倒计时显示,东西红灯亮并继续55S倒计时显示状态三:南北红灯亮并从55S开始倒计时显示,东西绿灯亮并从50S开始倒计时显示状态四:南北红灯亮并继续55S倒计时显示,东西黄灯亮并从5S开始倒计时显示3.设计流程图主程序流程图INT1中断程序流程图4.源程序:A_BIT EQU 20H ;用于存放南北十位数B_BIT EQU 21H ;用于存放南北个位数C_BIT EQU 22H ;用于存放东西十位数D_BIT EQU 23H ;用于存放东西个位数TEMP1 EQU 24H TEMP2 EQU 25HSEC EQU 30H ;1S计时标志ORG 0000H AJMP MAIN ORG 0013HAJMP INT ORG 0100H MAIN:MOV SP,#45HMOV IE,#84H ;开INT0中断SETB IT1 ;下降沿触发MOV TMOD,#01H ;定时器初始化MOV TH0,#3CH ;50ms定时初值MOV TL0,#0B0HSETB TR0 ;启动定时器T0 MOV SEC,#20 ;1S循环常数MOV R7,#50 ;绿灯时间MOV R6,#5;黄灯时间MOV R5,#55 ;红灯时间MOV R4,#10 ;全部红灯的时间STA1:MOV P1,#00001100B ;南北绿灯东西红灯ST1:MOV TEMP1,R7 MOV TEMP2,R5ACALL CONVERT ;调用BCD码转换子程序STLOP1: ACALL DISPLAY ;调用显示子程序JNB TF0,STLOP1 CLR TF0 DEC SEC MOV A,SEC CJNE A,#0,STLOP1 MOV SEC,#20 DEC R5;东西倒计时数减一;南北倒计时数减一;1S定时未到转到STLOP1;50MS定时未到,转到STLOP1DJNZ R7,ST1 MOV R7,#50STA2:MOV P1,#00001010B ;南北黄灯东西红灯ST2:MOV TEMP1,R6 MOV TEMP2,R5ACALL CONVERT ;调用BCD码转换子程序STLOP2: ACALL DISPLAY ;调用显示子程JNB TF0,STLOP2 CLR TF0 DEC SEC MOV A,SEC CJNE A,#0,STLOP2 MOV SEC,#20 DEC R5 DJNZ R6,ST2 MOV R6,#5 MOV R5,#55 STA3:MOV P1,#00100001B ;ST3:MOV TEMP1,R5 MOV TEMP2,R7ACALL CONVERT ;STLOP3: ACALL DISPLAY ;JNB TF0,STLOP3 CLR TF0 DEC SEC MOV A,SEC CJNE A,#0,STLOP3 MOV SEC,#20 DEC R5 DJNZ R7,ST3南北红灯东西绿灯调用BCD码转换子程序调用显示子程MOV R7,#50STA4:MOV P1,#00010001B ;南北红灯东西黄灯ST4:MOV TEMP2,R6 MOV TEMP1,R5ACALL CONVERT ;调用BCD码转换子程序STLOP4: ACALL DISPLAY ;调用显示子程JNB TF0,STLOP4 CLR TF0 DEC SEC MOV A,SEC CJNE A,#0,STLOP4 MOV SEC,#20 DEC R5 DJNZ R6,ST4 MOV R6,#5 MOV R5,#55 AJMP STA1INT: PUSH 90H PUSH PSW PUSH 00H PUSH 01H PUSH02H PUSH 05H PUSH 06H PUSH 07H PUSH 20H;中断子程序;存入46H中PUSH 21H PUSH 22H PUSH 23H PUSH 24H PUSH 25H PUSH 30H PUSH TH0 PUSH TL0MOV P1,#09H CLR TF0MOV TH0,#3CH MOV TL0,#0B0H MOV SEC,#20 L3:MOV TEMP1,R4 MOV TEMP2,R4ACALL CONVERT ;L4:ACALL DISPLAY JNB TF0,L4 CLR TF0 DEC SEC MOV A,SEC CJNE A,#0,L4 MOV SEC,#20 DJNZ R4,L3 MOV R4,#10 POP TL0 POP TH0 POP 30H POP 25H全部红灯调用BCD码转换子程序调用显示子程;;POP 24HPOP 23HPOP 22HPOP 21HPOP 20HPOP 07HPOP 06HPOP 05HPOP 02HPOP 01HPOP 00HPOP PSWPOP 90HRETI转换子程序CONVERT:MOV A,TEMP1 ;将南北要显示的数存放到 A MOV B,#10DIV AB ;A除以B商存A,余数存B MOV A_BIT,A ;将A 放到20HMOV B_BIT,B ;将B放到21HMOV A,TEMP2 ;将东西要显示的数存放到A MOV B,#10 DIV AB ;A除以B商存A,余数存B MOV C_BIT,A ;将A 放到22HMOV D_BIT,B ;将B放到23HRETDISPLAY: MOV DPTR ,#TAB ;显示子程序DPLOP1: MOV A,A_BIT ;将南北要显示的10位数送A MOVC A,@A+DPTR ;查表MOV P0,ACLR P2.7 ;显示南北10位数ACALL D1MS ;延时1MS SETB P2.7 ;灭南北10位数MOV A,B_BIT ;MOVC A,@A+DPTR ;MOV P0,ACLR P2.6 ;ACALL D1MS ;SETB P2.6 ;MOV A,C_BIT ;MOVC A,@A+DPTR ;MOV P0,ACLR P2.5 ;ACALL D1MS ;SETB P2.5 ;MOV A,D_BIT ;MOVC A,@A+DPTR ;MOV P0,ACLR P2.4 ;ACALL D1MS ;SETB P2.4 ;RETD1MS:MOV R3,#250D2:NOPNOP 将南北要显示的个位数送A 查表显示南北个位数延时1MS 灭南北个位数将东西要显示的10位数送A 查表显示东西10位数延时1MS 灭东西10位数将东西要显示的个位数送 A 查表显示东西个位数延时1MS 灭东西个位数延时子程序;1MSDJNZ R3,D2RETTAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
安徽建筑工业学院《微机原理与接口技术》课程设计课题名称:微机在交通信号灯控制中的应用院(系)名称:专业:班级:姓名:学号:指导老师:2012 ~2013 学年第一学期一、内容提要设一十字路口为东西南北走向,各用一组红、黄、绿色LED分别表示南北方向和东西方向的交通信号灯。
系统功能要求如下:(1)能显示十字路口东西、南北两个方向的红、黄、绿灯的指示状态。
(初始状态0为东西红灯,南北红灯。
然后转状态1南北绿灯通车东西红灯。
延时T1秒后转状态,南北绿灯闪2秒转黄灯,延时3秒,东西任然红灯。
再转状态3,东西绿灯通车,南北红灯。
延时T1秒后转状态4,东西绿灯闪2秒转黄灯,延时3秒,南北任然红灯。
最后循环至状态1.)(2)用开关K0~K7实现延时时间T1的设置,当K7闭合时,为T1的设置状态,K0~K6为设置时间(秒),此时东西、南北两个方向均显示红灯状态。
绿灯的闪烁频率为1HZ。
(3)系统中用8253作定时器,产生延时时间及1HZ的闪烁频率;用74LS237作输出口,控制交通灯:用74LS244作输入口,进行延时时间T1的设置。
目录内容提要 (2)正文 (4)设计意义及功能简介 (4)硬件电路设计及描述5.1电路原理 (4)系统原理 (5)8259A的结构原理 (5)8255A的工作原理 (8)74L237工作原理 (10)软件设计流程及描述 (12)源程序代码 (13)课程设计体会 (16)参考文献 (17)一、正文1、设计意义及功能简介十字道口的红绿灯是交通法规的无声命令,是司机和行人的行为准则。
十字道口的交通红绿灯控制是保证交通安全和道路畅通的关键。
当前,国内大多数城市正在采用“自动”红绿交通灯,它具有固定的“红灯—绿灯”转换间隔,并自动切换。
它们一般由“通行与禁止时间控制显示、红黄绿三色信号灯和方向指示灯”三部分组成。
在交通灯的通行与禁止时间控制显示中,通常要么南北、东西两方向各50秒;要么根据交通规律,东西方向60秒,南北方向40秒,时间控制都是固定的。
交通灯的时间控制显示,以固定时间值预先“固化”在单片机中,每次只是以一定周期交替变化。
但是,实际上不同时刻的车辆流通状况是十分复杂的,是高度非线性的、随机的,还经常受认为因素的影响。
采用定时控制经常造成道路有效应用时间的浪费,出现绿灯方向车辆较少,红灯方向车辆积压。
它不顾当前道路上交通车辆数的实际情况变化,其最大的缺陷就在于当路况发生变化时,不能满足司机与路人的实际需要,轻者造成时间上的浪费,重者直接导致交通堵塞,导致城市交通效率的下降。
目前,有一种使用“模糊控制”技术控制交通灯的方法。
能够根据十字路口两个方向上车辆动态状况,自动判断红绿灯时间间隔,以保证最大车流量,减少道口的交通堵塞。
但是却不像定时控制,能用数字显示器显示当前灯色剩余时间,以便于驾驶员随时掌握自己的驾驶动作,及时停车或启动。
2、硬件电路设计及描述5.1电路原理本课题的设计可通过实验平台上的一些功能模块电路组成,由于各模块电路内部已经连接,用户在使用时只要设计模块间电路的连接,因此,硬件电路的设计及实现相对简单。
完整系统的硬件连接如图1所示。
硬件电路由R-S触发器电路、发光二极管模块、8255可编程并行接口模块和紧急中断模块8259组成。
实验的对应接线关图系图如下所示:3.系统原理<1> 8259A的结构原理(1)、数据总线缓冲器:8259A与系统数据总线的接口,是8位双向三态缓冲器。
CPU与8259A之间的控制命令信息、状态信息以及中断类型信息,都是通过缓冲器传送的。
(2)控制逻辑:CPU通过它实现对8259A的读/写操作。
(3)、级连缓冲器:用以实现8259A芯片之间的级连,使得中断源可以由8级扩展至64级。
(4)、控制逻辑电路:对整个芯片内部各部件的工作进行协调和控制。
(5)、中断请求寄存器IRR:8位,用以分别保存8个中断请求信号,当响应的中断请求输入脚有中断请求时,该寄存器的相应位置1。
(6)、中断屏蔽寄存器IMR:8位,相应位用以对8个中断源的中断请求信号进行屏蔽控制。
当其中某位置“0“时,则相应的中断请求可以向CPU提出;否则,相应的中断请求被屏蔽,即不允许向CPU提出中断请求。
该寄存器的内容为8259A的操作命令字OCW1,可以由程序设置或改变。
(7)、中断服务寄存器ISR:8位,当CPU正在处理某个中断源的中断请求时,ISR寄存器中的相应位置1。
(8)、用以比较正在处理的中断和刚刚进入的中断请求之间的优先级别,以决定是否产生多重中断或中断嵌套。
<2> 8255A的工作原理(1)、8255A的内部结构:1)数据总线缓冲器:这是一个双向三态的8位数据缓冲器,它是8255A与微机系统数据总线的接口。
输入输出的数据、CPU输出的控制字以及CPU输入的状态信息都是通过这个缓冲器传送的。
2)三个端口A,B和C:A端口包含一个8位数据输出锁存器和缓冲器,一个8位数据输入锁存器。
B端口包含一个8位数据输入/输出锁存器和缓冲器,一个8位数据输入缓冲器。
C端口包含一个8位数据输出锁存器和缓冲器,一个8位数据输入缓冲器(输入没有锁存器)。
3) A组和B组控制电路:这是两组根据CPU输出的控制字控制8255工作方式的电路,它们对于CPU而言,共用一个端口地址相同的控制字寄存器,接收CPU输出的一字节方式控制字或对C口按位复位字命令。
方式控制字的高5位决定A组的工作方式,低3位决定B组的工作方式。
对C口按位复位命令字可对C 口的每一位实现置位或复位。
A组控制电路控制A口和C口上半部,B组控制电路控制B口和C口下半部。
4)读写控制逻辑:用来控制把CPU输出的控制字或数据送至相应端口,也由它来控制把状态信息或输入数据通过相应的端口送到CPU。
(2)引脚信号8255A的引脚如图7.5所示,分为数据线、地址线、读/写控制线、输入/输出端口线和电源线。
D7~D0(data bus):三态、双向数据线,与CPU数据总线连接,用来传送数据。
(chip select):片选信号线,低电平有效时,芯片被选中。
A1, A0(port address):地址线,用来选择内部端口。
(read):读出信号线,低电平有效时,允许数据读出。
(write):写入信号线,低电平有效时,允许数据写入。
RESET(reset):复位信号线,高电平有效时,将所有内部寄存器(包括控制寄存器)清0。
PA7~PA0(port A):A口输入/输出信号线。
PB7~PB0(port B):B口输入/输出信号线。
PC7~PC0(port C):C口输入/输出信号线。
VCC:+5V电源。
GND:电源地线。
(3)8255A的工作方式:方式0---基本输入输出方式;方式1---选通输入输出方式;方式2---双向选通输入输出方式。
<3> 74L244工作原理(1) 74LS22447与74L245的引脚图74LS245 三态输出的双向八组总线收发器引出端符号:A A总线端B B总线端/G 三态允许端(低电平有效)DIR 方向控制端74LS245是用来驱动LED或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据。
74LS245还具有双向三态功能,既可以输出,也可以输入数据。
如果用C51的P0口输出到数码管,那就要考虑到数码管的亮度以及P0口带负载的能力,当8051单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总线驱动器。
选用74LS245提高驱动能力。
P0口的输出经过74LS245提高驱动后,输出到数码管显示电路。
工作原理:当片选端/CE低电平有效时,DIR=“0”,信号由B 向A 传输;(接收)DIR=“1”,信号由 A 向 B 传输;(发送)当CE为高电平时,A、B均为高阻态。
3、软件设计流程及描述4、源程序代码.MODEL TINYPCIBAR3 EQU 1CH ;8位I/O空间基地址(它就是实验仪的基地址, 也为DMA & 32 BIT RAM板卡上的8237提供基地址)Vendor_ID EQU 10EBH ;厂商ID号Device_ID EQU 8376 ;设备ID号.STACK 100.DATAIO_Bit8_BaseAddress DW ?msg0 DB 'BIOS不支持访问PCI $'msg1 DB '找不到Star PCI9052板卡$'msg2 DB '读8位I/O空间基地址时出错$'COM_ADD DW 00F3H ;控制口偏移量PA_ADD DW 00F0H ;PA口偏移量PB_ADD DW 00F1H ;PB口偏移量PC_ADD DW 00F2H ;PC口偏移量LED_Data DB 10111110B ;东西绿灯,南北红灯DB 11111111B ;DB 11011101B ;东西南北黄灯DB 11101011B ;东西红灯,南北绿灯.CODESTART: MOV AX,@DA TAMOV DS,AXNOPCALL InitPCICALL ModifyAddress ;根据PCI提供的基地址,将偏移地址转化为实地址mov dx,com_addmov al,80H ;PA、PB、PC为基本输出模式OUT DX,ALMOV DX,PA_ADD ;红灯亮MOV AL,10111011BOUT DX,ALCALL DL5sLEA BX,LED_DataSTART1: MOV DX,PA_ADDMOV AL,0XLATOUT DX,AL ;东西绿灯,南北红灯CALL DL25SMOV CX,5START2: MOV AL,1XLATOUT DX,ALCALL DL500msMOV AL,2XLATOUT DX,ALCALL DL5s;东西南北黄灯MOV AL,3XLATOUT DX,AL ;东西黄灯亮,南北红灯CALL DL25SMOV AH,06HMOV DL,0FFHINT 21HJZ START1JMP ExitDL500ms PROC NEARPUSH AXPUSH DXMOV DX,500 ;延时500msMOV AH,0FFH ;软中断INT 21HPOP DXPOP AXRETDL500ms ENDPDL5S PROC NEARPUSH CXMOV CX,10DL5S1: CALL DL500msLOOP DL5S1POP CXRETENDPDL25S PROC NEARPUSH CXMOV CX,50DL25S1: CALL DL500msLOOP DL5S1POP CXRETENDPInitPCI PROC NEARMOV AH,00HMOV AL,03HINT 10H ;清屏MOV AH,0B1HMOV AL,01HINT 1AHCMP AH,0JZ InitPCI2LEA D X,msg0InitPCI1: MOV AH,09HINT 21HJMP ExitInitPCI2: MOV AH,0B1HMOV AL,02HMOV CX,Device_IDMOV DX,Vendor_IDMOV SI,0INT 1AHJNC InitPCI3 ;是否存在Star PCI9052板卡LEA D X,msg1JMP InitPCI1InitPCI3: MOV DI,PCIBAR3MOV AH,0B1HMOV AL,09HINT 1AH ;读取该卡PCI9052基地址JNC InitPCI4LEA D X,msg2JMP InitPCI1InitPCI4: AND CX,0FFFCHMOV IO_Bit8_BaseAddress,CXRETInitPCI ENDPModifyAddress PROC NEARADD COM_ADD,CXADD PA_ADD,CXADD PB_ADD,CXADD PC_ADD,CXRETModifyAddress ENDPExit: MOV AH,4CHINT 21HEND START二、课程设计体会通过这次课程设计,让我在课本的基础上,更深入的了解了各种芯片的用法和程序的完成过程,调试方法及技巧。