ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:71.78KB ,
资源ID:11073668      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11073668.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(06A13142李长波微机实验报告.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

06A13142李长波微机实验报告.docx

1、06A13142李长波微机实验报告东南大学电子科学与工程学院实 验 报 告课程名称: 微机原理与接口实验 第 六 次实验实验名称: 交通灯控制实验 姓 名: 李长波 学 号:06A13142 实 验 室: 406 实验组别: 同组人员: 实验时间: 2015 年 5 月 18日评定成绩: 审阅教师: 实验报告要求实验准备1. 实验目的和要求(或主要性能指标)2. 实验原理及实现方案3. 实验方案设计与参数选择4. 需测量参数及数据测量方法5. 理论计算数据或软件模拟数据6. 实验数据记录格式7. 实验使用仪器设备(包括仪器设备名称、型号、规格、编号、使用状况)8. 实验过程或实验步骤实验过程1

2、. 实验步骤和实验数据记录2. 实验最终方案和方案参数3. 实验中出现的问题及解决方法实验总结1. 实验数据处理2. 实验误差分析3. 实验结果讨论4. 实验心得注:页面不够可以加页 一、实验目的与要求 1、通过并行接口8255实现十字路口交通灯的模拟控制,进一步掌握对并行接口的使用; 2、假设L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。编程使六个灯按交通灯变化规律亮灭。 具体要求为: (1)南北路口的绿灯、东西路口的红灯同时亮30秒左右。 (2)南北路口的黄灯闪烁若干次,同时东西路口的红灯继续亮。 (3)

3、南北路口的红灯、东西路口的绿灯同时亮30秒左右。 (4)南北路口的红灯继续亮,同时东西路口的黄灯亮闪烁若干次。 (5)转(1)重复。 二、实验原理及实现方案 1、实验硬件连接图 红 黄 绿 红 黄 绿 L7 L6 L5 L2 L1 L0288h28fh 图一8255芯片的控制字介绍:8255的控制寄存器总共有8位及D0D7,其中D0为C3C0的输入输出控制字,0为输出,1为输入;D1为B组端口的输入输出控制字,0为输出,1为输入;D2为B组的工作方式控制字,0为方式0,1为方式1;D3为C7C4的输入输出控制字,0为输出,1为输入;D4为A组端口的输入输出控制字,0为输出,1为输入;D6D5为

4、A组的工作方式控制字,00为方式0,01为方式1,1X为方式2;D7等于1,是CPU写方式控制字的特征位。 2、实验软件设计框图 图二 3、程序代码及解释 ;*; ; ;* 端口各灯的设置: *; ;* 1红 1黄 1绿 0 0 2红 2黄 2绿 *; ;*; data segment ioport equ 0b800h-0280h io8255a equ ioport+28ah io8255b equ ioport+28bh portc1 db 24h,44h,04h,44h,04h,44h,04h ;六个灯可能 db 81h,82h,80h,82h,80h,82h,80h ;的状态数据 d

5、b 0ffh ;结束标志 data ends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax mov dx,io8255b mov al,90h out dx,al ;设置8255为C口输出 mov dx,io8255a re_on: mov bx,0 on: mov al,portc1bx cmp al,0ffh jz re_on out dx,al ;点亮相应的灯 inc bx mov cx,2000 ;参数赋初值 test al,21h ;是否有绿灯亮 jz de1 ;没有,短延时 mov cx,50000

6、 ;有,长延时 de1: mov di,50000 ;di赋初值50000 de0: dec di ;减1计数 jnz de0 ;di不为0 loop de1 push dx mov ah,06h mov dl,0ffh int 21h pop dx jz on ;没有,转到on exit: mov ah,4ch ;返回 int 21h code ends end start 代码部分函数解释: Io8255a为8255的C端口地址,io8255b为8255的控制寄存器地址,在数组protc1中存放了所有交通灯的可能的工作状态。整体的循环中,分为两种循环方式,分别为长延时循环和短延时循环,循环

7、是通过cx和di共同实现的,长延时循环时cx=50000,di=50000,则延时为t=50000*50000;短延时循环时cx=2000,di=50000,则延时为t=2000*50000。 另外,程序中还存在一个DOS系统功能的调用,具体为功能浩06h的调用,这个函数的功能是直接控制台I/O(等待至有输入为止),入口参数为DL=FF(直接控制台输入)=其他值(显示输出),出口参数为AL=输入字符的ASICII码和ZF=0。利用这个函数就可以实现判断是否有按键按下,若有按键按下,则退出程序;否则,继续循环。 三、实验步骤 1、根据硬件连接图连接好实验电路; 2、将编写好的程序,编译链接运行;

8、 3、出现问题进行调试、解决,排除问题,完成实验。 四、实验中遇到的问题及排除方法 问题: 试验中发现交通灯可以实现循环,但存在某些灯的循环顺序不正确。 排除方法:一开始,我认为是实验的硬件电路搭接有问题,所以第一步是对硬件电路重新检查了一遍,但并没有发现连接错误,而后我想是不是试验箱的8255内部存在短接现象,所以我在确定了另一试验箱无问题的前提下,将程序在好的实验箱中又运行了一次,结果发现了相同的错误,所以这个可能的原因又被排除了。最后,我想问题可能处在了程序上,尽管已经编译成功,但还是有可能存在一些逻辑上的错误,果然,我在检查交通灯的状态值时发现,状态值被我写错了,所以才导致交通灯的亮灭顺序错误,至此,问题得以解决。 五、实验总结 这次试验让我收获了许多,不仅激发了我对微型计算机设计的浓厚兴趣,而且也让我有了重要的实践经历。这次试验使我有机会将微机接口课程中所学到的知识加以运用,让我真的做到了学以致用,融会贯通。虽然这次实验成功完成,但也并不是一帆风顺,这其中出现的种种问题,也暴露出了我再理论学习中的不足。例如我对DOS的调用并不是十分熟悉,再设计这部分程序时花费了很多时间。 总之,这次实验让我获益匪浅。在以后的学习生活中,我一定更加努力,争取取得更大的进步。 六、参考文献 1、微型计算机系统原理及应用(第三版). 杨素行 等. 清华大学出版社. 2009年04月.

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1