2133993529南航微机原理演示.ppt
《2133993529南航微机原理演示.ppt》由会员分享,可在线阅读,更多相关《2133993529南航微机原理演示.ppt(105页珍藏版)》请在三一办公上搜索。
1、微机原理与接口技术,实验课,指导教师 郝立新,接口技术是把由处理器、存储器等组成的基本系统与外部设备连接起来,从而实现CPU与外部设备通信的一门技术。微机的应用是随着外部设备的不断更新和接口技术的不断发展而深入到各行各业,任何微机应用开发工作都离不开接口的设计、选用及连接。微机应用系统需要设计的硬件是一些接口电路,所要编写的软件是控制这些接口电路按要求工作的驱动程序。,微机原理与接口技术实验课,实验一 字符串排序 实验二 基本输入输出接口 实验三 8259中断控制器 实验四 8254定时/计数器 实验五 8255并行接口控制器 实验六 ADC0809模/数转换器 实验七 DAC0832 数/模
2、转换器*实验八 8251串行接口控制器*,实验一 字符串排序,实验目的 1.熟悉汇编语言程序的框架结构,掌握汇编语言上机操作过程。2.学会INT 21H功能调用,掌握人机对话的设计方法。3.进一步掌握主、子程序的设计方法。4.学会Tddebug调试环境和Turbo debug的使用。,字符串排序实验内容,设计一字符串排序程序:(1)当屏幕上显示“PLESAE ENTRY STRING”提示信息,从键盘输入一字符串;(2)对该字符串以ASCII码从小到大进行排序;(3)在屏幕上显示排好序的字符串。,字符串排序程序实验方法,(1)用INT 21H的09号显示字符串功能调用显示提示信息(2)用INT
3、 21H的0A号输入字符串功能调用输入字符串至输入缓冲区(3)对输入缓冲区的字符串以ASCII码 从小到大进行排序(4)用INT 21H的09号显示字符串功能调用显示排好序的字符串,字符串选择排序设计思想,(1)将第一个数取出作为当前最小值,与其余N-1个数比较;若其余数比当前最小值小则两者交换,否则不交换;全部比较完,则得到N个数中的最小值,写到串前列。(2)对剩下的N1 个数重复(1)这一步,找到N1 个数中的最小值。(3)再重复(2),直到N 个数全部排列好为止。,实验程序清单,;TITLE BUBBLF SORTSTACK1 SEGMENT STACK DB 64 DUP(0)STAC
4、K1 ENDSDATA SEGMENTPROMPT DB 0DH,0AH,PLEASE ENTRY STRING,0DH,0AH,$CRLF DB 0DH,0AH,$CHAR LABEL BYTECHARH DB 60 CHARN DB?CHARF DB 60 DUP(?)DATA ENDS,CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK1BEGIN PROC FAR PUSH DS MOV AX,0 PUSH AX MOV AX,DATA MOV DS,AXAGAIN:LEA DX,PROMPT MOV AH,9 INT 21H LEA DX,CHA
5、R MOV AH,0AH INT 21H MOV CL,CHARN OR CL,CL JZ DONE CALL SORT JMP AGAINDONE:RETBEGIN ENDP,SORT PROC XOR CH,CH MOV BX,CX MOV SI,OFFSET CHARF MOV BYTE PTR SI+BX,$CLDBIGLOOP:MOV AL,SI DEC CX JCXZ DISP PUSH CX INC SI PUSH SISMALLOOP:CMP AL,SI JBE NEXT XCHG AL,SINEXT:INC SI LOOP SMALLOOP,POP SI MOV SI-1,A
6、L CALL DISP POP CX JMP BIGLOOP DISP:MOV DX,OFFSET CRLF MOV AH,9 INT 21H MOV DX,OFFSET CHARF MOV AH,9 INT 21H RETSORT ENDPCODE ENDS END BEGIN,实验步骤及要求,(1)输入源程序.ASM文件(2)编译程序.OBJ文件(3)连接程序.EXE文件(4)调试运行程序 运行当前可执行程序 调试程序1:实模式调试窗口进行调试 调试程序2:DOS环境进行调试,实模式调试窗口进行调试,(1)ViewCpu(2)代码显示区单击右键点击为Mixed Both,为Mixed No
7、,(3)在寄存器显示区点击 Ctrl+R 切换16位/32位通用寄存器显示(4)执行完 MOV DS,AX,点击ViewCpu,使屏幕下方的数据显示区为DS的内容(5)F7 单步执行 F4 执行到光标处 F9 运行程序 Ctrl+Break 终止程序执行 Alt+X 退出TD,DOS环境进行调试,输入命令:DEBUG 文件名.EXE a.反汇编命令U 格式:U地址 或 U地址范围 b.检查和修改寄存器内容命令R 格式:R 或 R寄存器名 c.显示内存命令D 格式:D 地址 或 D地址范围 d.修改存储单元内容命令E 格式:E 地址 内容表 或 E 地址 e.跟踪与显示命令T 格式:T=地址 条
8、数 f.运行命令G 格式:G=地址 地址1地址2 h.结束DEBUG返回到DOS命令 QDOS状态再返回到windows状态,输入EXIT命令,实验二 基本输入输出接口,1.了解微机PCI系统总线的结构。2.掌握地址译码电路的一般设计方法。3.掌握基本I/O接口电路的设计方法,熟练汇编语言I/O端口操作指令的使用。,实验内容,1.利用三态缓冲器74LS245、锁存器74LS574设计微机总线和外部设备的数据通道,实现微机对外部输入数据的读取和对输出数据的输出。用开关及LED显示单元和数据灯作为输入和输出显示设备,将读到开关的数据显示在数据灯上。2.在完成实验内容1的基础上,自行编制程序完成:根
9、据输入开关的某一位的开关状态,决定LED显示单元数据灯的不同显示方式。,TD-PIT+实验系统硬件环境,PCI 总线扩展卡和TD-PIT+实验平台,TD-PIT+实验平台,系统总线单元电路和实验单元电路,系统总线单元电路,片选信号同偏移地址空间对应关系,实验系统向PC 机申请了接口实验所需的配置资源。其中包括:256字节的I/O 地址空间16MB 的存储地址空间一个中断请求线,实验系统的I/O地址的设计,32位系统总线IOM/信号,该信号为低电平时指示当前操作为I/O操作,为高电平指示当前操作为存储器操作,它和译码器不同的连接可以用来区分是I/O端口译码还是存储器端口译码 32位总线地址是由A
10、2开始,所以地址是以4字节边界对齐的。现在本机分配的I/O端口起始地址为3000H,设计地址译码电路,主要是针对低8位地址线译码,得到偏移在00HFFH之间的端口 微机接口电路中,常采用74LS138译码器来实现I/O端口或存储器的地址译码。,输入输出接口设计,输入接口一般用三态缓冲器实现,外部设备输入数据通过三态缓冲器,通过数据总线传送给微机系统。输出接口一般用锁存器实现,输入输出接口设计,32 位I/O 接口单元,实验说明及步骤,将开关K7:0的数据通过输入数据通道读入CPU的寄存器,然后再通过输出数据通道将该数据输出到数据灯显示,该程序循环运行,直到按动键盘上任意按键再退出程序。(1)确
11、认从PC机引出的两根扁平电缆已经连接在实验平台上。(2)自行设计并连接实验线路。a.32 位I/O 接口单元与系统总线单元的连接 1CSIOY0,BE3-BE0BE3-BE0 2IORXIOR,IOWXIOW(数据线已内部连接)b.32 位I/O 接口单元与开关及LED显示单元的连接 1.I7-I0K7-K0 2.O7-O0D7-D0(3)编辑ASM程序,注意使用正确的端口地址,然后编译链接。(4)运行程序,拨动开关,观看数据灯显示是否正确。,参考程序清单,IOY0 EQU 3000H STACK1 SEGMENT STACK DW 256 DUP(?)STACK1 ENDSCODE SEGM
12、ENT ASSUME CS:CODESTART:MOV DX,IOY0 IN AL,DX OUT DX,AL MOV AH,1 INT 16H JZ STARTQUIT:MOV AX,4C00H INT 21HCODE ENDS END START,DEBUG常用命令输出命令O 格式:O 端口地址 字节值 向指定端口地址输出一个字节。输入命令I 格式:I 端口地址 从指定端口地址输入一个字节。自行编制程序完成:根据输入开关的某一位的开关状态,决定LED显示单元数据灯的不同显示方式。,K7=1右移,k6=1左移,IOY0 EQU 3000H STACK1 SEGMENT STACK DW 256
13、 DUP(?)STACK1 ENDSCODE SEGMENT ASSUME CS:CODESTART:MOV DX,IOY0 IN AL,DX Test al,10000000b Jnz aa Test ad,01000000b Jnz bbCc:MOV AH,1 INT 16H JZ STARTQUIT:MOV AX,4C00H INT 21Haa:mov cx,8 MOV DX,IOY0mov al,10000000baa1:out dx,al Call delay Ror al,1 Loop aa1 Jmp cc,bb:mov cx,8 MOV DX,IOY0mov al,0000000
14、1bbb1:out dx,al Call delay Rol al,1 Loop bb1 Jmp ccDelay:push cx mov cx,07ffhDd1:push cx mov cx,0fffffh loop$pop cx loop dd1 pop cx retCODE ENDS END START,点阵LED选作实验,R0R15 为行控制,L0L15 为列控制,给行送一个“1”,给列送一个“0”,则相应的LED 点亮。,NUAA DW 0000H,0000H,7C7FH,1206H,110CH,1218H,7C7FH,0000H DW 0000H,7C3FH,1240H,1140H,
15、1240H,7C3FH,0000H,0000H,;HLXLED.ASMIOY0 EQU 3000H;片选IOY0对应的端口始地址I032_1 EQU 3000HI032_2 EQU 3001HI032_3 EQU 3002HI032_4 EQU 3003H STACK1 SEGMENT STACK DW 256 DUP(?)STACK1 ENDSDATA SEGMENTNUAA DW 0000H,0000H,7C7FH,1206H,110CH,1218H,7C7FH,0000H DW 0000H,7C3FH,1240H,1140H,1240H,7C3FH,0000H,0000H DATA EN
16、DS,CODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AXMAIN:MOV CX,500DISP:PUSH CX MOV SI,OFFSET NUAA MOV BX,1111111111111110B MOV CX,16 DISP1:MOV AX,SI MOV DX,I032_1 OUT DX,AL MOV DX,I032_2 MOV AL,AH OUT DX,AL MOV AX,BX MOV DX,I032_3 OUT DX,AL MOV DX,I032_4 MOV AL,AH OUT DX,AL,CALL DALLY
17、ROL BX,1 INC SI INC SI LOOP DISP1 POP CX LOOP DISP MOV AH,1;判断是否有按键按下 INT 16H JZ MAIN;无按键则跳回继续循环,有则退出QUIT:MOV AX,4C00H;结束程序退出 INT 21H,DALLY PROC NEAR;软件延时子程序 PUSH CX MOV CX,50D1:MOV AX,0FFFFHD2:DEC AX JNZ D2 LOOP D1 POP CX RETDALLY ENDPCODE ENDS END START,实验三 8259中断控制器,实验目的(1)学习中断控制器8259的工作原理。(2)掌握可
18、编程控制器8259的应用编程方法。实验内容 利用PC机给实验系统分配的中断线,设计一个单中断应用。使用单次脉冲模拟中断产生。编写中断处理程序,在显示器屏幕上显示一个字符。,实验原理-8259控制器的介绍,实验原理-8259A的命令字,管理8级中断,通过级连,能构成多达64级的矢量中断系统。选择中断请求方式和中断优先模式。管理功能包括:1)记录各级中断源请求,2)判别优先级,确定是否响应及响应哪一级中断,3)响应中断时,向CPU传送中断类型号。初始化命令字ICW1-ICW4 操作命令字OCW1-OCW3,初始化命令字ICW1-ICW4,ICW1 决定中断请求信号为电平触发还是边沿触发。ICW2
19、8259的基址中断向量号,初始化命令字ICW1-ICW4,ICW3 识别主8259设备连接到从8259的级联信号 ICW4 选择特殊全嵌套或全嵌套模式,使能中断自动结束方式。,操作命令字OCW1-OCW3,OCW1 中断屏蔽操作寄存器,可屏蔽相应的中断信号。OCW2 改变中断优先级和发送中断结束命令。OCW3 使能特殊屏蔽方式,设置中断查询方式,允许读出中断请求寄存器和当前中断服务寄存器。,实验原理-PC微机系统中的8259,80 x86系列PC微机系统中两片8259A中断控制器,经级连可以管理15级硬件中断。主片8259端口地址使用020H和021H;从片8259端口地址使用0A0H和0A1
20、H。,8259单中断应用实验,实验程序清单,INTR_IVADD EQU 01C8H;INTR对应的中断矢量地址 INTR_OCW1 EQU 0A1H;INTR对应的OCW1地址 INTR_OCW2 EQU 0A0H;INTR对应的OCW2地址 INTR_IM EQU 0FBH;中断屏蔽字11111011BSTACK1 SEGMENT STACK DW 256 DUP(?)STACK1 ENDSDATA SEGMENT MES DB Press any key to exit!,0AH,0DH,0AH,0DH,$CS_BAK DW?;保存INTR原中断处理程序入口段地址的变量IP_BAK DW
21、?;保存INTR原中断处理程序入口偏移地址的变量IM_BAK DB?;保存INTR原中断屏蔽字的变量DATA ENDS,CODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX MOV DX,OFFSET MES;显示退出提示 MOV AH,09H INT 21H CLI;关中断 MOV AX,0000H;替换INTR的中断矢量 MOV ES,AX MOV DI,INTR_IVADD;INTR对应的中断矢量地址01C8H MOV AX,ES:DI MOV IP_BAK,AX;保存INTR原中断处理程序入口偏移地址 MOV AX
22、,OFFSET MYISR MOV ES:DI,AX;设置当前中断处理程序入口偏移地址 ADD DI,2 MOV AX,ES:DI MOV CS_BAK,AX;保存INTR原中断处理程序入口段地址 MOV AX,SEG MYISR MOV ES:DI,AX;设置当前中断处理程序入口段地址 MOV DX,INTR_OCW1;设置中断屏蔽寄存器,打开INTR的屏蔽位 IN AL,DX MOV IM_BAK,AL;保存INTR原中断屏蔽字 AND AL,INTR_IM OUT DX,AL,STI;开中断WAIT1:MOV AH,1;判断是否有按键按下 INT 16H JZ WAIT1;无按键则跳回继
23、续等待,有则退出QUIT:CLI;关中断 MOV AX,0000H;恢复INTR原中断矢量 MOV ES,AX MOV DI,INTR_IVADD;INTR对应的中断矢量地址 MOV AX,IP_BAK;恢复INTR原中断处理程序入口偏移地址 MOV ES:DI,AX ADD DI,2 MOV AX,CS_BAK;恢复INTR原中断处理程序入口段地址 MOV ES:DI,AX MOV DX,INTR_OCW1;恢复INTR原中断屏蔽寄存器的屏蔽字 MOV AL,IM_BAK OUT DX,AL STI;开中断 MOV AX,4C00H;返回到DOS INT 21H,MYISR PROC NEA
24、R;中断处理程序MYISR PUSH AX MOV AL,39H MOV AH,0EH INT 10H MOV AL,20H INT 10HOVER:MOV DX,INTR_OCW2;向PC机内部8259发送中断结束命令 MOV AL,20H OUT DX,AL MOV AL,20H OUT 20H,AL POP AX IRET MYISR ENDPCODE ENDS END START,实验四 8254定时/计数器,实验内容(1)定时应用实验。编写程序,应用8254的定时功能,实现一个1Hz的输出。(2)计数应用实验*。编写程序,应用8254的计数功能,用开关模拟计数,使每当按动KK1-5次
25、后,产生一次计数中断,并在屏幕上显示一个字符5。,8254-可编程定时/计数器,8254的工作方式(1)方式0:计数到0结束,输出正跃变信号方式。(2)方式1:硬件可重触发单稳方式。(3)方式2:频率发生器方式。(4)方式3:方波发生器方式。(5)方式4:软件触发选通方式。(6)方式5:硬件触发选通方式。,8254-方式控制字,定时应用实验,编写程序,将8254的计数器2设置为方式3,用1.8432mHz作为CLK2时钟。计数初值为18432,相当对CLK2进行18432分频,在OUT2输出频率为100Hz的时钟。再将OUT2连接到计数器0的CLK0,设置计数器0也工作在方式3,计数初值为10
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2133993529 微机 原理 演示
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-2934720.html