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

微机原理与接口技术实验总结篇一:微机原理与接口技术实验总结微机原理与接口技术实验总结11107108徐寒黎一、实验内容以及设计思路1、①试编写一程序,比较两个字符串STRinG1、STRinG2所含字符是否相同,若相同输出“maTcH”,若不相同输出“nomaTcH”。
设计思路:定义一个数据段,在数据段中定义两个字符串作为STRinG1、STRinG2以及几个用于输入提示的和输出所需内容的字符串,定义一个堆栈段用于存放,定义代码段。
关键步骤以及少量语句:第一步将STRinG1和STRinG2都实现用键盘输入,方法是moVdX,oFFSETSTRinG2moVaH,0aHinT21H并且显示在显示器上,显示方法将0aH改成09H,语句与上面类似。
然后进行比较第一个单元,moVaL,[STRinG1+1]cmPaL,[STRinG2+1]JnznomaTcH若字符串长度不等,则直接跳转,输出输出“nomaTcH”;若长度相等再逐个比较LEaSi,[STRinG1+2]LEadi,[STRinG2+2]moVcL,[STRinG1+1]moVcH,0cLdREPEcmPSBJcXzmaTcH,意思是全部相同就跳转maTcH,输出“maTcH”;不然进入下面的nomaTcH。
退出。
②试编写求级数1 +2 +3 …..前几项和刚大于10000的程序。
设计思路:原先编写的程序,设定和为10000,结果是14。
但要求高一点的话,可以自己设置,实现用键盘输入和的值。
一个难点是将输入的aScii码字符串,转换成与之相同的十进制数的数值。
关键的思路部分是:从1开始求级数,将和的值存在aX里,要加下一项级数前,比如这时已经加到4,PUSH一下aX,然后将5乘三遍,将乘积moV到BX里,再PoPaX,然后将BX的值加到aX 里,然后将aX与n比较,如果比n小就继续上述步骤,知道刚比n 大就输出数字。
③试编写一程序,完成字符串中各字符出现频度的统计,统计结果在屏幕上输出。
微机原理及接口技术实验报告

《微机原理与接口技术》实验报告姓名:学号:班级:专业:电气工程及其自动化学院:电气与信息工程学院目录实验一数据传送 (2)实验二算术运算 (4)实验三代码转换 (6)实验四程序的基本结构 (9)1、分支程序 (9)2、循环程序 (13)3、子程序 (16)实验五中断实验(8259) (19)实验六并行接口实验(8255) (25)实验七定时器/计数器实验(8235) (31)实验八D/A接口实验 (36)实验九A/D接口实验 (40)实验十串行通信实验 (43)实验一数据传送一、实验目的1. 掌握与数据有关的不同寻址方式。
2. 继续熟悉实验操作软件的环境及使用方法。
二、实验设备PC微机一台、TD-PIT + 或TD-PIT ++ 实验系统一套。
三、实验内容本实验要求将数据段中的一个字符串传送到附加段中,并输出附加段中的目标字符串到屏幕上。
四、实验步骤(1) 运行Tdpit 集成操作软件,编写实验程序。
(2) 编译连接无误后,进入调试环境,进行程序的调试。
按F8 键单步运行程序,执行完MOV DS,AX 语句后,观察DS 寄存器中出现的段地址。
如图1-1所示可以看出DS数据段中MSR源数据串"HELLO,WORLD!$"。
图1-1 进入调试环境(3)继续单步运行程序,执行MOV ES,AX 语句后,可以看数据段出现的段地址,用同样的方法可以查看ES:0000 的数据。
数据传输还没开始进行,此时ES 段的数据为空,如图1-1所示。
继续单步运行程序如图1-2可以看出数据正在逐渐的进入ES段中。
图1-2 DS源数据段数据(4)直到数据传输完毕,可以看到ES 数据段中目的数据串MSD 已经被写入了数据串"HELLO,WORLD!$"。
如图1-3所示。
图1-3 根据ES值查看附加段的数据实验二算术运算一、实验目的1. 掌握运算类指令编程及调试方法。
2. 掌握运算类指令对各状态标志位的影响及测试方法。
微机原理与接口技术软件实验报告

第一篇软件实验实验一存储器块操作实验一、实验目的1. 熟悉KEIL集成调试环境和汇编程序的调试方法。
2. 掌握存储器读写方法;3. 了解内存块的移动方法;二、实验说明实验1 指定某存储器的其实地址和长度,要求能将其内容赋值。
通过该实验学生可以了解单片机读写存储器的方法,同时也可以了解单片机编程、调试方法。
块移动是单片机常用操作之一,多用于大量的数据复制和图像操作。
例程2给出起始地址,用地址加1方法移动块,将指定源地址和长度的存储块移到指定目标为起始地址的单元中去。
移动3000H起始的256个字节到4000H起始的256个字节。
三、实验内容1. 试编程将片内RAM中的数据依次复制到片外RAM。
假设源数据区的首地址为40H,目的数据区的首地址为1000H,数据块长度为10H。
流程图:程序:运行结果:Memory显示,片内RAM中40H开始数据为03 00 29 00 00 00 71 00 AB 00 00 00 1E 00 00 FF,说明测试数据已经成功输入片内RAM。
从片外RAM中1000H位置开始记录为03 00 29 00 00 00 71 00 AB 00 00 00 1E 00 00 FF,说明片内RAM从40H开始的数据已经成功复制到片外从1000H开始的地址。
2. 两个16位无符号二进制数分别存放在片外RAM首址为2000H和2002H单元内,将它们相加,结果存入RAM 30H(低8位)、31H(高8位)。
程序(以0506H+CDEFH为例):0506H和CDEFH已存入片外单元,运算结果D2F5已存入30H和31H中。
四、思考题1. 如何将存储块的内容置成某固定值(例全填充为0FFH)?请用户修改程序,完成此操作。
答:将源程序中的MOV A, #01H 改为MOV A,#0FFH即可。
2. 若源块地址和目标地址有重叠,该如何避免?答:先执行一次数据转移操作将源块地址中的数据先暂存入一块地址与目标地址和源块地址均不重叠的存储区,再执行一次数据转移操作将暂存区的数据移入目标地址区域。
微机原理与接口技术实验1报告

微机原理与接口技术实验报告实验一实验名称:试验箱硬件连接实验实验一:地址译码电路设计实验实验内容:用74LS138译码器设计地址译码电路,并用其输出作为基本输入输出单元的片选信号,使用设计的端口地址编写程序,实现数据的输入输出。
实验原理:微机接口电路中,常采用74LS138译码器来实现I/O端口或存储器的地址译码。
74LS138有3个输入引脚、3个控制引脚及8个输出引脚,其管脚信号如图1所示。
当3个控制信号有效时,相应于输入信号A、B、C状态的那个输出端为低电平,该信号即可作为片选信号。
32位总线地址是由XA2开始,所以地址是以4字节边界对齐的。
实验系统的I/O地址空间共有256字节,偏移地址一般从00H~FFH。
起始地址由PC机系统分配,可以查看端口资源得到起始地址。
所以设计地址译码电路,主要是针对XA7以下低8位地址线译码,得到偏移在00H~FFH之间的端口。
本实验要求不使用总线上的片选信号,自行设计端口偏移地址为E0H~FFH的译码电路,然后用译码输出作为I/O接口单元的片选。
编写程序,完成I/O数据操作。
实验步骤:(1) 实验接线图如图2所示,按图连接实验线路图。
(2)运行Tdpit集成操作软件,根据实验内容,编写实验程序,对实验程序进行编译、链接。
(3)运行程序,拨动开关,观看数据灯显示是否正确。
运行结果:屏幕上能够正确显示开关所表示的十进制数。
实验二:点阵LED显示设计实验实验内容:(1) 在TD-PIT+上使用基本输入输出单元中的两路输出OA[7:0]、OB[7:0]分别控制点阵LED的行控制R[7:0]和列控制L[7:0]。
编写程序,使点阵LED的每一行和每一列依次循环显示。
(2) 在TD-PIT++上使用32位I/O接口单元的32位输出O0~O31控制点阵LED 单元R0~R15和L0~L15。
编写程序,在16×16点阵上循环显示汉字。
实验原理:8×8点阵LED相当于8×8个发光管组成的阵列,其中每一行共用一个阳极(行控制),每一列共用一个阴极(列控制)。
微机原理与接口技术实验报告

微机原理与接口技术实验报告
本次实验是关于微机原理与接口技术的实验报告,通过本次实验,我们将深入
了解微机原理与接口技术的相关知识,并通过实际操作来加深对这些知识的理解和掌握。
实验一,微机原理。
在本次实验中,我们首先学习了微机的基本原理,包括微机的组成结构、工作
原理和基本功能。
通过实际操作,我们了解了微机的主要组成部分,如中央处理器(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) 阅读《实验操作.ppt》, 学习汇编工具的使用(2) 学习附录的程序代码, 理解并输入、编译和查错3) 学习利用编译错误信息进行附录的程序修改;(程序包含一个语法错误和一个逻辑错误)4)学习程序流程控制: (条件跳转指令ja jb (call指令, 观察程序执行时堆栈的变化(学会用debug –g命令设置断点);5 )学习程序中有限的寄存器的使用。
2.实验内容:(1)打开masm for windows软件, 在其中输入实验要求附给的程序, 保存后运行, 程序报错:(2)经分析发现, “noneeded”没有定义, 改为“notneeded”后正常运行(3)运行过程中发现当字母或数字个数达到两位数时, 统计结果的各位与十位对调了。
如下图, 字母数应为13, 但显示为31(4)经检查, 发现第80行程序有误, inc指令应改为dec指令。
运行后程序正常, 调试完毕。
如下图程序框图如下:实验内容二:1.实验目的及内容:编写完整程序, 实现功能:统计以下字符串STR中空格的数目, 结果保存在COUNT中, 并把个数在屏幕上显示出来。
STR DB ' AB CDE FG H I J K L MNOPQ RST UV W XYZ 12 34 56 78 9'L EQU $-STRCOUNT DB ?(字符串STR可以从这里直接拷贝到程序中)实验结果:程序如下:dispmsg macro messgemov ah,9lea dx,messgeint 21hendmDATA segmenttishi db 0dh,0ah,'the original string is:' string db ' AB CDE FG H I J K L MNOPQ RST UV W XYZ 12 34 56 78 9' STRINGLEN= $-stringnewline db 0dh,0ahNspace db 0dH,0aH,'Number of char space is:',?,?Nsp db ?,'$'DATA endsSTACK segment stack 'stack'sta db 100 dup(?)stack endsCODE segmentASSUME CS:CODE,DS:DATA,SS:STACK START:MOV AX,seg DATAMOV DS,AXxor cx,cxxor dl,dlmov cl,stringlenlea bx,stringcnt:mov al,[bx]cmp al,' 'jz yesspinc blloop cnt jmp shijinzhiyessp:inc dlinc blloop cntjmp shijinzhishijinzhi:lea bx,Nspmov ah,02hint 21hcall char2asc dispmsg tishiMOV AH,4CHINT 21Hchar2asc procmov dl,10 next: xor ah,ahdiv dladd ah,'0'mov [bx],ahdec bxor al,aljnz nextretchar2asc endpcode endsend startEND START运行结果如下:程序流程图如下:实验中遇到的问题及解决方法:1.汇编语言中寄存器有限, 在使用时注意是否保存寄存器中原有的值, 防止在使用寄存器时将原值改变。
微机原理与接口技术硬件实验报告

微机原理与接口技术硬件实验报告目录实验一基本的IO实验 (2)A.I/O地址译码 (2)一、实验目的 (2)二、实验原理和内容 (2)三、硬件接线图与软件流程图 (3)四、源程序 (4)五、实验结果 (5)实验总结 (5)六、实验收获与心得体会 (5)B.简单并行接口 (5)一、实验目的 (5)二、实验原理和内容 (6)三、硬件接线图与软件流程图 (6)四、源程序 (7)五、实验结果 (8)六、实验总结 (8)七、实验收获与心得体会 (8)实验二可编程并行接口8255实验 (8)一、实验目的 (8)二、实验原理和内容 (8)三、硬件接线图与软件流程图 (10)四、源程序 (12)五、实验结果 (15)六、实验总结 (15)七、实验收获与心得体会 (15)实验三可编程定时器/计数器(8253)实验 (15)一、实验目的 (15)二、实验原理和内容 (15)三、硬件接线图与软件流程图 (17)四、源程序 (17)五、实验结果 (24)六、实验总结 (24)七、实验收获与心得体会 (24)八、思考题 (24)实验四串行通讯接口8251实验 (25)一、实验目的 (25)二、实验原理和内容 (25)三、硬件接线图与软件流程图 (25)四、源程序 (26)五、实验结果 (31)实验总结 (31)六、实验收获与心得体会 (31)七、思考题 (31)实验一基本的IO实验A.I/O地址译码一、实验目的掌握I/O地址译码电路的工作原理。
二、实验原理和内容1.实验电路硬件接线图所示,其中74LS74为D触发器,可直接使用实验台上数字电路实验区的D触发器,74LS138为地址译码器。
译码输出端Y0~Y7在实验台上“I/O地址“输出端引出,每个输出端包含8个地址,Y0:280H~287H,Y1:288H~28FH, ……当CPU执行I/O指令且地址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。
例如:执行下面两条指令MOV DX,2A0HOUT DX,AL(或IN AL,DX)Y4输出一个负脉冲,执行下面两条指令MOV DX,2A8HOUT DX,AL(或IN AL,DX)Y5输出一个负脉冲。
微机原理与接口技术实验报告

《微机原理与接口技术》实验报告系部:指导教师:学号:姓名:实验一 8255A并行口实验A一、实验目的⑴掌握8255A和微机接口方法。
⑵掌握8255A的工作方式和编程原理。
二、实验内容用8255 PA作开关量输入口,PB作输出口。
三、程序框图四、实验电路五、实验程序CODE SEGMENTASSUME CS:CODE,DS:CODE,ES:CODE ORG 32E0HPA EQU 0FFD8HPB EQU 0FFD9HPC EQU 0FFDAHPCTL EQU 0FFDBHH2: MOV DX,PCTLMOV AL,90HOUT DX,ALP2: MOV DX,PAIN AL,DXINC DXOUT DX,ALJMP P2CODE ENDSEND H2六、思考题1.该实验证明了8255A的什么特点?实验二 8255A并行口实验B一、实验目的掌握可编程I/O接口芯片8255的接口原理使用,掌握通过8255A 并行口传输数据的方法,以控制发光二极管的亮与灭。
二、实验内容用8255作输出口,控制十二个发光二极管燃灭,模拟交通灯管理。
三、程序框图四、实验电路五、实验程序CODE SEGMENTASSUME CS:CODE,DS:CODE,ES:CODE ORG 32F0HPA EQU 0FFD8HPB EQU 0FFD9HPC EQU 0FFDAHPCTL EQU 0FFDBHH3: MOV AL,88HMOV DX,PCTLOUT DX,AL ;MOD:0, MOV DX,PAMOV AL,0B6HOUT DX,ALINC DXMOV AL,0DHOUT DX,ALP30: MOV AL,75H MOV DX,PA OUT DX,AL INC DXMOV AL,0DH OUT DX,AL CALL DELAY1 CALL DELAY1 MOV CX,08H P31: MOV DX,PA MOV AL,0F3H OUT DX,AL INC DXMOV AL,0CH OUT DX,AL CALL DELAY2 MOV DX,PA MOV AL,0F7H OUT DX,AL INC DXMOV AL,0DH OUT DX,AL CALL DELAY2 LOOP P31MOV AL,0AEH OUT DX,AL INC DXMOV AL,0BH OUT DX,AL CALL DELAY1 CALL DELAY1 MOV CX,08H P32: MOV DX,PA MOV AL,9EH OUT DX,AL INC DXMOV AL,07H OUT DX,AL CALL DELAY2 MOV DX,PA MOV AL,0BEH OUT DX,AL INC DXMOV AL,0FH OUT DX,AL CALL DELAY2 LOOP P32JMP P30DELAY1: PUSH AXPUSH CXMOV CX,0030HDELY2: CALL DELAY2LOOP DELY2POP CXPOP AXRETDELAY2: PUSH CXMOV CX,8000HLOOP $POP CXRETCODE ENDSEND H3六、思考题1.改变延时常数,使发光二极管闪亮时间改变。
微机原理与接口技术实验报告

微机原理与接口技术实验报告姓名:杨振伟班级:机制本1304学号:321304010428教师:袁兴起实验一可编程定时器/计数器(STC10F04XE)一、实验目的掌握STC10F04XE的基本工作原理和编程方法。
二、实验内容1.按下图虚线连接电路,将计数器0设置为方式0,计数器初值为N(N≤0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化(当输入N+1个脉冲后OUT0变高电平)。
2.按下图连接电图,将计数器0、计数器1分别设置为方式3,计数初值设为1000,用逻辑笔观察OUT1输出电平的变化(频率1HZ)。
三、编程提示1、STC10F04XE地址分析:控制寄存器地址:0C403H计数器0地址:0C400H计数器1地址:0C401HCLK0连接时钟:1MHz。
2、程序参考流程图四、汇编语言程序 (1)CODE SEGMENTASSUME CS:CODESTART:MOV AL,10H ;计数器0工作方式0 MOV DX,0C403HOUT DX,AL ;写入控制端口 MOV AL,07H ;计数值为5 MOV DX,0C400HOUT DX,AL ;写入计数值的低字节 MOV CL,0 LOP: MOV DX,0C400HIN AL,DX ;读计数值 CMP AL,CLJZ L0 ;计数值为CL 里的值则跳到L0执行 MOV CL,ALADD AL,30H ;AL 里的值变为它的ASCII 码值 MOV DL,ALMOV AH,02H ;调用2号功能输出单个字符INT 21HJMP LOP ;循环输出L0: CMP AL,0JNZ LOP ;AL里的值为减为0时,返回DOS,否则跳到LOP继续循环 MOV AH,4CHINT 21HCODE ENDSEND START(2)CODE SEGMENTASSUME CS:CODESTART:MOV AL,36H ;计数器0,先读写低字节,再读写高字节,方式3MOV DX,0C403HOUT DX,ALMOV AX,1000 ;计数初值1000MOV DX,0C400HOUT DX,AL ;写计数器0的低字节MOV AL,AHOUT DX,AL ;写计数器0的高字节MOV AL,76H ;计数器1,先读写低字节,再读写高字节,方式3MOV DX,0C403HOUT DX,ALMOV DX,0C401HMOV AX,1000 ;计数初值1000OUT DX,AL ;写计数器1的低字节MOV AL,AHOUT DX,AL ;写计数器1的高字节MOV AH,4CHINT 21HCODE ENDSEND START五、总结在编制本实验程序时,由于程序本身比较简单,所以写代码时基本没有遇到什么困难,但在实际操作过程中,因为种种原因导致结果有时不太稳定。
微机原理与接口技术实验报告

微机原理与接口技术实验报告实验一,微机原理实验。
1. 实验目的。
本实验旨在通过对微机原理的实验,加深学生对微机原理相关知识的理解,提高学生的动手能力和实验技能。
2. 实验内容。
本实验主要包括微机原理的基本知识、微处理器的结构和功能、微机系统的总线结构、存储器与I/O接口。
3. 实验步骤。
(1)了解微机原理的基本知识,包括微处理器的分类、功能和工作原理。
(2)学习微机系统的总线结构,掌握总线的分类、功能和工作原理。
(3)了解存储器与I/O接口的基本概念和工作原理。
(4)进行实际操作,通过实验板进行微机原理实验,加深对微机原理知识的理解。
4. 实验结果。
通过本次实验,我深刻理解了微机原理的基本知识,掌握了微处理器的结构和功能,了解了微机系统的总线结构,以及存储器与I/O接口的工作原理。
通过实际操作,我对微机原理有了更深入的认识,提高了自己的动手能力和实验技能。
实验二,接口技术实验。
1. 实验目的。
本实验旨在通过对接口技术的实验,加深学生对接口技术相关知识的理解,提高学生的动手能力和实验技能。
2. 实验内容。
本实验主要包括接口技术的基本知识、接口电路的设计与调试、接口技术在实际应用中的作用。
3. 实验步骤。
(1)了解接口技术的基本知识,包括接口的分类、功能和设计原则。
(2)学习接口电路的设计与调试,掌握接口电路设计的基本方法和调试技巧。
(3)了解接口技术在实际应用中的作用,包括各种接口的应用场景和实际案例。
(4)进行实际操作,通过实验板进行接口技术实验,加深对接口技术知识的理解。
4. 实验结果。
通过本次实验,我深刻理解了接口技术的基本知识,掌握了接口电路的设计与调试方法,了解了接口技术在实际应用中的作用。
通过实际操作,我对接口技术有了更深入的认识,提高了自己的动手能力和实验技能。
总结。
通过微机原理与接口技术的实验,我对微机原理和接口技术有了更深入的理解,提高了自己的动手能力和实验技能。
希望通过今后的学习和实践,能够更加深入地掌握微机原理与接口技术的知识,为将来的工作和研究打下坚实的基础。
微机原理实验报告

实验名称:微机原理与接口技术实验实验日期:2023年11月X日实验地点:微机原理实验室实验仪器:微机原理实验箱、计算机、仿真软件等实验人员:XXX、XXX、XXX一、实验目的1. 理解微机原理的基本概念和组成结构。
2. 掌握计算机的基本工作原理和指令系统。
3. 学习计算机接口技术的基本原理和方法。
4. 通过实验,提高动手能力和实际操作技能。
二、实验内容1. 计算机组成结构实验:- 学习计算机的硬件组成,包括中央处理器、存储器、输入输出设备等。
- 了解计算机的工作原理,包括数据的输入、处理、输出过程。
- 使用实验箱进行计算机组成结构实验,验证计算机的基本工作原理。
2. 指令系统实验:- 学习汇编语言的基本语法和指令系统。
- 掌握指令的格式、操作数和寻址方式。
- 使用汇编语言编写程序,实现简单的计算、数据传输和逻辑运算等功能。
3. 接口技术实验:- 学习计算机接口的基本原理和方法。
- 了解常用的接口电路和芯片。
- 使用接口技术实现数据传输、信号处理等功能。
- 学习仿真软件的使用方法,包括程序编写、调试和运行等。
- 使用仿真软件模拟计算机的工作过程,验证程序的正确性。
三、实验步骤1. 计算机组成结构实验:- 搭建实验箱,连接计算机硬件设备。
- 编写程序,实现简单的计算、数据传输和逻辑运算等功能。
- 观察实验结果,验证计算机的基本工作原理。
2. 指令系统实验:- 学习汇编语言的基本语法和指令系统。
- 编写汇编语言程序,实现简单的计算、数据传输和逻辑运算等功能。
- 使用汇编语言编写程序,实现更复杂的计算和数据处理功能。
3. 接口技术实验:- 学习计算机接口的基本原理和方法。
- 使用接口技术实现数据传输、信号处理等功能。
- 编写程序,实现接口功能,并验证其正确性。
4. 仿真软件实验:- 使用仿真软件编写程序,实现计算机的基本工作过程。
- 使用仿真软件调试程序,验证程序的正确性。
- 使用仿真软件模拟接口电路的工作过程,验证接口功能的正确性。
微机原理与接口技术标准实验报告

MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV PUSH PUSH POP POP XCHG XCHG LAHF SAHF PUSHF POPF
CH,AH BYTE PTR[DI],64 WORD PTR[SI],256 DL,[SI+1] DH,1+[SI] AL,1[SI] WORD PTR[BX][SI],34 [BX+SI+4],BL BP,2[BX+DI] [BP],AL AX,[BP][DI] BL,AL ES,BX BX DI CX DX AX,BP DH,BL
①进入\SY86子目录 E:>CD\SY86 E:\SY86> ②进入QEDIT.EXE 编辑界面 E:\SY86> Q ③输入文件名*.ASM(如M1.ASM)后,输入源程序 源程序 DATA SEGMENT PARA PUBLIC‟DATA‟ ;数据段定义 DB 512 DUP(0) DATA ENDS STACK SEGMENT PARA STACK‟STACK‟ ;堆栈段定义 DB 512 DUP( ?) STACK ENDS CODE SEGMENT PARA PUBLIC‟CODE‟ ;代码段定义 ASSUME CS :CODE,DS :DATA,ES:DATA,SS :STACK MAIN PROC FAR ;定义过程程序 PUSH DS MOV AX,0 PUSH AX MOV AX,DATA MOV DS,AX MOV ES,AX MOV SP,2000h MOV AX,3000h MOV BX,5000h PUSH AX PUSH BX POP AX POP BX RET MAIN ENDP ;结束主要部分程序 CODE ENDS ;结束代码段 END MAIN ;结束汇编 ⑵用MASM程序产生.OBJ文件 操作如下: E:\SY86> MASM M1.ASM M1.OBJ Microsoft(R)Macro Assembler Version 5.00 Copyright(C)Microsoft Corp 1981-1985,1987. All rights reserved. Object Filename [HEXASC.OBJ]: Source listing [NUL.LST]: Cross-reference [NUL.CRF]:
微机接口机原理实验报告

微机原理及接口技术——实验报告学号: xxxxxx姓名: xxxxx专业: 网络工程实验一: 系统认知1.1实验目的掌握 TD 系列微机原理及接口技术教学实验系统的操作, 熟悉Wmd86 联机集成开发调试软件的操作环境。
通过顺序程序设计与分支程序设计来进行举例。
1.2实验设备PC 机一台, TD-PITE 实验装置一套。
1.3实验内容内存从BUFF开始的单元中存放着两个字数据X、Y, 完成X+Y, 并将相加的和(假设仍为一个字数据)存放于内存从RESULT开始的存储单元中。
DATA SEGMENTBUFF DW X,YRESULT DW ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV AX,BUFFADD AX,BUFF+2MOV RESULT,AXMOV AH,4CHINT 21HCODE ENDSEND START加载程序后调试, R寄存器;U反汇编;D显示数据;E修改数据。
1.4实验截图实验二分支程序设计2.1实验目的1.掌握分支程序的结构.2.掌握分支程序的设计、调试方法.2.2实验设备PC 机一台, TD-PITE 实验装臵一套。
2.3实验内容1, X>0求函数Y= 0, X=0-1, X<0程序如下:DATA SEGMENTVAR1 DB XVAR2 DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA START:MOV AX,DATAMOV DS,AXMOV AL, VAR1CMP AL, 0JGE BIGMOV VAR2,0FFHJMP DONEBIG:JE EQULMOV VAR2,1JMP DONEEQUL:MOV VAR2, 0DONE:MOV AH, 4CHINT 21HCODE ENDSEND START实验三循环程序设计3.1实验目的1)加深对循环结构的理解。
微机原理及接口技术实验报告

微机原理及接口技术实验报告一、实验目的本实验旨在通过掌握微机原理和接口技术的实验操作,实践相关理论知识,加深对微机原理和接口技术的理解。
二、实验设备和材料1.计算机主机2.操作系统3.接口卡4.编程软件三、实验原理微机原理是指通过学习微机的结构、功能和工作原理,从硬件层面掌握微机的基本知识。
接口技术是指连接不同设备之间的通信和数据交换技术,通过学习接口技术可以实现设备的互联和数据的传输。
四、实验步骤1.将接口卡插入计算机主机的扩展槽中。
2.启动计算机,并加载操作系统。
3.打开编程软件,编写实验程序。
4.将编写好的程序烧录到接口卡中。
5.连接外部设备和接口卡,并确认连接正确无误。
6.运行程序,并观察外部设备和接口卡之间的数据交互情况。
7.分析实验结果,并记录实验数据。
8.关闭程序和计算机。
五、实验结果及分析通过实验我们成功连接了外部设备和接口卡,并实现了数据的传输和交互。
在程序运行过程中,我们观察到外部设备正常工作,并且与接口卡之间的通信稳定可靠。
根据实验数据分析,我们可以得出接口卡的性能良好,并且能够满足实际应用需求。
六、实验心得通过这次实验,我对微机原理和接口技术有了更深入的理解。
实践操作让我加深了对硬件设备和软件编程的认识,掌握了实现设备互联和数据传输的基本方法。
在实验过程中,我遇到了一些问题,如接口卡的插入和连接问题,但通过查阅资料和请教老师同学,最终成功解决了这些问题。
我发现实验不仅帮助我巩固了理论知识,也提高了我的实践能力和解决问题的能力。
总结起来,微机原理和接口技术是计算机相关专业的基础课程之一,通过实验的方式学习可以更好地将理论知识与实际应用相结合。
我相信通过不断的实践和学习,我会在微机原理和接口技术方面有进一步的提高和发展。
南邮微机实验报告

一、实验名称微机原理与接口技术实验二、实验目的1. 理解微机的基本工作原理和硬件组成。
2. 掌握计算机常用接口芯片的基本功能和使用方法。
3. 熟悉微机实验系统的操作流程。
4. 培养动手实践能力和分析问题、解决问题的能力。
三、实验内容1. 微机硬件系统认知- 了解微机的硬件组成,包括CPU、内存、主板、硬盘、显卡、声卡等。
- 通过实验观察微机硬件各部分的功能和连接方式。
2. 微机接口芯片实验- 学习并行接口芯片8255的使用方法和编程技巧。
- 实现键盘输入和LED显示,设计一个简单的定时显示装置。
3. 微机实验系统操作- 熟悉微机实验系统的使用方法和操作流程。
- 掌握实验软件的安装和使用。
4. 汇编语言程序设计- 学习汇编语言的基本语法和编程技巧。
- 编写简单的汇编语言程序,实现特定功能。
四、实验步骤1. 微机硬件系统认知- 观察微机硬件各部分的功能和连接方式。
- 使用实验设备观察CPU、内存、主板、硬盘等硬件的工作状态。
2. 微机接口芯片实验- 根据实验指导书,配置并行接口芯片8255。
- 编写程序实现键盘输入和LED显示功能。
- 设计定时显示装置,实现时间显示和按键控制。
3. 微机实验系统操作- 安装实验软件,熟悉实验系统的操作流程。
- 使用实验软件进行实验操作。
4. 汇编语言程序设计- 学习汇编语言的基本语法和编程技巧。
- 编写汇编语言程序,实现特定功能。
五、实验结果与分析1. 微机硬件系统认知- 通过实验观察,了解了微机硬件各部分的功能和连接方式。
- 掌握了微机实验系统的使用方法和操作流程。
2. 微机接口芯片实验- 成功实现了键盘输入和LED显示功能。
- 设计的定时显示装置能够正常工作。
3. 微机实验系统操作- 熟练掌握了微机实验系统的操作流程。
4. 汇编语言程序设计- 成功编写了汇编语言程序,实现了特定功能。
六、实验心得体会通过本次实验,我对微机原理和接口技术有了更深入的了解。
实验过程中,我学会了如何使用微机实验系统,掌握了微机接口芯片的编程技巧,提高了动手实践能力。
微机原理与接口技术实验报告

微机原理与接口技术实验报告实验目的,通过本次实验,掌握微机原理与接口技术的基本知识,了解并掌握微机接口技术的应用方法。
实验仪器与设备,微机实验箱、接口卡、示波器、电源等。
实验原理,微机接口技术是指微机与外部设备进行数据交换的技术。
它是微机与外部设备之间的桥梁,通过接口技术可以实现微机与外部设备之间的数据传输和通信。
实验内容与步骤: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 SEGMENTMSR DB "HELLO,WORLD!$"LEN EQU $- MSRDDATA ENDSEXDA SEGMENTMSD DB LEN DUP(?);定义源数据段;定义附加数据段EXDA ENDS;定义堆栈段 MYSTACK SEGMENTSTACK DW 20 DUP(?)MYSTACK ENDSCODE SEGMENT ;定义代码段ASSUME CS:CODE,DS:DDATA,ES:EXDASTART: MOV AX,DDATAMOV DS,AX ;装载数据段寄存器MOV AX,EXDAMOV MOV MOV MOV MOV ES,AX ;装载附加数据段寄存器SI,OFFSET MSR DI,OFFSET MSD CX,LEN BX,0NEXT: MOV AL,MSR[BX] ;开始传输数据MOV ES:MSD[BX],ALINC BXLOOP NEXTPUSH ESPOP DS ;将附加段寄存器指向的段值赋给数据段寄存器MOV DX,OFFSET MSDMOV AH,9I N T 2 1 H M O V A H , 4 C H / p >。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微机原理与接口技术课程设计报告题目:继电器控制实验设计学院电子与信息工程学院专业通信工程年级 10级学生姓名 xx学号 _ xxxxxxxx指导教师 xx完成时间 2012/11/9二O一二年十一月目录摘要 (3)一.实验目的 (4)二.实验原理 (4)1 实验基本原理 (4)2.1继电器结构原理图 (5)2.2继电器工作原理 (5)3.1 8255A组成 (6)3.2 8255A结构框图 (7)3.3 8255A工作方式 (7)三.实验内容 (11)四.程序设计 (12)4.1程序流程图 (12)4.2程序代码 (12)五.实验小结........................................................ 错误!未定义书签。
六.参考文献 ......................................................... 错误!未定义书签。
摘要现代自动控制设备中,都存在一个电子电路与电气电路的互相连接问题,一方面要使电子电路的控制信号能够控制电气电路的执行元件,另一方面又要为电子线路的电气电路提供良好的电气隔离,以保护电子电路和人身的安全。
继电器便能完成这一桥梁作用。
本课程设计主要采用了控制继电器和8255A芯片来完成。
电路的控制端为高电平时,继电器工作常开触点吸合,连触点的LED灯被点亮。
当控制端为低电平时,继电器不工作。
执行时,对应的LED将随继电器的开关而亮灭。
关键词:控制继电器 8255A芯片一.实验目的1、进一步熟悉汇编语言的设计编写2、掌握继电器控制的基本原理3、掌握继电器控制编程方法4、掌握8255芯片的应用二.实验原理1、利用8255A PA0输出高低电平,控制继电器的开合,以实现对外部装置的控制。
硬件线路原理图接线如下:2、继电器在现代工业中,人员和电子电路安全保障一直是首要考虑的问题,尤其在一些高危恶劣环境下,如高温高压等,如何在保障操作人员和电子电路安全的前提下对电路进行良好地控制便成为了工业进步不可回避的问题。
一方面要使电子电路的控制信号能够控制电气电路的执行元件,另一方面又要为电子线路的电气电路提供良好的电气隔离,以保护电子电路和人身的安全,符合这种需求的元件便是继电器。
控制继电器是一种自动电子控制器件,它适用于远距离接通和分断交、直流小容量控制电路, 它具有控制系统和被控制系统,通常应用于自动控制电路中,并在电力驱动系统中供控制、保护及信号转换用。
它实际上是用较小的电流去控制较大电流的一种“自动开关”,故在电路中起着自动调节、安全保护、转换电路等作用。
电磁式继电器一般由铁芯、线圈、衔铁、触点簧片等组成的。
只要在线圈两端加上一定的电压,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力吸引的作用下克服返回弹簧的拉力吸向铁芯,从而带动衔铁的动触点与静触点吸合。
当线圈断电后,电磁的吸力也随之消失,衔铁就会在弹簧的反作用力返回原来的位置,使动触点与原来的静触点吸合。
这样吸合、释放,从而达到了在电路中的导通、切断的目的。
2.1继电器结构原理图2.2、继电器工作原理:继电器使能端不加电前,COM和NC是导通的。
继电器使能端加电后,COM 和NC断开,COM和NO导通。
当继电器输入量的变化达到一定程序时,能使其输入的控制量发送预计的状态变化,具有对控制电路实现“通”、“断”控制作用。
3、8255A芯片8255A是一种通用的可编程并行输入/输出接口芯片。
它的功能可通过软件程序来设置,通过它可直接将CPU数据总线与外部设备连接起来,使用灵活方便。
3.1 8255A由以下几个部分组成:1 .数据端口A、B、C它有三个输入输出端口: Port A、Port B和Port C。
通常端口A或B作为输入输出的数据端口,而端口C作为控制或状态信息的端口.每一个端口都是8位,都可以选择作为输入或输出,但功能上有着不同的特点:(1) 端口A:一个8位数据输出锁存和缓冲器;一个8位数据输入锁存器。
(2) 端口B:一个8位数据输入/输出、锁存/缓冲器;一个8位数据输入缓冲器。
(3) 端口C:一个8位数据输出锁存/缓冲器;一个8位数据输入缓冲器。
2. A组和B组控制电路这是两组根据CPU的命令字控制8255A工作方式的电路。
它们有控制寄存器,接受CPU输出的命令字,然后分别决定两组的工作方式,也可根据CPU的命令字对端口C的每一位实现按位“复位”或“置位”。
A组控制电路控制端口A和端口C的上半部(PC7~PC4)。
B组控制电路控制端口B和端口C的下半部(PC3~PC0)。
3. 数据总线缓冲器这是一个三态双向8位缓冲器,它是8255A芯片与系统数据总线的接口。
输入输出的数据,输出的指令以及CPU发出的控制字和外设的状态信息,也都是通过这个缓冲器传送的。
4. 读/写和控制逻辑它与CPU的地址总线中的A1、A0以及有关的控制信号(RD#,WR#,RESET,IO/M#)相连,由它控制把CPU的控制命令或输出数据送至相应的端口,也由它控制把外设的状态信息或输入数据通过相应的端口,送至CPU。
5. 一些控制命令(1) CS—选片信号,低电平有效,由它启动CPU与8255A芯片之间的通信。
(2) RD—读信号,低电平有效。
它控制8255A送出数据或状态信息至CPU。
(3)WR—写信号,低电平有效。
它控制把CPU输出的数据或命令信号写到8255A。
(4) RESET——复位信号,高电平有效。
它清除控制寄存器,并且置所有端口为输入方式。
6. 端口寻址8255A中有三个输入输出端口,另外,内部还有一个控制字寄存器,共有四个端口,要有两个输入端来加以选择,这两个输入端通常接到地址总线的最低两位A1和A0。
3.2 8255A结构框图如下所示3.3 8255A工作方式1、方式0——基本输入输出方式;在这种工作方式下,三个端口的每一个都可由程序选定作为输入或输出,但这种方式没有规定固定的用于应答式的联络信号线。
任一个端口都可由CPU用简单的输入或输出指令来进行读或写。
方式0可作为查询式输入或输出的接口电路,此时端口A和B可分别作为一个数据端口,而取端口C的某些位作为这两个数据端口的控制和状态信息,其基本功能为:(1) 两个8位端口(A,B)和两个4位端口(端口C);(2) 任一个端口可以作为输入或输出;(3) 输出是锁存的;(4) 输入是不锁存的;(5) 在方式0时,各个端口的输入、输出可以有16种不同的组合。
2、方式1——选通输入输出方式;在这种工作在方式下,端口A或端口B仍作为数据的输入/输出口,但同时规定端口C的某些位作为控制或状态信息。
具有以下主要功能:(1) 用作一个或两个选通端口;(2) 每一个端口包含: 8位的数据端口,三条控制线(是固定指定的,不能用程序改变),提供中断逻辑;(3) 任何一个端口都可作为输入或输出;(4) 若只有一个端口工作在方式1,余下的13位,可以工作在方式0(由控制字决定);(5) 若两个端口都工作在方式1,端口C还留下两位,这两位可以由程序指定作为输入或输出,也具有置位/复位功能。
其各个控制信号的意义如下:STB——选通输入,低电平有效。
这是由外设供给的输入信号,当其有效时,把输入装置来的数据送入输入锁存器。
IBF——输入缓冲器满,高电平有效。
表示数据已输入至输入锁存器,它由STB信号置位(高电平),而RD信号的上升沿使其复位。
INTR——中断请求信号,高电平有效。
作为向CPU的中断请求信号,以要求CPU服务。
INTEA——端口A中断允许信号,可由用户通过对PC4的按位置位/复位来控制(PC4=1,允许中断),而INTEB由PC2的置位/复位控制。
3、方式2——双向传送方式。
在这种工作在方式下,外设可以在单一的8位总线上,既能发送数据也能接收数据(双向总线I/O)。
工作时可用程序查询方式,也可工作在中断方式。
具有以下主要功能:(1) 方式2只用于端口A;(2) 一个8位的双向总线端口(A)和一个5位控制端口(端口C);(3) 输入和输出是锁存的;(4) 5位控制端口是用作端口A的控制和状态信息,如图所示。
INTR——中断请求信号,高电平有效。
在输入和输出方式时,用来作为向CPU发出的中断请求信号。
OBF——输出缓冲器满,低电平有效。
这是对外设的一种命令信号,表示CPU 已把数据输出至端口A。
ACK——响应信号,低电平有效。
ACK#的有效沿启动端口A的三态输出缓冲器,送出数据;否则,输出缓冲器处在高阻状态。
ACK#的上升沿是数据已输出的回答信号。
INTE1——与输出缓冲器相关的中断屏蔽触发器,由PC6的置位/复位控制。
STB——选通输入,低电平有效。
这是外设供给8255A的选通信号,它把输入数据选通至输入锁存器。
IBF——输入缓冲器满,高电平有效,指示数据已进入输入锁存器。
在CPU未把数据读走前,IBF始终为高电平,阻止输入设备送来新的数据。
INTE2——与输入缓冲器相关的中断屏蔽触发器,由PC4的置位/复位控制。
其中端口B可以工作在方式0或方式1;可以作为输入,也可以作为输出。
此时端口C的各位的功能如图所示。
可编程并行接口8255A的工作方式,可由CPU利用I/O指令输出一个控制字到8255A的控制字寄存器来选择。
如图所示。
可以分别选择端口A和端口B的工作方式,端口C分成两部分,上半部随端口A,下半部随端口B。
端口A有方式0、1和2三种工作方式,而端口B只能工作在方式0和1。
当CPU要从外设输入信号或者输出信息给外设,可以采用程序查询方式、中断方式和DMA方式。
但是,不论采用哪一种方式,CPU总是通过接口电路才能与外设连接。
所以,接口电路一边与CPU连接,另一边与外设连接。
三.实验内容1、按原理图连接好实验线路图(1)在EXIC1区插座上插上07芯片。
(2)8255A的PA0连EXIC1区07芯片的第一脚。
(3)将JDQ区的JIN插孔与07芯片的第二脚相连。
(4)将继电器的常开触点JK接发光二极管L1,常闭触点JB接发光二极管L2,继电器中心抽头JZ接地GND插孔2、运行实验程序(1)联机时,实验程序文件名为\DVCC\H8EXE\H811S.EXE。
(2)单机时,实验程序起始地址为F000:B670。
在系统显示“DVCC-86H”状态下,按任意键;在系统显示命令提示符“-”状态下,按GO键;在系统显示“1000 XX”状态下,输入F000 :B670 ,按EXEC键;3、继电器应循环吸合,L1和L2交替亮灭。
四.程序设计1、程序流程图2、程序代码(1)初始化程序代码如下:MOV DX,8255CTLMOV AL,1000X01XBOUT DX,ALMOV DX,8255AMOV AL,0FFH ;A口输出1,则无电流OUT DX,AL(2)定义代码段如下:CODE SEGMENT ASSUME CS:CODEIOCONPT EQU 0FF2BH 送控制器端口IOAPT EQU 0FF28H a端口的端口号为0ff28h IOBPT EQU 0FF29H b端口的端口号为0ff29h IOCPT EQU 0FF2AH c端口的端口号为0ff2ah ORG 10e0H 规定程序的起始地址为10e0h START: MOV DX,IOCONPT 控制器寄存器端口地址送DX MOV AL,80H 方式控制字80h给ALOUT DX,AL 方式控制字传送给控制寄存器Check: MOV DX,IOCPT C端口的端口地址给DXMOV AL,01H 将按位操作控制字01H给ALOUT DX,AL 将01H送到C端口,含义为让PA0置1,即小灯亮CALL DELAY 调用延时程序MOV AL, 00h 把00H给ALOUT DX,AL 将00H送到C端口,含义为PA0置零,小灯灭CALL DELAY 调用延时程序JMP CHECK 无条件循环到CHECK,再使小灯反复亮灭DELAY PROC 定义一个近过程PUSH BX 保护BX原来的内容PUSH CX 保护CX原来的内容MOV BL,2 外循环次数,根据情况可改NEXT: MOV CX,10000 内循环次数,实现延时时间,根据情况可改W10MS: LOOP W10MS CX 不为0,则循环DEC BL BL减一JNZ NEXT BL 不为零则转至NEXT,循环POP CX 恢复 CX内容POP BX 恢复BX内容RET 过程返回DELAY ENDP 过程结束CODE ENDS 程序结束END(3)检测控制程序如下:MOV DX,8255BIN AL,DXNOT AL ;开关闭合,B口线为1,A口相应传送0MOV DX,8255AOUT DX,AL(4)主程序代码:ORG 00HJMP STARTORG 23HJMP UARTORG 30HSTART: MOV SP,#70HMOV SCON,#50HMOV TMOD,#00100001B ;TIM1在模式2 TIM0在模式1MOV TH1,#0F4H ;设置定时时间SETB TR1 ;启动定时器1SETB ES ;允许串口中断SETB EA ;允许总中断MOV P0,#0 ;P0、P2输出低电平MOV P2,#0JMP $ ;等待状态串行口中断UART: PUSH ACCPUSH PSWCLR ES ;关闭串行口中断MOV TH0,#HIGH(65536-65536)MOV TL0,#LOW(65536-65536)SETB TR0 ;开定时器0MOV 30H,#00 ;同步位MOV 31H,#00 ;数据1MOV 32H,#00 ;数据2MOV 33H,#00 ;结束位MOV R0,#30HREC:JBC tf0,FS ;接收时间是否超时?是则执行FS JNB RI,REC ;接收数据CLR RIMOV A,SBUFMOV @R0,AINC R0JMP RECFS: CLR TR0 ;关定时器0CALL FUN ;解码并控制继电器SETB ES ;开串行口中断POP PSWPOP ACCRETI ;中断子程序返回FUN: MOV A,#0AH ;判断第1字节即同步位CJNE A,30H,ERRMOV A,#0DH ;判断第4字节即结束位CJNE A,33H,ERRMOV A,31HMOV P0,AMOV A,32HMOV P2,ARET数据错误处理ERR:MOV 30H,#00 ;同步位MOV 31H,#00 ;数据1MOV 32H,#00 ;数据2MOV 33H,#00 ;结束位RETEND五.实验小结本课题设计中利用8255A PA0输出高低电平,控制继电器的开合,以实现对外部装置的控制。