《微型计算机原理及应用》实验课件.ppt

上传人:牧羊曲112 文档编号:6527373 上传时间:2023-11-09 格式:PPT 页数:86 大小:310.50KB
返回 下载 相关 举报
《微型计算机原理及应用》实验课件.ppt_第1页
第1页 / 共86页
《微型计算机原理及应用》实验课件.ppt_第2页
第2页 / 共86页
《微型计算机原理及应用》实验课件.ppt_第3页
第3页 / 共86页
《微型计算机原理及应用》实验课件.ppt_第4页
第4页 / 共86页
《微型计算机原理及应用》实验课件.ppt_第5页
第5页 / 共86页
点击查看更多>>
资源描述

《《微型计算机原理及应用》实验课件.ppt》由会员分享,可在线阅读,更多相关《《微型计算机原理及应用》实验课件.ppt(86页珍藏版)》请在三一办公上搜索。

1、微型计算机原理及应用实验,电子信息技术实验教学中心,实验1 DEBUG调试程序的应用,一、实验目的,掌握DEBUG调试程序的常用命令,熟悉用DEBUG调试程序对EXE文件的调试过程,并具有一定的分析运行结果的能力。,二、实验内容,编写一个完整的一位数加法运算程序,并生成EXE文件;利用DEBUG调试EXE文件的执行过程,并与源程序进行对比。,三、DEBUG常用命令,1.汇编命令A格式:A 段寄存器名:偏移地址A 段地址:偏移地址A 偏移地址A功能:用该命令可以将汇编语言程序直接写入内存。,2.显示内存命令D格式:D 段寄存器名:偏移地址D 段地址:偏移地址D 偏移地址D功能:显示指定内存范围的

2、内容。3.修改内存单元内容命令E格式:E 地址 内容表E 地址功能:修改内存单元内容,4.填充内存命令F格式:E 地址范围 内容表功能:将内容表中的内容重复装入内存的指定范围内。5.内存移动命令M格式:M 源地址范围 目标起始地址功能:把源地址范围的内容移动到目标起始地址开始的存储单元。6.比较命令C格式:C 源地址范围 目标起始地址功能:比较两个内存区域的内容是否相同,相同时不显示任何信息,不相同时显示不相同的内容,7.搜索指定内容命令S格式:S 地址范围 内容表功能:在指定地址范围内搜索内容表中的内容。8.查看修改寄存器内容命令R格式:RR 寄存器名功能:查看或修改寄存器内容关于标志位:O

3、F:OV/NV 有/无;DF:DN/UP 减/增;IF:EI/DI 允许/禁止;SF:NG/PL 负/正;ZF:ZR/NZ 零/非零;AF:AC/NA 有/无;PF:PE/PO 偶/奇;CF:CY/NC 有/无。,9.单步执行命令T格式:T 地址T 地址 条数功能:单步执行指令10.反汇编命令U格式:U 地址U 地址范围功能:将指定内存的内容显示成汇编语言形式。11.命名命令N格式:N 路径和文件名,12.读盘命令L格式:L 地址 驱动器号 起始扇区号 扇区数L 地址L功能:将N命令指定的文件或磁盘扇区内容读到内存。13.写盘命令W格式:W 地址 驱动器号 起始扇区号 扇区数W 地址W功能:将

4、内存内容写到N命令指定的文件或磁盘扇区中。,14.输入命令I格式:I 端口地址功能:将端口的内容传送到累加器AL中。15.输出命令O格式:O 端口地址功能:将累加器AL的内容传送到端口中。16.运行命令G格式:G=地址G功能:从当前地址或指定地址开始执行指令。,17.十六进制运算命令H格式:H 数据1 数据2功能:对数据1和数据2进行十六进制加法和减法运算。18.P命令格式:P功能:在下一条指令执行之前停止19.退出命令Q格式:Q功能:退出DEBUG调试环境。,实验2 算术运算程序设计,一、实验目的,二、实验内容,掌握汇编语言中的数值接收方法;掌握算术运算程序的编写与结果显示方法;掌握宏定义与

5、调用方法,从键盘接收运算式,编程实现两位十进制数的算术运算(加、减、乘、除),若输入的不是数字或运算符,进行错误处理,按Esc键退出。,三、编程提示,定义一个显示单字符的宏;定义一个能接收两位数的子程序,并将其转换成二进制,若接收的不是数字,进行错误处理,其算法为:退一格,显示一个空格,再退一格。若接收的为ESC键退出;主程序的编程流程如图2.1所示。,实验3 字符串处理程序设计,一、实验目的,二、实验内容,掌握串操作程序设计的基本方法;掌握串查找与替换的方法;掌握字符串接收和显示的方法;掌握循环和分支程序设计方法。,编程实现字符接收、字符转换、字符显示等操作;具体要求:从键盘接收30个字符存

6、入变量X中,将X中的字符传送到变量Y中,将变量Y中的空格字符转换成字符“0”,回车换行后显示Y中的内容。,三、编程提示,编程流程如图3.1所示。,实验4 数值处理程序设计,一、实验目的,二、实验内容,掌握数组元素的输入方法;掌握一般的排序算法。,编程实现数值输入、数组排序、显示等基本操作;具体要求:从键盘输入20个有符号两位十进制数,编程对其从小到大进行排序,并显示排序后的结果,以逗号分隔。,三、参考程序,dispc macro xmov dl,xmov ah,2int 21hendmdatasegment xdb 20 dup(?)dataendscodesegmentassume cs:c

7、ode,ds:datago:mov ax,datamov ds,ax接收20个有符号数的程序段mov bx,19,l0:mov cx,19 lea si,xl1:lodsbcmp al,sijge l2mov ah,simov si,almov si-1,ahl2:loop l1dec bxcmp bx,0jne l0mov cx,20l3:lodsbcmp al,0,jge l4push axdispc-pop axneg all4:aamor ax,3030hmov bh,alcmp ah,30hje l5dispc ahl5:dispc bhdispc,loop l3dispc 8,di

8、spc 20hmov ah,7int 21hmov ah,4chint 21hcodeendsendgo,实验5 文件、文件夹操作程序设计,一、实验目的,掌握在磁盘上建立文件夹的程序设计方法;掌握在文件夹下建立文件的程序设计方法;掌握对文件的读、写、关闭的程序设计方法,二、实验内容,编程实现文件、文件夹的建立、写入、字符串接收等基本操作;具体要求:清屏,将光标置于5行,0列,从键盘接收最多80个字符的字符串,将接收字符串中的小写字母全部转换成大写,其余不变;从10行,0列开始显示转换后的字符串;在D盘上建立一文件夹USER;将转换后的字符串写入文件D:USERSTRING.TXT中。(注:文件

9、操作时要求有相应的提示信息),三、参考程序,disps macro xmov ah,9lea dx,xint 21hendmdatasegmentbuffer db 80,?,81 dup(0)pfname db D:USER,0fname db D:USERSTRING.TXT,0d1 db Create paper file error,0dh,0ah,$d2 db Create file error,0ah,0dh,$d3 db Write file error,0ah,0dh,$d4 db Close file error,0ah,0dh,$d5 db Operate succeed,

10、0ah,0dh,$,d6 db 0ah,0dh,$dataendscodesegmentassume cs:code,ds:datago:mov ax,datamov ds,axmov ah,2mov bh,0mov dx,0int 10hmov al,20hmov ah,9mov cx,2000mov bl,12hint 10h,mov ah,2mov bh,0mov dh,5mov dl,0int 10hmov ah,0ahlea dx,bufferint 21hmov cl,buffer+1 mov ch,0lea si,buffer+2l1:lodsbcmp al,ajb l2cmp

11、al,z,ja l2xor al,20hmov si-1,all2:loop l1mov byte ptrsi,$mov ah,2mov bh,0mov dh,10mov dl,0int 10hdisps buffer+2disps d6mov ah,39hlea dx,pfnameint 21h,jnc l1disps d1jmp l6l2:mov ah,5bhmov cx,0lea dx,fnameint 21hpush axjnc l3disps d2jmp l6l3:mov ah,40hpop bxmov cl,buffer+1mov ch,0,lea dx,buffer+2int 2

12、1h jnc l4disps d3jmp l6l4:mov ah,3ehint 21h jnc l5disps d4jmp l6l5:disps d5l6:mov ah,7int 21hmov ah,4chint 21h,codeendsendgo,实验6 图形程序设计,一、实验目的,二、实验内容,掌握屏幕显示方式的设置方法;掌握写象素点的方法;掌握宏的定义和调用方法。,编程实现几何图形的绘制,不同颜色的填充;具体要求:将屏幕设置成640*480,在屏幕上画5个几何图形:空心正方形、空心长方形、实心正方形、实心长方形、空心直角等腰三角形。大小、颜色、位置自定。,三、参考程序,sxfkmacro

13、 x1,y1,x2,y2,color;画实心矩形(左上顶点坐标,local l1,l2 右下顶点坐标,颜色)mov ah,0chmov al,colormov dx,y1l1:mov cx,x1l2:int 10hinc cxcmp cx,x2jbe l2inc dxcmp dx,y2 jbe l1endm,kxfkmacro x1,y1,x2,y2,color;画空心矩形(左上顶点坐标,local l1,l2,l3,l4 右下顶点坐标,颜色)mov ah,0chmov dx,y1mov cx,x1mov al,colorl1:int 10h inc cx cmp cx,x2 jb l1l2:

14、int 10h inc dx cmp dx,y2 jb l2l3:int 10h,dec cxcmp cx,x1ja l3l4:int 10h dec dxcmp dx,y1ja l4endmsjxmacro x1,y1,long,color;画等腰直角三角形(左上 local l1,l2,l3 顶点坐标,腰长,颜色)mov ah,0chmov al,colormov dx,y1mov cx,x1mov si,long,add si,dxl1:int 10hinc dxcmp dx,sijbe l1mov di,longadd di,cxl2:int 10hinc cxcmp cx,dijbe

15、 l2mov cx,x1mov dx,y1l3:inc cxinc dx,int 10hcmp cx,dijb l3endmcodesegmentassume cs:codego:mov ax,0012hint 10hmov ah,0bhmov bx,1int 10h sjx 50,50,125,4kxfk 1,2,241,242,3sxfk 10,250,320,470,6sxfk 339,179,639,479,5,kxfk 270,5,630,170,9mov ah,7int 21hmov ah,4chint 21hcodeendsendgo,实验7 中断控制实验,一、实验目的,二、实验

16、内容,了解Windows下中断处理过程;比较中断和查询两种数据交换方法的效率差别。,用查询和中断方式分别实现控制指示灯,实验电路如图。要求直接用手动产生的单脉冲作为中断请求信号,每按一次单脉冲产生一次中断,让8个指示灯显示一秒钟的01010101,否则让指示灯显示10101010。然后在任务栏比较中断和查询方式下CPU利用率的差别。,中断方法:将8255的A口设为输出,IRQ直接接到正脉冲,线路连接如图7.1所示;查询方法:将8255的A口设为输出接指示灯,C口设为输入,将PC0接正脉冲输入,线路连接如图7.2所示。,三、编程提示,中断方法的编程流程如图7.3所示,查询方法的编程流程如图7.4

17、所示,实验 定时器/计数器实验,一、实验目的,二、实验内容,掌握8253的基本工作原理和编程方法。,定时器应用:按图8.1连接电路,将计数器0、计数器1分别设置为方式3,计数初值设为1000,用逻辑笔观察OUT1输出电平的变化(频率1HZ);计数器应用:按图8.2连接电路,将计数器0设置为方式0,计数器初值为N(N0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化(当输入N+1个脉冲后OUT0变高电平)。,图 8.1,图 8.2,三、编程提示,8253控制寄存器地址 283H计数器0地址 280H计数器1地址 281H定时器应用时的编程流程如图8.3所

18、示,计数器应用时的编程流程如图8.4所示。,实验 并行通信实验,一、实验目的,二、实验内容,掌握并行接口芯片8255的工作原理及使用方法,方式0的应用:实验电路如图9.1,8255C口接逻辑电平开关K0K7,A口接LED显示电路L0L7,编程从8255C口输入数据,再从A口输出;方式的应用:实验电路如图9.2,要求每按一次单脉冲按钮产生一个正脉冲使8255产生一次中断请求,让CPU进行一次中断服务:依次输出01H、02H,04H,08H,10H,20H,40H,80H使L0L7依次发光,中断次结束。,三、编程提示,8255控制端口地址 28BHA口的地址 288H C口的地址 28AH方式应用

19、时编程流程如图9.3所示,方式应用时编程流程如图9.4所示。,图 9.3,图 9.4,实验10 段数码管显示控制实验,一、实验目的,二、实验内容,静态显示:按图10.1连接好电路,将8255的A口PA0PA6分别与七段数码管的段码驱动输入端a相连,位码驱动输入端S1接+5V(选中),S0、dp接地(关闭)。编程从键盘输入一位十进制数字(09),在七段数码管上显示出来;动态显示:按图10.2连接好电路,七段数码管段码连接不变,位码驱动输入端S1,S0接8255 C口的PC1,PC0,编程在两个数码管上显示“56”。,掌握数码管显示数字的原理。,图 10.1,图 10.2,实验台上的七段数码管为共

20、阴型,段码采用同相驱动,输入端加高电平,选中的数码管亮,位码加反相驱动器,位码输入端高电平选中。静态显示时的编程流程如图10.3所示,动态显示时的编程流程如图10.4所示。,三、编程提示,图 10.3,图 10.4,实验1 抢答器设计实验,一、实验目的,二、实验内容,了解微机化竞赛抢答器的基本原理;进一步学习使用并行接口。,图11.1为竞赛抢答器(模拟)的原理图,逻辑开关K0K7代表竞赛抢答按钮07号,当某个逻辑电平开关置“”时,相当某组抢答按钮按下。在七段数码管上将其组号(07)显示出来,并使微机扬声器响一下。,图 11.1,三、编程提示,设置8255为口输入、口输出,读取口数据,若为0表示

21、无人抢答,若不为0则有人抢答。根据读取数据可判断抢答组号。从键盘上按空格键开始下一轮抢答,按其它键程序退出。,图 11.2,实验12 交通灯控制实验,一、实验目的,二、实验内容,通过并行接口8255实现十字路口交通灯的模拟控制,进一步掌握对并行口的使用。,如图12.1,L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。编程使六个灯按交通灯变化规律亮灭。,图 12.1,三、编程提示,十字路口交通灯的变化规律要求:(1)南北路口的绿灯、东西路口的红灯同时亮30秒左右;(2)南北路口的黄灯闪烁若干次,同时东西路口的红灯

22、继续亮;(3)南北路口的红灯、东西路口的绿灯同时亮30秒左右;(4)南北路口的红灯继续亮、同时东西路口的黄灯亮闪烁若干次;(5)转(1)重复。编程流程如图12.2所示。,图 12.2,实验13 串行通信实验,一、实验目的,二、实验内容,了解串行通讯的基本原理;掌握串行接口芯片8251的工作原理和编程方法。,按图13.1连接好电路,(8251插通用插座)其中8253计数器用于产生8251的发送和接收时钟.TXD和RXD连在一起;编程:从键盘输入一个字符,将其ASCII码加1后发送出去,再接收回来在屏幕上显示。实现自发自收。,图 13.1,三、编程提示,图示电路8251的控制口地址为2B9H,数据

23、口地址为2B8H;8253计数器的计数初值=时钟频率/(波特率波特率因子),这里的时钟频率接1MHz,波特率若选1200,波特率因子若选16,则计数器初值为52H;收发采用查询方式;编程流程如图13.2所示。,图 13.2,实验14 数/模转换实验,一、实验目的,二、实验内容,了解数/模转换器的基本原理,掌握DAC0832芯片的使用方法。,实验电路原理如图14.1所示,DAC0832采用单缓冲方式,具有单双极性输入端(图中的Ua、Ub);编程产生锯齿波(从Ub输出,用示波器观察);编程产生正弦波(从Ub输出,用示波器观察)。,图 14.1,三、编程提示,8位D/A转换器DAC0832的口地址为

24、290H,输入数据与输出电压的关系为:Ua=-(UREF/256)*N Ua=-(UREF/256)*N-5(UREF表示参考电压,N表示数数据),这里的参考电压为机的电源。产生锯齿波只须将输出到DAC0832的数据由0循环递增;产生正弦波可根据正弦函数建一个下弦数字量表,取值范围为一个周期,表中数据个数在16个以上。,图 14.2,图 14.3,实验15 模/数转换实验,一、实验目的,二、实验内容,了解模/数转换的基本原理,掌握ADC0809的使用方法。,实验电路原理图如图15.1所示。通过实验台左下角电位器RW1输出05直流电压送入ADC0809通道0(IN0),编程采集IN0输入的电压,

25、在屏幕上显示出转换后的数据(用16进制数)。,图 15.1,三、编程提示,ADC0809的IN0口地址为298H,IN1口地址为299H;IN0单极性输入电压与转换后数字的关系为:N=Ui/(Uref/256)其中Ui为输入电压,UREF为参考电压,这里的参考电压为机的电源。编程流程如图15.2所示,图 15.2,实验16 8255A并行口键盘扫描实验,一、实验目的,掌握8255A编程原理。了解键盘阵列结构,学会读取按键的方法。,二、实验内容,本实验的实验电路如图16.1所示。它做在一块扩展电路板上,用一根20芯扁平电缆线将实验板扩展插头J1与实验台上的扩展插头J7相连,为扩展电路连接电源及外

26、部总线。扩展电路板上的数码管、键盘阵列既能由8279控制,也可以由外部电路控制,其实现靠的是若干组短路子组成的控制选择开关K1、K2、K3、K4、KB0、KB1、KB2。,当K1、K3、K4连接在8279一端时,数码管由8279控制,连接在LS273一端时由外部总线通过LS273直接控制。当K2、KB1、KB2、KB3连接在8279一端时,键盘阵列由8279控制,连接在8255一端时由外接芯片8255控制。因为本实验为8255控制实验,所以除了连接J1和J7外,还需要将选择开关K2、KB1、KB2、KB3连接在8255一端,并将KA0-KA7,KB0-KB2连接到8255芯片A口,C口,还需要

27、连接8255芯片的片选,以使键盘阵列由8255芯片控制。8255A的端口A地址为:288H,端口C地址为:28AH,控制口地址为:28BH。编程使得在键盘阵列上每按一个键后,微机屏幕上有相应字符显示出来。,图 16.1,三、编程提示,1识别键盘上的闭合键,通过采用行扫描法或列翻转法:(1)行扫描法是使键盘上某一列线为低电平,而其余行接高电平,然后读取列值;如果列值中有某位为低电平,则表明行列交点处的键被按下;否则扫描下一行,直到扫完全部的行线为止。(2)行反转法识别闭合键时,要将行线接一个并行口,先让它工作在输出方式,将列线也接到一个并行口,先让它工作在输入方式;程序通过输出端口向全部行线上送

28、低电平,然后读取列线的值;如果此时有某一键被按下,则必定会使某一列线值为零,程序再对两个并行端口进行方式设置,使行线工作在输入方式,列线工作在输出方式,并且将刚才读到的列线值从列线所接的并行端口输出,再读取行线上的值;那么,在闭合键所在的行线上的值必定为零。这样,当一个键被按下时,必定可以读到一对唯一的行值和列值。在我们提供的程序中就采用行反转法来识别键盘按键。,2在程序设计时,将各个键对应的代码(列值,行值)放在一个表中,程序通过查表来确定具体按下的为哪一个键。3编程流程主程序流程如图16.2所示。,图 16.2,键盘扫描子程序流程如图16.3所示。,图 16.3,实验17 总线控制LED显

29、示实验,一、实验目的,了解七段数码管(LED)显示数字的原理。掌握只用一个段锁存器和一个位锁存器来同时显示多位数字的技术。,二、实验内容,实验的实验电路如图17.1所示。它做在一块扩展电路板上,用一根20芯扁平电缆线将实验板扩展插头J1与实验台上的扩展插头J7相连,为扩展电路连接电源及外部总线。扩展电路板上的数码管、键盘阵列既能由8279控制,也可以由外部电路控制,其实现靠的是若干组短路子组成的控制选择开关K1、K2、K3、K4、KB0、KB1、KB2。,当K1,K3,K4连接在8279一端时,数码管由8279控制,连接在LS273一端时由外部总线通过LS273直接控制。当K2,KB1,KB2

30、,KB3连接在8279一端时,键盘阵列由8279控制,连接在8255一端时由外接芯片8255控制。因为本实验为外部总线控制实验,所以除了连接J1和J7外,还需要将选择开关K1、K3、K4连接在LS273一端,以使多位数码管(LED)由外部总线控制。选段锁存器(PORTBLT)地址为:2B0H。选位锁存器(PORTREG)地址为:2B1H。编程使得在多位数码管(LED)上显示从000000至999999不断循环自增的数值。,图 17.1,三、编程提示,主程序流程如图17.2所示。,图 17.2,LED显示子程序流程如图17.3所示。,图 17.3,实验18 微型计算机内部端口操作实验,一、实验目的,了解微型计算机内部常用端口地址的分配。掌握微型计算机内部,利用8255、8253控制扬声器发声的方法。,二、实验内容,微型计算机内部,有关扬声器控制电路的硬件连接如图18.1所示。编写一完整程序通过键盘控制扬声器的发音频率。(微机中8253的端口地址为40H43H,8255的端口地址为60H63H)。,按键与频率的关系如下表所示。,三、编程提示,1将8253中2#计数器的工作方式设置为方式3(方波)。28255的工作方式和工作状态不需要改变,保持微机启动后的设置。3编程流程如图18.2所示。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号