西安交通大学微机原理与接口实验报告

合集下载

西安交通大学接口技术实验报告

西安交通大学接口技术实验报告

西安交通大学微型计算机接口技术实验报告班级:物联网姓名:学号:实验一基本I/O扩展实验一、实验目的1、了解 TTL 芯片扩展简单 I/O 口的方法,掌握数据输入输出程序编制的方法;2、对利用单片机进行 I/O 操作有一个初步体会。

二、实验内容74LS244 是一种三态输出的8 总线缓冲驱动器,无锁存功能,当G 为低电平时,Ai 信号传送到Yi,当为高电平时,Yi 处于禁止高阻状态。

74LS273 是一种8D 触发器,当CLR 为高电平且CLK 端电平正跳变时,D0——D7 端数据被锁存到8D 触发器中。

实验原理图:三、实验说明利用74LS244 作为输入口,读取开关状态,并将此状态通过74LS273 再驱动发光二极管显示出来,连续运行程序,发光二极管显示开关状态。

四、实验流程图五、实验连线1、244的cs连接到CPU地址A15,Y7—Y0连接开关K1-K8;2、273的CS连接到CPU地址A14,Q7-Q0连接到发光二极管L1-L8;3、该模块的WR,RD连接CPU的WR,RD,数据线AD7-AD0,地址线A7-A0分别与CPU的数据线AD7-AD0,地址线A7-A0相连接。

六、程序源代码(略)七、实验结果通过开关K01 到K08 可以对应依次控制LED 灯的L1 到L8 ,即当将开关Ki 上拨时,对应的Li 被点亮,Ki 下拨时,对应的Li熄灭。

此外,如果将开关拨到AAH 时,将会产生LED 灯左移花样显示;如果开关拨到55H 时,将会产生LED 灯右移花样显示。

七、实验心得通过本次实验,我了解了TTL 芯片扩展简单I/O 口的方法,同时也对数据输入输出程序编制的方法有一定的了解与掌握,对利用单片机进行I/O 操作有一个初步体会,实验使我对自己在课堂上学的理论知识更加理解,同时也锻炼了我的动手操作能力。

实验二可编程定时计数器8254实验一、实验目的1、了解可编程定时器/计数器8254 实验了解计数器的硬件连接方法及时序关系;2、掌握8254 的各种模式的编程及其原理,用示波器观察各信号之间的时序关系。

微机原理与接口实践报告

微机原理与接口实践报告

《微机原理与接口》课外实践报告实践选题:主过程调用子过程专业班级:指导教师:姓名及学号:成绩评定:一、实验目的1、掌握主程序与子程序之间的调用关系及其调用方法。

2、掌握子程序调用过程中近程调用与远程调用的区别。

3、熟练掌握码型变换的程序。

二、实验内容从键盘输入二位非压缩BCD数,存入AX寄存器中,编程实现将其转换为二进制数,并在屏幕上显示。

要求码型转换程序用远程子程序编写,字符显示用近程子程序编写。

数据可循环输入,遇‘00’结束。

三、实验准备1、了解子程序设计的基本方法,根据实验内容要求编写出实验用程序。

2、熟悉键盘输入和字符显示的程序段的编制。

3、有能够编写汇编语言的环境和软件四、实验步骤1、编辑、汇编源程序,生成可执行文件。

2、执行程序,检查输入、输出结果,看是否正确。

如不正确,用DEBUG检查,修改源程序,再汇编、运行,直到程序正确为止。

3、用DEBUG的T命令或P命令跟踪程序的执行,观察在远程和近程调用过程中,堆栈的变化情况。

五、程序流程图开始TRAN程序标准序开始读入十进制数据放AX中AX AX AND 0F0FH是00?Y BL ALN调用转换子程序结束AL左移3位回车、换行BL左移1位AL AL+BL主程序流程图AL AL+AHRET转换子程序TRAN流程图六、程序源代码STA SEGMENT STACK 'STACK'DB 100 DUP(0)STA ENDSCSAG SEGMENT PARA 'CODE'ASSUME CS:CSAGMAIN PROC FARSTART: PUSH DSSUB AX,AXPUSH AXREV: MOV AH,1INT 21HMOV BL,ALINT 21HMOV AH,ALMOV AL,BLCMP AX,3030HJE ENDTRANCALL NEAR PTR TRANCALL FAR PTR CONMOV AL,0DHCALL FAR PTR DISPMOV AL,0AHCALL FAR PTR DISPMOV AL,0AHCALL FAR PTR DISPJMP REVENDTRAN: RETMAIN ENDPTRAN PROC NEARAND AX,0F0FHMOV BL,ALMOV BL,ALMOV CL,3SHL AL,CLMOV CL,1SHL BL,CLADD AL,BLADD AL,AHRETTRAN ENDPCSAG ENDSCSBG SEGMENT PARA 'CODE' ASSUME CS:CSBGCON PROC FARPUSH AXMOV CL,4SHR AL,CLADD AL,30HCMP AL,39HJBE CON2ADD AL,7CON2: PUSH AXMOV AL,0DHCALL FAR PTR DISPMOV AL,0AHCALL FAR PTR DISPPOP AXCALL FAR PTR DISPPOP AXAND AL,0FHADD AL,30HCMP AL,39HJBE CON1ADD AL,7CON1: CALL FAR PTR DISPRETCON ENDPDISP PROC FARPUSH BXMOV BX,0MOV AH,14INT 10HPOP BXRETDISP ENDPCSBG ENDSEND START七、运行结果如下:当输入十进制下的55后自动显示十六进制下37,并且可以再次输入输入73之后有自动显示49,输入66显示42,光标闪烁等待继续输入数再次输入89显示59,光标闪烁等待输入,当输入00时,退出程序。

西安交大微机原理实验报告1

西安交大微机原理实验报告1

实验一数据传送、算术运算、循环程序结构实验目的:1 •熟悉8086汇编语言源程序的框架结构,并掌握汇编语言程序的编写、汇编、 连接、执行的过程,并利用 Turbo Debugger 调试汇编程序。

2. 熟悉8086指令系统的数据传送指令,掌握寻址方式。

3. 熟悉8086指令系统的算术运算指令。

掌握循环结构汇编语言程序的编制。

实验内容:1、P121 14 题程序框图:DW 128 DUP ⑺STACKS ENDSDATAS SEGMENT;数据DATA SEGMENTORG 1000HBCD1 DD 90000010H,12345678HORG 2000HBCD2 DD 90000020H,23456789H;堆栈段 源代码:STACKS SEGMENT STACKDATA ENDSCODES SEGMENT;代码段ASSUMECS:CODES,DS:DATASSTART: MOVAX,DATAS;初始化MOV DS,AXMOV CX,8 ;循环次数 MOV BX,0 ;指针 CLCJ进位清零L00P1: MOVAL,[BX+1000H];BCD1 ADCAL,[BX+2000H];BCD1+BCD2AAA J分离修正MOV [BX+2000H],AL;移到要求的位置INC BX ;指针指向下一个子节LOOPLOOP1MOV AX,4C00H ;退出程INT 21HCODES ENDSSTART结果:2、P121 15 题程序框图: 源代码:STACKS SEGMENT STACK;堆栈段DW 128 DUP ⑺STACKS ENDS DATAS SEGMENT;数据段ENDORGDB2000H 80H,81H,82H,83H,00H,01H,02H,03H,84H,85H DATAS ENDSCODES SEGMENT ;代码段 START: L1:LODSBL2:LOOP L1 ASSUMECS:CODES,DS:DATASMOVAX,DATAS;初始化 MOV DS,AX MOVSI,2000H J MOV CX,10 ;字节数 MOV DL,0FFH ;最小的有符- CMP AL,DLJNG L2MOV DL,ALMOV DS:[2000H],DL MOV AX,4C00H ;退出程序 INT 21H ;最大数存入2000h 单号字节数据CODES ENDS END START 3、P195 6 题 程序框图源代码:STACKS SEGMENTDWSTACK128 DUP(?);堆栈段JSTACKS ENDSDATAS SEGMENT;数据段ORG1000HN1DW1111HN2DW2222HN3DW3333HM1DW0M2DW0M3DW0DATAS ENDSCODES SEGMENT;代码段ASSUME CS:CODES,DS:DATAS START:MOV AX,DATAS;初始化MOV DS,AXMOV AX,N2MUL N3;B*CMOV M3,AXMOV M2,DXMOV AX,N3MUL N1;A*CADD M2,AXADC M1,DXMOV AX,4C00H;退出程序INT 21HCODES ENDSEND START结果:醪DOSBox DJ4h Cpu speedt 3000 cycles. Frames kip 0, Program: DEBUGS Trace Irrterrupt-tAX-1CBS BX=O900 CX=1137 »S=1C 庐ES=1C35 SS=1CA5 1DB6:00G5 A1GZ10Trftce Interruptkd ds:1000 DX=O0OO SP=G10O BP=0900 SI=G0OO DI=0OQO CS=1DB6 IP=O00g MU UF DI PL NZ NA FO NC MOU AX^ElOOgJ1CB5: IODO 11 11 E乙祝33 33 1CB5:1010 BB B5 1C BE D8 fit 1CB5:1020 16 G6;10 Al 04 10 1CB5: 1G30 66 10 B8 60 处CD 1CB5:1CHQ e© 00 00 00 00 00 ***Dup1icate Line(s)*** 1CB5:10?0 GO 0© 00 00 QG 00rogram terminated BC = 0 M lcbS:ICG©1CB5:1600 11 11 22 22 33 33 1CB5:10101C 8E D6 Al1C跖:1G2O 16 66 10 Al CH 10 1CB5: 1G30 66 10 B8 D0 4C CD 1CB5:164Q ©0 Q0 00 00 00 GO k**Duplicate Linets)*** 1CB5:1670 GO 00 00 GO GO 00 kx 00 00-00 00 00 00 00 GE 10-F?昂€4 10 A3F7 Z6-00 10 61 06 6821 GG-00 GO eo oe 0000 00-00 00 60 00 0000 <30-00 0069 GG-36GEF7Z10010-F726-00O0-0GGO-00D0261000004、P196 12 题程序框图36eA&81&&©'01OOw■ n i_r P ■■■■■:RS*,X? *,w®,...?..u&.....8.LM!……00C6€40100GO921006000000A3080000载囹己臭制在QQ或者wo胡文档中右■■ U ■ X J H Ta ■ BI ■ A ■■00 00-00 00 G0 00 00 G0 00 00 ......................................源代码:STACKS SEGMENT STACK ;堆栈段DW 128 DUP⑺;STACKS ENDSDATAS SEGMENT ;数据段STRING1 DB'AAAA'STRING2 DB'AAAa'DATAS ENDSCODES SEGMENT ;代码段ASSUME CS:CODES,DS:DATASAXQATAS ;初始化DS,AX AX,DS ES,AX SI,STRING1 DI,STRING2 CX,4STRING1,STRING2 LABNE AL,'Y' EXIT AL,'N'AX,4C00H ;退出程序 21H结果:[>0: ■ J ir ] IPLL L J59H 是N 的ascII 码实验中出现的问题及解决:总体来说,实验中最大的阻碍是 64位系统不能使用masm 或者轻松汇编等软件,造成了许多困难,解决办法是在网上下载了dosbox ,输入命令 mount ch:\study\masm, h:\study\masm 是我电脑中masm.exe 所在的位置,不知道什么原因masm611用不了这个方法,在网上重新下载了 masm5,和debug32至此,算是 解决了“非编程困难”。

西安交通大学微机原理第一次实验报告

西安交通大学微机原理第一次实验报告

微型计算机原理与接口技术第一次实验报告实验者姓名:实验者学号:所在班级:报告完成日期:20年月日实验二分支程序的设计一、实验目的1.学习提示信息的显示及键盘输入字符的方法。

2.掌握分支程序的设计方法。

二、实验内容在提示信息下,从键盘输入原码表示的二位十六进制有符号数。

当此数大于0时,屏幕显示此数为正数;当此数小于0时,屏幕显示此数为负数;当此数等于0时,屏幕显示此数为零。

三、实验调试过程利用-u命令进行反汇编,结果如下。

三个CMP语句运行完的地址如图所示,第一个CMP运行完的是29H输出结果的地址如下图所示:首先对输入为负数时进行验证:输入FFH,设置一个断点在29H,利用-t命令观察跳转,结果如图:可以看到,程序最终正确的转入输出负的分支。

再输入正数11H,利用-t观察整个比较过程如下:可以看到,程序最终正确的转入输出正的分支。

最后输入00H,利用-t观察整个比较过程如下:可以看到,程序最终正确的转入输出0的分支。

四、实验框图及程序代码实验框图:程序代码:CRLF MACROMOV AH,02HMOV DL,0DHINT 21HMOV AH,02HMOV DL,0AHINT 21HENDMDA TA SEGMENT;定义结果信息MESS1 DB 'INPUT DATA:',0DH,0AH,'$'MESS2 DB 'THIS DATA IS+',0DH,0AH,'$'MESS3 DB 'THIS DATA IS-',0DH,0AH,'$'MESS4 DB 'THIS DATA IS ZERO',0DH,0AH,'$'DA TABUF DB 3 ;定义最大可输入字符长度ACTLEN DB ? ;实际输入字符长度STRING DB 3 DUP(?) ;输入字符缓冲区DA TA ENDSSSEG SEGMENT PARA STACK 'STACK'DB 50 DUP(0)SSEG ENDSCODE SEGMENTASSUME CS:CODE,SS:SSEG,DS:DA TASTART:MOV AX,DATAMOV DS,AXMOV AX,SSEGMOV SS,AXMOV DX,OFFSET MESS1MOV AH,09HINT 21HMOV AH,0AHMOV DX,OFFSET DATABUFINT 21HCRLFMOV AL,STRINGCMP AL,38HJAE ISNEGCMP AL,30HJNZ ISPOSMOV AL,[STRING+1]CMP AL,30HJNZ ISPOSJMP ISZEROISPOS:MOV DX,OFFSET MESS2MOV AH,09HINT 21HJMP DONEISNEG:MOV DX,OFFSET MESS3MOV AH,09HINT 21HJMP DONEISZERO:MOV DX,OFFSET MESS4MOV AH,09HINT 21HJMP DONEDONE:MOV AX,4C00HINT 21HCODE ENDSEND START五、实验结果及分析编写的汇编程序EX2.ASM经过汇编MASM与链接LINK生成可执行文件EX2.EXE,测试如下:可见,程序能够正确判断输入数据的正、负、零情况。

微机原理与接口技术实验报告

微机原理与接口技术实验报告

微机原理与接口技术实验报告
本次实验是关于微机原理与接口技术的实验报告,通过本次实验,我们将深入
了解微机原理与接口技术的相关知识,并通过实际操作来加深对这些知识的理解和掌握。

实验一,微机原理。

在本次实验中,我们首先学习了微机的基本原理,包括微机的组成结构、工作
原理和基本功能。

通过实际操作,我们了解了微机的主要组成部分,如中央处理器(CPU)、内存、输入输出设备等,并学习了它们之间的工作原理和相互配合关系。

同时,我们还学习了微机的基本指令系统和数据传输方式,加深了对微机工作原理的理解。

实验二,接口技术。

在接口技术的实验中,我们学习了微机与外部设备之间的接口技术,包括并行
接口、串行接口和通用接口等。

我们通过实际操作,了解了这些接口技术的工作原理和应用场景,学会了如何通过接口技术实现微机与外部设备的数据交换和通信。

实验三,实验综合。

在本次实验的最后,我们进行了一个综合实验,通过实际操作来综合运用微机
原理和接口技术的知识,实现一个具体的功能。

通过这个实验,我们加深了对微机原理与接口技术的理解,掌握了如何将理论知识应用到实际操作中。

总结。

通过本次实验,我们深入学习了微机原理与接口技术的相关知识,并通过实际
操作加深了对这些知识的理解和掌握。

微机原理与接口技术作为计算机科学与技术的基础知识,对我们今后的学习和工作都具有重要意义。

希望通过这次实验,能够对大家的学习和工作有所帮助,并为今后的学习打下坚实的基础。

以上就是本次实验的实验报告,希望对大家有所帮助。

感谢大家的阅读!。

微机原理与接口技术实验报告

微机原理与接口技术实验报告

微机原理与接口技术实验报告实验目的:本次实验旨在通过实际操作,加深对微机原理与接口技术的理解,掌握接口技术的基本原理和应用方法,提高学生的动手能力和实际应用能力。

实验内容:1. 学习并掌握微机原理与接口技术的基本知识;2. 了解并熟悉常见的接口技术及其应用;3. 进行实际操作,设计并完成一个简单的接口电路。

实验仪器与设备:1. 个人电脑;2. 电子元件,电阻、电容、集成电路等;3. 实验板、示波器、示教电脑等。

实验步骤:1. 阅读相关的微机原理与接口技术的教材,了解基本原理;2. 学习常见的接口技术,例如并行接口、串行接口等;3. 进行实际操作,设计一个简单的接口电路,包括硬件设计和软件编程;4. 调试电路,确保接口电路能够正常工作;5. 编写实验报告,总结实验过程和实验结果。

实验结果与分析:经过实际操作,我们成功设计并完成了一个简单的接口电路。

在实验过程中,我们深入理解了微机原理与接口技术的相关知识,掌握了接口技术的基本原理和应用方法。

通过调试电路,我们验证了接口电路的正常工作,加深了对接口技术的理解。

结论:本次实验使我们更加深入地了解了微机原理与接口技术,提高了我们的动手能力和实际应用能力。

通过设计和完成接口电路,我们对接口技术有了更加直观的认识,为今后的学习和工作打下了坚实的基础。

总结:微机原理与接口技术是计算机专业的重要课程,通过实验学习,我们不仅加深了对知识的理解,还提高了动手能力和实际应用能力。

希望同学们能够认真对待每一次实验,不断提升自己的能力,为未来的发展打下坚实的基础。

至此,本次微机原理与接口技术实验报告完毕。

微机原理与接口技术实验报告

微机原理与接口技术实验报告

微机原理与接口技术实验报告实验目的:本次实验旨在熟悉并掌握微机原理与接口技术的相关知识,通过实例操作和分析实验数据,加深对微机原理与接口技术的理解。

一、实验器材与软件1. 硬件器材:计算机主机、外设设备2. 软件工具:操作系统、编程软件二、实验步骤及结果分析1. 实验1:计算机开机自检在实验中,通过开机启动计算机,观察计算机进行自检的过程。

根据显示屏上的自检信息,可以判断计算机硬件的工作状态。

2. 实验2:串口通信测试在本实验中,通过串口通信实现计算机与外设设备之间的数据传输。

首先,将串口接口连接到计算机主机,然后进行相应的设置,包括波特率、数据位、停止位和校验位等。

在实验中,通过编写相应的程序,实现计算机与外设设备之间的数据交互。

通过观察实验结果,判断串口通信是否正常。

3. 实验3:并口通信测试本实验旨在通过并行口通信实现计算机与外设设备之间的数据传输。

首先,将并行口接口连接到计算机主机。

然后,根据实验要求进行相应的设置,包括数据总线的宽度、传输模式等。

通过编写程序,实现计算机与外设设备之间的数据交互。

观察实验结果,判断并口通信是否正常。

4. 实验4:USB接口测试在本实验中,通过USB接口实现计算机与外设设备之间的数据传输。

首先,将USB接口连接到计算机主机。

然后,在计算机中安装相应的驱动程序。

通过编写程序,实现计算机与外设设备之间的数据交互。

观察实验结果,判断USB接口是否正常工作。

5. 实验5:网络接口测试本实验旨在通过网络接口实现计算机之间的数据传输。

首先,将计算机连接到局域网中的其他计算机。

然后,进行相应的设置,包括IP地址、子网掩码等。

通过编写程序,实现计算机之间的数据交互。

观察实验结果,判断网络接口是否正常工作。

三、实验总结通过本次实验,我对微机原理与接口技术有了更深入的了解,掌握了串口、并口、USB接口和网络接口等常用接口的使用方法。

通过实验的操作和分析,我对接口通信的原理和实现方式有了更详细的了解,对计算机与外设设备之间的数据传输有了更清楚的认识。

微机原理与接口技术实验报告1- 汇编语言程序设计

微机原理与接口技术实验报告1- 汇编语言程序设计

西安交通大学实验报告成绩第页共页课程微机原理与接口技术实验系别生物医学工程实验日期年月日专业班级组别交报告日期年月日姓名学号报告退发 (订正、重做) 同组者教师审批签字实验名称汇编语言程序设计一、实验目的1.掌握Lab6000p实验教学系统基本操作;2.掌握8088/8086汇编语言的基本语法结构;3.熟悉8088/8086汇编语言程序设计基本方法。

二、实验设备b6000p实验教学系统;2.IBM-PC机三、实验内容1.有一个10字节的数组,其值分别是80H,03H,5AH,FFH,97H,64H,BBH,7FH,0FH,D8H。

编程并显示结果:1)如果数组是无符号数,求出最大值,并显示;2)如果数组是有符号数,求出最大值,并显示。

2.将二进制数500H转换成二-十进制(BCD)码,并显示“500H的BCD是:”3.将二-十进制码(BCD)7693转换成ASCII码,并显示“BCD码7693的ASCII是:”4.两个长度均为100的内存块,先将内存块1全部写上88H,再将内存块1的内容移至内存块2。

在移动的过程中,显示移动次数1,2 ,3…0AH…64H(16进制-ASCII码并显示子程序)5.键盘输入一个小写字母(a~z),转换成大写字母显示:请输入一个小写字母(a~z):转换后的大写字母是:6.实现4字节无符号数加法程序,并显示结果,如99223344H + 99223344H= xxxxxxxxH四、实验结果1.有一个10字节的数组,其值分别是80H,03H,5AH,FFH,97H,64H,BBH,7FH,0FH,D8H。

编程并显示结果:(1)如果数组是无符号数,求出最大值,并显示;(2)如果数组是有符号数,求出最大值,并显示。

程序:(1)无符号数#make_COM#; COM file is loaded at CS:0100hORG 100hJMP STARTABC DB 80H,03H,5AH,0FFH,97H,64H,0BBH,7FH,0FH,0D8HMAIN PROC FARSTART: MOV SI,0MOV AL,ABC[SI]A1: INC SICMP SI,9JNC EXITMOV BL,ABC[SI]CMP AL,BLJC A2JMP A1A2: XCHG BL,ALJMP A1EXIT: MOV CL,16DIV CLMOV DX,AXMOV CL,9CMP DL,CLJA E1ADD DL,30HMOV AH,2INT 21HE1: ADD DL,37HMOV AH,2INT 21HMOV DL,DHCMP DL,9JA E2ADD DL,30HMOV AH,2INT 21HE2: ADD DL,37HMOV AH,2INT 21HMOV DL,'H'MOV AH,2INT 21HRETMAIN ENDPEND START结果:(2)有符号数#make_COM#; COM file is loaded at CS:0100hORG 100hJMP STARTSHUZU DB 80H,03H,5AH,0FFH,97H,64H,0BBH,7FH,0FH,0D8H MAIN PROC FARSTART: MOV SI,0MOV AL,SHUZU[SI]L1: INC SICMP SI,9JNC NEXTMOV BL,SHUZU[SI]CMP AL,BLJL L2 ;带符号数比较 JMP L1L2: XCHG BL,ALJMP L1NEXT: MOV CL,16DIV CLMOV DX,AXMOV CL,9CMP DL,CLJA L3 ;无符号数比较 ADD DL,30HMOV AH,2INT 21HJMP L4L3: ADD DL,37HMOV AH,2INT 21HL4: MOV DL,DH ;ASCII码转换 CMP DL,9JA L5ADD DL,30HMOV AH,2INT 21HJMP L5L5: ADD DL,37HMOV AH,2INT 21HL6: MOV DL,'H'MOV AH,2INT 21HHLTMAIN ENDPEND START2.将二进制数500H转换成二-十进制(BCD)码,并显示“500H的BCD是:”程序:#make_COM#; COM file is loaded at CS:0100hORG 100hJMP START;DATA SEGMENTSHUCHU DB 'BCD IS $'ABC DB 15 DUP(?);DATA ENDSMAIN PROC FARSTART: MOV DX,OFFSET SHUCHUMOV AH,9INT 21HMOV AX,OFFSET ABCMOV DX,AXMOV AX,500H ;分离出各位数,分别进行BCD码转换SUB DX,DXMOV CX,1000DIV CXXCHG DX,AX ;商在DX中,余数在AX中MOV BX,AXADD DL,30HMOV AH,2INT 21H ;千位转换并输出MOV AX,BXMOV CL,100DIV CLMOV DX,AXADD DL,30HMOV AH,2INT 21H ;百位转换并输出MOV AL,DHSUB AH,AHMOV CL,10DIV CLMOV BX,AXMOV DL,BLADD DL,30HMOV AH,2INT 21H ;个位转换并输出MOV DL,BHADD DL,30HMOV AH,2INT 21HRETMAIN ENDPEND START结果:3.将二-十进制码(BCD)7693转换成ASCII码,并显示“BCD码7693的ASCII 是:”程序:#make_COM#; COM file is loaded at CS:0100hORG 100hJMP START;DATA SEGMENTSHUCHU DB 'ASCII IS $'ABC DB 20 DUP(?);DATA ENDSMAIN PROC FARSTART: MOV DX,OFFSET SHUCHUMOV AH,9INT 21HMOV CH,4MOV AX,OFFSET ABCMOV DX,AXMOV BX,7693HEXIT: MOV CL,4ROL BX,CLMOV AL,BLAND AL,0FH ;与运算分离出最高位MOV AH,0ADD AL,30HMOV CL,16DIV CL ;分离出高位和低位MOV DH,AHMOV DL,ALADD DL,30HMOV AH,2INT 21HMOV DL,DHADD DL,30HMOV AH,2INT 21H ;分别输出高低位DEC CHJNZ EXIT ;进行循环HLTMAIN ENDPEND START结果:4.两个长度均为100的内存块,先将内存块1全部写上88H,再将内存块1的内容移至内存块2。

微机原理与接口技术实验报告5-综合设计实验

微机原理与接口技术实验报告5-综合设计实验

西安交通大学实验报告第页共页课程微机原理与接口技术实验系别生物医学工程实验日期年月日专业班级组别交报告日期年月日姓名学号报告退发 (订正、重做)同组者教师审批签字实验名称综合设计实验一、实验目的:1、掌握结构化汇编语言程序设计;2、掌握8253、8259的初始化和操作编程;3、熟悉LED数码管的动态驱动。

二、实验设备1、Lab6000p实验教学系统;2、IBM-PC机三、实验内容1、实验要求以4MHz为时钟基准,设计一个电子钟,在LED数码管显示时钟,格式如下:XX XX XX 由左向右分别为:时、分、秒。

2、提示8253工作于定时方式,即对4MHz或分配后的基准时钟脉冲进行计数,8253定时器每100us中断一次,在中断服务程序中,对中断次数进行计数,100us计数10000次就是1秒。

然后再对秒计数得到分和小时值,并送入显示缓冲区显示。

四、实验程序代码; 本实验利用8253做定时器,用定时器输出的脉冲控制8259产生中断; 在8259中断处理程序中,对时、分、秒进行计数,在等待中断的循; 环中用LED显示时间。

; 8253用定时器/计数器1,8253片选接CS4,地址为0C000H。

8253时钟; 源CLK1接分频电路的F/64输出。

分频器的Fin接4MHz时钟。

8253的; GATE1接VCC。

; 8259中断INT0接8253的OUT1,片选接CS5,地址为0D000H。

; 显示电路的KEY/LED CS 接CS0,地址为08000H。

;CONTROL equ 0c003hCOUNT0 equ 0c000hCOUNT1 equ 0c001hCOUNT2 equ 0c002hmd8255 equ 82h ; 8255 工作方式PA8255 equ 8000h ; 8255 PA口输出地址CTL8255 equ 8003h ; 8255 控制口地址OUTBIT equ 08002h ; 位控制口OUTSEG equ 08004h ; 段控制口ICW1 equ 00010011b ; 单片8259, 上升沿中断, 要写ICW4ICW2 equ 00100000b ; 中断号为20HICW4 equ 00000001b ; 工作在8086/88 方式OCW1 equ 11111110b ; 只响应INT0 中断CS8259A equ 0d000h ; 8259地址CS8259B equ 0d001hdata segmentCNT db 0LEDBuf db 6 dup(?) ; 显示缓冲Num db 1 dup(?) ; 显示的数据DelayT db 1 dup(?)Hour db 0Minute db 0Second db 0LEDMAP: ; 八段管显示码db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07hdb 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71h data endscode segmentassume cs:code, ds: dataDelay proc nearpush ax ; 延时子程序push cxmov al, 0mov cx,axloop $pop cxpop axretDelay endpDisplayLED proc nearmov bx, offset LEDBufmov cl, 6 ; 共6个八段管mov ah, 00100000b ; 从左边开始显示DLoop:mov dx, OUTBITmov al, 0out dx,al ; 关所有八段管mov al, [bx]mov dx, OUTSEGout dx,almov dx, OUTBITmov al, ahout dx, al ; 显示一位八段管push axmov ah, 1call Delaypop axshr ah, 1inc bxdec cljnz DLoopmov dx, OUTBITmov al, 0out dx,al ; 关所有八段管retDisplayLED endpIEnter proc nearpush axpush dxinc Secondmov al, Secondcmp al, 60jne Exitmov Second, 0inc Minutemov al, Minutecmp al, 60jne Exitmov Minute, 0inc Hourmov al, Hourcmp al, 24jne Exitmov Hour, 0Exit:mov dx, CS8259Amov al, 20h ; 中断服务程序结束指令out dx, alpop dxpop axiretIEnter endpIInit procmov dx, CS8259Amov al, ICW1out dx, almov dx, CS8259Bmov al, ICW2out dx, almov al, ICW4out dx, almov al, OCW1out dx, alretIInit endpstart proc nearmov ax, datamov ds, axmov Hour, 0mov Minute, 0mov Second, 0climov ax, 0mov ds, axmov al, 76h; 01110110B ; 计数器1,16位,方式3,二进制mov dx, CONTROLout dx, almov ax, 62500mov dx, COUNT1out dx, al ; 计数器低字节mov al, ahout dx, al ; 计数器高字节mov al, MD8255mov dx, CTL8255out dx, almov bx, 4*ICW2 ; 中断号mov ax, codeshl ax, 4 ; x 16add ax, offset IEnter ; 中断入口地址(段地址为0)mov [bx], axmov ax, 0inc bxinc bxmov [bx], ax ; 代码段地址为0call IInitmov ax, datamov ds, axmov CNT, 0 ; 计数值初始为0mov al, CNTmov dx, PA8255out dx, alstiLP: ; 等待中断,并计数。

西安交大微机原理第一次实验报告(共10页)

西安交大微机原理第一次实验报告(共10页)

微机(wēi jī)原理第一次实验报告一.实验(shíyàn)目的(1) 学习8086/8088指令系统中一些基本(jīběn)指令的用法和程序设计的基本方法。

(2) 熟悉PC机上建立、汇编、连接(liánjiē)、调试和运行8086、8088汇编语言程序的全过程。

(3) 学习提示信息的显示及键盘输入字符的方法。

(4) 掌握分支程序的设计方法。

二.实验内容(1) 设a,b,c,d四个数分别以单字节压缩BCD码形式存放在内存NUM开始的四个单元,计算(a+b)-(c+d)并将结果放在Y1单元中,将结果在屏幕上显示出来。

在debug中不断改变a,b,c,d内容并查看结果。

1. a=09, b=06, c=04, d=072. a=38, b=41, c=29, d=343. a=70, b=23, c=42, d=414. a=63, b=73, c=62, d=50(2) 在提示信息下,从键盘输入原码表示的二位十六进制有符号数,当此数大于0时,屏幕上显示此数为正数;当此数小于0时,屏幕上显示此数为负数;当此数为0时,屏幕上显示此数为零。

三.实验调试过程3.1 题目一调试过程C:\<DEBUG ONE.EXE-U 反汇编-R 查看(chákàn)寄存器变量值观察(guānchá)到0005时已完成(wán chéng)数据初始化,利用(lìyòng)g 5追踪到此处利用-d0指令查看内存单元,在偏移地址为0,1,2,3的地方有9,6,4,7,正是我们在代码中赋的初值。

-g d,观察(guānchá)到此时AL已赋值a=15H-g 16,计算(jì suàn)出a+b的值并赋给AL,值为0b,正确(zhèngquè)-g 19,DAA调整后AL变为11,计算(jì suàn)正确-g 1b,cl=04H成功赋值给AL,正确-g 1f,计算出(a+b)-(c+d)结果为04H,正确题目(tímù)二程序调试过程-U0, 反汇编-g 5,程序执行到此处时,完成(wán chéng)DS寄存器赋值DS=0B5EH-g a,程序执行到此处时,完成(wán chéng)SS寄存器赋值SS=0B69H-g 24,程序执行到此处,实现提示信息输出(shūchū)INPUT DATA:,手动输入C9-U-g 2f,程序执行到此处,成功(chénggōng)跳转,显示信息“THIS DATA IS –“四.程序(chéngxù)及框图4.1 题目(tímù)一程序DSEG SEGMENT ;定义数据段NUM DB 13H,27H,11H,12H ;定义(dìngyì)a,b,c,dY1 DB ?DSEG ENDS ;数据段定义结束SSEG SEGMENT PARA STACK ;定义堆栈段DB 20 DUP(?)SSEG ENDS ;堆栈段定义结束CSEG SEGMENT ;定义代码段ASSUME CS:CSEG,DS:DSEG,SS:SSEG ;各段定义(dìngyì) START: MOV AX,DSEGMOV DS,AX ;数据段段(duàn duàn)地址送DSMOV AX,SSEGMOV SS,AX ; 堆栈段段(duàn duàn)地址送SSMOV AL,[NUM]ADD AL,[NUM+1] ;计算(jì suàn)a+bDAA ;压缩BCD码加法调整DAAMOV CL,AL ; 保存a+bMOV AL,[NUM+2]ADD AL,[NUM+3] ;计算c+dDAA ;压缩BCD码加法调整DAASUB CL,AL ;计算(a+b)-(c-d)MOV AL,CLDAS ;DAS调整MOV [NUM+4],AL ;保存结果AND AL,0F0H ;取AL中高四位MOV CL,4SHR AL,CL ;BCD码高位移至低位ADD AL,30H ;AL加30H得ASCII码MOV DL,ALMOV AH,02HINT 21H ;显示DLMOV AL,[NUM+4] ; 恢复ALAND AL,0FH ;取AL低四位ADD AL,30H ;AL加30H得ASCII码MOV DL,ALMOV AH,02HINT 21H ;显示DLMOV AX,4C00HINT 21H ;返回DOSCSEG ENDSEND START ;程序结束4.2 题目二程序CRLF MACRO ;宏定义MOV AH,02HMOV DL,0DHINT 21HMOV AH,02HMOV DL,0AHINT 21H ;显示换行ENDM ;宏结束DATA SEGMENT ;定义数据段MESS1 DB 'INPUT DATA:',0DH,0AH,'$'MESS2 DB 'THIS DATA IS+',0DDH,0AH,'$'MESS3 DB 'THIS DATA IS-',0DH,0AH,'$'MESS4 DB 'THIS DATA IS ZERO',0DH,0AH,'$'DATABUF DB 3 ;定义(dìngyì)最大可输入字符长度 ACTLEN DB ? ;实际(shíjì)输入字符长度STRING DB 3 DUP(?) ;输入(shūrù)字符缓冲区DATA ENDS ;数据(shùjù)段结束SSEG SEGMENT PARA STACK 'STACK' ;定义堆栈段 DB 50 DUP(0)SSEG ENDS ;堆栈段结束CODE SEGMENT ;定义代码段ASSUME CS:CODE,SS:SSEG,DS:DATA ;各段定位START: MOV AX,DATAMOV DS,AX ;DS段寄存器赋值MOV AX,SSEGMOV SS,AX ;SS段寄存器赋值MOV DX,OFFSET MESS1MOV AH,09HINT 21H ;显示提示信息MOV AH,0AHMOV DX,OFFSET DATABUFINT 21H ;接收键入的字符串CRLF ;回车换行MOV AL,STRING ;接收字符高位CMP AL,38H ;比较高位和38H的大小JGE FUSHU ; 若高位>=38H?,跳至FUSHU处执行 CMP AL,30H ;比较高位和30H的大小JE ZERO ;若高位=30H?,跳至ZERO处执行ZHENGSHU: MOV DX,OFFSET MESS2 ;显示输出为正数 MOV AH,09HINT 21HJMP OVERFUSHU: MOV DX,OFFSET MESS3 ;显示输出为负数MOV AH,09HINT 21HJMP OVERZERO: MOV AL,[STRING+1] ;显示输出为0CMP AL,30HJNE ZHENGSHUMOV DX,OFFSET MESS4MOV AH,09HINT 21HJMP OVEROVER: HLTCODE ENDS ;代码段结束(jiéshù)END START ;程序(chéngxù)结束五.实验(shíyàn)结果5.1 题目(tímù)一实验结果1. a=09, b=06, c=04, d=07时,计算结果为042. a=38, b=41, c=29, d=34时,计算结果为163. a=70, b=23, c=42, d=41时,计算结果为104. a=63, b=73, c=62, d=50时,计算结果为245.2 题目二实验结果键盘输入c9,输出“THIS DATA IS-“键盘输入17,输出“THIS DATA IS +”键盘输入00,输出”THIS DATA IS ZERO’六.必要的分析6.1 题目一分析1. 压缩BCD码需要用到压缩BCD码的调整指令2. 程序末尾显示要利用DOS功能调用3.显示单个字符,要先将其转化为ASCII 码,再利用DOS功能调用的02H功能。

微机原理与接口技术实验报告

微机原理与接口技术实验报告

微机原理与接口技术实验报告实验一,微机原理实验。

1. 实验目的。

本实验旨在通过对微机原理的实验,加深学生对微机原理相关知识的理解,提高学生的动手能力和实验技能。

2. 实验内容。

本实验主要包括微机原理的基本知识、微处理器的结构和功能、微机系统的总线结构、存储器与I/O接口。

3. 实验步骤。

(1)了解微机原理的基本知识,包括微处理器的分类、功能和工作原理。

(2)学习微机系统的总线结构,掌握总线的分类、功能和工作原理。

(3)了解存储器与I/O接口的基本概念和工作原理。

(4)进行实际操作,通过实验板进行微机原理实验,加深对微机原理知识的理解。

4. 实验结果。

通过本次实验,我深刻理解了微机原理的基本知识,掌握了微处理器的结构和功能,了解了微机系统的总线结构,以及存储器与I/O接口的工作原理。

通过实际操作,我对微机原理有了更深入的认识,提高了自己的动手能力和实验技能。

实验二,接口技术实验。

1. 实验目的。

本实验旨在通过对接口技术的实验,加深学生对接口技术相关知识的理解,提高学生的动手能力和实验技能。

2. 实验内容。

本实验主要包括接口技术的基本知识、接口电路的设计与调试、接口技术在实际应用中的作用。

3. 实验步骤。

(1)了解接口技术的基本知识,包括接口的分类、功能和设计原则。

(2)学习接口电路的设计与调试,掌握接口电路设计的基本方法和调试技巧。

(3)了解接口技术在实际应用中的作用,包括各种接口的应用场景和实际案例。

(4)进行实际操作,通过实验板进行接口技术实验,加深对接口技术知识的理解。

4. 实验结果。

通过本次实验,我深刻理解了接口技术的基本知识,掌握了接口电路的设计与调试方法,了解了接口技术在实际应用中的作用。

通过实际操作,我对接口技术有了更深入的认识,提高了自己的动手能力和实验技能。

总结。

通过微机原理与接口技术的实验,我对微机原理和接口技术有了更深入的理解,提高了自己的动手能力和实验技能。

希望通过今后的学习和实践,能够更加深入地掌握微机原理与接口技术的知识,为将来的工作和研究打下坚实的基础。

西安交通大学 接口实验报告

西安交通大学 接口实验报告

计算机接口技术——课内实验报告物联网31班2130509005田雨桥2015 年12月11日实验一:基本I/O扩展实验一、实验目的了解TTL 芯片扩展简单I/O 口的方法,掌握数据输入输出程序编制的方法。

二、实验内容预备知识:74LS244 是一种三态输出的8 总线缓冲驱动器,无锁存功能,当G 为低电平时,Ai 信号传送到Yi,当为高电平时,Yi 处于禁止高阻状态。

74LS273 是一种8D 触发器,当CLR 为高电平且CLK 端电平正跳变时,D0——D7 端数据被锁存到8D 触发器中。

实验原理图:三、实验说明利用74LS244 作为输入口,读取开关状态,并将此状态通过74LS273 再驱动发光二极管显示出来,连续运行程序,发光二极管显示开关状态。

四、实验连线(1)244的cs连到cpu地址A15,Y7~Y0连到开关K1~K8;(2)273的cs连到cpu地址A14,Q7~Q0连到发光二极管L1~L8;(3)该模块的WR.RD连到cpu的WR.RD,数据线AD7~AD0、地址线A7~A0分别与cpu 的数据线AD7~AD0、地址线A7~A0相连;五、实验现象按照实验流程图完成接线且调试成功后,通过对开关K01 到K08 可以对应依次控制LED 灯的L1 到L8 。

即当将开关i上拨时,对应的LED灯i被点亮,开关i 下拨时,对应的LED灯i被熄灭。

开关拨到55H时,将会产生右移LED 灯的花样显示。

开关拨到AAH 时,将会产生左移LED 灯的花样显示。

六、心得体会通过实验,我学会了如何编写汇编程序来控制端口,更加了解了课内学过的知识,又通过实际操作进而实现基本的输入输出,对自己的汇编编程能力也有了一定的提高。

此外,培养自己排除障碍的能力,通过自己分析和动手来检查障碍。

并且通过观察实验结果了解了输入输出在实际应用上的作用实验二——A/D 转换实验一、实验题目基本IO 口扩展实验。

二、实验目的1,熟悉PLX9054操作环境,掌握简单的程序运行方法2.掌握0809A/D 转换芯片的硬件电路和软件编程三、实验原理1.实验内容说明ADC0809 的主要性能:(1) 8 位逐次逼近型A/D 转换器,所有引脚的逻辑电平与TTL 电平兼容。

微机原理实验报告西安交通大学

微机原理实验报告西安交通大学

西安交通大学电子信息与工程学院自动化科学与技术系微机原理与接口技术实验报告实验名称:微机原理与接口技术实验者姓名: XX 实验者学号:21105040XX所在班级:自动化1X报告完成日期:2014年1月12日实验一数据传送、算术运算、循环程序结构1、实验目的a)熟悉8086汇编语言源程序的框架结构,并掌握汇编语言程序的编写、汇编、连接、执行的过程,并利用Turbo Debugger调试汇编程序。

b)熟悉8086指令系统的数据传送指令,掌握寻址方式。

c)熟悉8086指令系统的算术运算指令。

掌握循环结构汇编语言程序的编制。

2、实验内容教材P121,第14、15题。

教材P195,第6题。

教材P196,第12题。

3、具体实验第一题(P121,第14题)设有两个8个字节长的BCD码数据BCD1及BCD2。

BCD1数以1000H为首地址在内存中顺序存放;BCD2数以2000H为首地址在内存中顺序存放。

要求相加后结果顺序存放在以2000H为首地址的内存区中(设结果BCD数仍不超过8个字节长)。

a) 实验原理考虑两个8个字节长的BCD码相加,首先根据地址要求将数据放在对应的地址单元中,然后做加法,BCD码相加要用到调整指令,结果才为正确的BCD数b) 程序框图c) 程序源代码DATAS SEGMENTORG1000HBCD1 DB 01H,02H,03H,04H,05H,06H,07H,88H;起始地址为1000H ORG2000HBCD2 DB 11H,12H,13H,14H,15H,16H,17H,18H;起始地址为2000H DATAS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATASSTART:MOV AX,DATASMOV DS,AXMOV BX,0MOV CX,8 ;设置循环次数8次CLC ;清进位CF标志AGAIN:MOV AL,[BX+1000H]ADC [BX+2000H],AL;结果放在2000H开始的单元内DAAINC BXLOOP AGAIN;没完成则转AGAIN循环MOV AH,4CHINT 21HCODES ENDSEND START运行: BCD1 DB 11H,12H,13H,14H,15H,16H,17H,18HBCD2 DB 21H,22H,23H,24H,25H,26H,27H,28H结果如下:DS:2000H为首地址的连续八个字节单元中第二题(P121,第15题)设从2000H为首地址的内存中,存放着10个带符号的字节数据,试编写“找出其中最大的数,并存入2000H单元中“的程序。

微机原理与接口技术实验报告2-8255可编程并行接口实验

微机原理与接口技术实验报告2-8255可编程并行接口实验

西安交通大学实验报告成绩第页共页课程微机原理与接口技术实验系别生物医学工程实验日期年月日专业班级组别交报告日期年月日姓名学号报告退发 (订正、重做) 同组者教师审批签字实验名称8255可编程并行接口实验一、实验目的:1、掌握8255芯片结构及工作方式;2、熟悉8255并行口扩展的编程。

二、实验设备1、Lab6000p实验教学系统;2、IBM-PC机三、系统中8255模块Lab6000p实验箱中的8255模块连线如图所示:AD0~AD7、A0、A1、RESET、/WR、/RD已分别连至系统总线DB0~DB7、AB0、AB1、RESET、/IOW、/IOR;8255_CS、PA口、PB口、PC口引出留给用户连接。

四、实验内容和实验步骤1、8255基本输入输出方式――开关控制LED显示1)实验要求开关拨上LED亮,开关拨下LED灭。

2)电路连接8255_CS连至地址译码/CS0,PA口连至LED电平显示模块,PB口连至开关电路。

3)程序框图4)程序代码mode equ 082h ; 方式0,PA,PC输出,PB输入PortA equ 8000h ; Port APortB equ 8001h ; Port BPortC equ 8002h ; Port CCAddr equ 8003h ; 控制字地址code segmentassume cs:codeStart:mov al, modemov dx, CAddrout dx, al ; 输出控制字loop1: mov dx, PortBin al, dxmov dx, PortAout dx, aljmp loop1code endsend start5)实验步骤[1]在Lab6000p实验箱上完成连接电路;[2]开启计算机电源,开启Lab6000p实验箱电源;[3]启动WAVE6000软件;[4]确认WAVE6000与Lab6000p连接;[5]输入源代码;[6]编译源代码(F9);[7]单步运行源代码(F8),观察每条指令执行结果;[8]连续运行程序(Ctrl+F9),上下拨动开关观察LED显示情况。

西安交大微机原理第二次实验报告

西安交大微机原理第二次实验报告

微型计算机原理与接口技术第二次实验报告实验者姓名:实验者学号:所在班级:报告完成日期:20年月日实验四8255A并行接口实验一、实验目的1.学会通过PC总线、驱动器、译码器等在PC机外部扩充新的芯片。

2.了解8255A并行口的工作原理。

3.掌握8255A初始化的程序设计方法。

4.掌握8255A方式0的基本输入/输出和方式1的选通型输入/输出方式的使用方法。

二、实验内容1.[实验一]使8255A工作于方式0,将由C口读入的开关状态从A口输出到LED上显示出来。

接线方式:断开电源,将8255A的CS接I/O地址输出端288H~28FH,C口接逻辑电平开关K0~K7,A口接LED显示电路L0~L7。

2.[实验二]使8255工作于方式1,将由A口读入的状态从B口输出到LED上显示出来。

接线方式:断开电源,将8255A的CS接I/O地址输出端288H~28FH,A口接逻辑电平开关K0~K5,B口接LED显示电路L0~L5,C口相应位分别接开关或LED发光二极管。

三、程序及框图1.实验一:8255A工作于方式0[程序代码]PPIA EQU 288HPPIB EQU 289HPPIC EQU 28AHPPICTL EQU 28BHDATA SEGMENTMESS1 DB '8255A IN MODE 0!',0DH,0AH,'$'MESS2 DB 'ENTER ANY KEY RETURN TO DOS!',0DH,0AH,'$'DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV DX,OFFSET MESS1 ;数据段段寄存器结构MOV AH,09HINT 21H ;显示提示信息1MOV DX,OFFSET MESS2MOV AH,09HINT 21H ;显示提示信息2MOV AL,10001001BMOV DX,PPICTLOUT DX,ALCOUNT:MOV DX,PPIC ;8255A的C口读入数据IN AL,DXMOV DX,PPIA ;将数据送至8255A的A口输出OUT DX,ALMOV AH,06H ;若有键按下,则退出MOV DL,0FFHINT 21HJZ COUNTMOV AX,4C00HINT 21HCODE ENDSEND START[实验框图]2.实验二:8255A工作于方式1[程序代码]PPIA EQU 288HPPIB EQU 289HPPIC EQU 28AHPPICTL EQU 28BHDATA SEGMENTMESS1 DB '8255A IN MODE 0!',0DH,0AH,'$'MESS2 DB 'ENTER ANY KEY RETURN TO DOS!',0DH,0AH,'$' DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV DX,OFFSET MESS1MOV AH,09HINT 21HMOV DX,OFFSET MESS2MOV AH,09HINT 21HMOV AL,10111101BMOV DX,PPICTLOUT DX,ALCOUNT:MOV DX,PPIC ;从C口读入IBF(PC5)状态信号IN AL,DXAND AL,00100000B ;取PC5位来看JZ COUNT ;IBF=0,YES则跳COUNTMOV DX,PPIA ;从A口读入数据IN AL,DXPUSH AXRDC:MOV DX,PPIC ;从C口读入OBF(PC1)状态信号IN AL,DXAND AL,0000010B ;取PC1位来看JZ RDC ;IBF=0,YES则跳COUNTPOP AXMOV DX,PPIB ;向B口输出数据OUT DX,ALMOV AH,06HMOV DL,0FFHINT 21HJZ COUNTMOV AX,4C00HINT 21HCODE ENDSEND START[实验框图]四、实验结果及分析1.实验一:8255A工作于模式0按照连线要求,在TPC-ZK实验板上连好线。

微机原理及接口技术实验报告

微机原理及接口技术实验报告

微机原理及接口技术实验报告一、实验目的本实验旨在通过掌握微机原理和接口技术的实验操作,实践相关理论知识,加深对微机原理和接口技术的理解。

二、实验设备和材料1.计算机主机2.操作系统3.接口卡4.编程软件三、实验原理微机原理是指通过学习微机的结构、功能和工作原理,从硬件层面掌握微机的基本知识。

接口技术是指连接不同设备之间的通信和数据交换技术,通过学习接口技术可以实现设备的互联和数据的传输。

四、实验步骤1.将接口卡插入计算机主机的扩展槽中。

2.启动计算机,并加载操作系统。

3.打开编程软件,编写实验程序。

4.将编写好的程序烧录到接口卡中。

5.连接外部设备和接口卡,并确认连接正确无误。

6.运行程序,并观察外部设备和接口卡之间的数据交互情况。

7.分析实验结果,并记录实验数据。

8.关闭程序和计算机。

五、实验结果及分析通过实验我们成功连接了外部设备和接口卡,并实现了数据的传输和交互。

在程序运行过程中,我们观察到外部设备正常工作,并且与接口卡之间的通信稳定可靠。

根据实验数据分析,我们可以得出接口卡的性能良好,并且能够满足实际应用需求。

六、实验心得通过这次实验,我对微机原理和接口技术有了更深入的理解。

实践操作让我加深了对硬件设备和软件编程的认识,掌握了实现设备互联和数据传输的基本方法。

在实验过程中,我遇到了一些问题,如接口卡的插入和连接问题,但通过查阅资料和请教老师同学,最终成功解决了这些问题。

我发现实验不仅帮助我巩固了理论知识,也提高了我的实践能力和解决问题的能力。

总结起来,微机原理和接口技术是计算机相关专业的基础课程之一,通过实验的方式学习可以更好地将理论知识与实际应用相结合。

我相信通过不断的实践和学习,我会在微机原理和接口技术方面有进一步的提高和发展。

微机原理与接口技术实验报告

微机原理与接口技术实验报告

微机原理与接口技术实验报告实验目的,通过本次实验,掌握微机原理与接口技术的基本知识,了解并掌握微机接口技术的应用方法。

实验仪器与设备,微机实验箱、接口卡、示波器、电源等。

实验原理,微机接口技术是指微机与外部设备进行数据交换的技术。

它是微机与外部设备之间的桥梁,通过接口技术可以实现微机与外部设备之间的数据传输和通信。

实验内容与步骤:1. 实验一,串行通信接口实验。

a. 将串行通信接口卡插入微机实验箱的接口槽中;b. 连接示波器和外部设备,并进行数据传输测试;c. 观察并记录数据传输的波形和数据传输情况。

2. 实验二,并行通信接口实验。

a. 将并行通信接口卡插入微机实验箱的接口槽中;b. 连接外部设备,并进行数据传输测试;c. 观察并记录数据传输的情况。

3. 实验三,AD转换接口实验。

a. 将AD转换接口卡插入微机实验箱的接口槽中;b. 连接外部模拟信号源,并进行模拟信号转换测试;c. 观察并记录模拟信号转换的波形和数据传输情况。

实验结果与分析:1. 串行通信接口实验结果分析:通过实验发现,在串行通信接口实验中,数据传输的波形稳定,数据传输速度较快,适用于对数据传输速度要求较高的应用场景。

2. 并行通信接口实验结果分析:在并行通信接口实验中,数据传输稳定,但数据传输速度相对较慢,适用于对数据传输速度要求不高的应用场景。

3. AD转换接口实验结果分析:经过实验发现,AD转换接口可以将模拟信号转换为数字信号,并且转换精度较高,适用于对信号转换精度要求较高的应用场景。

实验总结与展望:通过本次实验,我们深入了解了微机原理与接口技术的基本知识,掌握了串行通信接口、并行通信接口和AD转换接口的应用方法。

同时,也发现不同接口技术在数据传输速度、稳定性和精度方面各有优劣,需要根据实际应用场景进行选择。

未来,我们将继续深入学习和探索微机接口技术的应用,为实际工程项目提供更好的技术支持。

结语:通过本次实验,我们对微机原理与接口技术有了更深入的了解,实验结果也验证了接口技术在数据传输和信号转换方面的重要作用。

微机原理与接口技术实验报告.

微机原理与接口技术实验报告.

实验一、认识Tddebug集成操作软件一.实验内容(一)实验题目:数据传送实验1. 编程将数据段中的一个字符串传送到附加段中,并输出附加段中的目标字符串到屏幕上。

2. 修改此程序,采用字符串传送指令完成。

(二)实验目的:通过对该程序进行调试,查看程序段、数据段、附加段装入内存后的分配情况。

单步执行数据传送指令后,观察各个寄存器及数据区的内容。

(三)实验步骤:1. 运行Tddebug软件,选择Edit菜单编写实验程序2.使用Compile菜单中的Compile和Link对实验程序进行汇编、连接,生成执行文件。

3.使用Rmrun菜单中的Run运行程序,观察运行结果。

4.使用Rmrun菜单中的Debug调试程序,查看程序段、数据段、附加段装入内存后的分配情况。

单步执行数据传送指令后,观察各寄存器及数据区的内容。

过程如下:1)按F7单步执行,在代码区中有一个三角,表示正在执行的指令。

每一条指令的执行一定会使目标寄存器和状态寄存器发生变化,从相关窗口看结果。

2)检查内存数据区的内容,关键是找出用户程序的数据段和附加段:●方法1:在CPU窗口按Tab键使内存数据显示区成为活动区,按Ctrl+G键,输入:“DS或ES寄存器的值:偏移地址”,即可显示用户指定的数据区●方法2:选择菜单View| Dump,弹出内存数据显示窗口。

3) 查看执行结果:按Alt+F5,切换到用户窗口。

5.更改数据区中的数据,考察、调试程序的正确性。

二.分析设计思想,绘制实验原理图、流程图。

汇编语言程序的开发过程如图1.1所示,这个过程主要有编辑、编译、链接几个步骤构成。

三.程序清单及相关注释。

DDATA SEGMENT ;定义源数据段MSR DB "HELLO,WORLD!$"LEN EQU $- MSRDDATA ENDSEXDA SEGMENT ;定义附加数据段MSD D B LEN DUP(?)EXDA ENDSMYSTACK SEGMENT ;定义堆栈段STACK DW 20 DUP(?)MYSTACK ENDSCODE SEGMENT ;定义代码段ASSUME CS:CODE,DS:DDATA,ES:EXDASTART: MOV AX,DDATAMOV DS,AX ;装载数据段寄存器MOV AX,EXDAMOV ES,AX ;装载附加数据段寄存器MOV SI,OFFSET MSRMOV DI,OFFSET MSDMOV CX,LENMOV BX,0NEXT: MOV AL,MSR[BX] ;开始传输数据MOV ES:MSD[BX],ALINC BXLOOP NEXTPUSH ESPOP DS ;将附加段寄存器指向的段值赋给数据段寄存器MOV DX,OFFSET MSDMOV AH,9INT 21H ;显示字符串MOV AH,4CHINT 21H ;返回DOS状态CODE ENDSEND START四.实验结果并分析。

《微机原理与接口》课程上机操作实验报告

《微机原理与接口》课程上机操作实验报告

《微机原理与接口》课程上机操作实验报告姓名:王自胜学号: 12212162指导教师:付文秀时间: 2014年12月I/O地址译码与交通灯控制实验一、实验目的通过并行接口8255实现十字路口交通灯的模拟控制,进一步掌握对并行口的使用。

二、实验内容如图5-3,L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。

编程使六个灯按交通灯变化规律燃灭。

十字路口交通灯的变化规律要求:(1)南北路口的绿灯、东西路口的红灯同时亮3秒左右。

(2)南北路口的黄灯闪烁若干次,同时东西路口的红灯继续亮。

(3)南北路口的红灯、东西路口的绿灯同时亮3秒左右。

(4)南北路口的红灯继续亮、同时东西路口的黄灯亮闪烁若干次。

(5)转(1)重复。

三、程序流程图四、程序清单DATA SEGMENTX DB ?DATA ENDSSTACK1 SEGMENT STACKDW 100H DUP(0)STACK1 ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK1 START: MOV AX,DATAMOV DS,AX;---------------INIT---------------- MOV DX,0EC0BH ;写控制字MOV AL,80HOUT DX,ALL3: MOV DX,0EC0AHMOV AL,24H ;南北绿灯,东西红灯亮OUT DX,ALCALL DELAYCALL DELAY ;长延时,3s左右CALL DELAYCALL DELAYCALL DELAYCALL DELAYCALL DELAYMOV BL,8MOV AL,04HL0: XOR AL,40H ;南北黄灯闪,东西红灯亮OUT DX,ALCALL DELAY ;延时CALL DELAYDEC BL ;闪烁几次JNZ L0CALL DELAYMOV AL,81H ;南北红灯亮,东西绿灯亮OUT DX,ALCALL DELAYCALL DELAYCALL DELAY ;长延时,3s左右CALL DELAYCALL DELAYCALL DELAYCALL DELAYMOV BL,9MOV AL,80HL1: XOR AL,02H ;南北红灯亮,东西黄灯闪OUT DX,ALCALL DELAY ;延时CALL DELAYDEC BLJNZ L1 ;闪烁几次CALL DELAYMOV DL,0FFHMOV AH,06HINT 21HJZ L3 ;六号功能判断若无字符输入ZF=1继续循环;------------------------------MOV AH,4CHINT 21H;-----------延时函数------------DELAY : PUSH CXPUSH DXMOV CX,1FFFHLOP1: MOV DX,0FFFFHLOP2: DEC DXJNZ LOP2LOOP LOP1POP DXPOP CXRETCODE ENDSEND START可编程定时时钟/计数器(8253)一、实验目的掌握8253的基本工作原理和编程方法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微机原理与接口实验报告班级:姓名:学号:日期:2016.12.4目录实验1 六位数码管动态显示实验........................................ 实验2 小键盘案件识别实验............................................ 实验3 8位AD转换实验................................................ 实验4步进电机实验...................................................实验1 六位数码管动态显示实验1.1 实验目的了解共阴级数码管显示数字的原理,掌握六位共阴级数码管动态显示的控制方法。

1.2 实验原理、内容,接线图,程序流程图,必要时附上实验步骤和电路原理图。

将0-9这十个数字按照从右到左的顺序循环步进显示,即首先从最右端数码管显示“0”,间隔一定时间后向左移动一位,直到最左端。

到最左端后变换数字,按照同样的方法显示1-9,以此循环往复。

做实验之前需要将七段数码管上方的拨动开关打到“CPU”位置。

实验接线图如图1所示,只需将LED_CS连接到地址译码200H即可。

图1 六位数码管显示实验接线图图2 六位数码管单元电路图实验系统使用了6个七段共阴级数码管,形成6位数码管显示电路,如图3-6所示。

该电路由六个共阴级数码管组成,使用了段码锁存器(字形锁存器)74LS273、OC门驱动器和位码锁存驱动器TPIC6B273。

段码锁存器(字形锁存器)74LS273输出高电平有效,位码锁存驱动器TPIC6B273输出低电平有效。

/CS 为两个锁存器的片选信号。

地址线A0用来区分选择段码还是位码,在/CS=0,/IOW=0的情况下,A0=0 CPU发出来的数据被锁到段码锁存器(字形锁存器)74LS273,保存字形编码,A0=1 CPU发出来的数据被锁到位码锁存驱动器TPIC6B273,保存位选码。

由于位码锁存驱动器TPIC6B273将输入的每一位数据反相后再输出的,所以对于段选和位选输入代码来说,都是高电平有效(高电平点亮数码管)。

每个七段共阴级数码管显示十进制/16进制数字的字形编码如图3。

图3共阴级7段数码管编码表流程图如下:图4六位数码管显示实验主程序参考流程图图5六位数码管显示实验显示子程序参考流程图1.3 完整的程序清单和相关注释。

.model small.386data segmentnum db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fhdata endscode segmentassume cs:code,ds:dataBEGIN: mov si,0mov ax,datamov ds,axlea bx,numcount:mov cx,6mov ah ,00000001bscan:mov al,[bx+si] ;字形处理mov dx,200hout dx,almov al,ah;字位处理mov dx,201hout dx,alcall delayshl ah,1loop scanadd si,1cmp si,10jnz countsub si,10jmp countdelay proc nearpush cxmov cx,0lop: loop loppop cxretdelay endpcode endsend BEGIN1.4 实验数据及结果分析完成了0到9的八个数码管依次顺序显示,每次的显示都有一定的延迟,当显示完数字9以后就再次从0开始。

1.5 实验过程中遇到的问题,以及解决办法遇到的问题:显示的时候一开始很难延迟。

解决的方案:通过构造一个延迟函数来完成,在延迟函数中一直重复进行某一个动作,用计数器的倒计时来完成延迟的功能,由于需要调用新的函数,而且需要一个计数器的支持,所以需要将cx压入栈中。

1.6 实验总结熟悉了汇编语言的相关语言,也熟悉了软件与接线板的操作。

通过入栈压栈的方式,完成对于延迟操作的函数构造。

同时,也实践了mov al,[bx+si] mov dx,200h out dx,al的字形处理,和mov al,ah mov dx,201h out dx,al的字为命令的语句熟悉。

实验2 小键盘按键识别实验1.1 实验目的掌握用软件方法识别行列式键盘按键的原理和方法。

1.2 实验原理、内容,接线图,程序流程图,必要时附上实验步骤和电路原理图。

当实验板上的小键盘有键按下时,将其对应的键号( 16进制数0-F)显示在七段数码管上。

实验系统提供了一个16按键的小键盘,采用行列式4×4键盘,形成矩阵结构,如图3-10所示。

通常,该键盘矩阵的行线和列线分别与8255并行接口的两个端口连接,通过程序的检测和判断来识别按键操作。

当需要检测某键按下时,依次给1、2、3、4行线输出低电平,某键按下时,相应的行和列上的两条线短路,即相应的列线被拉成低电平,其他列线维持高电平。

程序通过并口读回4根列线的值,根据行线列线为0的状态即可判断出该按键的键号(即位置)。

图6 4X4键盘原理图实验接线图如图7所示,将8255端口A的PA0-PA3与4个行线KL0-KL3连接,将8255端口B的PB0-PB3与4个列线KR0-KR3连接,设置选择8255 A组、B组端口为方式0(基本输入输出方式)工作,且端口A方向为输出,用来控制行线,端口B方向为输入,用来读入列线值。

编写汇编程序,根据送出的行线值和读入的列线值来判断出该按键的位置,并将其键号在数码管上显示出来。

图7 小键盘按键识别实验接线图流程图如下:图8 小键盘按键识别实验程序流程图1.3 完整的程序清单和相关注释。

.model small.386DATA SEGMENTrowport dw 200hcolport dw 201hcontrolport dw 203h ;控制字led_cs dw 210hchar db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,77h,7ch,39h,5eh,79h,71htable dw 0fefehdw 0fefdhdw 0fefbhdw 0fef7hdw 0fdfehdw 0fdfdhdw 0fdfbhdw 0fdf7hdw 0fbfehdw 0fbfdhdw 0fbfbhdw 0fbf7hdw 0f7fehdw 0f7fdhdw 0f7fbhdw 0f7f7hDATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART:begin:mov ax,datamov ds,axmov dx,controlportmov al,10000010bout dx,al;8255初始化L1: call kb1mov bh,ahmov bl,alcall delaycall kb1cmp bl,aljnz begincmp bh,ahjnz beginmov ax,bxcall dispcall delaykb1 procmov ah,0fehkb2:mov al,ahmov dx,rowportout dx,al;输出数据mov dx,colportin al,dx;读入PB口内容 or al,0f0hcmp al,0ffhjne num1rol ah,1jmp kb2num1:retkb1 endpdelay procpush cxmov cx,8000hdelay1:loop delay1pop cxretdelay endpdisp procpush bxpush dxkb3: mov si,offset table mov di,offset char mov cx,16kb4: cmp ax,[si]jz kb5inc siinc siinc diloop kb4kb5: mov al,[di]mov dx,led_csout dx,al;字形处理mov al,01hinc dxout dx,al;字位处理pop dxretdisp endpCODE ENDSEND START1.4 实验数据及结果分析完成了键盘按键在显示屏上的显示任务,可识别从0到F的各个数字及字母,做到了一一对应。

1.5 实验过程中遇到的问题,以及解决办法遇到的问题:如何识别按键的位置解决的方案:用table来记录各个按键的位置,由于table内部的数据是dw的,而字符是db的,所以当字符的偏移地址加一的时候,table的偏移地址加二,从而就可以完成一一对应的操作。

1.6 实验总结熟悉了汇编语言和软件操作,也完成了键盘和显示屏的连接操作,完成了实验任务。

但是代码部分还可以做适当的简略,逻辑部分还需要一定的考虑。

实验3 8位A/D转换实验1.1 实验目的掌握模/数信号转换的基本原理,掌握ADC0809芯片的查询方式使用方法。

1.2 实验原理、内容,接线图,程序流程图,必要时附上实验步骤和电路原理图。

从ADC0809通道0输入0--+5V可变电压,启动AD转换,使用查询方式读取转换数据,并以16进制显示在数码管上。

实验接线如图3-21。

图9 8位A/D 转换实验接线图流程图如下:图10 8位A/D 转换实验参考流程图1.3 完整的程序清单和相关注释。

.MODEL small.386AD_CS EQU 200hLED_CS EQU 210hDATA SEGMENTLEDCODE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,67H,77H,7CH,39H,5EH,79H,71H ;数码管0到f的显示DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXRPT: MOV DX,AD_CSOUT DX,AL ;让ADC0809锁存地址,并启动转换MOV DX,AD_CSADD DX,2 ;此时DX指向202H处L1: IN AL,DX ;读取ADC0809的EOC引脚状态并加以判断TEST AL,01H ;EOI是否为1,判断转换是否完成JZ L1 ;否,重复读入EOC状态并判断;MOV DX,AD_CSINC DXIN AL,DXCALL DISPJMP RPTDISP PROCMOV SI,OFFSET LEDCODE;设置7段表首地址MOV BX,SIMOV CH,ALMOV CL,4;截取转换数据的高四位ROR AL,CLAND AL,0FHMOV AH,0ADD BX,AXMOV AL,[BX];获取LED显示编码MOV DX,LED_CSOUT DX,AL;转换后显示MOV AL,02HINC DXNOPOUT DX,ALCALL DELAYMOV AL,CHAND AL,0FHMOV AH,0ADD SI,AXMOV AL,[SI]MOV DX,LED_CSOUT DX,ALMOV AL,01HINC DXOUT DX,ALCALL DELAYRETDISP ENDPDELAY PROCPUSH CXMOV CX,50HX1: LOOP X1POP CXRETDELAY ENDPCODE ENDSEND START1.4 实验数据及结果分析完成了数模信号的转化任务,成功地将模拟量转化为数字量,范围为0到ff,完成了模拟量和显示屏的连接。

相关文档
最新文档