微型计算机知识做流水灯,微机原理流水灯的设计.doc

微机原理流水灯的设计

微机原理课程设计报告书

课题名称流水彩灯的设计姓 名学 号 院、系、部物理与电信工程系专 业电子信息工程指导教师

2010年 7 月9日

一、设计任务及要求1、编写程序,使用8255的A口和B口均为输出,

实现16位流水灯显示效果。流水灯显示实验目的

2、掌握流水灯编程方法和芯片8255的逻辑功能及使用方法。

3、掌握一定的汇编语言知识,培养自己的动手操作能力。

4、学习程序设计的基本思路和方法

二要求、设计题目

编写程序,使用8255的A口和B口均为输出,实现16位流水灯显示效果。

、功能扩展

(1)、将流水灯设计成可以正着流水也可以选择倒着流水

(2)、通过开关可以对流水灯闪烁的速度进行控制,高电平时为快,低电平时为慢速。

1、 总体方案设计分析

在本实验中要求我们用8255的A口和B口做为输出,接16个发光二极管,从而实现16位流水灯的显示效果,故基本的接线可以如下面图A所示。在C口的低两位接2个开关,实现2个扩展功能的控制。

①基本流水灯显示电路

A和B两个端口不能同时赋值,从而在实验中我们可以用BX进行需要赋值的数据的存储,因为BX可以分从BH.BL两部分进行独立的操作,在本次实验中我们用BH对A口进行赋值,用BL对B口进行赋值,通过延时一段时间再对BH,BL进行移位和输出,实现了流水灯的效果。

②正反方向选择

把PC.0口接在开关上,编写程序对C端口的数据进行读取,并进行判断,使得当PC.0为高电平的时候则灯进行左移,低电平的时候则进行右移。同时B口与A口相反。

③快慢速度控制

把PC.1口接在开关上,编写程序对C端口的数据进行读取,并进行判断,使得当PC.1为高电平的时候则延时的时间缩短,使得流水灯的流水速度加快。低电平的时候则进行延时的时间变长,使得流水灯的流水速度加快。

电路及连线

1、该模块的WR、RD分别连到PC总线接口模块的IOWR、IORD。

2、该模块的数据(AD0~AD7)、地址线(A0~A7)分别连到PC总线接口模块的数据(D0~D7)、地址线(A0~A7)。

3、8255模块选通线CS连到PC总线接口模块的IOY3。

4、8255的PA0~PA7连到发光二极管的L1~L8;8255的PB0~PB7连到发光二极管的L9~L16。5、8255的PC0、PC1分别连接在开关K0、K1

程序清单如下:

MY8255_A EQU 09860H

MY8255_B EQU 09861H

MY8255_C EQU 09862H

MY8255_MODE EQU 09863H

CODE SEGMENT

ASSUME CS:CODE

START:

MOV DX,MY8255_MODE

MOV AL,81H ;设置A口、B口方式0输出,C口低四位方式0输出

OUT DX,AL

MOV CL,0

XOR BX,BX ;将BX清零

MOV DX,MY8255_B

MOV AL,0FEH

MOV BL,AL

OUT DX,AL

MOV DX,MY8255_A

MOV AL,7FH

MOV BH,AL

OUT DX,AL ;对A口、B口赋值,并将值保存在BH BL中

A1:

ROL BL,1

ROR BH,1 ;对BH BL做出相应的移位

A3:

PUSH BX ;保护现场

CALL BREAK ;调用任意键退出程序

CALL DELAY ;调用延时程序

POP BX ;恢复现场

MOV DX,MY8255_A

MOV AL,BH

OUT DX,AL

MOV DX,MY8255_B

MOV AL,BL

OUT DX,AL ;将移位后的结果输出

MOV DX,MY8255_C

IN AL,DX ;将C都的数据输入

AND AL,01H ;查看PC0口是否有数据输入,改变流水灯的方向

JNZ A2

JMP A1

A2:

ROL BH,1

ROR BL,1

JMP A3

DELAY PROC NEAR ;延时程序

MOV CX,0FFFH

K1:

MOV BX,0FFFH

K2:

DEC BX

CMP BX,1000H

JNE

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值