版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
年4月19日微机实验指导书文档仅供参考微机原理及应用实验指导书主编:微机原理课程组中原工学院信息商务学院11月11日前言随着技术的发展和进步,微型计算机的应用在各行各业中迅猛发展。它已成为每个专业技术人员必备的基础。“微机原理与应用”已成为高等院校电类专业的一门专业基础主干课程。学好这门课对后续课程的学习有很大的帮助。该课程是实践性很强的课程,只有书本上的理论知识远远不够的,只有经过上机实验才能掌握程序设计方法;经过实验才能巩固所学的知识和验证其原理。因此我们编写了这本实验指导书,一方面使学生经过实际动手操作,更深刻的掌握基础理论实践知识;另一方面是为了便于组织教学。全书由两个部分组成。第一部分为软件设计部分,介绍上机的基本过程及汇编软件的使用,包括EDIT,DEBUG,MASM等。介绍了软件编程实验的目的、要求及程序流程图。实验内容包括基本的上机练习和顺序、循环、分支和子程序4种基本结构的程序设计练习和经过设计一个比较实用的学生成绩报表系统软件,使学生能够综合运用汇编语言知识掌握程序设计方法。第二部分为接口部分。包括6个实验,有8255简单接口及交通灯实验,定时、A/D转换、串行通信实验及电子钟设计制作实验。这部分综合了程序设计及硬件接口电路方面的知识,对学生全面掌握微机原理与应用这门课程有很大的帮助,对后续课程的学习奠定坚实的基础。本次修订,增加了2个设计性实验。附录中,介绍了汇编语言上机的一般步骤及各种Debug命令的使用方法。编者.11 目录第一章概述 1第二章实验要求及注意事项 2一、实验的基本要求 2二、实验报告写作要求 2三、实验报告文字要求 2四、实验室管理制度 3第三章实验项目 4实验一汇编语言上机实验 4实验二分支、循环程序设计实验 6实验三DOS功能调用实验 7实验四子程序结构设计实验 8实验五学生成绩统计报表 9实验六8255接口简单I/O实验 10实验七8255接口模拟交通灯实验 12实验八8253接口分频器实验 14实验九电子钟设计与实现 15实验十8251可编程串行口通讯实验 16实验十一多路A/D转换实验 17第四章附录 19附录AHKZK8688TE实验机在串行监控配置方式下安装和启动 19附录B运行汇编语言源程序的过程 20附录C调试程序DEBUG的使用说明 24附录D常见可编程接口芯片控制字格式 34第五章参考文献 36第一章概述《微机原理与应用》是一门实践性很强的专业基础课,仅仅学习书本上的理论知识是远远不够的,只有理论与实践结合起来,才能全面掌握微型计算机的原理、程序设计及接口电路。为学习后续课程奠定坚实的基础。因此,实验教学在本门课程中充当着重要角色。本课程实验主要包含三部分的内容:汇编语言上机过程、程序设计、接口技术及相关的准备知识。学生在使用本指导书前,应对附录上的基础知识有一定的了解。经过理论教学后,掌握汇编语言的上机过程,利用顺序、分支、循环、子程序等结构设计一些基本汇编语言源程序。从而对8086/8088的指令系统、程序结构有一个深入的了解。在学习了常见接口电路的基础上,经过微机原理与接口综合实验箱平台,使学生选做一些常见接口芯片电路的实验,掌握接口电路原理及其编程技术。本指导书包含11个实验,其中验证性实验7个,综合性实验2个,设计性实验2个,覆盖了整个教学大纲的内容。验证性实验主要要求学生对书本知识的掌握和理解,经过实验达到掌握本课程基础知识的目的。综合性实验包含在接口技术部分。要求学生在掌握汇编语言程序设计及接口电路原理的基础上,综合硬件和软件知识,设计相应的硬件电路,并编写相应程序,从而使学生全面掌握微机原理及接口技术。设计性实验包括软件设计和接口设计的内容,学生能够利用业余时间,在参阅一些相关文献的基础上,开拓学生思路,充分调动学生的能动性,让学有余力的学生设计开发具有一定实用功能的软件或制作,学生能够利用业余时间,在开放实验室内完成。第二章实验要求及注意事项一、实验的基本要求微机原理课程是一门实践性较强的课程。上机实验的目的是在理论学习的基础上,经过上机实际操作和应用,使学生进一步了解和掌握微型计算机的工作原理,对计算机有一个感性的认识。经过综合实验课的练习,使学生能经过实际操作,实现小型系统的一些简单功能。达到理论联系实际的目的。为了能顺利完成实验课的学习,做以下要求:学生在实验前应复习教科书有关章节,认真研读实验指导书,了解实验目的、原理与步骤,明确实验过程中应注意的问题。实验前应按具体要求写出预习报告,由指导教师进行抽查,认为确实做好了实验前的准备,方可开始实验。实验过程中,首先完成实验指导书要求的实验内容,记录实验结果,达到实验指导书中要求。然后才能够进行自己设计的与本课程有关的实验项目。实验完成后,应根据实验过程,按实验指导书要求写出实验报告。实验报告要简明扼要、字迹清楚、代码及图表整洁,结论明确。预习报告附在实验报告后面,作为实验报告的一部分。预习报告应包括以下内容:(1)实验名称、姓名、学号。(2)按实验指导书预习实验内容、要求。(3)列出实验项目并简述原理和操作步骤。(4)预习报告应使用专用的实验报告纸。二、实验报告写作要求实验报告是在某项科研活动或专业学习中,实验者把实验的目的、方法、步骤、结果等,用简洁的语言写成书面报告。实验报告一般根据实验的先后顺序来写,应有以下主要内容:1、姓名及日期:学生资料及写作日期。2、实验名称:用最简练的语言反映了实验的内容。3、实验用的仪器和设备:应列出实验用的各类仪器、设备。4、实验的步骤和方法:这是实验报告极其重要的内容。记录本实验的主要过程和步骤,设计相应的程序流程图或硬件电路,编写源程序;列出实验环境参数及注意事项。5、实验结果:应完整地记录实验的结果或数据及观察到的图形。6、分析及计算:应对实验中测到的数据进行了分析,并计算结果。7、实验讨论:利用实验的结果对实验现象及假设进行讨论;比较相似及不同的实验结果;说明实验结果能否解释本实验的问题。8、备注或说明:是否清楚实验成功或失败的原因、实验后的心得体会、建议等。9、实验结论:根据本实验的结果,对本实验做出结论,结论应与本实验的目的对应。三、实验报告文字要求1、写实验报告是一件非常严肃、认真的工作,要讲究科学性、准确性、求实性。2、实验报告描述要清楚、肯定,语言通顺,用语专业、准确,结构严谨、层次清晰。3、实验报告中要避免以下错误情况的发生:观察不细致,没有及时、准确、如实记录,假造实验现象等做法,外文、符号、公式不准确,没有使用统一规定的名词和符号。四、实验室管理制度上机实验是学生学习期间的重要教学环节,学生进入实验室,必须严格执行实验室的管理制度,工作人员和任课教师也必须按照实验室管理制度进行管理。1、学生进入实验室,应按要求集中就坐,服从指导教师的安排。2、学生必须填写实验登记表,如果发现设备故障,马上向指导教师报告,申请调换机位,并在实验登记表上标记故障机(在表中设备状态栏填写故障现象),同时,在实验登记表上填写机器号并签名。登记表的填写由指导教师负责组织。3、学生实验期间,不得随意离开实验室,需要离开实验室的学生必须经由指导教师的批准。4、学生不得携带食品、饮料等进入实验室,发现后,指导教师与值班人员应进行批评教育。对于不接受批评教育的学生,值班人员和教师有权利请该学生离开实验室。对于态度恶劣的学生,交由学生管理部门依据学校有关管理规定进行处理。5、学生应爱护实验设备,不得私自移动、拆卸机箱,并积极配合值班人员保证设备完好和安全。6、学生实验结束,经指导教师检查认可并在实验登记表签字后,按程序关闭计算机、关闭显示器电源和实验箱电源后,带好自己的物品离开实验室。第三章实验项目实验一汇编语言上机实验一、实验目的1、熟悉掌握汇编程序的编辑、编译、连接、运行,要求在Debug状态下查看结果。2、熟悉Debug对程序进行调试的方法及步骤。3、熟悉掌握8086常见的汇编语言指令。4、掌握简单的程序设计方法。二、实验属性验证性实验。三、实验仪器设备及器材计算机(含有汇编软件)。四、实验要求实验前:在熟练掌握指令系统的基础上,要求学生对上机基础知识(见附录A、B、和C)有一定的了解,能掌握汇编语言的上机过程及常见的DEBUG调试命令,按要求写出预习报告;2、实验时:认真理解实验内容,掌握汇编程序的编辑、编译、连接、运行及Debug程序的使用;3、实验后:写出实验报告(包括程序流程图、源程序、实验结果)。五、实验内容及原理1、内存中存放有两个双字的数据,用加法指令和带进位加法指令完成两数相加。用Debug观察相加结果。相加时应注意,低位字在前、高位字在后,高位字与高字位、低位字与低位字对应相加,高位字相加时,应采用带进位的加法指令。实验参考程序如下:datasegmentbuffer1dW20h,5040hbuffer2dW2434h,2034hdataendscodesegmentassumecs:code,DS:DATAstart:movax,data;取数据段段基址movds,axleasi,buffer1;取buffer1的有效地址送指针SImovax,[si]movdi,offsetbuffer2;取buffer2的有效地址送指针DIaddax,[di];低位字相加mov[si],ax;相加和送变量buffer1保存addsi,2;修改指针,指向高位字adddi,2movax,[si]adcax,[di]mov[si],axMOVAH,4cH;返回DOS,但如在DEBUG下调试, int21h;可不用此软中断hlt;暂停codeendsendstart码制转换:把寄存器中(或存储器中)一个字的组合BCD码,转换为4位ASCII码,存入相应的内存单元中,并在DEBUG状态下查看运行结果。(一个字的组合BCD码包含4位BCD码,将其依次分解为4个非组合BCD码,分别加上30H,即成为ASCII码,并存入内存单元)程序参考流程图见图3-1。开始从内存中取一个字到A开始从内存中取一个字到AX把低八位由AL送入BL把高八位由AH送入BHAL与0F相与,结果加30H,送相应内存单元BL逻辑右移四位与0F相与,结果加30H,送相应内存单元,AH与0F相与,结果加30H,送相应内存单元BH逻辑右移四位与0F相与,结果加30H,送相应内存单元,结束1、打开PC机,进入MS-DOS环境。2、运行编辑程序,进入编辑状态,输入源程序。3、保存源程序到MASM目录下,文件名保存为×××.asm。4、经汇编程序MASM汇编后,产生目标文件。如果有错误,返回编辑状态。5、连接目标文件,生成可执行文件×××.EXE6、在DEBUG状态下进行调试,经过单步、连续、跟踪、断点等调试方法,在内存中观察程序运行情况。7、如果运行结果不正确,返回编辑状态修改源程序。七、思考题经过何种指令使标志寄存器每位置1,清0;在Debug状态下,标志寄存器每位的状态(1,0)是如何表示的?Debug状态下,G命令与T命令有何区别;查阅BCD码到ASCII码及十六进制数之间的转换关系。图3-1两个双字数相加的流程图图3-1两个双字数相加的流程图实验二分支、循环程序设计实验一、实验目的1、进一步掌握汇编程序的编辑、编译、连接、运行,并在Debug状态下查看结果。2、进一步掌握利用Debug对程序进行调试的方法。3、进一步熟悉掌握8086常见的汇编语言指令。4、掌握分支程序、循环程序设计及调试方法。二、实验属性验证性实验。三、实验仪器设备及器材计算机(含有汇编软件)。四、实验要求1、实验前:对实验内容进行预习,完成实验程序的编写。按要求完成预习报告。2、实验时:深刻理解分支、循环程序设计思想,熟练掌握上机调试及Debug使用。3、实验后:写出实验报告(包含程序流程图、源程序、结果)。五、实验内容及原理开始初始化:SI开始初始化:SI存放数据首地址DI存放结果首地址CX字符串长度AL取一个字符是大写字母吗?ALAL-20HCX-1=0?结束NYNY存放转换结果参考流程图见图3-2。2、从内存中存放的一组无符号数中,找出最大的一个,存入相应的内存单元。六、实验步骤同实验一。七、思考题如何经过伪指令计算内存中字节的个数。在实验内容2中,如果寻找的数为有符号数,如何修改程序。图3-2大小写字母转换的流程图图3-2大小写字母转换的流程图实验三DOS功能调用实验一、实验目的1、熟练掌握汇编程序的编辑、编译、连接、运行。2、初步掌握DOS功能调用的基本方法。3、使用DOS功能调用显示程序结果。二、实验属性验证性实验。三、实验仪器设备及器材计算机(含有汇编软件)。四、实验要求1、实验前:熟悉实验内容,并按要求将程序编好并写出预习报告。2、实验中:要求学生熟悉掌握DOS功能调用的步骤,将程序录入计算机,经汇编、连接、Debug调试后,运行程序,在DOS环境下观察实验结果。3、实验后:写出实验报告(包含程序流程图、源程序、结果)。大于80分人数S4+1大于80分人数S4+1开始初始化:BX地址初值CX循环值AL[BX]AL≥80?AL≥70?AL≥60?大于60分人数S2+1小于60分的人数S1+1地址加1循环值-1CX=0?结束大于60分人数S2+1显示结果YNYNYNN1、使用DOS功能调用,将实验二中大小写字母转换的结果在屏幕上显示。用键盘输入的方式输入一串大小写字母,将其分别转换为大写、小写字母并显示。2、设有30个学生的成绩分别为90,75,55,60,63……。试编写程序分别统计低于60、6069、7079及80100分学生人数,并存入到S1、S2、S3、S4,将统计个数分别在CRT上显示(按十进制数形式进行显示)。参考流程图见图3-3。六、实验步骤参见实验一。七、思考题分行显示时,为何要先执行回车换行代码。在实验内容2中,如图3-3成绩统计程序流程图果按十六进制显示,程序如何编写。图3-3成绩统计程序流程图实验四子程序结构设计实验一、实验目的1、熟练掌握汇编程序的编辑、编译、连接、运行。2、进一步掌握DOS功能调用的基本方法。3、掌握子程序结构设计思想。二、实验属性验证性实验。三、实验仪器设备及器材计算机(含有汇编软件)。四、实验要求1、实验前:熟悉实验内容,并按要求将程序编好并写出预习报告。2、实验中:学生熟悉掌握子程序结构设计思想,利用所学指令实现实验内容要求的程序编写。并应要求在屏幕上显示。如有错误,在Debug状态下进行调试。3、实验后:写出实验报告(包含程序流程图、源程序、结果)。五、实验内容及原理开始设置数据及结果单元开始设置数据及结果单元设置参数传递单元传递参数a调用子程序求a平方传递参数b调用子程序求b平方及累加和传递参数c调用子程序求c平方及累加和调用子程序显示结果结束2、求,显示运算结果(十进制形式)。a,b,c是定义在数据段中的三个单字节的无符号数,结果存放在这三个数之后,约定占2个字节。参考流程图见图3-4。六、实验步骤参见实验一。七、思考题1、子程序设计时,应注意哪些问题。2、在实验内容2中,假如运算结果大于字,如何判断。图3-4计算平方和的程序流程图图3-4计算平方和的程序流程图实验五学生成绩统计报表一、实验目的1、熟练掌握汇编程序设计方法和各种程序结构的应用。2、熟练掌握DOS功能调用的基本方法及输入输出命令。3、熟练掌握、运用汇编指令。二、实验属性设计性实验。三、实验仪器设备及器材计算机(含有汇编软件)。四、实验要求1、实验前:熟悉实验内容,并按设计内容要求将程序编好并写出预习报告。2、实验中:利用所学知识实现实验内容要求的程序编写,在Debug状态下进行调试。3、实验后:写出实验报告(包含程序流程图、源程序、结果)。4、如时间不够用,能够利用业余时间,在开放实验室内进行。五、实验设计内容:1、设计任务:统计某班学生某课程成绩(成绩:0~100分;人数:0~200)2、具体设计要求:(1)经过键盘输入班级、课程、学生人数及该班学生的成绩,并能在CRT上显示每个学生的成绩;(2)求出最高分、最低分、平均分,均方差及分数分布情况,并在CRT上显示统计结果。提示:D=,。式中,D:方差;:平均值;:期望值;:均方差值;Xi:单个成绩。统计结果显示格式建议如下(仅供参考):Inputthemeritofthisclass:(Xi)Inputthemeritofthisclass:(Xi)XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XXXX,XX,XX,XX,XX…Resultofstatistics:Class,Major,Course,Totalnumber(n)Highscore,Lowscore,Averagescore()Expectvalue(Eξ)=,D=,δ=Meritarrangement:<6060-7070-8080-90>90XXXXXXXXXX六、实验步骤自定。七、思考题1、如果学生人数大于256和某课程成绩满分大于100分时,程序应如何处理。2、如何打印输出统计的结果。实验六8255接口简单I/O实验一、实验目的1、掌握经过8255驱动LED的接口电路设计方法。2、掌握8086CPU与接口电路之间信息传递方式。3、学习编制输入输出接口程序的方法。二、实验属性验证性实验。三、实验仪器设备及器材计算机、微机原理综合实验箱。四、实验要求1、实验前:熟悉实验内容,并按要求将程序编好并写出预习报告。预习8255结构及命令字格式。2、实验中:正确连线,掌握接口电路程序设计调试的方法。3、实验后:写出实验报告(含程序流程图、源程序、电路连接图,实验结果分析)。五、实验内容及原理经过8255的PC口经74LS245驱动8个LED发光二极管:L1~L8,8255的PB口连接按键K1~K5。当K1键按下时,8个LED同时发光;当K2键按下时,8个LED同时熄灭;当K3键按下时,8个LED按七暗一亮的状态左移循环发光;当K4键按下时,8个LED按七暗一亮的状态右移循环发光;当K5键按下时,返回DOS状态。8086CPU根据按键状态,经过软件延时的方法,向外部设备传输信息,使LED左移或右移循环发光。电路图见图3-5。图3-5经过8255驱动LED的接口电路原理图图3-5经过8255驱动LED的接口电路原理图六、实验步骤1、打开实验箱,连结PC机、微机综合实验箱的通讯线;2、根据自己设计的电路连接8255与LED发光二极管(74LS245的输入端)及按键的连线;3、打开PC机电源,经过编辑软件输入源程序;4、软件汇编调试无误后,将程序加载到实验箱中;5、在微机原理综合实验箱上调试程序;6、根据按键,观察LED发光二极管的发光状态;7、实验结束后,关闭实验箱电源,拆除并整理好连线。七、思考题 1、8255有几个端口,怎样进行端口访问。 2、各端口的工作模式有哪几种。实验七8255接口模拟交通灯实验一、实验目的1、掌握输入输出控制电路的设计方法。2、深入理解8086CPU与接口电路之间信息传递方式。3、进一步学习编制数据输入输出的方法。4、学习双色灯的使用。二、实验属性综合性实验。本实验综合了程序设计(判断转移、输入输出控制、延时子程序等)、可编程输入输出接口与输入输出外部设备的电路设计。三、实验仪器设备及器材计算机、微机原理综合实验箱。四、实验要求1、实验前:熟悉实验内容,并按要求将程序编好并写出预习报告。预习8255结构及命令字格式。2、实验中:正确连线,掌握接口电路程序设计调试的方法。3、实验后:写出实验报告(包含程序流程图、源程序、电路连接图,实验结果分析)。五、实验内容及原理:(一)以8255作为输出/输入口,经过驱动电路控制4个双色LED(红、绿、),模拟十字路口交通信号灯的控制。经过开关改变南北方向或东西方向的通行时间,并具有四方向黄灯同时闪烁的功能。(二)本实验是模拟交通灯控制,要了解实际交通灯的变化规律。1、十字路口为东西、南北走向。初始状态0:为东西红灯,南北红灯,全部禁行。然后转运行状态。运行状态分为状态1~状态4,循环执行。状态1:南北通行绿灯亮,东西禁行红灯亮;调用延时软件一,延时后转入状态2;状态2:南北通行状态结束,绿灯闪烁几次转亮黄灯;调用延时软件二,延时后转入状态3,此时东西向仍为红灯禁行;状态3:东西通行绿灯亮,南北禁行红灯亮;调用延时软件一,延时后转入状态4;状态4:东西通行状态结束,绿灯闪烁几次转亮黄灯;调用延时软件二,延时后转入状态1,此时南北向仍为红灯禁行。注:双色LED由一个红色LED管芯和一个绿色LED管芯封装在一起,阴极为共用端:(1)红色阳极加高电平,绿色阳极加低电平时,红灯亮。绿色阳极加高电平,红色阳极加低电平时,绿灯亮。(2)红色、绿色阳极同时加高电平,显示黄灯。(3)双色LED电路原理图见图3-6。2、选作部分:可根据设置的开关状态改变延时软件一的延时常数,使南北或东西方向具有不同的通行时间;也可根据设置的开关状态进入四方向黄灯同时闪烁的缓行状态。六、实验步骤:1、打开实验箱,连结PC机微机原理综合实验箱的通讯线;2、根据自己设计的电路连接8255与双色灯驱动电路及开关的连线;3、打开PC机电源,经过编辑软件输入源程序;4、软件汇编调试无误后,将程序加载到实验箱中;5、在微机原理综合实验箱上经过调试程序;6、观察各方向信号灯的变化情况,改变延时程序的延时时间常数,使其符合交通信号灯的变化规律。7、改变不同开关的状态,观察是否符合设计要求。8、实验结束后,关闭实验箱电源,拆除并整理好连线。七、思考题: 1、把双色的LED变成单色的LED(红、黄、绿),电路如何连接,控制程序如何改变。 2、是否能够经过键盘输入参数控制交通灯的闪烁时间。红红共阴端绿图3-6双色LED电路原理图图3-6双色LED电路原理图实验八8253接口分频器实验一、实验目的1、熟练掌握8253接口电路的应用。2、了解8253的工作模式,掌握其编程方法。3、了解8253定时器的硬件连接及时序关系。二、实验属性验证性实验。三、实验仪器设备及器材计算机、微机原理综合实验箱。四、实验要求1、实验前:预习8253工作模式命令字格式,熟悉实验内容,按要求编写好实验程序,写出预习报告。2、实验中:正确连线,掌握接口电路程序设计调试的方法,注意观察实验现象。3、实验后:写出实验报告(包含程序流程图、源程序、电路连接图,实验结果分析,画出时序关系图)。五、实验内容及原理编程初始化8253,其设置为:定时器0工作在方式3(方波)的状态,定时器1工作在方式2(分频)的状态。1、定时器0输出的脉冲作为定时器1的时钟输入;定时器1输出的脉冲作为定时器2的时钟输入。2、用示波器观察(可用LED指示灯代替)定时器0和定时器1的输出引脚之间的波形关系。3、8253的工作频率不超过2MHz,输入的CLK频率须在2MHz以下。开始关中断开始关中断置定时器0为方式3送初值为200H置定时器1为方式2送初值为0AH置定时器2为方式2送初值为0AH返回DOS后再作为8253的CLK输入。将波特率开关拨至9600,然后从开关边上的f插孔引出接到8253的CLK0输入端。六、实验步骤参见实验六。七、思考题1、8253定时计数器有哪几种方式,各有什么特点。2、8253工作于计数状态时,输入的脉冲频率有什么要求。注:8253中GATE0、GATE1、GATE2接+5V,CLK0接波特率开关旁的f插孔,见实验箱中的标注,OUT0接CLK1,OUT1接CLK2,CS接200-207孔。图3-78253初始化编程流程图图3-78253初始化编程流程图实验九电子钟设计与实现一、实验目的1、熟练掌握8255A、8253等接口电路设计及编程方法。2、熟练掌握汇编语言程序设计方法。3、学习动态显示、键盘输入等外设的实现方法。二、实验属性设计性实验。三、实验仪器设备及器材计算机、微机原理综合实验箱、万用表、自制的实验板和若干电子元件。四、实验要求1、实验前:熟悉实验设计内容,并按要求设计相应的硬件接口电路,将编写实验程序并写出预习报告。预习8255A、8253的硬件结构及读写控制逻辑、动态显示、键盘输入等外设的实现方法、定时器的使用的方法。2、实验中:正确连线,掌握接口电路及程序设计调试的方法。3、实验后:写出实验报告(包含程序流程图、源程序、硬件电路图,结果分析)。五、实验内容及原理1、设计任务:利用8253的定时功能,设计一个电子钟,经过8255A驱动八段LED实时显示年、月、日,时、分、秒。2、具体设计要求如下:(1)日期/时间初值能够经过键盘设置、修改;(2)日期/时间能够经过按键切换显示;(3)秒时钟每秒更新一次(4)显示格式建议如下(仅供参考):显示日期格式:07-12-30显示时间格式:18:23:54六、实验步骤自定七、实验电路结构参考图8255A8255A八位LED键盘连接插座实验箱图3-8实验电路结构示意图图3-8实验电路结构示意图八、思考题1、闰月如何判断。2、不用接口芯片,使用纯软件如何在CRT上显示日期/时间。实验十8251可编程串行口通讯实验一、实验目的1、掌握8251芯片结构、原理及应用程序的设计方法。2、了解实现串行通讯的硬件环境,数据格式的协议,数据交换的协议。3、了解PC机通讯程序的设计方法。二、实验属性验证性实验。三、实验仪器设备及器材计算机、微机原理综合实验箱,串行通讯调试助手软件。四、实验要求1、实验前:预习8251工作方式和命令字格式,熟悉实验内容,按要求设计程序流程图,编写好实验程序,写出预习报告。2、实验中:正确连线,掌握接口电路程序设计调试的方法,注意观察实验现象。3、实验后:写出实验报告(包含程序流程图、源程序、电路连接图,结果分析,)。五、实验内容及原理CS连228H~22FH。用RS-232通讯电缆接至实验箱的9芯通讯插座,另一端接至另一台PC机的串行通讯接口,该PC机使用串行通讯调试助手软件,实现终端仿真。N初始化8251N初始化8251设置通讯格式设置为请求发送、允许发送、允许接收读接收缓存器数据并显示发送键值返回DOS开始是结束标志是结束标志有键按下接收串口数据允许发送NYNNYYNY六、实验步骤参见实验六。 七、思考1、8251实现串行通信时,波特率怎么设置。2、在无MODEM下,两个8251实现串行通信时,硬件电路如何连接。图3-98251通讯程序参考流程图图3-98251通讯程序参考流程图实验十一多路A/D转换实验一、实验目的1、掌握A/D转换与计算机的接口方法。2、掌握A/D芯片片ADC0809转换性能及编程方法。3、经过实验了解计算机如何进行数据采集。4、进一步加深理解CPU与外设进行数据交换的方式。5、进一步熟悉8086汇编语言程序设计方式。二、实验属性综合性实验。本实验综合了可编程接口及AD转换电路的硬件设计和程序设计(数制转换、判断转移、DOS系统功能调用、输入输出控制、中断服务子程序等)。三、实验仪器设备及器材计算机、微机原理综合实验箱、万用表四、实验要求1、实验前:熟悉实验内容,按要求将程序编好并写出预习报告。预习ADC0809的硬件结构及读写控制逻辑、转换原理、读取转换结果的方法。2、实验中:正确连线,掌握接口电路程序设计调试的方法。3、实验后:写出实验报告(包含程序流程图、源程序、电路连接图,结果分析)。五、实验内容及原理内容:1、利用CRT显示ADC0809转换的数字电压值。(1)设计ADC0809转换器与计算机的接口电路。(2)经过两个按键开关(K1、K2),用于选择ADC0809的通道一或通道二,当按下K1键或K2键,分别将ADC0809通道一或通道二输入的模拟电压进行转换,并将转换的结果在CRT上显示出来,显示格式为十进制数的形式。(3)按照自己设计的硬件电路,编写程序,并经过微机原理综合实验箱进行调试。2、用八段LED数码管显示ADC0809转换的数字电压值(选做)。(1)设计ADC0809转换器与计算机的接口电路。(2)经过两个按键开关(K1、K2),用于选择ADC0809的通道一或通道二,当按下K1键或K2键,分别将ADC0809通道一或通道二输入的模拟电压进行转换,并将转换的结果经过八段LED数码管显示出来,显示格式为十进制数的形式。原理:1、可采用中断、查询或软件延时方式,对ADC0809的转换结果进行读取。2、将读取的转换结果先转换成BCD码,然后再将BCD码转换成ASCII码。利用DOS系统功能调用,将结果在PC机屏幕上显示出。3、使用电位器分压的方法,得到双路ADC输入的电压值(小于5V)。4、也可利用并行接口芯片(8279或8255)驱动八段码LED数码管,利用动态扫描显示方式,将得到的结果进行显示。要求按照自己设计的硬件电路,编写程序,并经过微机原理综合实验箱进行调试。六.实验步骤参见实验六七.实验电路及注意要点1、实验电路图见图3-10。图3-10ADC0809实验电路接线图图3-10ADC0809实验电路接线图2、注意要点A/D转换器大致有三类:①双积分A/D转换器,优点是精度高,抗干扰性好,价格便宜,但速度慢;②逐次逼近法A/D转换器,精度、速度及价格适中;③并行A/D转换器,速度快,但价格较高。实验用的ADC0809属于第二类,为八位A/D转换器,转换时间为100us左右,其时钟频率小于500KHz。对0809ADC的转换结果,能够采用三种方式读取:(1)经过中断的方式,EOC引脚连接8259的IRQ2上;(2)经过查询方式,EOC引脚连接8255的任一个I/O端口;(3)经过软件延时方式,延时100us,EOC引脚可悬空不用。电位器Wl、W2中心抽头接IN0、IN1。电位器两端已经接好,不需再接,以防止电源与地之间出现短路。若PC机中断源全部被系统占用,经过IRQ2不会产生中断响应。此时不能经过中断方式得到ADC0809转换结束信号EOC。八、思考题CPU与外设交换信息的方式有哪几种。如何经过程序改变某种中断号的中断向量。如果把ADC0809的A、B、C分别连接到数据线的D0、D1、D2,此时如何启动某通道进行A/D转换。第四章附录附录AHKZK8688TE实验机在串行监控配置方式下安装和启动一、系统安装示意图图4-1串行监控配置方式图4-1串行监控配置方式串行监控配置方式是利用微机向实验机发送串行监控命令,实验机上的微处理器8088根据监控命令做相应的动作。在该配置方式下,实验时用到的微处理器是实验机上的微处理器。二、开关和连线设置1、用40芯短电缆将实验箱上的J2和J3插座连接起来,用RS-232串行通讯电缆将微机的串行通讯口1或串行通讯口2与实验箱右边9芯插座J4连接起来,J1插座为空。短路套JP0~JP4插入RAM侧,JP5插入HKZK侧:K10接上短路套,K11,K12拨至RAM侧。在J5上插上外接电源电缆插头(注意插入方向),电源开关K13拨至左端,用外接电源供电。每打开电源上电后,实验机数码管上将显示:HKZK8688。三、系统运行打开PC机,进入WINDOWS环境下,执行HK88TE,实验机数码管显示:8688,表示连机成功。此时便可在串行方式下,加载程序到实验机上,进行运行,而且能够进行设置断点、单步/跟踪运行等调试功能。附录B运行汇编语言源程序的过程由于汇编语言的固有特点,实践环节尤为重要,上机实验是快速掌握汇编语言程序设计的重要方法。本书的汇编语言实践环境基于DOS平台。编制好的汇编语言源程序,若要上机运行,必须经过如图4-2所示的几个步骤:图4-2汇编语言程序的建立过程图4-2汇编语言程序的建立过程①调用EDIT编辑程序建立和修改汇编语言源程序。②汇编语言源程序文件必须经过汇编,变为机器码的目标文件。③经过连接,把程序的各个模块连接在一起,形成可执行文件。④运行可执行文件。一般,一个较复杂得汇编语言源程序,不出现一点错误是不太可能的。如果发现运行错误,能够使用DEBUG跟踪调试程序动态调试可执行文件,检查出错误后,再使用EDIT编辑程序对汇编语言源程序进行修改,然后再次进行汇编、连接、运行程序,直至程序运行正确为止。下面对编辑、汇编、连接、运行和调试程序的使用过程作简要介绍。一、编辑使用EDIT编辑程序建立和编辑汇编语言源程序。启动EDIT的常见命令格式是:>EDIT文件名.ASM;文件名可选,“”表示按回车键,带有下划线的字符均为键盘输入,下同。如果启动时不带文件名,且该文件存在,则启动后能够选择File菜单中的Open命令打开该文件,然后对其编辑,最后选择Save命令保存该文件。如果是新文件,能够直接输入该文件名,然后选择File菜单中的SaveAs命令保存。如果启动时带有文件名,即把已存在的文件调入。如果该文件不存在,则启动后即建立一个新文件,可在该新文件名下输入汇编语言源程序。对于汇编语言源程序,其文件的扩展名必须是.ASM。在EDIT下,源程序以ASCII字符的形式存放在内存缓冲区中。若输入过程有错,能够利用EDIT的命令对输入文件进行修改,若源程序在汇编过程或运行过程中发现有错,则也可用EDIT命令对源文件进行修改,这样,在盘上就有了源文件和它的备份文件。编辑完成后,必须选择File菜单中的Save或SaveAs命令,将该文件保存到指定得目录(文件夹)中。然后选择File菜单中的Exit命令退出EDIT。二、汇编汇编语言源程序经过汇编后才能够生成目标程序,这个过程由汇编程序实现。汇编程序的基本功能是将用汇编语言编写的源程序翻译成机器语言的目标代码,还提供生成用户的宏指令、检查用户源程序中的错误、生成源程序语句和目标程序语句的列表等功能。为了适应编制多模块的大程序和调用MS-DOS支持下的公共子程序的需要,汇编以后的目标程序中的地址部分是可浮动的相对地址,而不是可执行的绝对地址。在DOS平台上使用较普遍的汇编程序是MS-DOS的宏汇编(MACROassembler)MASM。汇编程序在汇编后于盘上建立三个文件,如图4-3所示。源文件(.ASM)汇编程序源文件(.ASM)汇编程序MASM.EXE列表文件(.LST)目标文件(.OBJ)交叉索引文件(.CRF)图4-3汇编程序的输入/输出文件第2个是扩展名为.OBJ的目标程序。在此程序中,操作码部分己变为机器码,但地址操作数只是一个可浮动的相对地址,而不是在内存中的绝对地址。第3个是扩展名为.CRF的交叉索引文件,能够对符号(symbol)进行前后对照。在汇编时,首先在DOS提示符下键入masm命令。汇编程序会对要不要建立上述三个文件,以及要建立时的文件名进行提问。以源程序exam.asm为例,屏幕显示如下:注意在显示中凡用斜体书写的内容是用户从键盘输入的。在调入汇编程序后,先显示版本号、版权信息,然后出现第一行提示,询问要汇编的源文件名。在用户输入文件名(在键入源文件名后可省去扩展名.ASM)后回车,则出现第二个提示,询问目标程序的文件名,括号中的显示为机器由输入的源文件名导出的默认文件名。一般直接按回车键,表示采用默认;接着出现第三个提示,询问是否要建立列表文件(默认为空),需要则键入文件名;最后发出第四个提示,询问是否要建立交叉索引文件(默认为空),若要则键入文件名。在回答了第四个询问后,汇编程序就对源程序进行汇编。若汇编过程中发现源程序中有语法错误,则给出错误的行号和错误信息提示,最后列出警告错误数及严重错误数。此时,要根据给出错误的行号和错误信息提示,分析错误后,再进入EDIT编辑器加以修改,改正后重新汇编,直至汇编后无错误为止。也能够用命令行的形式按顺序对四个提示予以回答,其格式是:>MASM源文件名,目标文件名,列表文件名,交叉索引文件名;其中都不必给出扩展名,汇编程序会按照默认情况使用或产生。若只想对部分提示给出回答,则在相应位置用逗号隔开;若不想对剩余部分作答,则用分号结束。例如以下命令行与前边的分行回答等效。>MASMexam,exam,exam,exam;汇编后建立的.LST文件,可用于显示或打印,以了解汇编后的情况。三、连接程序被汇编经过后,需要经过连接才能执行。连接程序的功能是连接分别产生的目标模块,把相对地址变为绝对地址。连接是由MS-DOS下的LINK程序实现的,LINK程序的输入文件和输出文件如图4-4所示。目标码文件目标码文件.OBJ.OBJ库文件.OBJ.OBJ.LIB连接程序LINK.EXE.EXE.MAP可执行文件内存分配文件++…………目标码文件图4-4LINK程序的输入/输出文件启动LINK程序有二种方式;提问方式和命令行方式,假设目标码文件、连接程序都在同一目录下。1、提问方式:在DOS提示符>下键入LINK命令,如下:>LINK就以提问方式启动了LINK程序。在显示版本信息后,依次提出4个问题,以Prag.OBJ为被连接的目标文件:EE第1行询问被连接的各目标码文件名(隐含的扩展名为.OBJ)。当键入不止一个文件名时,中间以“+”(加号)相连,最后按回车键。第2行询问连接产生的可执行文件名,方括号内为默认值。第3行询问连接产生的内存分配图文件名,默认情况表示不产生内存分配图文件。第4行询问欲连接的库文件名,也可能是多个,若无库文件连接则键入回车键即可。回答完4个问题,LINK程序开始工作。2、命令行方式格式如下:>LINK目标文件名,执行文件名,内存分配图文件名,库文件名;其中都不必给出扩展名,LINK程序会按照默认情况使用。若只想对部分提示给出回答,则在相应位置用逗号隔开;若不想对剩余部分作答,则用分号结束。例如以下命令行与前边的分行回答等效:>LINKProg,,,Prog;也可用简短命令:>LINKProg;使用该命令时,若以分号结尾,则不显示提问,直接执行连接任务。经过连接后的文件就能够直接运行了。而连接后,若已要求产生内存分配图文件(MAP),则可用TYPE命令将其打印出来,该文件提供了各段的名字、起始地址和长度,以及程序入口地址。例如:在DOS环境下编写一段程序:>EDITEX1.ASM进人编辑状态后,输人下列程序:存盘退出EDIT状态,汇编:>MASMEX1.ASM连接:>LINKEX1.OBJ汇编和连接后,生成EXl.EXE执行文件。即可在DOS状态下直接运行该程序。四、运行经过了上述过程,在盘上有了可执行文件,则可在DOS的提示符下,直接键入文件名而不需要扩展名EXE或COM,MS-DOS系统把可执行文件从盘上调入内存,且立即执行此程序。如在D盘MAS50子目录下存在EXl.EXE执行文件,可在该子目录下直接运行该程序,如:D:\MAS50>EX1.EXE若在程序中,有向CRT输出结果的语句,则结果就会显示在CRT上(也可在打印机上打印硬拷贝)。五、调试一般,希望一个较复杂、较长、用汇编语言编写的源程序一点错误也没有,一次经过的可能性是很小的。这样就需要调用MS-DOS支持下的动态排错程序DEBUG调试目标程序。DEBUG是一种使用广泛的强有力的汇编语言程序或二进制文件的调试工具。在DEBUG的管理下,能够单步执行程序,也能够在程序中设置断点,能够显示和修改指定的内存单元和区域的内容,也能够显示和修改CPU内部寄存器和标志位的内容。这样将便于寻找程序中的错误,有关DEBUG的使用,请参阅附录C。附录C调试程序DEBUG的使用说明一、DEBUG程序的调用在DOS提示符下,调用DEBUG。(本附录中,带有下划线的字符均为键盘输入)如在D盘MAS50子目录下存在EXl.EXE执行文件,用户键入了文件名,则DEBUG将指定的文件装入内存中,可对其进行调试,如:D:\MAS50>DEBUGEX1.EXE在调用DEBUG程序后,将出现提示符“_”,表示已进入DEBUG此时就能够调试程序了。如果未键入文件名,则能够用MAS50子目录下存在的可执行文件,用DEBUG的N命令和L命令把需要的文件调入后再进行调试。DEBUG状态下:_NABC.EXE_L二、DEBUG程序对寄存器和标志位的初始化在调入DEBUG程序后,它把各寄存器和标志位置成以下状态:1、段寄存器(CS,DS,ES和SS)置于自由存储空间的底部,也就是DEBUG程序结束以后的第一个段。2、指令指针(IP)置为0100H。3、堆栈指针置于段的结尾处或装入程序的临时底部,取决于哪一个更低。4、余下的AX,BX,CX,DX,BP,SI和DI置为0。5、标志位都置为清除状态。注意:若由DEBUG调入的程序具有扩展名.EXE,则DEBUG必须进行再分配,把段寄存器、堆找指针置为程序中所规定的值。三、DEBUG的主要命令1、DEBUG命令的有关规定(1)DEBUG命令都是单字母命令,后面跟着一个或多个有关参数。多个操作参数之间用“,”或空格隔开。(2)键入DEBUG命令后必须接着按ENTER键命令才有效。(3)参数中的地址和数据,均用十六进制取表示,但十六进制数据后面不要用“H”。(4)能够用Ctrl-Break键来停止一个命令的执行,返回到DEBUG的提示符“_”下。(5)用Ctrl-NumLock键中止正在上卷的输出行,再经过按任意键继续输出信息。2、DEBUG命令格式(1)汇编命令A格式:①A[段寄存器名:偏移地址]②A[段地址:偏移地址]③A[偏移地址]④A功能:用该命令能够将汇编语言程序直接汇编后出入指定或默认的内存中。当键入A命令后,显示段地址和偏移地址等待用户键入汇编指令。每键入一条汇编指令回车后,自动显示下一条指令的段地址和偏移地址,再键入下一条汇编指令,直到汇编语言程序全部键入,又显示下一条地址时可直接键入回车返回到提示符“一”为止。其中①的段地址在段地址寄存器中,因此在使用该命令时自动将给出的段寄存器名中的段地址送入CS段寄存器中,③的段地址在CS中,④的段地址在CS中,偏移地址为100H。例如:用汇编语言编写一个程序段,将十六进制0,1,2,……F的ASGII码送入偏移地址为100H单元开始的存储单元中,并将该十六进制数据从100H单元开始的存储区传送到以200H为起始地址的存储区中。将编写好的程序段经过A命令送入内存并汇编,用字符串传送指令MOVSB将数据串进行传送。其中,SI为源串地址寄存器,DI为目的串地址寄存器;计数寄存器CX存放计数初值10H。REP为无条件重复前缀指令,以字节为传送单位。每传送一个字节,CX中计数值减“1”,直到CX为0为止。(2)显示内存命令D格式:①D[段寄存器名/段地址:偏移地址]②D[段地址:偏移地址1,偏移地址2]③D功能:显示指定内存范围内的内容。显示的内容为两种形式:一种为十六进制内容,一种为与十六进制相对应的ASCII码字符,对不可见字符以“.”代替。对于①、③每次显示128个字节内容,②显示的字节由地址范围来决定。若命令中有地址,则显示的内容从指定地址开始,若命令中无地址,如③则从上一个D命令所显示的最后一个单元的下一个单元开始。若以前没有使用过D命令,则以DEBUG初始化的段寄存器的内容为起始段地址,起始偏移地址为100H,即CS:100。对于①中的地址为偏移地址,段地址为CS的内容。对②中的地址范围,能够指定段地址和起始偏移地址和终止偏移地址。例如:显示起始地址为100H的内存单元内容为:再显示偏移地址为100H-120H的内容为:接着再显示,只用D命令不键入地址,那么接着上次D显示的地址开始显示为:例如:指定数据段寄存器DS的内容为段地址,显示在该段内偏移地址为100H-150H的内容。DDS:100,150(3)修改存储单元内容命令E格式:①E[地址][内容表]②E[地址]功能:①用命令所给定的内容表去代替指定地址范围的内存单元内容。②一个单元一个单元地连续修改单元内容.其中:内容表为一个十六进制数或一串十六进制数,也能够是用单引号括起的一串字符。例如:往200H为起始地址单元存放一串十六进制数,如:_E20061626364656667686970717273747576 要看一看是否将这些十六进制数替换了原来单元内容。_D200217 0A47:020061626364656667686970717273747576abcdefjhipqrstuv0A47:02100304050661626364….abcd如果用一串字符来替换200H单元开始的内容(用单引号括起部分),有:_E200‘ABCDEFGHIJKLMNOPQRETUVWXYZ’再用D命令看看内容是否被替换:如果一个单元一个单元地修改,每修改一个单元内容按空格键,再键入下一个单元的修改内容,直到按回车键为止。如:(注:.代表空格键)0A47:0230FF0A47:0230FF(4)检查和修改寄存器内容命令R格式:①R②R[寄存器名]功能:①显示CPU内部所有寄存器的内容和全部标志位的状态。②显示和修改一个指定寄存器的内容。其中,对状态标志寄存器FLAG按位形式显示。显示时,8个状态的显示次序和符号如表1.1所示。例如:对在DOS环境下编写的程序,详见23页的举例,将程序EXl.EXE调入,并显示程序运行前各寄存器的初始状态:D:\MAS50>DEBUGEX1.EXE用R命令显示各寄存器的初始状态:前面两行显示了CPU内部各寄存器的内容和标志寄存器的全部标志状态,最后一行显示了EXl.EXE程序的第一条指令的地址(CS:IP)和指令的机器码及汇编语言指令,也就是下一条即将要执行的指令。表1-1.状态标志位显示形式表1-1.状态标志位显示形式也能够用R命令显示某个寄存器的内容:如果要显示并修改某个寄存器内容,如AX的内容:显示修改标志寄存器的内容:能够看到将标志寄存器的NV改为OV,UP改为DN,修改各标志位的次序能够任意。再用R命令看修改过的内容是否装入各寄存器和标志位的每一位;==(5)反汇编命令U格式:①U[地址]②U[地址范围]功能:①将代码段内指定的地址开始,将其代码以汇编语言形式显示,同时显示该代码位于内存的地址和机器码。②将代码段内指定范围内的代码以汇编语言形式显示,同时显示该代码位于内存的地址和机器码。若在命令中没有指定地址,则以上一个U命令的最后一条指令地址的下一个单元为起始地址,若没有输入过U命令,则以DEBUG初始化时,CS和IP寄存器内的值作为段地址和偏移地址。例如:将EXl.EXE文件调入DEBUG,并显示该文件:D:\MASM50>DEBUGEX1.EXE_U0F02:0000B032MOVAL,320F02:0002B237MOVDL,370F02:000402D0ADDDL,AL0F02:000680EA30SUBDL,300F02:0009B4023MOVAH,020F02:000BCD21INT210F02:000DB44CMOVAH,4C0F02:000FCD21INT210F02:00112804SUB[SI],AL0F02:0013017408ADD[SI+08],SI0F02:001606PUSHES0F02:00178E
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国互联网医院分级诊疗体系远程医疗市场发展分析报告
- 2025-2030中国互联网医疗平台合规运营监管政策分析研究发展规划报告
- 机械暗渠施工方案(3篇)
- 代办帮办协议书
- 信道划分协议书
- 元旦魔方活动策划方案(3篇)
- 团队聚餐活动策划方案(3篇)
- 餐厅瓷砖施工方案(3篇)
- 小春的营销方案(3篇)
- 彩车装饰施工方案(3篇)
- DL-T 606.4-2018 火力发电厂能量平衡导则 第4部分:电平衡
- 《普通心理学课程论文3600字(论文)》
- GB/T 5209-1985色漆和清漆耐水性的测定浸水法
- 12YJ6 外装修标准图集
- GB/T 14388-2010木工硬质合金圆锯片
- 大三上学期-免疫学第11章
- 《弹性波动力学》课程教学大纲
- 关于绩效考核与绩效工资分配工作的通知模板
- 2023第九届希望杯初赛六年级(含解析)
- OpenStack云计算平台实战课件(完整版)
- 中医舌象舌诊PPT课件
评论
0/150
提交评论