中南大学微机实验报告.doc
-目录第一局部软件实验3DEBUG 的使用3第二局部硬件实验3实验一使用ADC0809的A/D转换实验3实验二使用DAC0832的D/A转换实验(一)错误!未定义书签。实验三使用DAC0832的D/A转换实验(二)错误!未定义书签。第三局部实验总结3第一局部软件实验DEBUG 的命令及其操作一、实验目的1 熟练掌握debug的常用命令,学会用debug来调试程序。2 深入了解数据在存储器中的存取方法及堆栈中数据的压入与弹出。3 掌握各种寻址方法以及简单指令的执行过程。二、实验容1. 进入和退出DEBUG程序2. 本实验只要求在DEBUG调试状态下进展,包括汇编程序,调试程序,执行程序3. 掌握一些DEBUG的根本操作三、实验环境Windows系统下从进入命令行窗口。4、 实验的根本原理a 汇编d显示存单元容e修改单元存容g执行命令t单步或多步调试n指定文件路径文件名含扩展名u反汇编r查看存放器值及修改l加载程序 w写盘命令5、 实验步骤1.用DEBUG调试简单程序例1 A CS:0106 MOV A*,1234MOV B*,2345MOV C*,0ADD A*,B*MOV C*,A*INT 20运行程序注:执行程序时IP应指向要执行的指令,需要修改时RIP当前值输入需要值该处为0106当然也可以在T或G命令中指出程序起始地址R 显示各存放器当前容及首条指令T 3 跟踪执行三条赋值传送指令,观察存放器及标志位变化T 2跟踪执行相加及送和数指令,观察存放器及标志位变化G 执行软件中断指令INT 20,机器将显示"程序正常终止的信息,并显示",说明仍处在DEBUG的调试控制状态下,注意未用T命令,因为我们不想进入到20H中断处理程序中去,P命令也可实现一样操作实验现象记录:观察每条指令执行后各相关存放器值及标志位状态2.在windows系统下按WIN+R键,在弹出窗口下输入cmd,进入命令行窗口,然后再窗口下输入debug,进入debug程序。输入-a命令:如图:运行程序命令,连续输入3次 -t3.存盘操作N C:CCR B*显示: B* 0034:0000R C* C* 0000:0008W 指定存贮区 1. 装入文件命令 >DEBUGN c:ccL(指定装入的存贮区)如未指定,则装入cs:100开场的存贮区2. 反汇编U指定存贮区3. 显示存贮单元命令DEMU8086的使用用汇编语言的指令编写程序,然后通过屏幕显示出"HELLO WORD!的字样出来,然后截图,写出实验报告。试验程序代码如下:OEG 100HMOV A*, 0B800hMOV DS, A*MOV 52h, 'H'MOV 54h, 'E' MOV 56h, 'L'MOV 58h, 'L'MOV 5Ah, 'O' /到这一步就把"HELLO存入相应的地址中PUSH CS/进栈操作POP DS /出栈操作MOV A*, 0B800hMOV ES, A*MOV ES:5Eh, 'W' MOV ES:60h, 'O'MOV ES:62h, 'R'MOV ES:64h, 'L'MOV ES:66h, 'D'MOV ES:68h, '!'HLT4.实验结果截图如下:第二局部硬件实验实验一使用ADC0809的A/D转换实验一、实验目的加深理解逐次逼近法模数转换器的特征和工作原理,掌握ADC0809的接口方法以及A/D输入程序的设计和调试方法。二、预备知识逐次逼近法A/D也称逐次比较法A/D。它由结果存放器、D/A、比较器和置位控制逻辑等部件组成,如图11所示。模拟量输入AN位N位BD/A置位DONE启动控制逻辑图11三、实验容1 、实验原理本实验采用 ADC0809 做 A/D 转换实验。ADC0809 是一种8路模拟输入、8位数字输出的逐次逼近法A/D器件,转换时间约100us,转换精度为±1/512,适用于多路数据采集系统。ADC0809片有三态输出的数据锁存器,故可以与8088微机总线直接接口。图12图中ADC0809的CLK信号CL接T1(1MHZ),基准电压Vref(+)接Vcc已连好。一般在实际应用系统中应该接准确+5V,以提高转换精度,ADC0809片选信号CS0809和WR、RD经逻辑组合后,去控制ADC0809的ALE、START、ENABLE信号。ADC0809的转换完毕信号EOC未接,如果以中断方式实现数据采集,需将EOC信号线接至中断控制器8259的中断源输入通道。本实验以延时方式等待A/D转换完毕,ADC0809的通道号选择线ADDA、ADDB、ADDC 接系统数据线的低3位,因此ADC0809的8个通道值地址分别为00H、01H、02H、03H、04H、05H 、 06H、07H。启动本A/D转换只需如下三条命令: MOV D*,ADPORT;ADPORT为ADC0809端口地址。 MOV AL,DATA;DATA为通道值。 OUT D*, AL ;通道值送端口。读取A/D转换结果用下面二条指令: MOV D*,ADPORT IN AL,D*2 、实验线路的连接在上面原理图中,粗黑线是学生需要连接的线,粗黑线两端是需连接的信号名称。 1) IN0插孔连WD1的输出 Vout插孔。 2) CS0809连译码输出 Y6 插孔。3) CLK0809连上面主板的脉冲输出T2500KHZ)。4) 将8279接口模块上的插座DU(51)(a-h)用8芯线连接至数码管模块插座DU (a-h),8279接口模块上插座BIT(53)连接至数码管模块插座BIT。5) 8279接口模块上的插孔8279ClK连至上面主板的CLCK对58B机型该线不连。68279接口模块上的插孔8279CS连至上面主板的CS5对58B机型该线不连。 3 、实验软件编程提示本实验软件要求:初始显示"080900,然后根据A/D采样值,不断更新显示。四、实验软件框图开场启动0809进展本次A/D转换延时等待A/D转换结果读取A/D转换结果将结果转换成显示代码调用显示转换结果子程序五、实验软件参考程序见随机光盘,文件名为H0809.ASM六、实验步骤 1、正确连接好实验线路 2、理解实验原理 3、仔细阅读,弄懂实验程序 4、安装软件将随机携带的光盘中DVCC86整个目录全部拷贝到你的电脑里。启动DVCC86调试软件:在WINDOWS平台下,启动DVCC86调试软件,屏幕显示联机界面。联机:单击界面上的"联机按钮,此时,应有反汇编窗口、存放器等窗口出现,表示联机正常。翻开实验源文件:在文件FILE栏目下选择翻开OPEN,在本软件所在的安装目录中8HASM子目录下选择源程序,如选H0809.ASM,屏幕上出现源文件窗口。编译、连接并装载目标文件:点击调试图标,对当前源文件窗口的源文件进展编译、连接并装载到实验板的RAM中。目标文件装载起始地址默认为源文件中ORG定义的程序段起始地址。在反汇编窗口显示刚刚装入的程序,并有一红色小箭头指示在起始程序行上。运行程序:点击运行图标,在数码管上应显示"0809*。调节电位器WD1,以改变模拟电压值,显示器上会不断显示新的A/D转换结果。用ADC0809做A/D转换,其模拟量与数字量对应关系的典型值为+5VFFH,2.5V80H,0V00H。七、实验结果第三局部实验总结心得体会:刚开场按照课本上的DEBUG命令在DOS中输出-D -P,8086的一些相关操作等指令时,还不是很懂它的一些数据的来源。微机本身是一门语言,我们需要去适应它,从学习它的根本概念入手,了解计算机程序运行的根本架构。在上机实验中,验证了课本上一些数据的正确性。通过实际的操作DEBUG命令去对程序进展调试。增强了我对课本知识概念更深的了解。在硬件实验中,通过实际动手连线,接线。加强了自身的动手能力以及独立思考,团队合作能力。总的来说,微机系统应用千变万化,如何才能设计出好的程序,这些都是我们以后需要加强自身的。只有实践,培养动手能力,具备一些根本的设计能力才是最终目的。. z.