微机原理与接口实验报告.doc
《微机原理与接口实验报告.doc》由会员分享,可在线阅读,更多相关《微机原理与接口实验报告.doc(20页珍藏版)》请在冰豆网上搜索。
微机原理与接口实验报告
班级:
计算机班
姓名:
学号:
日期:
2016.12.16
目录
实验1六位数码管动态显示实验 3
实验2小键盘案件识别实验 7
实验38位AD转换实验 12
实验4步进电机实验 16
实验1六位数码管动态显示实验
1.1实验目的
了解共阴级数码管显示数字的原理,掌握六位共阴级数码管动态显示的控制方法。
1.2实验原理、内容,接线图,程序流程图,必要时附上实验步骤和电路原理图。
【实验原理和内容】
将0-9这十个数字按照从右到左的顺序循环步进显示,即首先从最右端数码管显示“0”,间隔一定时间后向左移动一位,直到最左端。
到最左端后变换数字,按照同样的方法显示1-9,以此循环往复。
做实验之前需要将七段数码管上方的拨动开关打到“CPU”位置。
【实验接线图】
只需将LED_CS连接到地址译码200H即可。
【电路原理图】
实验系统使用了6个七段共阴级数码管,形成6位数码管显示电路,如图所示。
该电路由六个共阴级数码管组成,使用了段码锁存器(字形锁存器)74LS273、OC门驱动器和位码锁存驱动器TPIC6B273。
段码锁存器(字形锁存器)74LS273输出高电平有效,位码锁存驱动器TPIC6B273输出低电平有效。
/CS为两个锁存器的片选信号。
地址线A0用来区分选择段码还是位码,在/CS=0,/IOW=0的情况下,A0=0CPU发出来的数据被锁到段码锁存器(字形锁存器)74LS273,保存字形编码,A0=1CPU发出来的数据被锁到位码锁存驱动器TPIC6B273,保存位选码。
由于位码锁存驱动器TPIC6B273将输入的每一位数据反相后再输出的,所以对于段选和位选输入代码来说,都是高电平有效(高电平点亮数码管)。
每个七段共阴级数码管显示十进制/16进制数字的字形编码如图。
【程序流程图】
1.3完整的程序清单和相关注释。
.modelsmall
.386
datasegment
numdb3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh
dataends
codesegment
assumecs:
code,ds:
data
start:
movsi,0
movax,data
movds,ax
leabx,num
starter:
movcx,6
movah,00000001b
scan:
movdx,200h
moval,[bx+si]
outdx,al
movdx,201h
moval,ah
outdx,al
calldelay
shlah,1
loopscan
addsi,1
cmpsi,10
jnzstarter
subsi,10
jmpstarter
delay procnear;延时子程序
pushbx
pushcx
movbx,8
d1:
movcx,0
d2:
loopd2
decbx
jned1
popcx
popbx
ret
delay endp
codeends
endstart
1.4实验数据及结果分析
实验结果:
数码管按从右到左的顺序循环步进显示0-9十个数字
1.5实验过程中遇到的问题,以及解决办法
延时子程序的设计出现问题,最后参照实验指导书上的代码进行改动。
1.6实验总结(收获体会,不足之处,以及今后应注意的问题)
掌握了共阴极数码管显示数字的原理,并能对其的动态显示进行编程。
实验2小键盘按键识别实验
1.1实验目的
掌握用软件方法识别行列式键盘按键的原理和方法。
1.2实验原理、内容,接线图,程序流程图,必要时附上实验步骤和电路原理图。
【实验原理和内容】
当实验板上的小键盘有键按下时,将其对应的键号(16进制数0-F)显示在七段数码管上。
实验系统提供了一个16按键的小键盘,采用行列式4×4键盘,形成矩阵结构。
通常,该键盘矩阵的行线和列线分别与8255并行接口的两个端口连接,通过程序的检测和判断来识别按键操作。
当需要检测某键按下时,依次给1、2、3、4行线输出低电平,某键按下时,相应的行和列上的两条线短路,即相应的列线被拉成低电平,其他列线维持高电平。
程序通过并口读回4根列线的值,根据行线列线为0的状态即可判断出该按键的键号(即位置)。
【实验原理图】
【实验接线图】
【实验流程图】
1.3完整的程序清单和相关注释。
.Modelsmall
.386
DATASEGMENT
rowportdw200h;A口行扫描线输出
colportdw201h;B口列检测线输入
controlportdw203h;控制字
led_csdw210h;led灯片选
chardb3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,67h,77h,7ch,39h,5eh,79h,71h
tabledw0fefeh
dw0fefdh
dw0fefbh
dw0fef7h
dw0fdfeh
dw0fdfdh
dw0fdfbh
dw0fdf7h
dw0fbfeh
dw0fbfdh
dw0fbfbh
dw0fbf7h
dw0f7feh
dw0f7fdh
dw0f7fbh
dw0f7f7h
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
beg:
MOVAX,DATA
MOVDS,AX
movdx,controlport
moval,10000010b
outdx,al
L1:
callkey1
movbh,ah
movbl,al
calldelay
callkey1
cmpbl,al
jnzbeg
cmpbh,ah
jnzbeg
movax,bx
calldisp
calldelay
jmpL1
key1proc
movah,0feh
key2:
moval,ah
movdx,rowport
outdx,al
movdx,colport
inal,dx
oral,0f0h
cmpal,0ffh
jnenum1
rolah,1
jmpkey2
num1:
ret
key1endp
delayproc
pushcx
movcx,8000h
delay1:
loopdelay1
popcx
ret
delayendp
dispproc
pushbx
pushdx
key3:
movsi,offsettable
movdi,offsetchar
movcx,16
key4:
cmpax,[si]
jzkey5;
incsi
incsi
incdi
loopkey4
key5:
moval,[di]
movdx,led_cs
outdx,al
moval,01h
incdx
outdx,al
popdx
popbx
ret
dispendp
CODEENDS
ENDSTART
1.4实验数据及结果分析
实验结果:
在小键盘上按键输入值,数码管上就显示出按键值。
1.5实验过程中遇到的问题,以及解决办法
刚开始对8255的工作方式不太熟悉,不是很清楚工作原理,最后查询接口书并逐渐掌握。
1.6实验总结(收获体会,不足之处,以及今后应注意的问题)
掌握了行列式键盘按键的原理,能够运用8255方式0的编程方法。
实验38位A/D转换实验
1.1实验目的
掌握模/数信号转换的基本原理,掌握ADC0809芯片的查询方式使用方法。
1.2实验原理、内容,接线图,程序流程图,必要时附上实验步骤和电路原理图。
【实验原理和内容】
从ADC0809通道0输入0--+5V可变电压,启动AD转换,使用查询方式读取转换数据,并以16进制显示在数码管上。
【实验接线图】
【电路原理图】
【实验流程图】
1.3完整的程序清单和相关注释。
;08.08.02TESTa/dOK
.modelsmall
.386
AD_IOEQU200H
LED_IOEQU210H
DATASEGMENT
LEDCODEDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,67H,77H,7CH,39H,5EH,79H,71H;0-F的LED显示编码
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
RPT:
MOVDX,AD_IO
OUTDX,AL
MOVDX,AD_IO
ADDDX,2
L1:
INAL,DX
TESTAL,01H
JZL1
MOVDX,AD_IO
INCDX
INAL,DX
CALLDISP
JMPRPT
DISPPROC
MOVSI,OFFSETLEDCODE
MOVBX,SI
MOVCH,AL
MOVCL,4
RORAL,CL
ANDAL,0FH
MOVAH,0
ADDBX,AX
MOVAL,[BX]
MOVDX,LED_IO
OUTDX,AL
MOVAL,02H
INCDX
NOP
OUTDX,AL
CALLDELAY
MOVAL,CH
ANDAL,0FH
MOVAH,0
ADDSI,AX
MOVAL,[SI]
MOVDX,LED_IO
OUTDX,AL
MOVAL,01H
INCDX
OUTDX,AL
CALLDELAY
RET
DISPENDP
DELAYPROC
PUSHCX
MOVCX,50H
X1:
LOOPX1
POPCX
RET
DELAYENDP
CODEENDS
ENDSTART
1.4实验数据及结果分析
转动电位器,数码管上显示出数字
1.5实验过程中遇到的问题,以及解决办法
编程上遇到问题,最后通过询问同学解决了问题
1.6实验总结(收获体会,不足之处,以及今后应注意的问题)
对于ADC0809的应用有了更深的理解,