微机原理走马灯课程设计.docx
- 文档编号:5324212
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:12
- 大小:175.33KB
微机原理走马灯课程设计.docx
《微机原理走马灯课程设计.docx》由会员分享,可在线阅读,更多相关《微机原理走马灯课程设计.docx(12页珍藏版)》请在冰豆网上搜索。
微机原理走马灯课程设计
走马灯的设计与实现
实验目的
通过走马灯的设计与制作,深入了解与掌握利用可编程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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 走马灯 课程设计