微机原理-交通灯课程设计报告
微机原理课程设计报告交通灯

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
《微机原理与接口技术》课程设计实验报告-交通灯控制功能设计

微机课程设计——交通灯控制系统
中断子程序模块是通过扩充中断源实现的,主要是通过设置 8259 的工作模 式,开放 TR1 和 TR0 的中断,按上开关 K 后,TR0 就发生中断,在 TR0 中断没有 触发的情况下,从 OU1 口输出一个上升沿脉冲,TR1 就中断一次, 程序如下所示:
QUERY: MOV DX,MY8259_OCW3 MOV AL,0CH OUT DX,AL IN AL,DX ;读出查询字 ;判断中断是否已响应 ; 没有响应则继续查询 ; 向 8259 的 OCW3 发送查询命令
《微机原理与接口技术》 课程设计实验报告
题目:交通灯控制功能设计
指导老师:
专业:
班级:
目录
微机课程设计——交通灯控制系统
ห้องสมุดไป่ตู้
一、设计思想和实施方案论述,硬件原理图及分析 1.1、课程设计名称 1.2、课程设计要求 1.3、课程设计目的 二、设计思想和实施方案论述,硬件原理图及分析 2.1、设计思想和实施方案 2.2、硬件原理图 三、典型模块以及典型编程技巧分析 3.1、8086 典型模块分析 3.2、编程技巧分析 四、设计中遇到的问题及解决方法 五、程序清单和程序注释,相关流程图 5.1 程序清单和注释 5.2、实验室及流程图 六、收获与体会 七、参考文献
微机课程设计——交通灯控制系统
MOV OUT 器输出 1HZ 的方波
AL,2 DX,AL ;1.041667MHZ/2000/1000=1HZ, 即计数
数码管的显示是通过调用显示函数实现的, 通过设置 8255 的工作模式, 选择数码管的高位工作, 然后将计数的高位送到数码管, 再选择数码管的低位工 作,然后将计数的低位送到数码管,在 1s 钟内多次扫描就可以消除闪烁,从而 达到理想的计数效果,它的程序如下所示:
微机课程设计报告-交通灯

《微机实验与课程设计》课程设计报告____专业:自动化学院实验室:计算机硬件实验室组别:无同组人员:无设计时间:2013 年 5 月17 日——20## 6 月8日评定成绩:审阅教师:目录一.课程设计目的与要求 (3)二.方案论证于原理设计 (3)三.原理阐述与设计 (4)四.发难实现与测试 (6)五.分析与总结 (7)六.附录 (8)一. 课程设计目的与要求设计目的:微机课程综合设计用于检验和提高学生在原理与接口综合应用方面分析问题与解决问题的能力,同时也给学生提供更多、更好的训练机会,课程给出了10 道微机硬件应用综合测试题。
为完成每道测试题,至少需要选用TPC 微机实验装置中三部分以上的硬件电路〔还需将它们有机组合起来〕并编制相应的应用。
通过试验还能够让学生更好的了解所学知识在实际控制中的运用,增加对本专业的认识和学习兴趣。
设计要求:1〕基本要求 (难度系数1.0)L7、L6、L5 作为南北路口的交通灯,L2、L1、L0 作为东西路口的交通灯。
编程使六个灯按交通灯变化规律亮灭。
要求进行周期性重复控制:(1) 南北路口的绿灯、东西路口的红灯同时亮20 秒;(2) 南北路口的黄灯闪烁3 秒,同时东西路口的红灯闪3 秒;微机实验与课程设计教程(3) 南北路口的红灯、东西路口的绿灯同时亮90 秒;(4) 南北路口的红灯、同时东西路口的黄灯亮闪烁3 秒;(5) 在8 段LED 上同步显示倒计时。
2〕设计提示(1) 要求精确计时,采用实验系统8253 定时器中断或主机8253 定时器;(2) 利用软件定时器。
3〕进一步设计要求(1) 8×8 点阵显示当前车流运行方向, 上下对应南北,左右对应东西。
绿色箭头对应,红色箭头对应黄灯状态;(2) 允许南北向路口设置人工按钮, 请求行人提前过街, 如东西绿灯已亮40 秒则按钮后10 秒南北绿灯亮,否则按钮后40 秒南北绿灯亮;(3) 考虑其他复杂情况。
微机原理与接口技术课程设计-----交通灯设计解析

中南大学微机课程设计报告题目交通灯设计专业班级姓名学号指导老师林立新老师目录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采用不用的计数初值其输出脉冲的频率就不一样,因此实现了交通类状态转换时间的灵活设置。
微机原理红绿灯设计

微机原理课程设计报告书课题名称 红绿灯设计姓 名学 号 院、系、部 电气系 专 业 电子信息工程 指导教师孙秀婷、马丽2011年 1 月12日红绿灯设计一、设计目的※※※※※※※※※ ※※※※ ※※ ※※※※※※※※※2008级微机原理 课程设计查阅可编程并行芯片8255或其他相关资料,用简单的输入输出端口等硬件,配合延时和控制程序控制灯的亮灭。
通过对红、绿、黄LED(发光二极管)的控制熟练掌握8255A可编程并行接口的编程方法。
二、设计要求编写程序控制8255A可编程并行接口芯片,使红、绿、黄发光二极管按照十字路口交通信号灯的规律交替发光。
当按下任意键则停止运行,返回DOS。
1、红绿灯亮灭规律:a:初态为东西南北4个红灯全亮,禁止通行;b:经过一定时间南北路口绿灯亮东西路口红灯亮;c:经过一定时间,南北路口绿灯灭;d:南北路口黄灯闪烁;e:经过一定时间,4个路口红灯全亮。
f:经过一定时间,东西路口绿灯亮,南北路口红灯亮;g:东西路口绿灯灭;h:东西路口黄灯闪烁.i:转向步骤a循环执行。
三、电路及连线设计四、使用说明本次微机原理设计的题目为交通灯,它是通过对8255芯片和LED发光二极管的连接设计来模拟交通信号灯的控制,使红黄绿三色灯按照正常交通规则亮灭;十字路口交通信号灯的工作原理是在正常情况下以8086/8088的CPU与8255芯片相连接来实现的。
8255芯片包括四个口,即A口、B口、C口和控制口。
通过对其控制端口写入控制字,来设定8255的工作方式,在本设计中,使8255工作于方式0,将B口和C口都设计为输出,A口设计成输入。
其中B口控制东西方向的交通灯,C口控制南北方向的交通灯。
当程序正常运行时,依次为东西南北方向都是红灯,延时后,南北方向的绿灯和东西方向红灯亮,延时后南北方向的黄灯闪3次,随后南北方向的红灯和东西方向的绿灯亮,延时后,东西方向的黄灯闪3次,之后同理进行循环。
五、流程图设计六、程序设计如下:SSTACK SEGMENT STACK ;定义堆栈段DW 32 DUP(?)SSTACK ENDSCODE SEGMENT ;定义代码段ASSUME CS:CODE,SS:SSTACKSTART:MOV AL,90HMOV DX,9003HOUT DX,AL ;将8255控制字设置为10010000; B、C口输出 A口输入 工作方式0 RED: MOV AL,22HMOV DX,9001HOUT DX,AL ;东西方向红灯亮MOV DX,9002HOUT DX,AL ;南北方向红灯亮CALL DELAY ;调用延时程序DELAY NORMAL:STIMOV AL,88HMOV DX,9002HOUT DX,AL ;南北方向绿灯亮MOV AL,22HMOV DX,9001HOUT DX,AL ;东西方向红灯亮CALL DELAY ;调用演示程序DELAYMOV AL,00HMOV DX,9002HOUT DX,AL ;南北方向绿灯灭CALL DELAY1 ;调用演示程序DELAY1MOV CX,0005H ;将黄灯闪烁次数设为5 RECALL1:MOV AL,44HMOV DX,9002HOUT DX,AL ;南北方向黄灯亮CALL DELAY2XOR AL,ALOUT DX,AL ;南北方向黄灯灭CALL DELAY2 ;调用演示程序DELAY2LOOP RECALL1MOV AL,88HMOV DX,9001HOUT DX,AL ;东西方向绿灯亮MOV AL,22HMOV DX,9002HOUT DX,AL ;南北方向红灯亮CALL DELAYCALL DELAY ;两次调用演示程序DELAY,东西方向设为主干道 MOV AL,00HMOV DX,9001HOUT DX,AL ;东西方向绿灯灭CALL DELAY1 ;调用延时程序 DELAY1MOV CX,0005H ;将黄灯闪烁次数设为5RECALL2:MOV AL,44HMOV DX,9001HOUT DX,AL ;东西方向黄灯亮CALL DELAY2 ;调用延时程序DELAY2 XOR AL,ALOUT DX,AL ;东西方向黄灯灭CALL DELAY2 ;调用延时程序DELAY2LOOP RECALL2JMP NORMAL ;无条件跳转到NORMAL,实现循环 DELAY: PUSH CX ;延时程序 DELAYMOV BX,008FHT1:MOV CX,1000HT2:NOPNOPLOOP T2DEC BXCMP BX,0000HJNZ T1POP CXRETDELAY1: PUSH CX ;延时程序 DELAY1MOV CX,0FFFFHT3:NOPNOPLOOP T3POP CXRETDELAY2: PUSH CX ;延时程序 DELAY2MOV CX,0F900HT4:PUSH AXPOP AXLOOP T4POP CXRETCODE ENDSEND START七、设计总结:短短一周的微机原理课程设计已经过去了。
微机实验 交通灯实验报告

微机实验交通灯实验报告微机实验交通灯实验报告引言交通灯作为城市交通管理的重要组成部分,对于保障交通安全和顺畅起着至关重要的作用。
本次实验旨在通过微机控制,模拟交通灯的工作原理,并实现交通灯的自动控制。
一、实验目的本次实验的主要目的是通过搭建一套微机控制系统,实现交通灯的自动控制,并通过实验验证交通灯在不同道路情况下的工作原理和效果。
二、实验原理1. 交通灯的工作原理交通灯通常由红、黄、绿三个信号灯组成。
红灯表示停止,黄灯表示准备,绿灯表示可以通行。
交通灯通过不同颜色的灯光变化,指示车辆和行人何时可以通行,以保障交通的有序进行。
2. 微机控制系统微机控制系统是利用计算机和相应的软硬件实现对设备、机器等的控制和管理。
在交通灯实验中,我们可以通过编程控制计算机输出不同的信号,从而实现交通灯的自动控制。
三、实验器材和步骤1. 实验器材- 微机控制系统:包括计算机、编程软件和控制接口等。
- 交通灯模型:模拟真实的交通灯,包括红、黄、绿三个信号灯。
2. 实验步骤- 连接交通灯模型和微机控制系统。
- 编写程序,设置交通灯的工作时间和信号灯变化规律。
- 运行程序,观察交通灯的工作状态和变化过程。
四、实验结果和分析通过实验,我们成功地实现了交通灯的自动控制。
在程序中,我们设置了红灯亮10秒,黄灯亮3秒,绿灯亮15秒的时间间隔,模拟了真实交通灯的工作规律。
在实验过程中,我们观察到交通灯按照预设的时间间隔循环变化,红灯亮起时车辆停止,绿灯亮起时车辆可以通行。
这样的交通灯控制方式可以有效地维持交通的有序进行,减少交通事故的发生。
五、实验总结通过本次实验,我们深入了解了交通灯的工作原理和微机控制系统的应用。
微机控制系统作为一种高效、精确的控制手段,可以广泛应用于各个领域,提高设备的自动化程度和工作效率。
在今后的学习和工作中,我们将继续深入学习微机控制系统的原理和应用,掌握更多的编程技巧和控制方法,为实现更多实际问题的自动化解决方案做出贡献。
微机原理十字路口交通灯实验报告1

一、课程设计(论文)题目十字路口交通灯模拟二、本次课程设计(论文)应达到的目的通过本次课程设计,使学生不仅更加深刻领会微型计算机从硬件组成到软件编程的基本原理和知识,而且更要学会应用,务必做到理论和实践相结合,掌握硬件分析、软件设计的基本思想和方法,提高分析问题、解决问题和工程实践的能力。
三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技术参数、设计要求等)本课程设计题目的主要内容是模拟十字路口交通灯(红、黄、绿三色)的显示控制。
设计要求为:1.主干道计时60秒,次干道计时45秒,时间到则切换红绿灯;2.红绿灯不变期间,在七段数码管上显示每秒倒计时;3.计时到最后5秒时,两个方向的黄灯同时闪烁直至计时到0。
四、应收集的资料及主要参考文献:1.《微型计算机基本原理与接口技术》陈红卫,科学出版社 2003.22.《8086实验指导书》张维琪、张晓群,信控学院实验中心3.其他与本课程设计题目相关的资料五、审核批准意见教研室主任(签字)摘要本设计以TDN86/51实验箱为载体,结合中断控制器8259A、并行接口8255、中断定时器8253、七段数码显示管LED及八个发光二极管的功能,用汇编语言编程实现了十字路口交通灯模拟的实验。
8255A的两个端口在本次实验中均有用处,A口为方式0用作输出,与七段数码管LED连接,用于向七段数码管输入数据的。
B 口为方式0用作输出,与八个发光二极管连接,用于向发光二极管输入数据。
C口低四位在本实验中做输出与LED数码管相连,高四位没有用到,但在初始化中将C口均初始化为输出。
8253A芯片在本实验中用了计数器2工作在方式3下,计数初值赋为59500,工作箱的时钟频率为1.19MHz,即计时50ms,它的OUT2接到8259A的IRQ7上,让IRQ7每隔50ms发一次中断,这样就可以通过控制发中断的次数来得到想要的时间。
8259A芯片在本实验中被用到了5个中断,作为计时或在特殊情况下的特殊功能。
微机原理课程设计-8255控制交通灯[精选合集]
![微机原理课程设计-8255控制交通灯[精选合集]](https://img.taocdn.com/s3/m/78c99ded7e192279168884868762caaedc33ba56.png)
微机原理课程设计-8255控制交通灯[精选合集]第一篇:微机原理课程设计-8255控制交通灯微机原理课程设计:8255模拟交通灯1、目的:学习8255使用方法,学习模拟交通灯控制的方法,学习双色灯的使用。
2、要求:控制4个双色LED灯(可发红,绿,黄光),模拟十字路口交通灯管理。
3、电路及连线PC0-PC3连DG1-DG4,PC4-PC7连DR1-DR4。
8255片选CS8255连138译码处210H。
4、说明(1)因为本实验是模拟交通灯控制实验,所以要先了解实际交通灯的变化规律。
假设一个十字路口为东西南北走向。
初始状态0为东西红灯,南北红灯。
然后转状态1南北绿灯通车,东西红灯。
过一段时间转状态2,南北绿灯闪几次转亮黄灯,延时几秒,东西仍然红灯。
再转状态3,东西绿灯通车,南北红灯。
过一段时间转状态4,东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。
最后循环至状态1。
(2)双色LED是由一个红色LED管芯和一个绿色LED管芯封装在一起,公用负端。
当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮。
(3)74LS240为8输入输出的反向驱动器。
5、完成的任务(1)利用计算机和微机原理试验箱,将实验6的程序Tlamp_88.asm在试验箱运行和调试。
全速运行,观察整体效果。
单步运行,观察程序每条语句额执行效果,理解语句含义。
(2)修改实验连线为,PC7-PC4连DG1-DG4,PC3-PC0连DR1-DR4。
8255片选CS8255连138译码处210H孔。
将Tlamp_88.asm另存为jiaotong.asm。
修改jiaotong.asm,实现交通灯原有功能。
(3)修改实验连线为,PB7-PB4连DG1-DG4,PB3-PB0连DR1-DR4。
8255片选CS8255连138译码处210H孔。
将jiaotong.asm另存为jiaotong2.asm。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微型计算机原理及应用课程设计说明书交通灯控制系统设计班级:1401班姓名:学号:指导教师:日期:2016年6月一.课程设计目的:在车辆日渐增多的今天,人们也越来越关注交通问题,而交通灯在安全行车过程中无疑起着十分重要的作用。
现在交通灯一般都设在十字路口,用红、绿、黄三种颜色的指示灯和一个倒计时的显示计时器来控制行车, 对一般情况下的安全行车、车辆分流发挥着作用, 但根据实际行车过程中出现的情况, 主要有如下几个缺点: 1、车道轮流放行时间相对固定, 不能根据实际情况中两个车道的车辆多少来设置改变通行时间;2、没有考虑紧急车辆通过时, 两车道应采取的措施。
譬如, 有消防车通过执行紧急任务时, 两个车道的车都应停止, 让紧急车辆通过。
因此如何合理高效地利用交通灯指示交通情况,是一个亟需解决的问题。
交通灯是采用计算机通过编写汇编语言程序控制的。
红灯停,绿灯行的交通规则。
广泛用于十字路口,车站, 码头等公共场所,成为人们出行生活中不可少的必需品,由于计算机技术的成熟与广泛应用,使得交通灯的功能多样化,远远超过老式交通灯, 交通灯的数字化给人们生产生活带来了极大的方便,而且大大地扩展了交通灯的功能。
诸如闪烁警示、鸣笛警示,时间程序自动控制、倒计时显示,所有这些,都是以计算机为基础的。
还可以根据主、次干道的交通状况的不同任意设置各自的不同的通行时间。
或者给红绿色盲声音警示的人性化设计。
现在的交通灯系统很多都增加了智能控制环节,比如对闯红灯的车辆进行拍照。
当某方向红灯亮时,此时相应的传感器开始工作,当有车辆通过时,照相机就把车辆拍下。
要将交通灯系统产品化,应该根据客户不同的需求进行不同的设计,应该在程序中增加一些可以人为改变的参数,以便客户根据不同的需要随时调节交通灯。
因此,研究交通灯及扩大其应用,有着非常现实的意义二.课程设计内容:设有一个十字路口,1、3为南北方向,2、4为东西方向。
初始为四个路口的红灯全亮,之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车;延时一段时间后,1、3路口的绿灯开始闪烁,闪烁若干次以后,1、3 路口黄灯亮,后1、3路口红灯亮,而同时2、4路口的绿灯亮,2、4路口方向通车;延时一段时间后,2、4 路口的绿灯熄灭,而绿灯开始闪烁,闪烁若干次以后,1、3路口红灯亮,而2、4路口黄灯亮,再切换到1、3路口方向,之后重复上述过程。
三.问题分析及硬件介绍:本次课程设计的内容为利用8086、8255等接口,实现控制十二个二极管亮灭的过程。
需要PC机一台,8255并口:用做接口芯片。
LED:共12个LED灯。
还有8086芯片,8253a定时器等器材.将8086和74273、74154和8255连接起来.需用到8255的六个输出端口。
所以要求8255工作在方式0,因为二极管是共阳的,所以输出低电平二极管才会亮。
8086用作cpu,三个74273是锁存器,锁存地址。
用软件proteus7.8画出电路图,加载程序到8086cpu,进行模拟。
系统硬件设计8086简介Intel8086是16位的微处理器(其内部总线为16位,外部总线为8位,故称为准16位微处理器),它采用HMOS工艺40条引脚封装。
8086工作时使用5V 电源,时钟频率5MHz(8086-1为10MHz,8086-2为8MHz)它有20根地址线,故可寻址的内存空间为1MB【9】。
另外,Intel公司同期推出的Intel8088微处理器一种准16位微处理器,其内部寄存器,内部操作等均按16位处理器设计,与Intel8088微处理器基本上相同,不同的是其对外的数据线只有8位,目的是为了方便地与8位I/O接口芯片相兼容。
如图所示是8086CPU的内部功能结构。
从功能上来看,8086CPU可分为两部分,即总线接口部件BIU (Bus Interface Unit)和执行部件EU(Execution Unit)。
(1)8086的主要特性Intel8086/8088CPU是Intel公司推出的高性能的微处理器,具体如下主要特性:(a)8086CPU数据总线为16位,8088CUP数据总线为8位。
(b)地址总线都是20位,低16位用于数据总线复用,可直接寻址为1MB的存储空间。
(c)有16位的端口地址,可以寻址64KB的I/O端口。
(d)有99条基本指令,指令功能强大。
(e)有9种基本寻址方式。
(f)可以处理内部和外部中断,外部中断源多达256个。
(g)兼容性好,8086、8085在源程序一级兼容。
(h)8086/8088标准主频为5MHz,8086/8088-2主频为8MH【3】。
(i)支持单处理器或多处理器系统工作。
(2)8086CPU寄存器结构8086CPU中有14个16位的寄存器,其中有4个16位的通用寄存器,2个16位指针寄存器,2个16位变址寄存器,1个16位指令指针及1个16位标志寄存器【8】。
通用寄存器包括累加器AX,基址寄存器BX,计数寄存器CX,数据寄存器DX 四个寄存器,位于CPU的EU中,每个数据寄存器可存放16位操作数,也可拆成两个8位寄存器,用来存放8位操作数。
指针和变址寄存器包括:堆栈指针SP、基址指针BP、源变址寄存器SI、和目的变址寄存器DI四个16位寄存器,可以来存放数据和地址。
段寄存器包括:代码段寄存器CS,数据段寄存器DS,附加段寄存器ES,堆栈段寄存器SS【4】。
8255简介8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O 口。
具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。
其各口功能可由软件选择,使用灵活,通用性强。
8255可作为单片机与多种外设连接时的中间接口电路。
8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。
同时必须具有与外设连接的接口A、B、C口。
由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:与CPU连接部分、与外设连接部分、控制部分。
它具有A、B、C 三个并行接口,并行接口是以数据的字节为单位与I/O 设备或被控制对象之间传递信息。
CPU和接口之间的数据传送总是并行的,即可以同时传递8 位、16 位、32 位等。
用+5V单电源,能在三种方式下工作:方式0--基本输入/出方式、方式1--选通输入/出方式、方式2--双向选通工作方式【3】。
8255的内部结构及引脚图如图所示。
具体的各引脚功能如下【3】:D0~D7为双向数据信号线,用来传送数据和控制字。
RD为读信号线,与其它信号线一起实现对8255接口的读操作通常接系统总线的IOR信号。
WR为写信号线,与其它信号一起实现对8255的写操作,通常接系统总线的IOW。
CS为片选信号线,当它为低电平(有效)时,才能选中该8255芯片,也才能对8255进行操作【6】。
A0,A1为口地址选择信号线。
8255内部有3个口;A口,B口,C 口,还有一个控制寄存器,它们可由程序寻址。
A0,A1上的不同编码可分别寻址上述3个口和一个控制寄存器,具体规定如表1所示。
表1 8255的寻址方式通常 A0,A1分别接系统总线A0和 A1,它们与CS一起来决定8255的接口地址。
RESET为复位输入信号。
此端上的高电平可使8255复位。
复位后,8255的A口,B口,C 口均被定为输入状态。
PA0~PA7为A口的8条输入输出信号线。
PB0~PB7为B口的8条输入输出信号线。
PC0~PC7,8条线根据其工作方式可作为数据的输入或输出线,也可以用作控制信号的输出或状态信号的输入线【7】。
8255 工作方式控制字和C口按位置位/复位控制字格式如图3所示。
【4】8255的工作方式主要有工作方式0、工作方式1和工作方式2。
其中端口A 可以工作在三种方式中的任一种;端口B只能工作在方式0和方式1;端口C通常作为控制信号使用,配合端口A和端口B的工作。
在交通灯控制的设计中只用到了工作方式0。
四.硬件原理图:五.主要程序:;SAMPLE.ASM.MODEL SMALL.8086.stack.code.startupmov dx,0206h ;将控制端口的地址送给dxmov ax,80h ;将控制字送给axout dx,ax ;将控制字送给控制端口mov dx,0200h ;将a端口的地址送给dxmov ax,0ffh ;将初始化数据送给axout dx,ax ;将端口初始化s0: mov ax,0bbh ;将数据10111011B送给axout dx,ax ;将ax数据送给dx,让4个红灯亮call delay5 ;调用延时程序子程序,维持4-5ss1: mov ax,0beh ;将数据10111110B送给axout dx,ax ;将ax数据送给dx,使南北绿灯亮,东西红灯亮 call delay5 ;调用延时程序子程序,维持4-5smov cx,6 ;将lp: mov ax,0bfh ;将数据10111111B送给axout dx,ax ;将ax数据送给dx,使南北绿灯灭,东西红灯亮 call delay05 ;调用延时程序子程序,维持4-5smov ax,0beh ;将数据10111110B送给axout dx,ax ;将ax数据给dx,实现南北绿灯亮,东西红灯亮call delay05 ;调用延时程序子程序,维持4-5sloop lp ;循环实现绿灯的亮灭循环闪烁约6次mov ax,0bdh ;将数据10111101B送给axout dx,ax ;将ax送给dx,实现南北黄灯亮,东西红灯亮call delay3 ;调用延时程序子程序,维持3-4smov ax,0ebh ;将数据11101011B送给axout dx,ax ;将ax数据送给dx,实现南北红灯亮,东西绿灯亮 call delay5 ;调用延时程序子程序,维持4-5smov cx,6 ;将lp1:mov ax,0fbh ;将数据11111011B送给axout dx,ax ;将ax数据送给dx,实现南北红灯亮,东西绿灯灭 call delay05 ;调用延时程序子程序,维持4-5smov ax,0ebh ;将数据11101011B送给axout dx,ax ;将ax送给dx,实现南北红灯亮,东西绿灯亮call delay05 ;调用延时程序子程序,维持4-5sloop lp1 ;循环实现绿灯的亮灭循环闪烁约6次mov ax,0dbh ;将数据11011011B送给axout dx,ax ;将ax送给dx,实现南北红灯亮,东西黄灯亮call delay3 ;调用延时程序子程序,维持3-4sjmp s0 ;无条件跳转至程序S0,实现控制循环delay5 proc nearpush cxmov bx,250dy1:mov cx,5882dy2:loop dy2dec bxjnz dy1pop cxretdelay5 endpdelay05 proc near push cxmov bx,25dy3:mov cx,5882 dy4:loop dy4dec bxjnz dy3pop cxretdelay05 endpdelay3 proc near push cxmov bx,150dy5:mov cx,5882 dy6:loop dy6dec bxjnz dy5pop cxretdelay3 endp .dataEND1.结果分析:电路运行正常,交通灯按正确时间转换,实现了预期课程设计要求的目的。