




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
唐山学院课程设计一 引言随着这学期16/32位微机处理、汇编语言及接口技术课程的结束,汇编语言与接口技术将要告一段落,为了加深对知识的理解与掌握,学校开设了汇编语言与接口技术课程设计,汇编语言是低级语言,是机器语言,是高级语言与机器语言的桥梁。学好了,掌握了汇编语言对以后进一步学习硬件课程有很很重要的铺垫。所以我们要认真实习。努力做好这次来之不易的课程设计机会。当今社会日新月异,任何重大工程都离不开计算机,计算机的运行离不开强大的硬件和软件支持,而汇编语言是连接硬件和软件的强有力的语言,所以学号汇编语言对硬件的和软件的学习有很大的帮助。8253,8255,8259A是三个常用的硬件器件,它们程序的编写用到了汇编语言,所以这次课设很好的结合了汇编与接口技术的知识。做好课设,掌握好知识,加深对知识的理解,对这次课设取得满意的效果很重要。二 设计基本思路1 8253的工作原理8253是可编程的计数器/定时器,其内部有三个独立的16位计数器/定时器通道,每个计数器通道均可按6种不同的方式工作,并且都可以按二进制或十进制计数。其CLK0CLK2是计数器02的时钟脉冲输入端,GATE0GATE2是门控脉冲输入端, OUT0OUT2是输出端。2 8255A的工作原理(1)8255A的内部结构:数据总线缓冲器:这是一个双向三态的8位数据缓冲器,它是8255A与微机系统数据总线的接口。输入输出的数据、CPU输出的控制字以及CPU输入的状态信息都是通过这个缓冲器传送的。三个端口A,B和C:A端口包含一个8位数据输出锁存器和缓冲器,一个8位数据输入锁存器。B端口包含一个8位数据输入/输出锁存器和缓冲器,一个8位数据输入缓冲器。C端口包含一个8位数据输出锁存器和缓冲器,一个8位数据输入缓冲器(输入没有锁存器)。A组和B组控制电路:这是两组根据CPU输出的控制字控制8255工作方式的电路,它们对于CPU而言,共用一个端口地址相同的控制字寄存器,接收CPU输出的一字节方式控制字或对C口按位复位字命令。方式控制字的高5位决定A组的工作方式,低3位决定B组的工作方式。对C口按位复位命令字可对C口的每一位实现置位或复位。A组控制电路控制A口和C口上半部,B组控制电路控制B口和C口下半部。读写控制逻辑:用来控制把CPU输出的控制字或数据送至相应端口,也由它来控制把状态信息或输入数据通过相应的端口送到CPU。(2)255A的工作方式: 方式0-基本输入输出方式;方式1-选通输入输出方式;方式2-双向选通输入输出方式。3 8259的工作原理(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)用以比较正在处理的中断和刚刚进入的中断请求之间的优先级别,以决定是否产生多重中断或中断嵌套。4设计方法(1)8253用来计时,提供脉冲给8259A进行中断,8255用B端口的一个引脚提供紧急处理输入,A端口的三个引脚作为红绿黄三种颜色的输出,同样C端口三个引脚作为红绿黄三种颜色的输出,A端口和C端口分别为两旁的交通灯。三 详细设计1芯片选择及端口选择(1)用实验系统8255A实现对信号灯的控制(所用端口自定);2位数码显示用8255A实现控制。(2)用实验系统8235的计数器0定时向实验系统主片8259A的IRQ7请求中断,以实现要求的20秒、5秒钟的定时。实验系统8253的计数器0的CLK2接OPCLK,频率为1.19318MHZ;GATE0已接+5V;定时采用软硬件相结合的方式实现。(3)用实验系统的发光二极管模拟红绿灯。注:8259A的端口地址为:218H、219H8255A的端口地址为:端口A-288H、端口B-289H、端口C-28aH、控制端口-28bH8253的端口地址为:计数器0-280H、计数器1-281H、计数器2-282H、控制寄存器0-283H。本设计硬件由定时模块、发光二极管模块、数码管显示模块和紧急中断模块组成。定时模块采用硬件定时和软件定时相结合的方法,用8253定时/计数器定时,再用软件计时实现所需的定时。发光二极管模块由8255控制发光二极管来实现。数码管显示模块由实验平台上的LED显示模块实现。紧急中断模块是由单脉冲发生单元和8259中断控制器组成。程序主要是由定时子程序、发光二极管显示子程序、数码管显示子程序和中断服务程序组成。包括对8253、8255以及8259等可编程器件的编程。2方案论证:软件延时,设计简单,使用方便,本次设计采用了,定时器0,1进行计时,每1s产生一次中断,可以准确的计时并方便8段数码管进行显示。在本设计中程序每1秒请求一次中断,实现精确定时与数码管显示刷新。3 硬件连接示意图8255的连接图如下:CSCLK0 CLK1GATE0 GATE1OUT0 OUT1 8253+5VIRQ1MHZ280h图1 8253的连接图8255的图连接如下 L0L1L2L7L6L5开关 CSPC0 PA0PC1 PA1PC2 PA2 PB0 8255288h图2 8255的连接图4总体程序流程图初始化8255,8253写入8253两个计数通道计数初值南北绿灯亮东西红灯亮设置IRQ7中断向量允许IRQ7中断循环等待开关为1?N出来紧急事件,两个红灯亮Y出来紧急事件,两个红灯亮循环等待开关0?YN图3 整体流程图5 中断服务子程序流程图更改标志位,将1改为0执行恢复工作,然后中断返回开始寄存器的入栈保存flag标志为1吗?南北方向黄灯亮delay时间,然后切换灯的状态。东西方向黄灯亮delay时间,然后切换灯的状态。YN更改标志位,将0改为1执行恢复工作,然后中断返回图4 中断服务子程序流程图6程序运行结果:1 输入脉冲2 左边的红灯亮,接着右边的绿灯亮,一段时间后,黄灯亮。3 右边的红灯亮,接着左边的绿灯亮,一段时间后,黄灯亮。4 紧急处理按键置1.5 左边和右边的红灯同时亮,此时即使再有脉冲,结果仍然不变。6 紧急处理按键复0.7 重复执行。四 总结本次课程设计实现了汇编语言与接口技术的很好结合,十字路口交通灯控制看似复杂的功能,其实通过简单的器件组合可以很巧妙的实现。课程设计不仅结合了现实实际,也加深了对知识的理解和掌握经过近一个星期的课程设计,我终于做好了十字路口交通灯控制程序的设计与实现,虽然时间有限,课设紧张,但我们仍然取得了一定的收获。该课程设计涉及8253计数器,8255并行接口,8259A中断控制器,使我重新温习了一下他们的原理和运用。同时加深了对它们的理解和掌握。它们都是硬件设备的基础器件,熟悉的运用和操作对以后的硬件学习和硬件设计都有很大的帮助。所以我们一定要好好学习,好好掌握,好好运用。复杂的功能实现都是有简单器件组成的,熟练掌握8253,8255,8259A对完成复杂功能设计有很大的帮助,编写代码可以加深对知识的理解和运用,更可以培养严谨的工作作风。感谢学校和老师提供给我们这次难得的课程设计机会,授人于鱼,不如授人于渔。再次感谢学校给我们这次难得的机会,老师的不辞辛劳,认真指导。参考文献1 钱晓捷,陈涛16/32位微机原理、汇编语言及接口技术第二版机械工业出版社,20082 王元珍,曹忠升,韩宗芬80X86汇编语言程序设计华中科技大学出版社,20053 Kip R IrvineIntel汇编语言程序设计第五版。电子工业出版社,20084 Peter AbelIBM PC汇编语言程序设计第五版人民邮电出版社,20025 王爽汇编语言第五版清华大学出版社,2006附录初始化程序:data segment PA equ 288h PB equ 289h PC equ 28ah con55 equ 28bh ;8255的A,B,C以及控制端口的地址 J0 equ 280h J1 equ 281h con53 equ 283h ;8253的计数器0,计数器1以及控制端口的地址 flag db,1 ;标志变量data endsstack segment stack db 1024 dup(0)stack endscode segment assume cs:code,ds:data,ss:stackstart:mov ax,data mov ds,ax mov dx,con55 mov al,82h out dx,al ;设置8255的工作方式,工作在方式0 mov al,36h mov dx,con53 out dx,al ;8253计数器0工作在方式3,先低后高写入,二进制 mov dx,J0 mov ax,1000 out dx,al mov al,ah out dx,al ;8253计数器0的计数初值 mov al,70h mov dx,con53 out dx,al ;8253计数器1工作在方式0,先低后高写入,二进制 mov dx,J1 mov ax,17000 out dx,al mov al,ah out dx,al ;8253计数器0的计数初值 mov dx,PA mov al,04h out dx,al mov dx,PC mov al,01h out dx,al ;A口控制南北,C口控制东西,设置南北绿灯,东西红灯 cli push ds mov ax,seg int7 mov ds,ax mov dx,offset int7 mov ax,250fh int 21h ;设置0f号中断 pop ds and al,7fh out 21h,al ;开放IRQ7中断 stijj:mov dx,PB in al,dx ;读取B口的内容,用来控制紧急事件。 test al,01h jz jj ;判断PB0的状态,若为0则继续循环,等待中断,为1则处理紧急事件 cli ;关中断 mov al,1 mov dx,PA out dx,al mov dx,PC out dx,al ;紧急事件,令各个方向的灯均为红again:mov dx,PB in al,dx test al,01h ;再次测试PB0状态 jnz again ;若为1,则循环测试,执行紧急事件 sti ;开中断 jmp jj ;为0,则跳转jj mov ah,4ch int 21hint7 proc sti ;中断服务子程序 push dx push ax ;入栈保护 mov ax,data mov ds,ax cmp flag,1 ;判断灯的情况 jnz ch2 ;若是南北红灯亮,东西绿灯亮则跳到处ch2ch1: mov dx,PA mov al,02h out dx,al ;南北绿灯变黄灯 call delay ;黄灯延时 mov dx,PA mov al,01h out dx,al mov dx,PC mov al,04h out dx,al ;设置南北为红灯,东西为绿灯 mov flag,0 ;改变状态标志 jmp nextch2:mov dx,PC mov al,02h out dx,al ;东西绿灯变黄灯 call delay ;黄灯延时 mov dx,PA mov al,04h out dx,al mov dx,PC mov al,01h out dx,al ;设置南北为绿灯,东西为红灯 mov flag,1 ;改变状态标
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 谭师傅安全知识培训直播课件
- 2025版设备租赁合同及期满回购协议
- 2025年度房产买卖定金合同(含物业管理条款)
- 2025版汽车零部件研发中心租赁合同
- 2025年防火玻璃防火玻璃板购销合同
- 2025版水泥制品出口业务代理销售合同
- 2025年公路测量劳务分包合同编制范本
- 2025年数字经济战略合作伙伴聘用协议
- 2025版石材工程投标保证金及施工管理合同
- 2025年涵洞建筑工程承包合同模板下载
- 工程造价协议合同
- 2025年长沙环境保护职业技术学院单招职业技能测试题库附答案
- 人工智能技术在中职语文教学中的实践
- 苏州印象城考察报告3.31课件
- 《中华会计文化传承与变迁》课件-第八篇 现代会计文化
- 2025年湘教版八年级数学上册教学计划与实践
- 装饰工程项目管理方案
- 旅行社安全培训课件
- 2024年10月自考00107现代管理学试题及答案
- 《一个粗瓷大碗》公开课一等奖创新教案
- 治未病进修总结
评论
0/150
提交评论