微型计算机原理与接口技术2015实验-学生用.doc
《微型计算机原理与接口技术2015实验-学生用.doc》由会员分享,可在线阅读,更多相关《微型计算机原理与接口技术2015实验-学生用.doc(42页珍藏版)》请在装配图网上搜索。
微型计算机原理与接口技术实 验 指 导 书 信息工程学院电子信息 2015.10.12 1Dais-8086H+实验平台系统介绍 1.1 系统组成Dais系列微机仿真实验系统由管理CPU、目标CPU 和通用电路、接口实验电路及稳压电源组成,通过RS232C串行接口与PC微机相连,系统硬件主要内容如下:CPU管理CPU 、目标CPU 8032/78E438/STC系列单片机系统存储器监控管理程序在管理CPU的FLASH中、RAM 61256二片(64K)、BPRAM 61256(32K)。接口芯片及单元实验8251、8253、8255、8259、ADC0809、DAC0832、164、74LS273、74LS244、电子发声单元,电机控制单元, 开关及发光二极管、单脉冲触发器、继电器控制等外设接口打印接口,RS232C串口、51仿真接口显示器6位LED、二路双踪示波器键盘32键自定义键盘EPROM编程器对EPROM 2764/27128快速读出系统电源+5V/2A,12V/0.5A1.2 系统功能与特点自带键盘、显示器,能独立运行,也可以PC机为操作平台。两种工作方式任意选择。系统采用紧耦合多CPU技术,用STC89C58作为系统管理CPU,8032 / 78E438 / STC系列单片机作为目标机仿真与实验CPU,其软硬件资源100%出借。目标CPU采用主频为11.0592MHz,支持扩展仿真(即RAM仿真),亦支持ROM仿真(即FLASH下载式仿真)。在ROM仿真模式下,可实现对P0、P2的I/O口功能。配有二片61C256静态存储器构成系统的64K程序空间,地址范围为0000H0FFFFH,还配一片61C256(32K)作为用户设置的断点区(BPRAM)。通过RS232通信接口,在Windows集成软件的支持下,利用上位机丰富的软件硬件资源,实现用户程序的编辑、编译、调试运行,提高实验效率。具有最丰富的调试手段,系统全面支持硬件断点,可无限制设置断点,同时具有单步、宏单步、连续运行及无限制暂停等功能,100%保护用户现场,返回监控。向用户提供ISA总线接口及PARK板接口,为研发与创新实验的实施创造了必备的拓展环境。1.3 系统资源分配实验系统寻址范围定义如下:空间地址器件选用用途与说明0000H7FFFH6116监控程序空间0000H0FFFFHPROM目标机程序空间0000H0FFFFH实验接口电路数据及IO空间系统已定义的I/O地址如下(本学期实验所用的端口地址):接口芯片口地址用途74LS2730FFDDH字位口74LS2730FFDCH字形口74LS2450FFDEH键入口8255A口0FFD8HEP总线8255B口0FFD9HEP地址8255C口0FFDAHEP控制8255口0FFDBH控制字2 安装与使用2.1硬件安装电源连接:通过随机所配的三芯电源线接入AC220V电网。打开电源开关系统应显示闪动的“P.”,若否应按下RESET键,如仍不显示闪动的“P.”,应立即切断电源,检查后重新进行或与本公司驻当地销售服务中心联系。系统功能自检在闪动的“P.”状态下按键:MOVEEXEC,系统以连续方式运行“8”字循环右移程序,若6位LED出现跑“8”显示,说明系统已进入正常工作状态,可按RESET键返“P.”待令。2.2 快捷使用2.2.1 Windows环境在桌面上点击图标然后选择以实验系统所插串口一致的选项,点击“确定”便进入Dais集成调试环境。点击工具条中“”图标,在打开对话框中双击LED51.asm文件,进入实验源程序的编辑窗口。点击工具条中“”图标,进行源文件的编译、装载,在出现编译成功的对话框后点击“OK”框自动进入源文件调试状态。在工具条中点击所需的运行方式:“”单步、“”宏单步、“”运行。若需要以断点方式运行,可直接点击源语句行前的“”图标来完成所需断点的设置与清除,然后再点击“”图标进入断点运行状态。系统一旦进入运行状态后若需终止该程序的运行请点击“”图标退出当前操作返回待令状态。软件实验本节共编了9个软件实验,通过这些程序的调试使学生熟悉8088/86的指令系统,了解程序设计过程,掌握汇编语言设计方法以及如何使用实验系统提供的调试手段来排除程序错误。实验一程序设计实验(一)1、清零程序一、实验目的 掌握8088汇编语言程序设计和调试方法,熟悉键盘操作。二、实验内容 把RAM区内4000H40FFH单元的内容清零。三、程序流程四、实验步骤 用连续或单步方式运行程序,检查400040FFH中执行程序前后的内容变化。五、实验思考 假使把4000H40FFH中的内容改成FFh,如何修改程序。六、实验程序CODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE ORG 3000HS1: MOV BX,4000H MOV AX,0000H MOV CX,0080HL1: MOV BX,AX INC BX INC BX LOOP L1 JMP $CODE ENDS END S12、拆字程序一、实验目的掌握汇编语言设计和调试方法。二、实验内容把4000H的内容拆开,高位送4001H低位,低位送4002H低位,4001H、4002H高位清零,一般本程序用于把数据送显示缓冲区时用。三、程序流程四、实验步骤用连续或单步方式运行程序,检查40004002H中内容变化情况。五、实验程序CODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE ORG 3020HS2: MOV BX,4000H MOV AL,BX MOV AH,AL MOV CL,4 SHR AH,CL INC BX MOV BX,AH AND AL,0FH INC BX MOV BX,AL JMP $CODE ENDS END S23、拼字程序一、实验目的进一步掌握汇编语言设计和调试方法。二、实验内容把4000H、4001H的低位分别送入4002H高低四位,一般本程序用于把显示缓冲区的数据取出拼装成一个字节。三、实验流程四、实验步骤单步或连续运行程序,检查4002h内容变化情况。五、实验程序CODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE ORG 3040HS3: MOV BX,4000H MOV AX,BX AND AL,0FH MOV CL,4 SHL AL,CL 【 】 ;屏蔽高4位 OR AL,AH ADD BX,2 MOV BX,AL JMP $CODE ENDS END S3实验报告要求:1、 将程序补充完整;2、 详细注释所有程序。3、 完成实验思考4、 注明实验现象及结论。实验二 程序实验(二)4、数据区移动一、实验目的掌握RAM中的数据操作。二、实验内容把4100H源RAM区首地址内的16字节数据传送到4200H目标RAM区。三、设计思想程序要求把内存中一数据区(称为源数据块)传送到另一存储区(称为目的数据块)。源数据块和目的数据块在存储器中可能有三种情况,如下图:对于两个数据分离的情况,如图(a),数据的传送从数据块的首地址开始,或者从数据块的末地址开始均可。但对于有部分重叠的情况,则要加以分析,否则重叠部分会因“搬移”而遭破坏。可以得出如下结论:当源数据首址目的块首址时,从数据块首址开始传送数据。当源数据首址目的块首址时,从数据块末址开始传送数据。四、程序流程五、实验步骤运行程序,检查4100410Fh中内容是否和4200420Fh中内容完全一致。六、实验程序CODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE ORG 3060HS4: MOV CX,0010H MOV SI,4100H MOV DI,4200H CMP SI,DI JA A42 ADD SI,CX ADD DI,CXA41: DEC SI DEC DI MOV AL,SI MOV DI,AL LOOP A41 JMP $A42: MOV AL,SI MOV DI,AL INC SI INC DI LOOP A42 JMP $CODE ENDS END S45、数据排序实验一、实验目的熟悉8088指令系统,掌握程序设计方法。二、实验内容编写并调试一个排序子程序,其方法为用冒泡法将RAM中的几个单元字节无符号的正整数,按从小到大的次序重新排列。三、程序流程四、实验步骤从第一个数开始,依次把相邻的两个数进行比较,即第(N-2)个数与第(N-1)个数比较,第(N-1)个数与N个数比较等等;若第(N-1)个数不大于第N个数,则两者交换,否则不交换,直到N个数的相邻两个数都比较完为止。此时。N个数中的最小数将被排在N个数的最后。对剩下的(N-1)个数重复第步,找到(N-1)个数中的最小数。重复第步,直到N个数全部排序好为止。五、实验步骤在4000H400AH中通过键盘命令输入不等的10个数,运行本实验程序后检查4000H400AH中内容是否按从大到小排列。在和PC机联机时,用连续单步方式,可很清楚地看出数据排序时数据移动变化情况。六、实验思考编一程序把4000H400AH中内容按从大到小排列。七、实验程序CODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE ORG 3090HS5: MOV CX,000AHA53: MOV BX,4000H PUSH CXA52: MOV AX,BX 【 】 ;两数比较 JC A51A54: INC BX LOOP A52 POP CX LOOP A53 JMP $A51: XCHG AL,AH MOV BX,AX JMP A54CODE ENDS END S56、找“零”个数一、实验目的熟悉汇编语言编程,掌握串操作指令的使用。二、实验内容在4000400Fh中查出有几个字节是00,把个数放在4100h中。三、程序流程四、实验步骤在4000400Fh的几个单元中填入零,运行本程序后检查4100h中是几个单元数。五、实验思考修改程序,查找其他内容。如0FFH等六、实验程序CODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE ORG 30B0HS6: MOV BX,4100H ;COUNT MOV AX,0000 MOV BX,AX MOV CX,0010H MOV DI,4000H CLDA62: SCASB 【 】 ;是0则转移计数A63: LOOP A62 JMP $A61: INC BYTE PTR BX JMP A63CODE ENDS END S6实验报告要求: 1、将程序补充完整; 2、详细注释所有程序。实验三 程序实验(三)7、二进制转换到BCD一、实验要求将给定的一个二进制数,转换成二进制编码的十进制(BCD)码。二、实验目的掌握简单的数值转换算法,基本了解数值的各种表达方法。三、实验说明计算机中的数值有各种表达方式,这是计算机的基础。掌握各种数制之间的转换是一种基本功。本实验将转换结果存入4000h为起始地址的三个单元。四、程序流程五、实验思考如何将BCD转换成二进制码?六、实验程序code segment assume cs:code org 1000hStart: mov bx,4000h mov ax,123 mov cl,100 div cl mov bx,al ;除以100, 得百位数 mov al,ah mov ah,0 mov cl,10 div cl 【 】 ;余数除以10, 得十位数 【 】 ;余数为个位数 jmp $code ends end Start8、 多分支程序一、实验目的掌握汇编语言的编程,熟悉程序散转的设计方法。二、实验内容多分支结构相当于一个多路开关,在程序设计中通常是根据某寄存器或某单元的内容进行程序转移。在设计多分支转移程序时,如果分支太多,则平均转移速度太慢,本实验采用转移地址表实现多分支转移,可以提高平均转移速度。编写程序,根据送入的数据转移运行。三、程序流程四、编程提示LED数码管0F的字行代码:0123456789ABCDEF灭C0F9A4B0999282F880908883C6A1868EFFLED数码管的字位代码:字位123456代码201008040201五、实验步骤在4000h中分次输入00,01,020F,每次运行程序后观察数码管上数字循环情况。六、实验程序CODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE ORG 3130HS8: JMP A81TAB DW LED0,LED1,LED2,LED3,LED4,LED5,LED6,LED7 DW LED8,LED9,LEDA,LEDB,LEDC,LEDD,LEDE,LEDFA81: MOV BX,OFFSET TAB MOV SI,4000H MOV AL,SI AND AL,0FH SHL AL,1 MOV AH,00H ADD BX,AX JMP BXLED0: MOV AL,0C0H JMP LEDXLED1: MOV AL,0F9H JMP LEDXLED2: MOV AL,0A4H JMP LEDXLED3: MOV AL,0B0H JMP LEDXLED4: MOV AL,99H JMP LEDXLED5: MOV AL,92H JMP LEDXLED6: MOV AL,82H JMP LEDXLED7: MOV AL,0F8H JMP LEDXLED8: MOV AL,80H JMP LEDXLED9: MOV AL,90H JMP LEDXLEDA: MOV AL,88H JMP LEDXLEDB: MOV AL,83H JMP LEDXLEDC: MOV AL,0C6H JMP LEDXLEDD: MOV AL,0A1H JMP LEDXLEDE: MOV AL,86H JMP LEDXLEDF: MOV AL,8EH JMP LEDXLEDX: MOV DX,0FFDCH OUT DX,AL MOV CL,20H MOV DX,0FFDDHLEDX1: MOV AL,CL OUT DX,AL PUSH CX CALL DLL POP CX ROR CL,1 JMP LEDX1DLL: MOV BX,0020HDL1: DEC BX CMP BX,0000 JZ DL3 MOV CX,04FFH LOOP $ JMP DL1DL3: RETCODE ENDS END S8实验报告要求:1、将程序补充完整;2、详细注释所有程序。9、显示子程序一、实验目的熟悉LED显示器的显示过程。二、实验内容编写程序,依次闪动显示“dais88”、“good”。三、程序流程四、实验步骤连续运行程序,观察数码管显示情况。五、实验程序CODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE ORG 31E0HS9: JMP START9ZXK EQU 0FFDCHZWK EQU 0FFDDHLED DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H DB 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,0DEH,0F3HBUF DB ?,?,?,?,?,?START9: MOV CX,0005H ;dais 88 ON/OFFLED,COUNTA90: PUSH CXA91: MOV BX,OFFSET BUF MOV AX,0A0DH MOV BX,AX ADD BX,2 MOV AX,0501H MOV BX,AX ADD BX,2 MOV AX,0808H MOV BX,AX MOV CX,0050H ;ONLED,TIMEA92: PUSH CX CALL DIS POP CX LOOP A92 MOV CX,0003H MOV AX,1010H MOV BX,OFFSET BUFA93: MOV BX,AX INC BX INC BX LOOP A93 MOV CX,0020H ;OFFSET,TIMEA94: PUSH CX CALL DIS POP CX LOOP A94 POP CX LOOP A90;- MOV CX,0005H ;good ON/OFFLED-COUNTA99: PUSH CXA95: MOV BX,OFFSET BUF MOV AX,0009H MOV BX,AX ADD BX,2 MOV AX,0D00H MOV BX,AX ADD BX,2 MOV AX,1010H MOV BX,AX MOV CX,0050H ;ONLED-TIMEA96: PUSH CX CALL DIS POP CX LOOP A96 MOV CX,0003H MOV AX,1010H MOV BX,OFFSET BUFA97: MOV BX,AX INC BX INC BX LOOP A97 MOV CX,0020H ;OFFSET-TIMEA98: PUSH CX CALL DIS POP CX LOOP A98 POP CX LOOP A99 JMP START9;-DIS: MOV CL,20H MOV BX,OFFSET BUFDIS1: MOV AL,BX PUSH BX MOV BX,OFFSET LED XLAT POP BX MOV DX,ZXK OUT DX,AL MOV AL,CL MOV DX,ZWK OUT DX,AL PUSH CX MOV CX,0100HDELAY: LOOP $ POP CX CMP CL,01H JZ EXIT INC BX SHR CL,1 JMP DIS1EXIT: MOV AL,00H MOV DX,ZWK OUT DX,AL RETCODE ENDS END S9知识补充:LED(Light Emitting Diode)数码管的工作原理由7段发光二极管按数字“8”排列组成LED数码管,主要用于显示数码09,也可以显示AF等字符。LED数码管有共阳极和共阴极两种结构。共阳极,Di=0时灯亮;共阴极,Di=1时灯亮。字型编码不同。将一个数码在一个LED数码管上显示出来,需要驱动数码管。这需要两个条件,一是通过字形代码端口输出字形代码(对应的LED的显示代码),二是通过位型代码端口输出位型代码。数码管段选码(字形码):LED显示器上显示某个字符时,必须在它的8位段选线上加上相应的电平组合,即一个8位数据(该字符的段选码)。通常段选码的编码规则:D7D6D5D4D3D2D1D0dpgfedcba这样的程序片段是:movbx,1;BX要显示的数字(这里假设为1) moval,ledtbbx;换码为显示代码:ALLEBTBBX movdx,port;假设port表示与数码管相接的端口地址 outdx,al;输出显示系统已定义的I/O地址如下:接口芯片口地址用途74LS273FFDDH字位口/键扫口74LS273FFDCH字形口74LS245FFDEH键入口LED静态显示接口电路连接图LED动态显示接口电路连接图(实验箱方式)实验箱键扫显示控制电路、字形/字位/键值表键扫显示控制电路字形表代码D7D6D5D4D3D2D1D0字形HhgfedcbaC0110000000F9111110011A4101001002B0101100003991001100149210010010582100000106F811111000780100000008901001000098810001000A8010000000BC611000110CC011000000D8610000110E8E10001110FFF111111110C00001100P.8910001001H7F01111111.BF10111111-字位表G5G4G3G2G1G0未用201008040201键值表0708090A101214160405060B111315170102030C181A1C1E000F0E0D191B1D1F硬件实验硬件实验可使学生能进一步掌握8088微机系统扩展和输入输出程序的设计方法,熟悉对扩展系统的软件、硬件设计、调试方法和技巧。实验四 简单I/O口扩展一、实验目的学习微机系统中扩展简单I/O口的硬件实现及编程方法。二、实验内容利用74LS244作为输入口,读取开关状态,通过74LS273驱动发光二极管显示出来。三、程序流程四、实验电路五、实验步骤74LS244的输入端PI0PI7接K1K8,74LS273的输出端PO0PO7接L1L8。按图连接138译码输入端A.B.C,138使能控制输入端G与位于地址线A0引出孔所在位置下方的使能控制输出端G作对应连接,该端的寻址范围为0FFE0H0FFFFH。把I/O IN、I/O OUT区的D0D7用排线或8芯扁平线与数据总线区D0D7任一接口相连。完成程序设计,实验程序在Inter8088实验系统环境中实现编译、连接、装载成功后,通过Inter8088实验系统环境中的连续运行命令,实现程序运行。或通过实验箱键盘输入程序起始地址,按EXEC键运行已经装载成功的程序。拨动K1K8,观察L1L8是否对应点亮。六、实验程序【 】 ;初始化 ORG 3380H P4:【 。 ;取出244状态 。】 ;送273驱动发光二极管 JMP P4CODE ENDS END P4七、实验思考题修改程序,使发光二极管依次移位闪亮。注意设置合理的延时。实验报告要求1. 244和273地址如何计算得出;2. 写出实验程序并标出注释;3. 讨论实验现象并进行理论分析;4. 做出实验总结,完成实验思考题。实验五 定时/计数器:8253方波一、实验目的学习8253芯片和微机接口的方法,掌握8253定时器计数器的工作方式和编程原理。二、实验内容8253是一种可编程定时/计数器,有3个16位计数器,其计数频率范围为02MHz,用+5V单电源供电。8253的功能用途:延时中断 可编程频率发生器 事件计数器 二进制倍频器 实时时钟数字单稳 复杂的电机控制器8253的6种工作方式:方式0:计数结束中断方式1:可编程频率发生方式2:频率发生器方式3:方波频率发生器方式4:软件触发的选通信号方式5:硬件触发的选通信号本实验要求:使用8253的0通道,选择工作方式3,产生方波。三、程序流程四、实验电路五、实验步骤(1)按实验电路图连接线路:8253的GATE0接+5V。8253的CLK0插孔接分频器74LS393的T2插孔,分频器的频率源为:4.9152MHZ。按照要求连接138译码电路,8253的CS孔与138译码器的Y0孔相连。用8芯排线或8芯扁平线把D0D7总线接口(部分机型位于8251右侧)与数据总线单元D0D7任一接口相连。(2)运行实验程序(3)用示波器测量8253的OUT0输出插孔是否有方波产生。六、实验参考程序CODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE ORG 3490HH9:【 】 JMP $CODE ENDS END H9七、实验思考1 为什么8253的方式3可以产生方波?2 8253的CS孔与138译码器的Y0孔相连,其作用是什么? 定时计数器:8253方波(二)一、实验目的 掌握8253定时器/计数器的工作方式和编程原理。 深入理解CLK、GATE、OUT之间的关系。 二、实验内容 以1.228MHz输入(T1)8253,实现每5秒定时中断,8253片选用Y3,8253四个端口地址分别为0FFECH-0FFEFH片选Y3,用2通道作为输入,0通道作为输出产生如下波形。实验要求: 1、掌握 CLK、OUT、与初值的关系,画出OUT1和OUT0的输出波形 2、通过改变GATE信号,输出波形有何变化5秒OUT05秒5ms5秒5ms5ms每5秒产生一个脉冲OUT0GATE0CLK0OUT2GATE2CLK21.228M+5V+5VY38253三、实验电路CS四、实验步骤 按实验电路图连接线路:按实验电路图连接138译码输入端A.B.C,其中A连A2,B连A3,C连A4,138使能控制输入端G与位于地址线A0引出孔所在位置下方的使能控制输出端G作对应连接,该端的寻址范围为0FFE0H0FFFFH。 8253的GATE0接+5V。 8253的CLK2插孔接分频器74LS393的T2插孔 把8253的CS孔与138译码器的Y3孔相连。 用8芯排线或8芯扁平线把D0D7总线接口(位于8251右侧)与数据总线单元D0D7任一接口相连。按图连接 OUT2接到CLK0根据连接电路图,设计程序用示波器测量8253的OUT0输出插孔的波形。五、实验参考程序CODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE ORG 3490HH9: 【】 JMP $CODE ENDS END H9六、实验思考1 如何计算波形初值?2 解释如何计算程序中需要的各口地址?实验六 8259中断控制器实验一、实验目的1掌握中断控制器8259A与微机接口的原理和方法。2掌握中断控制器8259A的应用编程。二、实验内容编制程序,利用开关作为8259芯片IR7的中断源,人工控制产生单一中断。中断的功能是驱动发光二极管,使其亮灭,不停地闪动。三、实验提示8259中断控制器是专为控制优先级中断设计的芯片。它将中断源优先级排队,辩别中断源以及提供中断矢量的电路集于一片中。因此无需附加任何电路,只需对8259进行编程,就可以管理8级中断,并选择优行模式和中断请求方式,即中断结构可以由用户编程来设定。同时,在不需要增加其它电路的情况下,通过多片8259的级联,能构成多达64级的矢量中断系统。实验箱中采用一片8259A中断控制芯片,工作于主片方式,8个中断请求输入端IR0IR7对应的中断型号为8F,其和中断矢量关于如下表所示。表1 8259中断矢量对应关系8259A中断源中断序号中断类型号中断矢量表地址IR0082023 HIR1192427 HIR22A282B HIR33B2C2F HIR44C3033 HIR55D3437 HIR66E383B HIR77F3C3F H本实验中使用7号中断源IR7,中断方式为边沿触发方式,按动开关按钮产生一次中断。编写中断服务程序程序,使系统每次响应外部中断IR7时发光二极管闪烁。四、实验电路五、实验软件清单Port0 EQU 0FFE0HPort1 EQU 0FFE1HCODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE ORG 3400HP8259: CLI MOV AX,OFFSET INT8259 MOV BX,003CH MOV BX,AX MOV BX,003EH MOV AX,0000H MOV BX,AX CALL FOR8259 MOV AL,0FEH MOV DX,0FFE4H STI JMP $;=FOR8259:MOV AL,13H MOV DX,Port0 OUT DX,AL MOV AL,08H MOV DX,Port1 OUT DX,AL MOV AL,09H OUT DX,AL MOV AL,7FH ;IRQ7 OUT DX,AL RET;-INT8259:cli Push dx Push ax MOV AL,20H MOV DX,Port0 OUT DX,AL Pop ax Pop dx Out dx,al mov cx,0 loop $ Rol al,1 STI IRETCODE ENDSEND P8259六、实验软件框图开始8259A初始化:ICW1ICW4、OCW1OCW3中断矢量初始化程序功能初始化关中断开中断主程序中断服务程序现场保护关中断程序功能开中断现场恢复,返回七、实验步骤(1)按实验电路图连接线路:开关Ki和8259 7号中断IR7插孔相连。按照实验四的实验步骤要求连接138译码电路,8259的CS端连138译码器的Y0孔。输出单元74LS273的CLK端连74LS32的6腿,4腿连138译码器的Y1孔,5腿连IOWR。将8259的单元总线接口D0D7,用8芯排线或8芯扁平线与数据总线单元D0D7任一接口相连。输出单元74LS273的8芯排线或8芯扁平线与数据总线单元D0D7任一接口相连,输出连LED。(2)运行实验程序按动开关按钮,观察LED输出。八、实验思考1详细注释。2解释如何实现中断。实验七 8255并行口扩展性设计实验8255并行口实验:A.B.C口输出方波一、实验目的掌握可编程I/O接口芯片8255的接口原理使用,熟悉对8255初始化编程和输入、输出软件的设计方法。二、实验内容在8255 A.B.C口用示波器测出波形。三、程序流程四、实验步骤编译、装载,连续运行程序,用示波器测量8255 A.B.C口并观察其波形。五、实验参考程序PA EQU 0FFD8HPB EQU 0FFD9HPC EQU 0FFDAHPCTL EQU 0FFDBHCODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE ORG 32C0HH1: 【】 JMP P11CODE ENDS END H1六、实验思考1 说明8255 A.B.C口输出方波,与8253输出方波有什么区别?2 说明8255 A.B.C口输出方波的原理是什么?PA EQU 0FFD8HPB EQU 0FFD9HPC EQU 0FFDAHPCTL EQU 0FFDBHCODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE ORG 32C0HH1: MOV DX,PCTL MOV AL,80H OUT DX,AX MOV AL,55H P11:MOV DX,PA OUT DX,AL INC DX OUT DX,AL INC DX OUT DX,AL MOV CX,43555 LOOP $ NOT AL JMP P11CODE ENDSEND H18255并行口实验:PA口控制PB口一、实验目的掌握8255和微机接口方法。掌握8255的工作方式和编程原理。二、实验内容用8255 PA作开关量输入口,PB作输出口。三、程序流程四、实验电路五、编程提示8255可编程外围接口芯片是Intel公司生产的通用并行接口芯片,它具有A、B、C三个并行接口,用+5V电源供电,能在以下三种方式下工作:方式0:基本输入输出方式方式1:选通输入输出方式方式2:双向选通工作方式使8255端口A工作在方式0并作为输入口,读取K1K8八个开关量,送PB口显示。PB口工作在方式0作为输出口。六、实验步骤(1)按实验电路图连接线路:8255A芯片A口的PA0PA7依次和开关量输入插孔K1K8相连。8255A芯片B口的PB0PB7依次接L1L8(2)运行实验程序:拨动K1K8、L1L8会跟着亮灭。七、实验参考程序PA EQU 0FFD8HPB EQU 0FFD9HPC EQU 0FFDAHPCTL EQU 0FFDBHCODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE ORG 32E0HH2: 【】CODE ENDS END H2八、实验思考1 通过实验你是如何理解8255的PA口和PB口的工作过程?2 用程序验证若8255的PA口为方式1或方式2,是否可以实现PA口控制PB口?PA EQU 0FFD8HPB EQU 0FFD9HPC EQU 0FFDAHPCTL EQU 0FFDBHCODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE ORG 32E0HH2:MOV DX,PCTL MOV AL,90H OUT DX,AL P2:MOV DX,PA IN AL,DX INC DX OUT DX,AL JMP P2CODE ENDSEND H28255A可编程并行口实验(三)交通灯一、实验目的进一步掌握8255A可编程并行口使用方法。二、实验内容1实验原理实验原理图如图65所示,PB4 PB7和PC0 PC7分别与发光二极管电路L1 L12 相连,本实验为模拟交通灯实验。交通灯的亮灭规律如下:设有一个十字路口,1、3为南北方向,2、4为东西方向,初始为四个路口的红灯全亮,之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车; 延时一段时间后,1、3路口的绿灯熄灭,而1、3路口的黄灯开始闪烁,闪烁若干次以后,1、3 路口红灯亮, 而同时2、4路口的绿灯亮,2、4路口方向通车;延时一段时间后,2、4 路口的绿灯熄灭,而黄灯开始闪烁,闪烁若干次以后,再切换到1、3路口方向,之后重复上述过程。8255A的PB4 PB7对应黄 灯,PC0 PC3对应红灯,PC4 PC7对应绿灯。8255A工作于模式0,并置为输出。由于各发光二极管为共阳极,使其点亮应使8255A相应端口清0。图652. 编程提示通过8255控制发光二极管PB3、PB0、PA5、PA2对应黄灯,PB1、PA6、PA3、PA0对应红灯,PB2、PA7、PA4、PA1对应绿灯,以模拟交通灯的管理。要完成本实验,必须先了解交通路灯的亮灭规律:东西路口的绿灯亮南北路口的红灯亮,东西路口方向通车。延时等待后,东西路口的绿灯熄灭,黄灯开始闪烁。闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北路口方向开始通车,延时等待后,南北路口的绿灯熄灭,黄灯开始闪烁。闪烁若干次后,再切换到东西路口方向,之后重复以上过程。程序中设定好8255的工作模式,及三个端口均工作在方式0,并处于输出状态。系统使用的发光二极管为共阴极,逻辑0点亮、逻辑1熄灭。3实验线路连接8255A PA0L12 PA1L11 PA2L10 PA3L9 PA4L8 PA5L7 PA6L6 PA7L5 PBOL4 PB1L3 PB2L2 PB3L1(2)运行实验程序在系统“P.”状态时,输入32F0,按EXEC键,L1L12发光二极管模拟交通灯显示。三、实验软件框图四、实验软件清单PA EQU 0FFD8HPB EQU 0FFD9HPC EQU 0FFDAHPCTL EQU 0FFDBHCODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE ORG 32F0HH3: MOV AL,88H MOV DX,PCTL OUT DX,AL ;MOD:0, MOV DX,PA MOV AL,0B6H OUT DX,AL INC DX MOV AL,0DH OUT DX,AL CALL DELAY1P30: MOV AL,75H MOV DX,PA OUT DX,AL INC DX MOV AL,0DH OUT DX,AL CALL DELAY1 CALL DELAY1 MOV CX,08HP31: MOV DX,PA MOV AL,0F3H OUT DX,AL INC DX MOV AL,0CH OUT DX,AL CALL DELAY2 MOV DX,PA MOV AL,0F7H OUT DX,AL INC DX MOV AL,0DH OUT DX,AL CALL DELAY2 LOOP P31 MOV DX,PA MOV AL,0AEH OUT DX,AL INC DX MOV AL,0BH OUT DX,AL CALL DELAY1 CALL DELAY1 MOV CX,08HP32: MOV DX,PA MOV AL,9EH OUT DX,AL INC DX MOV AL,07H OUT DX,AL CALL DELAY2 MOV DX,PA MOV AL,0BEH OUT DX,AL INC DX MOV AL,0FH OUT DX,AL CALL DELAY2 LOOP P32 JMP P30DELAY1: PUSH AX PUSH CX MOV CX,0030HDELY2: CALL DELAY2 LOOP DELY2 POP CX POP AX RETDELAY2: PUSH CX MOV CX,8000H LOOP $ POP CX RETCODE ENDS END H3五、实验步骤1按图515连好实验线路2运行实验程序,观察L1L12 发光二极管模拟交通灯显示。六、实验思考1.观察现象、理解程序并详细注释实验八-1 A/D转换实验一、实验目的了解模数转换基本原理,掌握ADC0809的使用方法。二、实验内容利用实验系统上的0809作为A/D转换器,实验系统的电位器提供模拟量输入,编制程序,将模拟量转换成数字,通过数码管显示出来。三、程序流程- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微型计算机 原理 接口 技术 2015 实验 学生
装配图网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文