- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机与外设间的数制转换关系如图1.14所示,数制对应关系如表1.4所示。
图1.14数制转换关系
1.将ASCII码表示的十进制数转换为二进制数
十进制表示为:
(1)
Di代表十进制数0,1,2,…,9;
上式转换为:
(2)
由式(2)可归纳十进制数转换为二进制数的方法:从十进制数的最高位Dn开始作乘10加次位的操作,依次类推,则可求出二进制数的结果。
(3)运行程序,然后停止程序。
(4)查看AX寄存器,即为转换结果,应为:0100H。
(5)反复试几组数据,验证程序的正确性。
2.将十进制数的ASCII码转换为BCD码
从键盘输入五位十进制数的ASCII码,存放于3500H起始的内存单元中,将其转换为BCD码后,再按位分别存入350AH起始的内存单元内。若输入的不是十进制的ASCII码,则对应存放结果的单元内容为“FF”。由表1.4可知,一字节ASCII码取其低四位即变为BCD码。
1.2
TD-PITE是一套80X86微机原理及接口技术实验教学系统,其主要系统构成如表1.1所示。
表1.1TD-PITE系统构成
系统硬件结构如图1.1所示。
图1.1TD-PITE系统硬件结构图
1.
TD-PITE实验教学系统由I386EX系统板和接口实验平台两部分组合而成。TD-PITE主要系统配置如表1.2所示。
程序流程图如图1.15所示。实验参考程序如下。
实验程序清单(例程文件名:A2-1.ASM)
SSTACKSEGMENT STACK
DW64 DUP(?)
SSTACKENDS
DATASEGMENT
SADDDB30H,30H,32H,35H,36H;十进制数:00256
DATAENDS
CODESEGMENT
MOVDX,0000H
MOVCX,000AH;除数10
DIVCX;得商送AX,得余数送DX
XCHG AX,DX
ADDAL,30H;得Di的ASCII码
MOV[SI],AL;存入目标地址
CMPDX,0000H
JNEA1;判断转换结束否,未结束则转A1
A2:CMPSI,3510H;与目标地址得首地址比较
实验程序清单(例程文件名:A2-2.ASM)
SSTACKSEGMENT STACK
DW64 DUP(?)
SSTACKENDS
CODESEGMENT
ASSUME CS:CODE
START:MOVCX, 0005H;转换位数
MOVDI, 3500H;ASCII码首地址
A1:MOVBL, 0FFH;将错误标志存入BL
实验程序清单(例程文件名:A2-3.ASM)
SSTACKSEGMENT STACK
DW64 DUP(?)
SSTACKENDS
CODESEGMENT
ASSUME CS:CODE
START:MOVSI,3500H;源数据地址
MOVDX,[SI]
MOVSI,3515H;目标数据地址
A1:DECSI
MOVAX,DX
ANDDX, 00FFH
ADCAX, DX
SBBAX, 30H
INCSI
LOOPA1
A2:JMPA2
CODEENDS
ENDSTART
实验步骤:
(1)绘制程序流程图,编写实验程序,经编译、链接无误后装入系统。
(2)待转换数据存放于数据段,根据自己要求输入,默认为30H,30H,32H,35H,36H。
1
1
掌握TD系列微机原理及接口技术教学实验系统的操作,熟悉Wmd86联机集成开发调试软件的操作环境。
1
PC机一台,TD-PITE实验装置一套。
1
编写实验程序,将00H~0FH共16个数写入内存3000H开始的连续16个存储单元中。
1
1. 运行Wmd86软件,进入Wmd86集成开发环境。
2. 根据程序设计使用语言的不同,通过在“设置”下拉列表来选择需要使用的语言和寄存器类型,这里我们设置成“汇编语言”和“16位寄存器”,如图1.4、图1.5所示。设置选择后,下次再启动软件,语言环境保持这次的修改不变。本章选择16位寄存器。
ENDSTART
实验步骤:
(1)自己绘制程序流程图,然后编写程序,编译、链接无误后装入系统。
(2)在3500H~3504H单元中存放五位十进制数的ASCII码,即:键入E3500后,输入31,32,33,34,35。
(3)运行程序,待程序运行停止。
(4)在调试窗口键入D350A,显示运行结果,应为:
系统提供开放的386系统总线,使用户可以充分学习并掌握系统总线的特点及操作方法。实验平台上提供丰富的实验单元,如中断控制器8259、DMA控制器8237、定时/计数器8254、并行接口8255、串行通信接口8251、SRAM、ADC0809、DAC0832、单次脉冲、键盘扫描及数码管显示、开关输入及发光管显示、电子发声器、点阵LED显示、图形LCD显示、步进电机、直流电机及温度控制单元电路。
MOVAL, [DI]
CMPAL, 3AH
JNBA2;不低于3AH则转A2
SUBAL, 30H
JBA2;低于30H则转A2
MOVBL,AL
A2:MOVAL, BL;结果或错误标志送入AL
MOV[DI+0AH],AL;结果存入目标地址
INCDI
LOOPA1
MOVAX,4C00H
INT21H;程序终止
CODEENDS
表1.4数制对应关系表
十六进制
BCD码
二进制
机器码
ASCII码
七段码
共阳
共阴
0
0000
0000
30H
40H
3FH
1
0001
0001
31H
79H
06H
2
0010
0010
32H
24H
5BH
3
0011
0011
33H
30H
4FH
4
0100
0100
34H
19H
66H
5
0101
0101
35H
12H
6DH
6
0110
8086微机原理及接口技术
实验教程
合肥工业大学电气与自动化系
实验一
1
1.1
系统以具有PC104总线接口的i386EX单板机和一个开放的微机接口教学实验平台,通过PC104总线组合插接方式构成的高性能80x86微机原理与接口技术教学实验系统,全面支持80x86实模式和保护模式的16/32位微机原理及接口技术的实验教学。开放的80386系统总线,不仅可以进行各种接口实验的学习,还可以进行基于386微处理器的嵌入式应用开发。I386EX是一款嵌入式微处理器,其在Intel 386SX微处理器的基础上集成了丰富的外围接口(如8259、8254、16C450和8237等),内部为32位总线,外部为16位数据总线,具有64MB的寻址能力,保持与标准的32位80386CPU相同的指令系统,可完全支持80X86微机原理及接口技术课程的教学,使教学内容与主流技术相一致,达到学以致用的目的。
图1.8编译输出信息界面
6. 连接PC与实验系统的通讯电缆,打开实验系统电源。
7. 编译、链接都正确并且上下位机通讯成功后,就可以下载程序,联机调试了。可以通过端口列表中的“端口测试”来检查通讯是否正常。点击 下载程序。 为编译、链接、下载组合按钮,通过该按钮可以将编译、链接、下载一次完成。下载成功后,在输出区的结果窗中会显示“加载成功!”,表示程序已正确下载。起始运行语句下会有一条绿色的背景。如图1.9所示。
表1.380X86微机系统信号线说明
1.
如图1.3所示,通过RS-232C通讯电缆将PC微机的串口与系统实验平台的串口连在一起,完成系统实验平台与PC机的硬件连接。
图1.3TD-PITE实验系统与PC机连接
Wmd86具备可视化源语言调试界面,支持80X86汇编语言及C语言程序设计,并具有单步、跳过、断点、连续、变量跟踪等调试功能,支持实验程序的动态调试。
图1.4语言环境设置界面图图1.5寄存器设置界面
3. 语言和寄存器选择后,点击新建或按Ctrl+N组合键来新建一个文档,如图1.6所示。默认文件名为Wmd861。
图1.6新建文件界面
4. 编写实验程序,如图1.7所示,并保存,此时系统会提示输入新的文件名,输完后点击保存。
图1.7程序编辑界面
5. 点击 ,编译文件,若程序编译无误,则可以继续点击 进行链接,链接无误后方可以加载程序。编译、链接后输出如图1.8所示的输出信息。
0000:350A01 02 03 04 05 CC …
(5)反复测试几组数据,验证程序功能。
3. 将十六位二进制数转换为ASCII码表示的十进制数
十六位二进制数的值域为0~65535,最大可转换为五位十进制数。
五位十进制数可表示为:
Di:表示十进制数0~9
将十六位二进制数转换为五位ASCII码表示的十进制数,就是求D1~D4,并将它们转换为ASCII码。自行绘制程序流程图,编写程序可参考例程。例程中源数存放于3500H、3501H中,转换结果存放于3510H~3514H单元中。
图1.11运行程序后数据变化显示
10. 也可以通过设置断点,断点显示如图1.12所示,然后运行程序,当遇到断点时程序会停下来,然后观察数据。可以使用E0000:3000来改变该地址单元的数据,如图1.13所示,输入11后,按“空格”键,可以接着输入第二个数,如22,结束输入按“回车”键。
图1.12断点设置显示图1.13修改内存单元数据显示界面
图1.9加载成功显示界面
8. 将输出区切换到调试窗口,使用D0000:3000命令查看内存3000H起始地址的数据,如图1.10所示。存储器在初始状态时,默认数据为CC。
图1.10内存地址单元数据显示
9. 点击按钮 运行程序,待程序运行停止后,通过D0000:3000命令来观察程序运行结果。如图1.11所示。
0110
36H
02H
7DH
7
0111
wenku.baidu.com0111
37H
78H
07H
8
1000
1000
38H
00H
7FH
9
1001
1001
39H
18H
67H
A
1010
41H
08H
77H
B
1011
42H
03H
7CH
C
1100
43H
46H
39H
D
1101
44H
21H
5EH
E
1110
45H
06H
79H
F
1111
46H
0EH
71H
2. 熟悉程序调试的方法。
1
PC机一台,TD-PITE实验装置一套。
1
计算机输入设备输入的信息一般是由ASCII码或BCD码表示的数据或字符,CPU一般均用二进制数进行计算或其它信息处理,处理结果的输出又必须依照外设的要求变为ASCII码、BCD码或七段显示码等。因此,在应用软件中,各类数制的转换是必不可少的。
实验例程文件名为Wmd861.asm。
1
编写程序,将内存3500H单元开始的8个数据复制到3600H单元开始的数据区中。通过调试验证程序功能,使用E命令修改3500H单元开始的数据,运行程序后使用D命令查看3600H单元开始的数据。
1
1
1. 掌握不同进制数及编码相互转换的程序设计方法,加深对数制转换的理解。
表1.2TD-PITE系统的主要配置
TD-PITE实验箱布局如图1.2所示。
图1.2TD-PITE试验箱布局图
1.
TD-PITE采用组合式结构,即I386EX系统板加实验接口平台的形式。将I386EX系统板扣在实验接口平台上便构成80X86微机原理及接口技术教学实验系统,系统总线以排针和锥孔两种形式引出,实验时,与实验单元相连可完成相应的实验。系统引出信号线说明见表1.3所示。
实验程序清单(例程文件名为A2-4.ASM)
SSTACKSEGMENT STACK
JZA3;等于首地址则转A3,否则将剩余地址中填30H
DECSI
MOVAL,30H
MOV[SI],AL
JMPA2
A3:MOVAX,4C00H
INT21H;程序终止
CODEENDS
ENDSTART
实验步骤:
(1)编写程序,经编译、链接无误后,装入系统。
(2)在3500H、3501H中存入0C00。
(3)运行程序,待程序运行停止。
(4)检查运行结果,键入D3510,结果应为:30 30 30 31 32。
(5)可反复测试几组数据,验证程序的正确性。
4. 十六进制数转换为ASCII码
由表1.1中十六进制数与ASCII码的对应关系可知:将十六进制数0H~09H加上30H后得到相应的ASCII码,AH~FH加上37H可得到相应的ASCII码。将四位十六进制数存放于起始地址为3500H的内存单元中,把它们转换为ASCII码后存入起始地址为350AH的内存单元中。自行绘制流程图。
ASSUME CS:CODE, DS:DATA
START:MOVAX, DATA
MOVDS, AX
MOVAX, OFFSET SADD
MOVSI, AX
MOVBX, 000AH
MOVCX, 0004H
MOVAH, 00H
MOVAL, [SI]
SUBAL, 30H
A1:IMULBX
MOVDX, [SI+01]