




已阅读5页,还剩81页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微型计算机原理及应用实验,电子信息技术实验教学中心,实验1DEBUG调试程序的应用,一、实验目的,掌握DEBUG调试程序的常用命令,熟悉用DEBUG调试程序对EXE文件的调试过程,并具有一定的分析运行结果的能力。,二、实验内容,编写一个完整的一位数加法运算程序,并生成EXE文件;利用DEBUG调试EXE文件的执行过程,并与源程序进行对比。,三、DEBUG常用命令,1.汇编命令A格式:A段寄存器名:偏移地址A段地址:偏移地址A偏移地址A功能:用该命令可以将汇编语言程序直接写入内存。,2.显示内存命令D格式:D段寄存器名:偏移地址D段地址:偏移地址D偏移地址D功能:显示指定内存范围的内容。3.修改内存单元内容命令E格式:E地址内容表E地址功能:修改内存单元内容,4.填充内存命令F格式:E地址范围内容表功能:将内容表中的内容重复装入内存的指定范围内。5.内存移动命令M格式:M源地址范围目标起始地址功能:把源地址范围的内容移动到目标起始地址开始的存储单元。6.比较命令C格式:C源地址范围目标起始地址功能:比较两个内存区域的内容是否相同,相同时不显示任何信息,不相同时显示不相同的内容,7.搜索指定内容命令S格式:S地址范围内容表功能:在指定地址范围内搜索内容表中的内容。8.查看修改寄存器内容命令R格式:RR寄存器名功能:查看或修改寄存器内容关于标志位:OF: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功能:将内存内容写到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算术运算程序设计,一、实验目的,二、实验内容,掌握汇编语言中的数值接收方法;掌握算术运算程序的编写与结果显示方法;掌握宏定义与调用方法,从键盘接收运算式,编程实现两位十进制数的算术运算(加、减、乘、除),若输入的不是数字或运算符,进行错误处理,按Esc键退出。,三、编程提示,定义一个显示单字符的宏;定义一个能接收两位数的子程序,并将其转换成二进制,若接收的不是数字,进行错误处理,其算法为:退一格,显示一个空格,再退一格。若接收的为ESC键退出;主程序的编程流程如图2.1所示。,实验3字符串处理程序设计,一、实验目的,二、实验内容,掌握串操作程序设计的基本方法;掌握串查找与替换的方法;掌握字符串接收和显示的方法;掌握循环和分支程序设计方法。,编程实现字符接收、字符转换、字符显示等操作;具体要求:从键盘接收30个字符存入变量X中,将X中的字符传送到变量Y中,将变量Y中的空格字符转换成字符“0”,回车换行后显示Y中的内容。,三、编程提示,编程流程如图3.1所示。,实验4数值处理程序设计,一、实验目的,二、实验内容,掌握数组元素的输入方法;掌握一般的排序算法。,编程实现数值输入、数组排序、显示等基本操作;具体要求:从键盘输入20个有符号两位十进制数,编程对其从小到大进行排序,并显示排序后的结果,以逗号分隔。,三、参考程序,dispcmacroxmovdl,xmovah,2int21hendmdatasegmentxdb20dup(?)dataendscodesegmentassumecs:code,ds:datago:movax,datamovds,ax接收20个有符号数的程序段movbx,19,l0:movcx,19leasi,xl1:lodsbcmpal,sijgel2movah,simovsi,almovsi-1,ahl2:loopl1decbxcmpbx,0jnel0movcx,20l3:lodsbcmpal,0,jgel4pushaxdispc-popaxnegall4:aamorax,3030hmovbh,alcmpah,30hjel5dispcahl5:dispcbhdispc,loopl3dispc8,dispc20hmovah,7int21hmovah,4chint21hcodeendsendgo,实验5文件、文件夹操作程序设计,一、实验目的,掌握在磁盘上建立文件夹的程序设计方法;掌握在文件夹下建立文件的程序设计方法;掌握对文件的读、写、关闭的程序设计方法,二、实验内容,编程实现文件、文件夹的建立、写入、字符串接收等基本操作;具体要求:清屏,将光标置于5行,0列,从键盘接收最多80个字符的字符串,将接收字符串中的小写字母全部转换成大写,其余不变;从10行,0列开始显示转换后的字符串;在D盘上建立一文件夹USER;将转换后的字符串写入文件D:USERSTRING.TXT中。(注:文件操作时要求有相应的提示信息),三、参考程序,dispsmacroxmovah,9leadx,xint21hendmdatasegmentbufferdb80,?,81dup(0)pfnamedbD:USER,0fnamedbD:USERSTRING.TXT,0d1dbCreatepaperfileerror,0dh,0ah,$d2dbCreatefileerror,0ah,0dh,$d3dbWritefileerror,0ah,0dh,$d4dbClosefileerror,0ah,0dh,$d5dbOperatesucceed,0ah,0dh,$,d6db0ah,0dh,$dataendscodesegmentassumecs:code,ds:datago:movax,datamovds,axmovah,2movbh,0movdx,0int10hmoval,20hmovah,9movcx,2000movbl,12hint10h,movah,2movbh,0movdh,5movdl,0int10hmovah,0ahleadx,bufferint21hmovcl,buffer+1movch,0leasi,buffer+2l1:lodsbcmpal,ajbl2cmpal,z,jal2xoral,20hmovsi-1,all2:loopl1movbyteptrsi,$movah,2movbh,0movdh,10movdl,0int10hdispsbuffer+2dispsd6movah,39hleadx,pfnameint21h,jncl1dispsd1jmpl6l2:movah,5bhmovcx,0leadx,fnameint21hpushaxjncl3dispsd2jmpl6l3:movah,40hpopbxmovcl,buffer+1movch,0,leadx,buffer+2int21hjncl4dispsd3jmpl6l4:movah,3ehint21hjncl5dispsd4jmpl6l5:dispsd5l6:movah,7int21hmovah,4chint21h,codeendsendgo,实验6图形程序设计,一、实验目的,二、实验内容,掌握屏幕显示方式的设置方法;掌握写象素点的方法;掌握宏的定义和调用方法。,编程实现几何图形的绘制,不同颜色的填充;具体要求:将屏幕设置成640*480,在屏幕上画5个几何图形:空心正方形、空心长方形、实心正方形、实心长方形、空心直角等腰三角形。大小、颜色、位置自定。,三、参考程序,sxfkmacrox1,y1,x2,y2,color;画实心矩形(左上顶点坐标,locall1,l2右下顶点坐标,颜色)movah,0chmoval,colormovdx,y1l1:movcx,x1l2:int10hinccxcmpcx,x2jbel2incdxcmpdx,y2jbel1endm,kxfkmacrox1,y1,x2,y2,color;画空心矩形(左上顶点坐标,locall1,l2,l3,l4右下顶点坐标,颜色)movah,0chmovdx,y1movcx,x1moval,colorl1:int10hinccxcmpcx,x2jbl1l2:int10hincdxcmpdx,y2jbl2l3:int10h,deccxcmpcx,x1jal3l4:int10hdecdxcmpdx,y1jal4endmsjxmacrox1,y1,long,color;画等腰直角三角形(左上locall1,l2,l3顶点坐标,腰长,颜色)movah,0chmoval,colormovdx,y1movcx,x1movsi,long,addsi,dxl1:int10hincdxcmpdx,sijbel1movdi,longadddi,cxl2:int10hinccxcmpcx,dijbel2movcx,x1movdx,y1l3:inccxincdx,int10hcmpcx,dijbl3endmcodesegmentassumecs:codego:movax,0012hint10hmovah,0bhmovbx,1int10hsjx50,50,125,4kxfk1,2,241,242,3sxfk10,250,320,470,6sxfk339,179,639,479,5,kxfk270,5,630,170,9movah,7int21hmovah,4chint21hcodeendsendgo,实验7中断控制实验,一、实验目的,二、实验内容,了解Windows下中断处理过程;比较中断和查询两种数据交换方法的效率差别。,用查询和中断方式分别实现控制指示灯,实验电路如图。要求直接用手动产生的单脉冲作为中断请求信号,每按一次单脉冲产生一次中断,让8个指示灯显示一秒钟的01010101,否则让指示灯显示10101010。然后在任务栏比较中断和查询方式下CPU利用率的差别。,中断方法:将8255的A口设为输出,IRQ直接接到正脉冲,线路连接如图7.1所示;查询方法:将8255的A口设为输出接指示灯,C口设为输入,将PC0接正脉冲输入,线路连接如图7.2所示。,三、编程提示,中断方法的编程流程如图7.3所示,查询方法的编程流程如图7.4所示,实验定时器/计数器实验,一、实验目的,二、实验内容,掌握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所示,计数器应用时的编程流程如图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口的地址288HC口的地址28AH方式应用时编程流程如图9.3所示,方式应用时编程流程如图9.4所示。,图9.3,图9.4,实验10段数码管显示控制实验,一、实验目的,二、实验内容,静态显示:按图10.1连接好电路,将8255的A口PA0PA6分别与七段数码管的段码驱动输入端a相连,位码驱动输入端S1接+5V(选中),S0、dp接地(关闭)。编程从键盘输入一位十进制数字(09),在七段数码管上显示出来;动态显示:按图10.2连接好电路,七段数码管段码连接不变,位码驱动输入端S1,S0接8255C口的PC1,PC0,编程在两个数码管上显示“56”。,掌握数码管显示数字的原理。,图10.1,图10.2,实验台上的七段数码管为共阴型,段码采用同相驱动,输入端加高电平,选中的数码管亮,位码加反相驱动器,位码输入端高电平选中。静态显示时的编程流程如图10.3所示,动态显示时的编程流程如图10.4所示。,三、编程提示,图10.3,图10.4,实验1抢答器设计实验,一、实验目的,二、实验内容,了解微机化竞赛抢答器的基本原理;进一步学习使用并行接口。,图11.1为竞赛抢答器(模拟)的原理图,逻辑开关K0K7代表竞赛抢答按钮07号,当某个逻辑电平开关置“”时,相当某组抢答按钮按下。在七段数码管上将其组号(07)显示出来,并使微机扬声器响一下。,图11.1,三、编程提示,设置8255为口输入、口输出,读取口数据,若为0表示无人抢答,若不为0则有人抢答。根据读取数据可判断抢答组号。从键盘上按空格键开始下一轮抢答,按其它键程序退出。,图11.2,实验12交通灯控制实验,一、实验目的,二、实验内容,通过并行接口8255实现十字路口交通灯的模拟控制,进一步掌握对并行口的使用。,如图12.1,L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。编程使六个灯按交通灯变化规律亮灭。,图12.1,三、编程提示,十字路口交通灯的变化规律要求:(1)南北路口的绿灯、东西路口的红灯同时亮30秒左右;(2)南北路口的黄灯闪烁若干次,同时东西路口的红灯继续亮;(3)南北路口的红灯、东西路口的绿灯同时亮30秒左右;(4)南北路口的红灯继续亮、同时东西路口的黄灯亮闪烁若干次;(5)转(1)重复。编程流程如图12.2所示。,图12.2,实验13串行通信实验,一、实验目的,二、实验内容,了解串行通讯的基本原理;掌握串行接口芯片8251的工作原理和编程方法。,按图13.1连接好电路,(8251插通用插座)其中8253计数器用于产生8251的发送和接收时钟.TXD和RXD连在一起;编程:从键盘输入一个字符,将其ASCII码加1后发送出去,再接收回来在屏幕上显示。实现自发自收。,图13.1,三、编程提示,图示电路8251的控制口地址为2B9H,数据口地址为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的口地址为290H,输入数据与输出电压的关系为:Ua=-(UREF/256)*NUa=-(UREF/256)*N-5(UREF表示参考电压,N表示数数据),这里的参考电压为机的电源。产生锯齿波只须将输出到DAC0832的数据由0循环递增;产生正弦波可根据正弦函数建一个下弦数字量表,取值范围为一个周期,表中数据个数在16个以上。,图14.2,图14.3,实验15模/数转换实验,一、实验目的,二、实验内容,了解模/数转换的基本原理,掌握ADC0809的使用方法。,实验电路原理图如图15.1所示。通过实验台左下角电位器RW1输出05直流电压送入ADC0809通道0(IN0),编程采集IN0输入的电压,在屏幕上显示出转换后的数据(用16进制数)。,图15.1,三、编程提示,ADC0809的IN0口地址为298H,IN1口地址为299H;IN0单极性输入电压与转换后数字的关系为:N=Ui/(Uref/256)其中Ui为输入电压,UREF为参考电压,这里的参考电压为机的电源。编程流程如图15.2所示,图15.2,实验168255A并行口键盘扫描实验,一、实验目的,掌握8255A编程原理。了解键盘阵列结构,学会读取按键的方法。,二、实验内容,本实验的实验电路如图16.1所示。它做在一块扩展电路板上,用一根20芯扁平电缆线将实验板扩展插头J1与实验台上的扩展插头J7相连,为扩展电路连接电源及外部总线。扩展电路板上的数码管、键盘阵列既能由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口,还需要连接8255芯片的片选,以使键盘阵列由8255芯片控制。8255A的端口A地址为:288H,端口C地址为:28AH,控制口地址为:28BH。编程使得在键盘阵列上每按一个键后,微机屏幕上有相应字符显示出来。,图16.1,三、编程提示,1识别键盘上的闭合键,通过采用行扫描法或列翻转法:(1)行扫描法是使键盘上某一列线为低电平,而其余行接高电平,然后读取列值;如果列值中有某位为低电平,则表明行列交点处的键被按下;否则扫描下一行,直到扫完全部的行线为止。(2)行反转法识别闭合键时,要将行线接一个并行口,先让它工作在输出方式,将列线也接到一个并行口,先让它工作在输入方式;程序通过输出端口向全部行线上送低电平,然后读取列线的值;如果此时有某一键被按下,则必定会使某一列线值为零,程序再对两个并行端口进行方式设置,使行线工作在输入方式,列线工作在输出方式,并且将刚才读到的列线值从列线所接的并行端口输出,再读取行线上的值;那么,在闭合键所在的行线上的值必定为零。这样,当一个键被按下时,必定可以读到一对唯一的行值和列值。在我们提供的程序中就采用行反转法来识别键盘按键。,2在程序设计时,将各个键对应的代码(列值,行值)放在一个表中,程序通过查表来确定具体按下的为哪一个键。3编程流程主程序流程如图16.2所示。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国钠粉项目创业计划书
- 中国多库脂钠项目创业计划书
- 2025年江苏海绵制品项目可行性研究报告-图文
- 2025年中国氯化钛白粉项目创业计划书
- 中国改性聚丙烯项目创业计划书
- 中国醋酸锂项目创业计划书
- 长治市中医院重症感染血糖管理考核
- 晋城市中医院病毒感染诊治考核
- 大同市人民医院科室科研项目组织考核
- 晋中市中医院重大手术主刀资格认证
- 2025工程机械设备租赁合同书
- 2025年企业食品安全管理人员培训考核试题及解析(公共篇)
- 2025年新闻记者资格证及新闻写作相关知识考试题库(附含答案)
- 小学数学集体备课基本流程
- 2025年10月份上海市普陀区九年级语文上学期月考试卷解析及答案
- 2025届春季厦门银行校园招聘考前自测高频考点模拟试题附答案详解(考试直接用)
- 湘少版(三起)(2024)三年级上册英语Unit4 This is my family教案
- 2025年上海市绿化和市容管理局部分直属事业单位公开招聘考试参考试题及答案解析
- 人工智能行业2025年人才需求结构与培养方案可行性研究报告
- 2025-2026学年高一生物上学期第一次月考生物试卷(黑吉辽蒙)
- 2025山东潍坊市安丘市华安实业发展集团有限公司招聘2人笔试参考题库附答案解析
评论
0/150
提交评论