1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 用微型计算机原理做流水灯 微机原理流水灯设计.doc

用微型计算机原理做流水灯 微机原理流水灯设计.doc

时间:2022-09-22 15:02:01

相关推荐

用微型计算机原理做流水灯 微机原理流水灯设计.doc

微机原理流水灯设计

微机原理课程设计报告书

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

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。