微机原理硬件实验报告.docx

上传人:飞****2 文档编号:78949423 上传时间:2023-03-19 格式:DOCX 页数:29 大小:101.94KB
返回 下载 相关 举报
微机原理硬件实验报告.docx_第1页
第1页 / 共29页
微机原理硬件实验报告.docx_第2页
第2页 / 共29页
点击查看更多>>
资源描述

《微机原理硬件实验报告.docx》由会员分享,可在线阅读,更多相关《微机原理硬件实验报告.docx(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、微机原理硬件实验报告学号: 班级: 姓名:林翰文 同组成员:林翰文,赵贺 时间:2015.1微机硬件实验报告实验一:8259中断控制器实验实验目的1. 掌握8259的工作原理。2. 掌握编写中断服务程序的方法。3. 掌握初始化中断向量的方法。实验设备1. 微机实验教学系统实验箱2. 8086CPU模块实验内容用单脉冲发生器的输出脉冲为中断源,每按一次产生一次中断申请,点亮或熄灭发光二极管。实验步骤1. 连线2. 编辑程序,编译链接后,调试程序。3. 调试通过后,在中断服务程序内设置断点,运行程序当接收到中断请求后,程序停在中断服务程序内的断点处。源程序:CODE SEGMENT PUBLICA

2、SSUME CS:CODE ORG 100HSTART:MOV DX,4A0H ;写ICW1MOV AX,13HOUT DX,AXMOV DX,4A2H ;写ICW2MOV AX,80HOUT DX,AXMOV AX,01 ;写ICW4OUT DX,AXMOV AX,02H ;写OCW1OUT DX,AXMOV AX,0MOV DS,AXMOV SI,200HMOV AX,OFFSET HINTMOV DS:SI,AXADD SI,2MOV AX,CSMOV DS:SI,AXSTIJMP $HINT:XOR CX,0FFH ;中断程序MOV DX,4B0HMOV AX,CXOUT DX,AXM

3、OV DX,4A0HMOV AX,20HOUT DX,AXIRETCODE ENDS END START 运行结果,按一次中断,灯会亮或灭一次。思考题:1、 将P+连线连接到IR1IR7任意一个;重新编写程序。修改理由,假设接到IR1上,即中断向量表发生变化,修改中断程序在中断向量表的位置就可以。源程序:CODE SEGMENT PUBLICASSUME CS:CODE ORG 100HSTART: MOV DX,4A0H MOV AX,13HOUT DX,AXMOV DX,4A2HMOV AX,80HOUT DX,AXMOV AX,03HOUT DX,AXMOV AX,0OUT DX,AXM

4、OV AX,0MOV DS,AXMOV SI,204HMOV AX,OFFSET HINTMOV DS:SI,AXADD SI,2MOV AX,CSMOV DS:SI,AXSTIJMP $HINT:XOR CX,0FFHMOV DX,4B0HMOV AX,CXOUT DX,AXMOV DX,4A0HMOV AX,20HOUT DX,AXIRETCODE ENDS END START2、 设置OCW1,屏蔽某个中断请求,运行程序观察现象。修改思路:设置两个中断,分别控制不同的灯,屏蔽其中一个灯,应该观察到一个灯有控制,另一个不变。源程序:CODE SEGMENT PUBLICASSUME CS:

5、CODE ORG 100HSTART: MOV DX,4A0H MOV AX,13HOUT DX,AXMOV DX,4A2HMOV AX,80HOUT DX,AXMOV AX,01OUT DX,AXMOV AX, 1OUT DX,AXMOV AX,0MOV DS,AXMOV SI,204HMOV AX,OFFSET HINTMOV DS:SI,AXADD SI,2MOV AX,CSMOV DS:SI,AXSTIMOV AX,0MOV DS,AXMOV SI,200HMOV AX,OFFSET HINT1MOV DS:SI,AXADD SI,2MOV AX,CSMOV DS:SI,AXSTIJM

6、P $HINT:XOR CX,0FFHMOV DX,4B0HMOV AX,CXOUT DX,AXMOV DX,4A0HMOV AX,20HOUT DX,AXIRETHINT1:XOR CX,0FFHMOV DX,4B0HMOV AX,CXOUT DX,AXMOV DX,4A0HMOV AX,20HOUT DX,AXIRETCODE ENDSEND START3. 设置OCW2,了解中断结束方式与设置优先权。设置OCW2是在中断子程序中,OCW2中的R SL EOI为不同的组合代表不同的中断。0 0 1 非指定EOI 命令(NSEOI),全嵌套方式0 1 1 指定EOI 命令(SEOI),全嵌套

7、方式,按L2-L0编码复位ISR1 0 1 NSEOI 命令,优先级自动循环1 0 0 自动EOI,设置优先级自动循环0 0 0 自动EOI,取消优先级自动循环(固定优先级)1 1 1 SEOI 命令,按L2-L0编码循环优先级(L2-L0设为最低优先级)1 1 0 按L2-L0编码循环优先级(L2-L0设为最低优先级)HINT:XOR CX,0FFHMOV DX,4B0HMOV AX,CXOUT DX,AXMOV DX,4A0H ;写OCW2MOV AX,20HOUT DX,AXIRETHINT:XOR CX,0FFHMOV DX,4B0HMOV AX,CXOUT DX,AXMOV DX,4

8、A0HMOV AX,60H ;改变EOI方式OUT DX,AXIRET实验二:8255并行接口实验实验目的掌握8255的编程原理实验设备微机实验教学系统实验箱、8086CPU模块实验内容8255的A口作为输入口,与逻辑电平开关相连。8255的B口作为输出口,与发光二极管相连。编写程序,使得逻辑电平开关的变化在发光二极管上显示出来。 实验步骤1) 连线2) 编辑程序,编译链接后,单步运行,调试程序。3) 调试通过后,全速运行,观察实验结果。4) 撰写实验报告。源程序:code segmentassume cs:code org 100hstart: mov dx,04a6h mov ax,90h

9、 out dx,axstart1: mov dx,04a0h in ax,dx mov dx,04a2h out dx,ax jmp start1code ends end start思考1.将片选线接到CS1CS5;重新编写程序。修改思路:中断片选线不同,需要修改地址源程序:code segmentassume cs:code org 100hstart: mov dx,04b6h mov ax,90h out dx,axstart1: mov dx,04b0h in ax,dx mov dx,04b2h out dx,ax jmp start1code ends end start2.C口

10、4位接LED;4位接开关;重新编写程序。修改思路:重新接线,编写程序,使C口低4位输入;高4位作为输出。源程序:code segmentassume cs:code org 100hstart: mov dx,04b6h mov ax,81h out dx,axstart1: mov dx,04b4h in ax,dx mov dx,04b4h mov cl,4 shl ax,cl ;做移位处理 out dx,ax jmp start1code endsend start实验三 8253可编程定时/计数器接口实验 实验目的掌握8253定时/计数器的编程原理。实验设备微机实验教学系统实验箱、80

11、86CPU模块。实验内容8253计数器0,1,2工作于方波方式,观察其输出。 实验步骤1) 连线。2) 编辑程序,编译链接后,跟踪运行,调试程序。3) 调试通过后,全速运行,观察实验结果。4) 撰写实验报告。源程序:CODE SEGMENTASSUME CS:CODE ORG 100HSTART: MOV DX,04A6HMOV AX,36HOUT DX,AXMOV DX,04A0HMOV AX,7CHOUT DX,AXMOV AX,92HOUT DX,AXMOV DX,04A6HMOV AX,0B6HOUT DX,AXMOV DX,04A4HMOV AX,4OUT DX,AXMOV AX,0

12、OUT DX,AXJMP $CODE ENDSEND START现象:发光二极管有规律闪烁,亮与不亮的时间相同,因为产生的是方波。思考题1. 定时器2计数值改为20H;观察其现象。改为20H后,频率变快,产生的还是方波。CODE SEGMENTASSUME CS:CODE ORG 100HSTART: MOV DX,04A6HMOV AX,36HOUT DX,AXMOV DX,04A0HMOV AX,7CHOUT DX,AXMOV AX,92HOUT DX,AXMOV DX,04A6HMOV AX,0B6HOUT DX,AXMOV DX,04A4HMOV AX,20hOUT DX,AXMOV

13、AX,0OUT DX,AXJMP $CODE ENDS END START2. 将定时器2改为方式2分频器方式;观察其现象。现象:灯亮与不亮的时间不等CODE SEGMENTASSUME CS:CODE ORG 100HSTART: MOV DX,04A6HMOV AX,36HOUT DX,AXMOV DX,04A0HMOV AX,7CHOUT DX,AXMOV AX,92HOUT DX,AXMOV DX,04A6HMOV AX,0B4HOUT DX,AXMOV DX,04A4HMOV AX,20hOUT DX,AXMOV AX,0OUT DX,AXJMP $CODE ENDS END STA

14、RT3. 将GATE2 接到开关上;观察其现象。GATE是控制计时器是否正常计数的,可以通过控制开关,来看计数情况,GATE为高时,正常计数,GATE为低时,计数停止。4. 将GATE2 接到PUL P+开关上,计数器2 改为方式1 ;观察其现象。 现象:PUL P+开关给出一个高电平,开始计数,但只有一个周期。不亮的时间长于亮的时间。5. 将GATE2 接到PUL P+开关上,计数器2 改为方式5 ;观察其现象。现象:PUL P+开关给出一个高电平,开始计数,但只有一个周期。但是与上一题恰好相反,亮的时间长于不亮的时间。实验四 8250 串行接口实验实验目的1.熟悉串行通信的一般原理和825

15、0的工作原理。2.了解RS232串行接口标准及连接方法。3.掌握8250芯片的编程方法。 实验设备微机实验教学系统实验箱、8086CPU模块。 实验内容在实验箱与 PC 机(上位机)之间实现串行通信,主机每下 传一个字符,若通讯正确,则下位机返回一个同样的字符;若不 正确,则无返回值或者返回值不同。实验步骤1.无须接线,内部已经连好。8250 的端口地址为 0480H 起始 的偶地址单元。2.编写下位机程序,编译链接后,全速运行。3.退出“8086 实验系统”,运行“串口调试助手”上位机程序。 4.将“串口调试助手”程序输入和输出都调整为 16 进制格式,发送一个 16 进制数,观察返回的是否

16、是同样一个 16 进制数。实验程序:CODE SEGMENT PUBLICASSUME CS:CODEORG 100HSTART:MOV DX,486HMOV AX,80HOUT DX,AXMOV DX,480HMOV AX,12OUT DX,AXMOV DX,482HMOV AX,0OUT DX,AXMOV DX,486HMOV AX,3OUT DX,AXMOV DX,482HMOV AX,0OUT DX,AXMOV DX,48AH IN AX,DX MOV DX,480H IN AX,DX LOOP1: CALL RECV CALL SEND JMP LOOP1 SEND: PUSH AX

17、 MOV DX,48AH IN AX,DX TEST AX,20H JNZ SEND2 POP AX JMP SEND SEND2: POP AX MOV DX,480H OUT DX,AX RET RECV: MOV DX,48AH IN AX,DX TEST AX,1 JZ RECV MOV DX,480H IN AX,DX RET CODE ENDSEND START实验图像思考题:1.连接8255将接收到的16进制数;驱动8个彩灯;观察其现象。修改程序:CODE SEGMENT PUBLICASSUME CS:CODEORG 100HSTART:MOV DX,04A6H ; 8255

18、初始化MOV AX,80HOUT DX,AXMOV DX,486HMOV AX,80HOUT DX,AXMOV DX,480HMOV AX,12OUT DX,AXMOV DX,482HMOV AX,0OUT DX,AXMOV DX,486HMOV AX,3OUT DX,AXMOV DX,482HMOV AX,0OUT DX,AXMOV DX,48AHIN AX,DXMOV DX,480HIN AX,DXLOOP1:CALL RECVCALL SENDJMP LOOP1SEND:PUSH AXMOV DX,48AHIN AX,DXTEST AX,20HJNZ SEND2POP AXJMP SEN

19、DSEND2:POP AXMOV DX,04A2HOUT DX,AXRETRECV:MOV DX,48AHIN AX,DXTEST AX,1JZ RECVMOV DX,480HIN AX,DXRETCODE ENDSEND START实验现象:通过在 PC 机上输入的数值,8 个彩灯会根据数值的变化来亮灭,如输入 12,则 8 个灯依次为亮亮亮灭亮亮灭亮。2. 连接 8255将开关的状态以16进制数的方式发送到PC机;观察其现象。实验程序:CODE SEGMENT PUBLICASSUME CS:CODEORG 100HSTART:MOV DX,04A6H ;8255 初始化MOV AX,82

20、HOUT DX,AXMOV DX,486HMOV AX,80HOUT DX,AXMOV DX,480HMOV AX,12OUT DX,AXMOV DX,482HMOV AX,0OUT DX,AXMOV DX,486HMOV AX,3OUT DX,AXMOV DX,482HMOV AX,0OUT DX,AXMOV DX,48AHIN AX,DXMOV DX,480HIN AX,DXLOOP1:CALL RECVCALL SENDJMP LOOP1SEND:PUSH AXMOV DX,48AHIN AX,DXTEST AX,20HJNZ SEND2POP AXJMP SENDSEND2:POP A

21、XMOV DX,480HOUT DX,AXRETRECV:b MOV DX,04A2H ;b 口输入IN AX,DXRETCODE ENDSEND START修改思路:将 8255 的输入改为输出3. 连接8255和8253的GATEO;使用“串口调试助手”程序控制8253 的振荡。实验程序:CODE SEGMENT PUBLICASSUME CS:CODEORG 100HSTART:MOV DX,04A6H ; 8255 初始化MOV AX,82HOUT DX,AXMOV DX,04A6H ; 8253 初始化MOV AX,36HOUT DX,AXMOV DX,04A0HMOV AX,7CH

22、OUT DX,AXMOV AX,92HOUT DX,AXMOV DX,486HMOV AX,80HOUT DX,AXMOV DX,480HMOV AX,12OUT DX,AXMOV DX,482HMOV AX,0OUT DX,AXMOV DX,486HMOV AX,3OUT DX,AXMOV DX,482HMOV AX,0OUT DX,AXMOV DX,48AHIN AX,DXMOV DX,480HIN AX,DXLOOP1:CALL RECVCALL SENDJMP LOOP1SEND:PUSH AXMOV DX,48AHIN AX,DXTEST AX,20HJNZ SEND2POP AXJ

23、MP SENDSEND2:POP AXMOV DX,480HOUT DX,AXRETRECV:MOV DX,04A2H ; b口输入IN AX,DXRETCODE ENDSEND START实验五: A/D0809 实验实验目的1.掌握 A/D 转换的基本原理。2.掌握 ADC0809 的使用方法。实验设备微机实验教学系统实验箱、8086CPU 模块。实验内容按查询方式采样一路 A/D 转换数据,用简单输入口 74LS244 查询EOC 信号。每循环一次 0 通道采样一次。0 通道的采样结果放入 AX中,AL 有效。实验步骤1.连线2.编先程序并调试。3.调试通过后设置断点全速运行,并观察实验

24、结果。4.撰写实验报告。连线1. 将可变电位器 AN0 与 ADC0809 的 ADIN0 相连;2. 将 CS0 与 ADC0809 的片选 CS0809 端相连;3. 将 ADC0809 的 EOC 与 74LS244 的 IN0 相连;4. 将 CS1 与 74LS244 的片选 CS244 端相连。实验程序:CODE SEGMENT PUBLICASSUME CS:CODEORG 100HSTART:MOV DX,4A0HCALL GETADJMP STARTDELAY:MOV BP,1000HDELAY1:DEC BPCMP BP,0JNE DELAY1RETGETAD:PUSH D

25、XMOV AX,34HOUT DX,AXCALL DELAYMOV DX,4B0HWAIT1:IN AX,DXTEST AX,1JZ WAIT1POP DXIN AX,DXMOV AH,0RETCODE ENDSEND START实验图像思考题1.连接其它通道,修改程序。修改思路:若改到通道 2 上,只修改地址。CODE SEGMENT PUBLICASSUME CS:CODEORG 100HSTART:MOV DX,4A 2HCALL GETADJMP STARTDELAY:MOV BP,1000HDELAY1:DEC BPCMP BP,0JNE DELAY1RETGETAD: PUSH D

26、X MOV AX,34H OUT DX,AX CALL DELAY MOV DX,4B0H WAIT1: IN AX,DX TEST AX,1 JZ WAIT1 POP DX IN AX,DX MOV AH,0 RET CODE ENDSEND START2 .将采到的数据发送到 8250 上;在 PC 机观察数据。修改思路:先将 8250 初始化,将数据输出到 8250 上,再输出。修改程序:CODE SEGMENT PUBLICASSUME CS:CODEORG 100HSTART:MOV DX,486HMOV AX,80HOUT DX,AXMOV DX,480HMOV AX,12OUT

27、DX,AXMOV DX,482HMOV AX,0OUT DX,AXMOV DX,486HMOV AX,3OUT DX,AXMOV DX,482HMOV AX,0OUT DX,AXMOV DX,48AHIN AX,DXMOV DX,480HIN AX,DXMOV DX,4A0H ;ADCALL GETADJMP STARTDELAY:MOV BP,1000HDELAY1:DEC BPCMP BP,0JNE DELAY1RETGETAD:PUSH DXMOV AX,34HOUT DX,AXCALL DELAYMOV DX,4B0HWAIT1:IN AX,DXTEST AX,1JZ WAIT1POP

28、 DXIN AX,DXMOV AH,0CALL SENDRETSEND:PUSH AXMOV DX,48AHIN AX,DXTEST AX,20HJNZ SEND2POP AXJMP SENDSEND2:POP AXMOV DX,480HOUT DX,AXRETCODE ENDSEND START 实验截图:实验中遇到的问题及解决方法实验中,我们对ICW和OCW的地址没有弄明白,老师给我们讲解了奇地址和偶地址来区分,并告诉我们每个ICW和OCW有自己的特征的值用以表示。另外,我们开始打开串口调试的时候,它并不工作,后来发现要先把8086实验系统的程序输好后要关闭,串口调试才能工作。心得体会与建议 这是我们所做的第一个微机原理硬件实验,因为是第一次使用DOS的环境下编写代码并完成实验,在实验中也碰上了不少麻烦。通过实验,让我对数字接口电路 8259、8255、8253、8250 和 A/D0809 有了更加深刻的了解,清楚了各电路的主要作用,并学会了如何运用数字电路实验箱来做硬件实验,学会了用程序来控制硬件电路,使得我们能够很方便的实现电路的各种要求。我在这次实验中还懂得了一个道理:在做硬件编程的之前,很重要的一样工作就是要看懂电路的连接工作,这也是我们老师所强调的一点。只有明白电路的连接方式,才可能实现正确的控制。同时,也能省下很多盲目的尝试,提高工作效率。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁