xs微机原理与接口技术实验指导书测控专业.docx
- 文档编号:2344208
- 上传时间:2023-05-03
- 格式:DOCX
- 页数:28
- 大小:343.04KB
xs微机原理与接口技术实验指导书测控专业.docx
《xs微机原理与接口技术实验指导书测控专业.docx》由会员分享,可在线阅读,更多相关《xs微机原理与接口技术实验指导书测控专业.docx(28页珍藏版)》请在冰点文库上搜索。
xs微机原理与接口技术实验指导书测控专业
实验要求
1、带预习报告上机
根据实验要求,作好充分预习,设计实验硬件原理及接线图(必须标出相关的管脚号,以备硬件连线及测试),画出程序流程图,写出源程序清单,规划好调试步骤,上机时带预习报告。
注意:
无预习报告者不得做实验。
2、认真实验,经教师检查后,方可离开
注意掌握软、硬件调试方法,提高分析问题、解决问题的能力。
对所编写的程序必须十分清楚,作到知其然,亦知其所以然,硬件电路原理清楚,熟练应用常规的仪器(如万用表、示波器等)检查测试硬件电路。
指导教师还会根据实验要求,提出问题。
3、按时提交实验报告
实验结束后,在预习报告的基础上,完成实验报告,并于下次实验时交给指导教师。
实验报告格式
实验****************
一、实验目的
二、实验内容
三、硬件原理及接线图
四、程序流程图
五、程序清单
六、实验步骤
七、实验结果及现象分析
八、收获及建议
实验一DEBUG的使用和简单程序设计
一、实验目的
1.熟悉8086CPU指令集
2.掌握动态调试程序DEBUG
3.熟悉汇编程序的开发过程
4.认识HQFC集成操作软件。
5.掌握在HQFC集成环境中编辑、编译、连接汇编语言程序方法。
6.掌握INT21H软件中断来调用DOS内部子程序的方法
7.掌握简单程序的编制方法
二、实验设备
PC微机一台
三、实验内容
1.DEBUG命令练习
学会使用编辑命令A、反汇编命令U、寄存器修改命令R、内存单元查看命令U、内存单元修改命令E、写盘命令W、连续运行命令G、单步运行命令T、跟踪命令T。
debug的使用参见附2
2.简单程序设计——数据传送实验
1)编程将数据段中的一个字符串传送到附加段中,并输出附加段中的目标字符串到屏幕上。
2)修改此程序,采用字符串传送指令完成。
四、实验步骤
(一)、DEBUG命令练习
1.启动DEBUG程序
在windowsxp的开始菜单下,点击运行项,然后输入debug命令,将启动DEBUG程序。
出现DEBUG提示符
—;DEBUG提示符
2.帮助命令?
—?
;将会显示DEBUG可用的命令
3.用DEBUG的R命令查看、改变CPU寄存器的内容;
1)用R命令查看各寄存器的内容并纪录;-R
2)用R命令修改寄存器BX、SI、BP的值。
-RBX;查看BX
BX0000;已经是0
:
00ff;修改寄存器BX为00ff
-R;注意BX的内容已经改为00ff
4.用DEBUG的E命令改写内存中的内容;
用E命令将内存1000:
0—1000:
9单元中的内容改写为0、1、2、3、4、5、6、7、8、9,并用D命令进行验证。
-E1000:
0000;修改内存1000:
0000
1000:
0000D0.0009.01;用空格在将下一单元内容改为01….
-D1000:
0000;显示内存1000:
0000的内容
5.用DEBUG的U命令将内存中的机器指令翻译成汇编指令;
用E命令从1000:
0单元开始写入如下机器码,然后用U命令将内存中的机器指令翻译成汇编指令,并分析实验结果各部分的含义。
机器码对应的汇编指令
b80100MOVAX,0001
b90200MOVCX,0002
01c8ADDAX,CX
-E1000:
0;用E命令从1000:
0单元写入机器码
1000:
0000D0.b809.01
-D1000:
0;显示1000:
0
-U1000:
0
6.用DEBUG的T命令执行机器指令;
用T命令单步执行上题程序段的每条指令并纪录AX,CX寄存器的执行结果。
-T=1000:
0;注意cs,ip寄存器内容
-T
7.用DEBUG的A命令以汇编指令的格式在内存中写入一条机器指令。
用A命令将下面的程序段写入内存,用U命令翻译成机器指令,逐条执行,观察每条指令执行后,CPU中相关寄存器中内容的变化。
MOVAX,4E20H
ADDAX,1416H
MOVBX,2000H
ADDAX,BX
MOVBX,AX
ADDAX,BX
MOVAX,001AH
MOVBX,0026H
ADDAL,BL
ADDAH,BL
ADDBH,AL
MOVAH,0
ADDAL,BL
ADDAL,9CH
-a;在所提示的逻辑地址下输入上面程序段,注意立即数不用加H,不输回车将结束程序的输入,
-u段地址:
EA;
-t=段地址:
EA;
(二).简单程序设计——数据传送实验
HQFC集成操作软件使用
HQFC软件是集编辑(Edit.exe)、编译(Tasm.exe)、连接(Link.exe)和调试(TD.exe)等多个功能于一体,为用户提供了一个学习微机原理的实验平台。
1.运行程序/“HQFC集成开发环境.EXE”软件
2、选择接口类型
选择USB接口,进入USB微机接口开发环境。
3、程序的编辑
1.新建一个源程序
在当前运行环境下,选择菜单栏中的“文件”菜单,菜单下拉后选择“新建”,或是在工具栏中单击“新建”快捷按钮,会出现源程序编辑窗口,建议用“另存为”为文件取名保存后,就新建一个“.asm”文件。
2.编辑源程序
本软件提供了基本的编辑功能,并实现了实时的语法高亮,在编辑菜单栏可实现剪切、复制、粘贴、删除、查找、替换等操作。
输入数据传送实验的程序,参见程序清单。
3.保存源程序
当前运行环境下,选择菜单栏中的“文件”菜单,菜单下拉后选择“保存”,如果是无标题文档,用户需在提示下输入文档的名称及选择保存的路径,单击确定后保存;否则程序自动保存当前文档显示区域中显示的文档。
或者选择菜单栏中的“文件”菜单,菜单下拉后选择“另存为”,并在提示下输入文档的名称及选择保存的路径,单击确定后保存。
建议存盘为TEST.ASM
4、编译源程序
编译(编译)
在当前运行环境下,选择菜单栏中的“ASM文件编译”菜单,选择编译选项则程序对当前ASM源文件进行编译,编译调试窗口中输出汇编的结果,若程序汇编有错,则详细报告错误信息。
双击输出错误,集成开发环境会自动将错误所在行代码显示。
构建(汇编+链接)
在当前运行环境下,选择菜单栏中的“ASM文件编译”菜单,选择汇编+链接选项则程序对当前ASM源文件进行汇编与链接,编译调试窗口中输出汇编与链接的结果,若程序汇编或链接有错,则详细报告错误信息。
双击输出错误,集成开发环境会自动将错误所在行代码显示。
重构运行(汇编+链接+执行)
在当前运行环境下,选择菜单栏中的“ASM文件编译”菜单,选择汇编+链接+执行选项则程序对当前ASM源文件执行,程序自动运行。
5、程序的调试和运行
1).ASM程序的调试
寄存器窗口
在当前运行环境下,寄存器窗口中显示主要的寄存器名称及其在当前程序中的对应值,若值为红色,即表示当前寄存器的值。
调试时,单步执行,寄存器会随每次单步运行改变其输出值,同样以红色显示。
开始调试
编译和链接成功之后,在“ASM文件调试”菜单中,选择“开始调试”,然也可以在工具栏中选择“开始调试”。
即可开始进行程序的调试。
设置/清除断点
在ASM的调试状态下,对程序代码所在某一行前最左边的灰色列条单击鼠标,即对此行前设置了断点,如果清除断点,只需再在此行前的灰色列条上的断点单击鼠标,此断点标记将被清除。
箭头所指的行为当前单步执行到的所在行。
设置/清除断点如图所示:
连续运行
在ASM的调试状态下,选择“ASM文件调试”菜单栏中的“连续运行”菜单或F5,则程序连续运行,直至碰到断点或程序运行结束。
单步
在ASM的调试状态下,选择“ASM文件调试”菜单栏中的“单步执行”菜单或F11,则程序往后运行一条语句。
退出调试
在ASM的调试状态下,选择“ASM文件调试”菜单栏中的“结束调试”菜单或F8,程序则退出ASM的调试状态。
五、参考程序清单
;数据传送实验,采用相对寻址方式
DDATA SEGMENT;定义源数据段
MSR DB"HELLO,WORLD!
$"
LENEQU$-MSR
DDATA ENDS
EXDASEGMENT;定义附加数据段
MSD DBLENDUP(?
)
EXDAENDS
MYSTACK SEGMENTSTACK;定义堆栈段
DW20DUP(?
)
MYSTACK ENDS
CODESEGMENT;定义代码段
ASSUMECS:
CODE,DS:
DDATA,ES:
EXDA
START:
MOVAX,DDATA
MOV DS,AX ;装载数据段寄存器
MOV AX,EXDA
MOV ES,AX ;装载附加数据段寄存器
MOV SI,OFFSETMSR
MOVDI,OFFSETMSD
MOV CX,LEN
MOVBX,0
NEXT:
MOVAL,MSR[BX] ;开始传输数据
MOVES:
MSD[BX],AL
INCBX
LOOP NEXT
PUSH ES
POP DS ;将附加段寄存器指向的段值赋给数据段寄存器
MOV DX,OFFSETMSD
MOV AH,9
INT21H;显示字符串
MOV AH,4CH
INT21H;返回DOS状态
CODE ENDS
ENDSTART
六、思考题
1.修改参考程序,采用字符串传送指令完成。
实验二汇编程序设计和DOS功能调用
一.实验目的
1.掌握子程序设计及调用方法
2.进一步掌握汇编语言程序设计和调试方法。
二.实验设备
PC微机一台
三. 实验内容
1、现有多个有符号数23、-120、36、780、600、-2000,请编制程序,找出最大值并放至指定的MAX存储单元中,并要求把数据23、-120、36、780、600、-2000显示出来。
2、假设某字符串为WERFGHUJKI,以回车符(CRodh)结束,请编制程序,从头搜索字符串,统计字符串字符的个数,并在显示器上显示字符串长度(以16进制显示)(选作)。
四.实验步骤
1.运行HQFC软件,选择新建ASM项编写实验程序
2.使用编译、构建对实验程序进行汇编、连接,生成执行文件。
3.使用重构运行运行程序,观察运行结果。
4.使用开始调试调试程序。
观察构成分支条件的各标志的变化情况及相关寄存器内容。
5.更改数据区中的数据,考察程序的正确性。
五、参考程序清单
(一)最大值程序
DATASEGMENT
BUFFERDW200,-12,45,500,-1000
COUNTEQU($-BUFFER)/2
MAXDW?
;用于存放最大值
MES1DB‘200,-12,45,78,500,-1000’,0AH,0DH,’$’
DATAENDS
STACKSEGMENT
DB64DUP(?
)
TOPEQU$-STACK;计算出堆栈指针数值
STACKENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
STACK
BEGIN:
MOVAX,SEGDATA
MOVDS,AX
MOVAX,SEGSTACK
MOVSS,AX
MOVSP,TOP
MOVCX,COUNT
LEABX,BUFFER
MOVAX,[BX]
INCBX
INCBX
DECCX
AGAIN:
CMPAX,[BX]
JGENEXT
MOVAX,[BX]
NEXT:
INCBX
INCBX
LOOPAGAIN
MOVMAX,AX
MOVAH,9
LEADX,MES1
INT21H
QQ1:
MOVAH,1
INT16H
JZQQ1
MOVAH,4C
INT21H
CODEENDS
ENDBEGIN
(二)字符串程序
;namelength_of_stringanddisplay
DATASEGMENT
STRINGDB‘abcduvwxyz’,0DH
L1DB?
CREQU0DH
DATAENDS
STACKSEGMENTPARASTACK‘STACK’
S1DB100DUP(?
)
STACKENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,ES:
DATA,SS:
STACK
BEGIN:
MOVEAX,DATA
MOVDS,AX
MOVES,AX
LEADI,STRING;设串的地址指针
MOVDL,0;置串长度的初值为0
MOVAL,CR;串标志送入AL
CLD;清DF=0,使地址自动增量
AGAIN:
SCASB;搜索串
JEDONE;找到结束标志,停止
INCDL;串长度加1
JMPAGAIN
DONE:
LEABX,L1
MOV[BX],DL;存串长度
MOVDH,DL;串长暂存
MOVCL,4
SHRDL,CL;取串长高4位
MOVAL,DL
CALLCHANGE;将高4位转换成ASCII码放入AL
MOVDL,AL
MOVAH,2
INT21H;显示高4位
MOVAL,DH;取暂存串长
ANDAL,0FH;取串长低4位
CALLCHANGE
MOVDL,AL
MOVAH,2
INT21H;显示串长低位
MOVDL,’H’
MOVAH,2
INT21H;显示H
MOVAH,4CH
INT21H
CHANGEPROC;过程或子程序
CMPAL,10
JLADD30;小于转
ADDAL,37H
JMPP1
ADD30:
ADDAL,30H
P1:
RET
CHANGEENDP
CODEENDS
ENDBEGIN
实验三中断、定时器应用实验
一、实验目的
1.掌握PC机中断处理处理系统的基本原理
2.掌握PC机编写中断服务程序的方法
3.掌握8254的工作方式及应用编程方法
4.掌握8254的典型应用方法
二、实验原理
PC机用户可使用的硬件中断只有可屏蔽中断,由8259中断控制器管理。
中断控制器用于接收外部的中断请求信号,经过优先级判别等处理后向CPU发出可屏蔽中断请求。
IBMPC、PC/XT机内有一片8259中断控制器对外可以提供8个中断源:
中断源中断类型号中断功能
IRQ008H时钟
IRQ109H键盘
IRQ20AH保留
IRQ3OBH串行口2
IRQ40CH串行口1
IRQ50DH硬盘
IRQ60EH软盘
IRQ70FH并行打印机
8个中断源的中断请求信号线IRQ0~IRQ7在主机的62线ISA总线插座中可以引出,系统已设定中断请求信号为“边沿触发”,普通结束方式。
对于PC/AT及286以上微机内又扩展了一片8259中断控制,IRQ2用于两片8259之间级连,对外可以提供16个中断源:
中断源中断类型号中断功能
IRQ8070H实时时钟
IRQ9071H用户中断
IRQ10072H保留
IRQ11O73H保留
IRQ12074H保留
IRQ13075H协处理器
IRQ14076H硬盘
IRQ15077H保留
USB实验板上,固定的接到了3号中断IRQ3上,即进行中断实验时,所用中断类型号为0BH。
三、实验内容
1.在实验箱上设计并连接单脉冲KK1+到8254的CLK0端,8254的OUT0连接IRQ3,定义8254的计数器0为方式0,计数值为5,每当KK1+按动5次后产生中断请求,实现在屏幕上显示字符“5”。
要求:
主机按任意键停止显示返回DOS。
(必做)
2.直接用手动产单脉冲作为中断请求信号(只需连接一根导线)。
要求每按一次开关产生一次中断,在屏幕上显示一次“TPCAInterrupt!
”,中断10次后程序退出。
3.将计数器0设置为方式0,计数器初值为N(N≤0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化(当输入N+1个脉冲后OUT0变高电平)。
4.将计数器0、计数器1分别设置为方式3,计数初值设为1000,用逻辑笔观察OUT1输出电平的变化(频率1HZ)。
四、实验步骤
1.设计实验线路图并连接实验线路。
接线:
1)、CS/8254接Y0/IO地址
GATE0/8254接+5V
CLK0/8254接单脉冲
OUT0/8254接非门接IRQ/系统总线
D0~D7/系统总线接D0~D7/8254
IOW/系统总线接WR/8254
IOR/系统总线接RD/8254
A1A0/系统总线接A1A0/8254
接线:
2)、IRQ/系统总线接单脉冲
接线:
3)、CS/8254接Y0/IO地址
GATE0/8254接+5V
CLK0/8254接单脉冲
D0~D7/系统总线接D0~D7/8254
IOW/系统总线接WR/8254
IOR/系统总线接RD/8254
A1A0/系统总线接A1A0/8255
接线:
4)、CS/8254接Y0/IO地址
GATE0/8254接+5V
CLK0/8254接1M时钟
OUT0/8254接CLK1/8254
GATE1/8254接+5V
D0~D7/系统总线接D0~D7/8254
IOW/系统总线接WR/8254
IOR/系统总线接RD/8254
A1A0/系统总线接A1A0/8255
2.根据实验内容要求编写相应实验程序
3.编译、连接实验程序,对错误进行调试
4.运行程序,观察实验结果是否正确。
五、硬件参考电路
实验内容1电路图
实验内容2电路图
实验内容3电路图
实验内容4电路图
实验四数码管显示、键盘扫描识别实验
一、实验目的
1.掌握8255A的接口方法。
2.掌握8255A的工作方式和编程原理。
3.掌握一组七段LED数据管动态显示的编程方法
4.掌握非编码键盘的使用及编程识别按键的方法
5.掌握利用8255完成一组七段LED数据管的显示原理及接口方法
6.掌握利用8255完成行列式键盘的工作原理及接口方法
二、实验内容
1.1.在实验箱上设计并连接8255,将8255的PB口和PA口分别与数码管显示电路的段选端和位选段相接,使其显示3000H、3001H、3002H和3003H单元中的数据。
要求:
主机按任意键停止显示返回DOS。
(必做)
2.在实验箱上设计并连接,使用8255扫描4*4键盘,并将识别出的键值依次显示在4位数码管上。
要求:
主机按任意键停止显示返回DOS。
三、实验步骤
1.设计实验线路图并连接实验线路。
接线:
1)、CS/8255接Y1/IO地址
D0~D7/系统总线接D0~D7/8255
IOW/系统总线接WR/8255
IOR/系统总线接RD/8255
A1A0/系统总线接A1A0/8255
PB7~PB0/8255接DP~A/数码管
PA3~A0/8255接S3~S0/数码管
2)、原接线不变
PC0~PC3/8255接列3~列0/键盘
PC7~PC4/8255接行3~行0/键盘
2.根据实验内容要求编写相应实验程序
3.编译、连接实验程序,对错误进行调试
4.运行程序,观察实验结果是否正确。
四、硬件参考电路
实验五数/模、模/数转换实验
一、实验目的
1.通过实验加深对A/D和D/A转换器使用及中断的认识,初步掌握编写主程序及中断服务程序的区别
2.设计并调试由0832构成的波形发生器,由0809构成的数据采集电路
3.了解数/模、模/数转换的基本原理,掌握ADC0809和DAC0832芯片的使用方法。
二、实验内容
1.在实验箱上设计并连接ADC0809芯片的接线,按延时方式对单通道模拟量进行A/D转换。
A/D转换结果送入PC机后,再由PC机送至DAC0832进行D/A转换,结果送至示波器,与原信号进行对比观察。
模拟信号源:
由电位器中心抽头可以得到一个可调节的直流电压0~5V。
电位器一端接地,另一端接+5V。
三、实验步骤
1.设计实验线路图并连接实验线路。
接线:
1)、CS/AD0809接290H~297H/IO地址
A、B、C/AD0809接A0~A3/系统总线
IN0/AD0809接0~5V/直流信号
CLK/AD0809接1MHZ/系统总线
D0~D7/系统总线接D0~D7/AD0809
IOW/系统总线接WR/AD0809
IOR/系统总线接RD/AD0809
CS/AD0832接298H~29FH/IO地址
Ua/AD0832接L0/LED灯
D0~D7/系统总线接D0~D7/AD0832
IOW/系统总线接WR1、WR2/AD0832
2.根据实验内容要求编写相应实验程序
3.编译、连接实验程序,对错误进行调试
4.运行程序,观察实验结果是否正确。
四、实验参考电路
调试程序DUBUG
DEBUG.COM是专为汇编语言设计的一种调试工具,是汇编语言程序设计者必须掌握的。
它具有显示、修改、动态跟踪等功能,使用它可以对.COM、.ExE文件进行动态跟踪。
DUBUG可以显示和修改内存与寄存器内容,以便在调试中检查程序、查找与改正错误;它还支持小汇编,直接对小段程序进行汇编;也可对磁盘进行读写操作。
在接口应用中,可直接用输入输出指令对硬件端口进行读/写操作。
DUBUG.COM基本上是面向.COM文件的。
DEBUG可以装入和运行.EXE文件,并可以对它进行调试和修改。
但是调试好的.EXE文件却不能用DEBUG的命令写回磁盘,因为DEBUG不保存.EXE文件的原头部信息块,也不能再重新产生重定位信息。
当被调试的文件是.EXE文件时,需要注意一系列问题,因此,一般的做法是用DEBIJG发现错误,再用编辑程序修改源程序,然后再重新汇编和连接,得到正确的可执行程序。
DEBUG.COM程序被装入内存后,系统的控制权由DOS转交给它,此时屏幕上会出现提示符“—”。
表1列出了DEBUG命令一览表。
表1DEBUG命令一览表
名字
格式
简要说明
显示
D地址
D范围
D
显示从指定地址开始的80字节的内存内容
显示指定范围的内存内容
从上次D命令结束位置接着显示
修改
E地址表
E地址
用表中内容代
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- xs 微机 原理 接口 技术 实验 指导书 测控 专业