微机原理与接口技术Word格式.docx
- 文档编号:837829
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:82
- 大小:1.40MB
微机原理与接口技术Word格式.docx
《微机原理与接口技术Word格式.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术Word格式.docx(82页珍藏版)》请在冰点文库上搜索。
INCAL;
数据自加1
LOOPAA1
AA2:
JMPAA2
CODEENDS
ENDSTART
5.点击
,编译文件,若程序编译无误,则输出如图4所示的输出信息,然后再点击
进行链接,链接无误输出如图5所示的输出信息。
图4
图5
6.连接PC与实验系统的通讯电缆,打开实验系统电源。
7.编译、链接都正确并且上下位机通讯成功后,就可以下载程序,联机调试了。
可以通过端口列表中的“端口测试”来检查通讯是否正常。
点击下载程序。
为编译、链接、下载组合按钮,通过该按钮可以将编译、链接、下载一次完成。
下载成功后,在输出区的结果窗中会显示“加载成功!
”,表示程序已正确下载。
起始运行语句下会有一条绿色的背景。
如图6所示。
图6
8.将输出区切换到调试窗口,使用D0000:
3000命令查看内存3000H起始地址的数据,如图7所示。
存储器在初始状态时,默认数据为CC。
图7
9.点击按钮
运行程序,然后再点击
来停止程序运行,接下来观察程序运行结果,仍使用命令D0000:
3000来观察数据变化。
如图8所示。
图8
10.也可以通过
在语句AA2:
JMPAA2处设置断点,断点显示如图9所示,然后运行程序,当遇到断点时程序会停下来,然后观察数据。
可以使用E0000:
3000来改变该地址单元的数据,如图10所示,输入11后,按“空格”键,可以接着输入第二个数,如22,结束输入按“回车”键。
图9
图10
操作练习:
编写程序,将内存3500H单元开始的8个数据复制到3600H单元开始的数据区中。
通过调试验证程序功能,使用E命令修改3500H单元开始的数据,运行程序后使用D命令查看3600H单元开始的数据。
实验二数制转换实验
一、实验目的
1.掌握不同进制数及编码相互转换的程序设计方法,加深对数码转换的理解。
2.熟悉程序调试的方法。
二、实验设备
Pc微机一台,TD-PITE实验装置一套。
三、实验内容及步骤
计算机输入设备输入的信息一般是由ASSII码或BCD码表示的数据或字符,CPU一般均用二进制数进行计算或其它信息处理,处理结果的输出又必须依照外设的要求变为ASCII码、BCD码或七段显示码等。
因此,在应用软件中,各类数制的转换是必不可少的。
计算机与外设间的数制转换关系如图所示2-1所示,数制对应关系如表2-1所示。
图2-1数制转换关系
表1
数制对应关系表
十六进制数
BCD码
二进制机器码
ASCII码
七段码
0000
30H
40H
3FH
1
0001
31H
79H
06H
2
0010
32H
24H
5BH
3
0011
33H
4FH
4
0100
34H
19H
66H
5
0101
35H
12H
6DH
6
0110
36H
02H
7DH
7
0111
37H
78H
07H
8
1000
38H
00H
7FH
9
1001
39H
18H
67H
A
1010
41H
08H
77H
B
42H
03H
7CH
C
1011
43H
46H
D
1100
44H
21H
5EH
E
1110
45H
F
1111
0EH
71H
1.将ASCII码表示的十进制数转换为二进制数
十进制表示为:
Di代表十进制数0,1,2,…,9;
上式转换为:
由此可归纳十进制数转换为二进制数的方法:
从十进制数的最高位Dn开始作乘10加次位的操作,依次类推,则可求出二进制数的结果。
参考流程:
实验程序:
PUBLICSADD
SSTACKSEGMENTSTACK
DW64DUP(?
DATASEGMENT
SADDDB30H,30H,32H,35H,36H;
十进制数:
00256
DATAENDS
CODE,DS:
DATA
MOVAX,DATA
MOVAX,OFFSETSADD
MOVSI,AX
MOVBX,000AH
MOVCX,0004H
MOVAH,00H
MOVAL,[SI]
SUBAL,30H
A1:
IMULBX
MOVDX,[SI+01]
ANDDX,00FFH
ADCAX,DX
INCSI
LOOPA1
A2:
JMPA2
CODEENDS
实验步骤:
(1)绘制程序流程图,编写实验程序,经编译、链接无误后装入系统;
(2)待转换数据存放于数据段,根据自己要求输入,默认为30H,30H,32H,35H,36H;
(3)运行程序,然后停止程序;
(4)查看AX寄存器,即为转换结果,应为:
0100;
(5)反复试几组数据,验证程序的正确性。
2.将十进制数的ASCII码转换为BCD码
从键盘输入五位十进制数的ASCII码,存放于3500H起始的内存单元中,将其转换为BCD码后,再按位分别存入350AH起始的内存单元内。
若输入的不是十进制的ASCII码,则对应存放结果的单元内容为“FF”。
由表1可知,一字节ASCII码取其低四位即变为BCD码。
CODE
MOVCX,0005H;
转换位数
MOVDI,3500H;
ASCII码首地址
MOVBL,0FFH;
将错误标志存入BL
MOVAL,[DI]
CMPAL,3AH
JNBA2;
不低于3AH则转A2
JBA2;
低于30H则转A2
MOVBL,AL
MOVAL,BL;
结果或错误标志送入AL
MOV[DI+0AH],AL;
结果存入目标地址
INCDI
A3:
JMPA3
(1)自己绘制程序流程图,然后编写程序,编译、链接无误后装入系统;
(2)在3500H~3504H单元中存放五位十进制数的ASCII码,即:
键入E3500后,输入31,32,33,34,35;
(3)运行程序,然后停止程序运行;
(4)键入D350A,显示运行结果,应为:
0000:
350A0102030405CC…
(5)反复测试几组数据,验证程序功能。
3.将十六位二进制数转换为ASCII码表示的十进制数
十六位二进制数的值域为0~65535,最大可转换为五位十进制数。
五位十进制数可表示为:
Di:
表示十进制数0~9
将十六位二进制数转换为五位ASCII码表示的十进制数,就是求D1~D4,并将它们转换为ASCII码。
自行绘制程序流程图,编写程序可参考例程。
例程中源数存放于3500H、3501H中,转换结果存放于3510H~3514H单元中。
ASSUMECS:
MOVSI,3500H;
源数据地址
MOVDX,[SI]
MOVSI,3515H;
目标数据地址
DECSI
MOVAX,DX
MOVDX,0000H
MOVCX,000AH;
除数10
DIVCX;
得商送AX,得余数送DX
XCHGAX,DX
ADDAL,30H;
得Di得ASCII码
MOV[SI],AL;
存入目标地址
CMPDX,0000H
JNEA1;
判断转换结束否,未结束则转A1
CMPSI,3510H;
与目标地址得首地址比较
JZA3;
等于首地址则转A3,否则将剩余地址
DECSI;
中填30H
MOVAL,30H
MOV[SI],AL
JMPA2
JMPA3
ENDSTART
实验步骤
(1)编写程序,经编译、链接无误后,装入系统;
(2)在3500H、3501H中存入0C00;
(3)运行程序,然后停止运行;
(4)检查运行结果,键入D3510,结果应为:
3030303132;
(5)可反复测试几组数据,验证程序的正确性。
4.十六进制数转换为ASCII码
由表1中十六进制数与ASCII码的对应关系可知:
将十六进制数0H~09H加上30H后得到相应的ASCII码,AH~FH加上37H可得到相应的ASCII码。
将四位十六进制数存放于起始地址为3500H的内存单元中,把它们转换为ASCII码后存入起始地址为350AH的内存单元中。
自行绘制流程图。
实验程序
MOVCX,0004H
MOVDI,3500H;
十六进制数源地址
MOVDX,[DI]
MOVAX,DX
ANDAX,000FH;
取低4位
CMPAL,0AH
JBA2;
小于0AH则转A2
ADDAL,07H;
在A~FH之间,需多加上7H
ADDAL,30H;
转换为相应ASCII码
MOV[DI+0DH],AL;
DECDI
PUSHCX
MOVCL,04H
SHRDX,CL;
将十六进制数右移4位
POPCX
LOOPA1
ENDSTART
实验步骤
(1)编写程序,经编译、链接无误后装入系统;
(2)在3500H、3501H中存入四位十六进制数203B,即键入E3500,然后输入3B20;
(3)先运行程序,然后再停止运行;
(4)键入D350A,显示结果为:
350A32303342CC…;
(5)反复输入几组数据,验证程序功能。
5.BCD码转换为二进制数
将四个二位十进制数的BCD码存放于3500H起始的内存单元中,将转换的二进制数存入3510H起始的内存单元中,自行绘制流程图并编写程序。
XORAX,AX
MOVSI,3500H
MOVDI,3510H
MOVAL,[SI]
ADDAL,AL
ADDAL,BL
ADDAL,[SI]
MOV[DI],AL
JMPA2
(2)将四个二位十进制数的BCD码存入3500H~3507H中,即:
先键入E3500,然后输入0102030405060708;
(3)先运行程序,然后停止运行;
(4)键入D3510显示转换结果,应为:
0C22384E;
实验三8255并行接口实验
一、实验目的
1、学习并掌握8255的工作方式及其应用。
2、掌握8255典型应用电路的接法。
3、掌握程序固化及脱机运行程序的方法。
二、实验设备
Pc机一台,TD-PITE实验装置一套。
三、实验内容
1、基本输入输出实验。
编写程序,使8255的A口为输入,B口为输出,完成波动开关到数据灯的数据传输。
要求只要开关拨动,数据灯的显示就发生相应改变。
2、流水灯显示实验。
编写程序,使8255的A口和B口均为输出,数据灯D7-D0由左向右,每次仅亮一个灯,循环显示,D15-D8与D7-D0正相反,由右向左,每次仅点亮一个灯,循环显示。
实验原理:
并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。
CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位或32位等。
8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:
方式0--基本输入/输出方式、方式1--选通输入/输出方式、方式2--双向选通工作方式。
8255的内部结构及引脚如图3-1所示,8255工作方式控制字和C口按位置位/复位控制字格式如图3-2所示。
图3-18255的内部结构和外部引脚
(a)工作方式控制字(b)c口按位置位/复位控制字
图3-28255控制字格式
8255实验单元电路图如下图所示:
图3-38255实验单元电路图
1.基本输入输出实验
本实验使8255端口A工作在方式0并作为输入口,端口B工作在方式0并作为输出口。
用一组开关信号接入端口A,端口B输出线接至一组数据灯上,然后通过对8255芯片编程来实现输入输出功能。
(1)实验接线图如图3-4所示,按图连接实验线路图;
图3-48255基本输入/输出实验接线图
DW32DUP(?
ASSUMECS:
MOVDX,0646H
MOVAL,90H
OUTDX,AL
MOVDX,0640H
INAL,DX
CALLDELAY
MOVDX,0642H
JMPAA1
DELAY:
MOVCX,0F00H
PUSHAX
POPAX
LOOPAA2
POPCX
RET
(2)编写实验程序,经编译、连接无误后装入系统;
(3)运行程序,改变拨动开关,同时观察LED显示,验证程序功能。
(4)点机“调试”下拉菜单中的“固定程序”项,将程序固化到系统存储器中。
2.流水灯显示实验
使8255的A口和B口均为输出,数据灯D7~D0由左向右,每次仅亮一个灯,循环显示,D15~D8与D7~D0正相反,由右向左,每次仅点亮一个灯,循环显示。
实验接线图如图4所示。
图3-58255流水灯实验接线图
(1)按图3-5连接实验线路图;
(2)编写实验程序,经编译、链接无误后装入系统;
(3)运行程序,观察LED灯的显示,验证程序功能;
(4)自己改变流水灯的方式,编写程序。
SSTACKSEGMENTSTACK
MOVAL,80H
OUTDX,AL
MOVBX,8001H
MOVAL,BH
RORBH,1
MOVDX,0642H
MOVAL,BL
ROLBL,1
CALLDELAY
JMPAA1
MOVCX,0F000H
POPAX
LOOPAA2
POPCX
RET
实验四8255键盘及显示接口实验
了解键盘扫描及数码显示的基本原理,熟悉8255的编程/
PC机一台,TD-PITE实验装置一套。
将8255单元与键盘及数码管显示单元连接,编写实验程序,扫描键盘输入,并将扫描结果送数码管显示。
键盘采用4×
4键盘,每个数码管显示值可为0-F共16个数,。
实验具体内容如下:
将键盘进行编号,记作0—F,当按下一个键时,将该键对应的编号在下一个数码管上显示出来,再按下一个按键时,便将这个按键的编号在下一个数码管上显示出来,数码管上可以显示最近4次按下的按键编号。
实验内容:
4键盘,每个数码管显示值可为0~F共16个数。
将键盘进行编号,记作0~F,当按下其中一个按键时,将该按键对应的编号在一个数码管上显示出来,当再按下一个按键时,便将这个按键的编号在下一个数码管上显示出来,数码管上可以显示最近4次按下的按键编号。
8255键盘及显示实验参考接线图如图1所示。
键盘及数码管显示单元电路图如图4-1所示。
图4-28255键盘扫描及数码管显示实验线路图
功能描述:
键盘及数码管显示实验,通过8255控制。
8255的B口控制数码管的段显示,A口控制键盘列扫描及数码管的位驱动,C口控制键盘的行扫描。
按下按键,该按键对应的位置将按顺序显示在数码管上。
MY8255_AEQU0600H
MY8255_BEQU0602H
MY8255_CEQU0604H
MY8255_CONEQU0606H
DW16DUP(?
SSTACKENDS
DATASEGMENT
DTABLEDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H
DB7FH,6FH,77H,7CH,39H,5EH,79H,71H
DATAENDS
CODESEGMENT
CODE,DS:
MOVAX,DATA
MOVDS,AX
MOVSI,3000H
MOVAL,00H
MOV[SI],AL;
清显示缓冲
MOV[SI+1],AL
MOV[SI+2],AL
MOV[SI+3],AL
MOV[SI+4],AL
MOV[SI+5],AL
MOVDI,3005H
MOVDX,MY8255_CON;
写8255控制字
MOVAL,81H
OUTDX,AL
BEGIN:
CALLDIS;
调用显示子程序
CALLCLEAR;
清屏
CALLCCSCAN;
扫描
JNZINK1
JMPBEGIN
INK1:
CALLDIS
CALLDALLY
CALLCLEAR
CALLCCSCAN
JNZINK2;
有键按下,转到INK2
INK2:
MOVCH,0FEH
MOVCL,00H
COLUM:
MOVAL,CH
MOVDX,MY8255_A
MOVDX,MY8255_C
INAL,DX
L1:
TESTAL,01H;
isL1?
JNZL2
MOVAL,00H;
L1
JMPKCODE
L2:
TESTAL,02H;
isL2?
JNZL3
MOVAL,04H;
L2
JMPKCODE
L3:
TESTAL,04H;
isL3?
JNZL4
MOVAL,08H;
L3
L4:
TESTAL,08H;
isL4?
JNZNEXT
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 接口 技术