- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机科学系实验报告
课程名称 微型计算机技术及应用 实验班级
实验名称 实验八 交通灯控制 指导教师
学生姓名 学生学号
实验目的
通过并行接口8255实现十字路口交通灯的模拟控制,进一步掌握对并行口的使用。
实验设备
PC机一台
专用导线若干
TPC-H通用微机接口实验系统一台
MASM汇编及调试程序
实验原理和内容
如图1,L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。编程使六个灯按交通灯变化规律燃灭。
图1
注意:
十字路口交通灯的变化规律要求:
南北路口的绿灯、东西路口的红灯同时亮30秒左右。
南北路口的黄灯闪烁若干次,同时东西路口的红灯继续亮。
南北路口的红灯、东西路口的绿灯同时亮30秒左右。
南北路口的红灯继续亮、同时东西路口的黄灯亮闪烁若干次。
转(1)重复。
实验的流程图如下:
程序代码
data segment
portc1 db 24h,44h,04h,44h,04h,44h,04h ;六个灯可能的状态数据
db 81h,82h,80h,82h,80h,82h,80h,0ffh;
db 0ffh ;结束标志
data ends
code segment
assume cs:code,ds:data
start: mov ax,data
mov ds,ax
mov dx,28bh
mov al,90h
out dx,al ;设置8255为C口输出
mov dx,28ah
re_on: mov bx,0
on: mov al,portc1[bx]
cmp al,0ffh
jz re_on
out dx,al ;点亮相应的灯
inc bx
mov cx,20 ;参数赋初值
test al,21h ;是否有绿灯亮
jz de1 ;没有,短延时
mov cx,600 ;有,长延时
de1: mov di,5000 ;di赋初值5000
de0: dec di ;减1计数
jnz de0 ;di不为0
loop de1
mov ah,1 ;是否有键按下
int 16h
je on ;没有,转到on
exit: mov ah,4ch ;返回DOS
int 21h
code ends
end start
实验现象
通过实验看到的现象是:LED灯有类似交通灯形式的闪烁。
心得体会
这个实验是与现实生活是比较接近,通过这个实验,我大概知道了交通灯的工作原理,也加深了以前学的知识,更进一步认识了8255的芯片。但是,要完全理解程序的代码,需要扎实的汇编语言知识,尽管我在这方面的知识有所欠缺,但是查询相关资料后,能够基本明白这个实验的编程思想。
文档评论(0)