微机原理走马灯课程设计.docx

上传人:b****5 文档编号:5324212 上传时间:2022-12-15 格式:DOCX 页数:12 大小:175.33KB
下载 相关 举报
微机原理走马灯课程设计.docx_第1页
第1页 / 共12页
微机原理走马灯课程设计.docx_第2页
第2页 / 共12页
微机原理走马灯课程设计.docx_第3页
第3页 / 共12页
微机原理走马灯课程设计.docx_第4页
第4页 / 共12页
微机原理走马灯课程设计.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

微机原理走马灯课程设计.docx

《微机原理走马灯课程设计.docx》由会员分享,可在线阅读,更多相关《微机原理走马灯课程设计.docx(12页珍藏版)》请在冰豆网上搜索。

微机原理走马灯课程设计.docx

微机原理走马灯课程设计

走马灯的设计与实现

实验目的

通过走马灯的设计与制作,深入了解与掌握利用可编程8255A进行开关量控制的原

理与方法。

二实验要求

1产生8种彩灯(8位LED的走马灯花样;

2•键控(或拨码开关控制)发光实验。

键控是在键盘上定义8个数字键(0〜7),每按1个数字键,使LED的1位发光,按Q或q键,停止发光。

拨码开关控制,是通过改变各位开关,来进行控制,使LED的1位发光,按Q或q键,停止发光。

三实验内容

1•进行走马灯的系统电路硬件设计,画出电路原理图;

2•安装或焊接元器件;

3•进行走马灯的控制程序设计(采用ASM语言);

4•系统联调,提交一个符合上述3种要求的走马灯的作品。

四实验原理

8255A是一种通过可编程并行I/O接口芯片。

广泛用于几乎所有系列的微机系统

中,8255A具有三个带锁存或缓冲的数据端口,可与外设并行进行数据交换,8255A有多种操作方式,通用性较强,可为CPU与外设之间提供输入/输出通道。

8255A和各端口内具有中断控制逻辑,在外设与CPU之间可用中断方式进行信息交换,使用条件传输方式时可用“联络”线进行控制。

在实验中,我们运用8255为CPU与外设之间提供输入输出输出通道来实现对走马灯花样变换的控制。

走马灯驱动模块电路原理如图1所示。

模块包括8个LED彩灯、两个74LS04和两个个排阻。

用LED可以观测在不同按键输入下,走马灯花样的变化效果。

如图1所示我们利用软件输入信号,通过8255端口扩展芯片和74LS04芯片,调节输出端口的电平变化,来控制共阳极的LED灯的亮与灭,实现走马灯花样变化。

图1走马灯驱动模块电路原理图

试验设备

1.PC兼容机

2.Windows98以上

3.MFID多功能微机实验平台(含PCI总线驱动板)

4.MFPCI98集成开发环境

5.面包板或外设功能模块板

6.安装或焊接工具

六元器件清单

元器件清单如表1所示

序号

名称

数量

1

74LS04

2片

2

RESPACK排阻8X150Q

2只

3

LED

8只

4

拨码开关

1只

5

面包板

1个

6

T型转接板

1个

7

导线

若干

表1实验兀器件清单

七实验步骤

34

33

32

31

30

29

28

27

5

36

9

8

35

6

7.1硬件连线

根据图1的实验原电路图,走马灯电路结构电路接线如图2所示

VCC

图2走马灯电路结构电路接线图

接线说明:

8255A共有三个8位端口A口、B口和C口。

其中A口和B口为输出端

口,C口为输入端口。

在本电路中,A口8个输出管脚PA7-PA0分别接8个并联的LED彩灯反馈走马灯的发光方式;B口8个管脚PB7-PB0分别接8个并联的开关控制选择走马灯的发光方式。

C口接输入控制电路,PC2管脚接控制电路中放大器的6管脚,PC6接控制电路中放大器的3管脚,PC7管脚接电源,其余管脚悬空。

7.2硬件检测

为了安全起见,先用万用表检测8255A的端口中的阳极与接地极以及其它端口是中有短路现象,检测确认线路安全之后再接到实验箱上,以免烧坏硬件。

7.3程序设计

根据实验原理与实验电路,初步写出程序的步骤,再绘制出完整的流程图,然后根

据流程图编写汇编程序。

流程图和程序见报告后的附录。

7.4调试运行

打开MF2KP微机实验集成开发环境,在“文件”菜单下粘贴自己编写的ASM文件进

行调试与运行。

八实验现象与说明

运行程序,通过键盘输入,输入数字1~8时8个LED灯,按照程序设定的方式进行花样变化,运行完一个周期后停止等待键盘的再次输入,输入不同的数字LED的变化花

样不同,输入的不是数字也不是字母Q或q时,显示错误信息,等待键盘输入正确信息,当输入字母Q或q时退出程序。

九实验小结与心得体会附录一:

程序流程图

附录二:

程序代码:

・*************************************************************************

5

;zmd.asm走马灯(灯光变幻)程序*

;内容:

用键盘输入数字键1-8控制走马灯变幻方式,按"Q"或者"q"退出*

;运行步骤:

1•按下数字键1-8控制走马灯进行8种不同的花样闪烁*

;2•按下"q"或者"Q",退出*

;3•按下了除数字键1-8以及"q"和"Q"之外的字母,显示输入错误提示*

;4•可重复进行直到按"q"或"Q"退出*

・*************************************************************************

5

ssegsegmentparastack'stack'

dw200dup(?

ssegends

dsegsegmentparapublic'data'

messagedb'pressthenumberkeyfrom1to8anddisplayvariouslight-patterns!

';提示信息db0ah,0dh

db'ifyouwanttoquit,pleasehit"q"or"Q"!

',0ah,0dh,'$'

message1db0ah,0dh,'youhavepressedawrongkey!

',0ah,0dh

db0ah,0dh,'$'

numdw0;初始化数字变量为0

data1db0aah,55h,0aah,55h,0aah,55h,0aah,55h;八种不同的灯光变幻组合

data2db01h,02h,04h,08h,10h,20h,40h,80h

data3db80h,20h,08h,02h,40h,10h,04h,01h

data4db01h,04h,10h,40h,02h,08h,20h,80h

data5db0c0h,30h,0ch,03h,0c0h,30h,0ch,03h

data6db03h,0ch,30h,0c0h,03h,0ch,30h,0c0h

data7db81h,42h,24h,18h,81h,42h,24h,18h

data8db18h,24h,42h,81h,18h,24h,42h,81h

dsegends

csegsegmentparapublic'code'

assumess:

sseg,cs:

cseg,ds:

dseg

mprocfar

sta比

mov

ax,ds

push

ax

mov

ax,00h

push

ax

;保留程序数据段地址

movdx,303h

;取8255的控制端口的地址

moval,83h

;初始化8255的A口为输出模式

outdx,al

exut:

movdx,segmessage

movds,dxmovdx,offsetmessage

 

movah,9

int21h

movdx,300hmoval,OOhoutdx,al

movah,08hint21hcmpal,'q'jzquitcmpal,Qjzquitbegin:

callledflash

jmpexut

quit:

movdx,300h

moval,00houtdx,al

movah,4chint21hmendpdelay2proc

pushcx

pushbx

movcx,0ffffhdl4:

movbx,0ffffh

dl3:

decbx

jnzdl3

deccx

jnzdl4popbxpopcxretdelay2endpledflashprocchoice1:

cmpal,'1'

jnechoice2

movsi,offsetdata1jmphere

choice2:

cmpal,'2'

jnechoice3

movsi,offsetdata2jmphere

choice3:

cmpal,'3'

jnechoice4

movsi,offsetdata3

;初始化灯LED全灭

;取8255的端口A的地址

;使8255的PA0-PA7全为0

;使所有的灯LED全灭

;调用DOS21H功能08H进行键盘输入判断

;检测到"q",退出

;检测到"Q",退出

;调用灯光变幻过程

;灯LED全灭

;取8255的端口A的地址

;使8255的PA0-PA7全为0

;使所有的灯LED全灭

;DOS功能调用

;返回DOS

;检测键盘输入了字符,以便确定哪种闪烁方式

;置第一种灯光变幻组合

;置第二种灯光变幻组合

;置第三种灯光变幻组合

 

 

jmpherechoice4:

cmpal,'4'

jnechoice5movsi,offsetdata4jmphere

choice5:

cmpal,'5'

jnechoice6movsi,offsetdata5jmphere

choice6:

cmpal,'6'

jnechoice7movsi,offsetdata6jmphere

choice7:

cmpal,'7'

jnechoiceOmovsi,offsetdata7jmphere

choice8:

cmpal,'8'

jnechoiceOmovsi,offsetdata8jmphere

choiceO:

leadx,message1movah,9int21hjmpexuthere:

pushbx

movbx,nummoval,[si+bx]popbxmovdx,300houtdx,alincnumcmpnum,09hjeexitcalldelay2jmphereexit:

movnum,0

retledflashendpcsegendsendstart

;置第四种灯光变幻组合

;置第五种灯光变幻组合

;置第六种灯光变幻组合

;置第七种灯光变幻组合

;置第七种灯光变幻组合

;按错键提示,并重新开始接受输入

;送加电数据

;取8255的端口A的地址

;输出加电数据到端口A

;改变数字变量的值

 

sjnd.asm走马灯〔灯光变幻〕程序

内容;用键盘输入数字讎1袖控制走马灯变幻方式,按"Q“或者川”退出运行步骤;1-按下数字^1-6^制走马灯进行8种不同的花样闪烁

2.按下”q"或者"QS退出

3.按下了除数字龍T遞F”和"Q"之外的字母,显示愉入错误提示

4.可重复进行直到按F“或"Q“邃出

■*

*

□***塞*曹***斗耳累岸卡*斗*醫**勒斗*曹岸电除斗耳累*电*斗*議*卡*斗*曹當斗耳醫*电*斗*議*卡*斗*就***斗耳曹*电*斗*嵐*sseg

sseg:

segmentparastack'stack'

dv200dup(?

ends

dsegmessage

segmentparapublic'dataT

db

db

db

messageldb

'pressthenumberkeyfron1to8anddisplayvariouslight-patterns!

1;系统提示信息Oah,Oidh

"ifyouwant丈口quit,pleasehit''q""or1fQ!

!

!

\OahjOdh,'$'

Oahf0'dh,nyouhavtpressedawrongkey!

"』Hah,Odh

dbOsh,Odh/贸

0

Oaahj55h,Oaah,55%Oaah,55h,Oaah,55h;A种不同的灯光变幻组耳

01%02h,04h,OSh,lOh,20b,40%8Oh

SOh,丹虬Oah,02hj40h,lOh,04h,Olh

Olh,D4h?

1Oh,4Oh,02h,08h,20^80h

0c0hf3Oh,Ocha03hfOcOh,30%Och,03Hl

03hfOchf30hjOcOh,03tbOch,30h,OcOh

Sih,42h,24h异1%42h,24h,18h

lBh,24h,42h,Slhf18h,24h,42h,81h

nw

dv

data1

db

data2

db

data3

db

data4

db

dataS

db

data6

db

dttta7

db

dataS

db

dsegt

ends

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 艺术

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

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