收藏 分销(赏)

试验参考指导书范文.doc

上传人:精*** 文档编号:2517369 上传时间:2024-05-31 格式:DOC 页数:111 大小:859.04KB 下载积分:20 金币
下载 相关 举报
试验参考指导书范文.doc_第1页
第1页 / 共111页
试验参考指导书范文.doc_第2页
第2页 / 共111页


点击查看更多>>
资源描述
前 言 作为我校重点建设课程之一,《微机原理及应用》课程已成为计算机科学与技术、电子信息工程、自动化、测控技术及仪器、过程装备及控制等各种专业必修课和限选课,教学涉及本、专科、成人及职业教诲等不同层次。由于课程性质关系,教学活动需要一定实验环节相配合,才干获得良好教学效果,因此我院近年前就建立了微机原理实验室。,在院、系领导和教研室大力支持下,实验室又添置了新微机原理实验箱——Dais-586PI++,该设备既能独立运营,又可以PC机作为操作平台,全面支持《微机原理及应用》课程。但是原有实验指引书已与新实验设备不能较好配合,因而咱们重新编写了实验指引书。全书涉及汇编语言程序设计和接口电路设计两大某些,共16个实验,实验项目涉及课程教学活动中绝大某些内容,如汇编程序设计、8259、8255、8253、8237、8251接口设计、A/D、D/A转换、存储器扩展等,可用于《微机原理及应用》、《微型计算机技术》、《微机原理与接口技术》等课程实验教学,可以满足我校各个开课专业不同需要。 由于时间仓促、水平有限,但愿同窗们在使用本实验指引书过程中,能协助咱们发现问题,不断改进完善。 编 者 12月 目 录 DAIS实验系统概述 1 实验一 熟悉DAISWIN开发环境 5 实验二 基本程序设计 9 实验三 数据排序程序设计 11 实验四 显示程序设计 13 实验五 数码转换程序设计 21 实验六 8259中断控制器实验 24 实验七 8253定期/计数器实验 29 实验八 8237可编程DMA控制器实验 32 实验九 8255并行接口实验 40 实验十 8251串行通信实验 44 实验十一 A/D转换实验 58 实验十二 D/A转换实验 62 实验十三 外部存储器扩展实验 65 实验十四 继电器控制实验 67 实验十五 步进电机控制实验 69 实验十六 16×16点阵显示实验 72 附 录 双踪PC示波器用法简介 82 Dais实验系统概述 1.1系统构成 Dais系列微机仿真实验系统8088/8086微机接口实验由管理CPU 89C52单元、目的CPU 8088/8086单元、接口实验单元和内置稳压电源构成,通过RS232C串行接口与PC微机相连,系统硬件重要配备如下: 系统管理 管理CPU 89C52(控制板/内置仿真器)、目的CPU 8088 系统存储器 监控在89C52片内E2PROM(8K)、RAM6264、RAM61256 1片(32K)、BPRAM 61256(32K) 接口芯片及 单元实验 8253、8255、8259、ADC0809、DAC0832、6264、164、273、244、393分频、电子发声单元、电机控制单元、开关及发光二极管、单脉冲触发器、继电器控制、16×16点阵、8155扩展3×3键盘及四位LED显示、以及8251、8250串行通信等。 外设接口 打印接口、RS232C串口、D/A驱动接口、步进电机驱动接口、音频驱动接口、PC总线接口、2×16 LCD液晶显示接口 显示输出 6位/8位LED、双通道虚拟PC示波器 键盘 32键自定义键盘 EPROM操作 对EPROM 2764/27128迅速读出 系统电源 +5V/2A,±12V/0.5A 1.2 系统功能与特点 1、自带键盘、显示屏,能独立运营,也可以PC微机为操作台。两种工作方式任意选取,全面支持《微机原理及应用》、《微型计算机技术》等课程实验教学。 2、系统采用紧耦合多CPU技术,用89C52作为系统管理CPU,8088/8086作为目的机接口扩展实验CPU。 3、目的CPU 8088/8086采用主频为14.3818MHz,系统以最小工作方式构成。 4、配有1片6264构成系统8K基本内存,地址范畴0F000:0000~07FFH,作为监控程序区和数据区:另配1片61C256(32K)作为实验程序空间,地址从0000:0000H~FFFFH(其中0~003FFH作为目的机中断向量区),还配一片61C256(32K)作为顾客设立断点区(BPRAM)。 5、实验项目完整丰富,与课程教学紧密结合,同步配有机电、温压、音响等实验对象,可支持控制应用类综合实验。 6、系统接口实验电路为单元电路方式,电路简捷明快,8位数据总线以排线或8芯扁平线形式引出,这样既减轻繁琐连线工作,又提高学生实验工作能力。 7、通过RS232通信接口,在Windows/DOS集成软件支持下,运用上位机丰富软件、硬件资源,实现顾客程序编辑、编译、调试运营,提高实验效率。 8、具备最丰富调试手段,系统全面支持硬件断点,可无限制设立断点,同步具备单步、宏单步、持续运营及无限制暂停等功能。 9、集EPROM操作功能,可对2764/27128迅速读出(软硬件实验所需代码文献)。 1.3系统资源分派 实验系统寻址范畴定义如下: 系统数据区 F000:0000~00FFH 系统堆栈区 F000:0100~01FFH 系统程序区 F000:0200~07FFH 顾客程序/数据区 F000:1000~7FFFH 顾客堆栈区 F000:0600~0400H 中断向量区 F000:0000~03FFH 系统已定义I/O地址如下: 接口芯片 口地址 用途 74LS273 FFDDH 字位口 74LS273 FFDCH 字形口 74LS245 FFDEH 键入口 8255A口 FFD8H EP总线 8255B口 FFD9H EP地址 8255C口 FFDAH EP控制 8255控制口 FFDBH 控制字 1.4硬件设立 1、CPU选取开关 本系统为通用型一体机,设有3×2 CPU选取开关,普通状况下开机前应对的选取当前CPU类型,“96”表达MCS-196KB/KC、“88”表达8088/8086、“51”表达MCS-8032/8052,在通电状态下,亦可拨动选取开关变化当前CPU类型,但在变化当前CPU类型后要用RESET系统复位命令加以确认,若不按复位命令按钮会引起“死机”。本书所有实验都应将CPU选取开关拨至88位置。 2、串行口选取及通信波特率选取开关 本系统设有串行口选取开关,从左到右依次为2400、9600和57600,选取2400表达选取8251串口通信实验,选取9600和57600为系统与PC机通信波特率选取位,在PC机配备较低场合或DOS操作环境下普通选取9600常规波特率,要提高通信效率则选取57600。 3、打开电源开关,系统应显示闪动“P.”,处在待命状态;否则按下RESET键,如仍不显示,应及时切断电源,检查后重新进行。 4、系统功能自检 在闪动“P.”状态下按键:【MOVE】→1000→【STEP】→【EXEC】,系统将持续运营“8”字循环移位程序,若LED浮现循环移位显示“8”,阐明系统已进入正常工作状态,可按RESET键返回“P.”待命。 8088/8086系列微机原理实验指引 本章是为8088/8086 16位微机原理实验编写详细实验指引,实验指引中详细论述了各实验目、实验内容、实验原理图、程序框图等。 一、所有实验程序已固化在16K EPROM(27C128)中,8088/8086实验程序地址范畴:3000H~3FFFH,在与PC机联机状态,可将各个实验程序进行编译、连接、下载到实验系统RAM中运用系统操作命令完毕各实验。 二、实验接线图上粗实线表达在实验时要用导线连接起来。 三、每个实验程序序号、实验名称、入口地址见下表。 实验序号 实验名称 入口地址 实验二 拆字程序 3020H 实验三 数据排序实验 3090H 实验四 显示子程序 31E0H 键盘扫描显示实验 se10.asm 实验五 二进制转换到BCD se11.asm 二进制转换到ASCII se12.asm 实验六 8259中断控制器实验 3400H 实验七 8253定期/计数器实验 3490H 实验八 8237可编程DMA控制器实验 3800H 实验九 8255并行接口实验 32C0H 实验十 8251串行通信实验 35C0H 实验十一 A/D转换实验 3390H 实验十二 D/A转换实验 33E0H 实验十三 外部存储器扩展实验 he23.asm 实验十四 继电器控制 34B0H 实验十五 步进电机控制 3620H 实验十六 16×16点阵显示实验 3AD3H 实验一 熟悉DaisWin开发环境 一、实验目 学习使用DaisWin开发环境进行应用程序开发。 二、实验环境 ⑴硬件:PC微机、Dais微机实验系统 ⑵软件:DaisWin集成开发环境 三、实验内容 (一)设立DaisWin DaisWin集成开发环境完毕安装后,依照系统提示,设立型号、通信端口、波特率等有关信息。 启动DaisWin 第一步 启动DaisWin 1、 点击【开始/程序/启东达爱思教学实验系统/Intel 8088微机实验系统】, 启动DaisWin。 2、 选取对的参数设立 3、 如果已经连接仪器,屏幕将进入程序界面 第二步 选取进入连机操作或模仿操作 1、如果没有连接仪器,屏幕上将浮现出错对话框,请你确认与否需要连接。 2、如果不需要连接仪器,点击“No”,则软件将进入模仿操作状态。 3、如果要进入连机操作状态,请在确认一起连接与参数设立对的后,点击“Yes”,软件将进入连机操作模式。 通过以上环节,屏幕上浮现DaisWin集成开发环境系统画面。 (二)DaisWin开发实例 第一步 新建文献 点击【文献/新文献】,在文本框中输入新文献代码,然后点击【文献/存储】,设立文献名为Sample.asm。 CODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE ORG 1000H START0: MOV BX,5000H MOV AX,0000H MOV CX,007FH L1: MOV [BX],AX INC BX INC BX LOOP L1 JMP $ CODE ENDS END START0 本程序作用为把内存单元偏移地址为5000H开始持续127个字单元清零。 第二步 编译/连接 使用【编译/文献编译、连接】命令对Sample.asm文献进行编译、连接,编译/连接产生成果出当前DaisWin集成开发环境消息窗口。如果程序存在错误,集成开发环境将自动关联到源程序错误处,则需要修改程序;如果对的,则可进行下一步。 第三步 装载 使用【编译/装载】命令,将产生代码装入实验系统。这一步也可和第二步一起进行,只需使用【编译/文献编译、连接、装载】命令即可。此时DaisWin集成开发环境进入调试状态。文献窗口左侧浮现了一列小圆点,表达程序有效行,即此行存在相应代码,并且在start0行左侧浮现蓝色箭头,表达当前程序计数器PC。 第四步 调试程序 使用【调试】下调试命令相应用程序进行调试。使用【视图/内存空间】查看从内存单元偏移地址为5000H开始持续127个字单元与否被清零。 第五步 输出代码文献 使用DaisWin集成开发环境对程序调试无误后,选取【文献/保存程序区】,产生输出Binary格式文献,可用于对芯片编程。 实验二 基本程序设计 一、实验目 掌握汇编语言设计和调试办法。 二、实验内容 把4000H内容拆开,高位送4001H低位,低位送4002H低位,4001H、4002H高位清零,普通本程序用于把数据送显示缓冲区时用。 三、程序流程 四、实验环节 用持续或单步方式运营程序,检查4000H~4002H中内容变化状况。 五、实验参照程序 CODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE ORG 3020H START : 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 START 六、思考题 如何将4001H低4位送入4000H低4位,将4002H高4位送入4000H高4位。 实验三 数据排序程序设计 一、实验目 学习综合程序设计、编制及调试办法。 二、实验内容 编写并调试一种排序子程序,其办法为用冒泡法将RAM中几种单元字节无符号正整数,按从大到小顺序重新排列。 三、程序流程 四、设计思想 ⑴从第一种数开始,依次把相邻两个数进行比较,即第(N-2)个数与第(N-1)个数比较,第(N-1)个数与N个数比较等等;若第(N-1)个数不不不大于第N个数,则两者互换,否则不互换,直到N个数相邻两个数都比较完为止。此时。N个数中最小数将被排在N个数最后。   ⑵对剩余(N-1)个数重复第⑴步,找到(N-1)个数中最小数。   ⑶重复第⑵步,直到N个数所有排序好为止。 五、实验环节 在4000H~400AH中输入不等10个数,运营本实验程序后检查4000H~400AH中内容与否按从大到小排列。 六、实验参照程序 CODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE ORG 3090H START: MOV CX,000AH A53: MOV BX,4000H PUSH CX A52: MOV AX,[BX] CMP AL,AH JC A51 A54: INC BX LOOP A52 POP CX LOOP A53 JMP $ A51: XCHG AL,AH MOV [BX],AX JMP A54 CODE ENDS END START 七、思考题 编一程序把5000H~500AH中内容按从小到大排列。 实验四 显示程序设计 一、实验目 ⑴掌握键盘扫描和LED七段码显示屏工作原理。 ⑵掌握键盘和显示屏接口办法和编程办法。 二、实验内容 ⑴编写程序,依次闪动显示“Dais 88”“good”。 ⑵在①基本上,运用实验系统提供键盘扫描电路和显示电路,做一种扫描键盘和数码显示实验,把按键输入键码在六位数码管上显示出来。 三、程序流程及实验环节 1、显示子程序 (1)程序流程 (2)实验环节 持续运营31E0h程序,观测数码管显示状况。 (3)实验参照程序 CODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE ORG 31E0H START: JMP START9 ZXK EQU 0FFDCH ZWK EQU 0FFDDH LED DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H DB 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,0DEH,0F3H BUF DB ?,?,?,?,?,? START9: MOV CX,0005H A90: PUSH CX A91: 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 A92: PUSH CX CALL DIS POP CX LOOP A92 MOV CX,0003H MOV AX,1010H MOV BX,OFFSET BUF A93: MOV [BX],AX INC BX INC BX LOOP A93 MOV CX,0020H A94: PUSH CX CALL DIS POP CX LOOP A94 POP CX LOOP A90 ;------------------- MOV CX,0005H A99: PUSH CX A95: 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 A96: PUSH CX CALL DIS POP CX LOOP A96 MOV CX,0003H MOV AX,1010H MOV BX,OFFSET BUF A97: MOV [BX],AX INC BX INC BX LOOP A97 MOV CX,0020H A98: PUSH CX CALL DIS POP CX LOOP A98 POP CX LOOP A99 JMP START9 ;-------------------------- DIS: MOV CL,20H MOV BX,OFFSET BUF DIS1: 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,0100H DELAY: LOOP $ POP CX CMP CL,01H JZ EXIT INC BX SHR CL,1 JMP DIS1 EXIT: MOV AL,00H MOV DX,ZWK OUT DX,AL RET CODE ENDS END START 2、键盘扫描显示实验 (1)编程提示 实验程序可提成三个模块。   ①键输入模块:扫描键盘、读取一次键盘并将键值存入键值缓冲单元。   ②显示模块:将显示单元内容在显示屏上动态显示。   ③主程序:调用键输入模块和显示模块。 (2)程序流程 (3)实验环节 持续运营程序,按动键盘观测数码管显示状况。 (4)实验参照程序 code segment assume cs:code OUTSEG equ 0ffdch ;段控制口 OUTBIT equ 0ffddh ;位控制口/键扫口 IN_KEY equ 0ffdeh ;键盘读入口 LedBuf db 6 dup(?) ;显示缓冲 org 1000h Start: mov LedBuf+0,90h ;显示"Good" mov LedBuf+1,0a3h mov LedBuf+2,0a3h mov LedBuf+3,0a1h mov LedBuf+4,0ffh mov LedBuf+5,0ffh MLoop: call Disp ;显示 call GetKey ;扫描键盘并读取键值 and al,0fh ;显示键码 mov ah,0 mov bx,offset LEDMAP add bx,ax mov al,[bx] mov LEDBuf+5,al jmp MLoop Disp: mov bx,offset LEDBuf mov cl,6 ;共6个七段管 mov ah,00100000b ;从左边开始显示 DLoop: mov dx,OUTBIT mov al,0 out dx,al ;关所有七段管 mov al,[bx] mov dx,OUTSEG out dx,al mov dx,OUTBIT mov al,ah out dx,al ;显示一位七段管 push ax mov ah,1 call Delay pop ax shr ah,1 inc bx dec cl jnz DLoop mov dx,OUTBIT mov al,0 out dx,al ;关所有七段管 ret Delay: ;延时子程序 push cx mov cx,256 loop $ pop cx ret GetKey: ;键扫子程序 mov al,0ffh ;关显示口 mov dx,OUTSEG out dx,al mov bl,0 mov ah,0feh mov cx,8 key1: mov al,ah mov dx,OUTBIT out dx,al shl al,1 mov ah,al nop nop nop nop nop nop mov dx,IN_KEY in al,dx not al nop nop and al,0fh jnz key2 inc bl loop key1 nkey: mov al,20h ret key2: test al,1 je key3 mov al,0 jmp key6 key3: test al,2 je key4 mov al,8 jmp key6 key4: test al,4 je key5 mov al,10h jmp key6 key5: test al,8 je nkey mov al,18h key6: add al,bl cmp al,10h jnc fkey mov bx,offset KeyTable xlat fkey: ret LedMap: ;七段管显示码 db 0c0h,0f9h,0a4h,0b0h,099h,092h,082h,0f8h db 080h,090h,088h,083h,0c6h,0a1h,086h,08eh KeyTable: ;键码定义 db 07h,04h,08h,05h,09h,06h,0ah,0bh db 01h,00h,02h,0fh,03h,0eh,0ch,0dh code ends end Start 实验五 数码转换程序设计 一、实验目 ⑴掌握简朴数值转换算法,基本理解数值各种表达办法。 ⑵理解如何查表进行数值转换及迅速计算。 二、实验规定 ⑴将给定一种二进制数,转换成BCD码。 ⑵给出一种BCD数,将其转换成ASCII值。 三、实验内容 1、二进制转换成BCD码 (1)程序流程 (2)实验参照程序 code segment assume cs:code org 1000h Start: 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 mov [bx+1],al ;余数除以10,得十位数 mov [bx+2],ah ;余数为个位数 jmp $ code ends end Start 2、二进制转换到ASCII码 (1)程序流程 (2)实验参照程序 code segment assume cs:code,ds:code org 1000h Start: mov ax,1ah mov bl,al shr bl,1 shr bl,1 shr bl,1 shr bl,1 mov bh,0 mov ah,byte ptr ASCIITab[bx] push bx mov bx,4000h mov [bx],ah pop bx and al,0fh mov bl,al mov ah,byte ptr ASCIITab[bx] push bx mov bx,4001h mov [bx],ah pop bx jmp $ ASCIITab: db "ABCDEF" ;定义数字相应ASCII表 code ends end Start 四、思考题 1、如何将BCD码转换成二进制? 2、如何将ASCII转换成BCD码? 实验六 8259中断控制器实验 一、实验目 ⑴掌握8259中断控制器接口办法。   ⑵掌握8259中断控制器应用编程。 二、实验内容 编制程序,运用8259芯片IR作为中断源,产生单一中断,系统显示中断号“7”。 三、程序流程 四、实验电路 五、编程提示   ⑴8259芯片简介   中断控制器8259A是专业性为控制优先级中断设计芯片。它将中断源优先级排队,辩别中断源以及提供中断矢量电路集于一片中。因而无需附加任何电路,只需对8259A进行编程,就可以管理8级中断,并选取优行模式和中断祈求方式,即中断构造可以由顾客编程来设定。同步,在不需要增长其他电路状况下,通过多片8259A级联,能构成多达64级矢量中断系统。 中断号 0 1 2 3 4 5 6 7 矢量地址 20~23h 24~27h 28~2Bh 2C~2Fh 30~33h 34~37h 38~3Bh 3C~3Fh ⑵本实验中使用7号中断源IR7,“SP”插孔和IR7相连,中断方式为边沿触发方式,每按二次AN按钮产生一次中断,编写程序,使系统每次响应外部中断IR7时,显示1个字符“7”,满“7”次后显示“P.”继续等待中断。 六、实验连线 Dais系列实验箱连线 连接位置1 连接位置2 138 A,B,C A2,A3,A4 138 G G 8259 CS 138 Y0 8259 IR7 SP(初始化为低电平) 8259 D0…D7 系统数据总线D0…D7 七、实验环节 编写源程序,编译、装载,持续运营程序,按动AN按钮,LED数码管从最高位开始依次显示“7”,显示满后,最高位显示“P.”,继续等待中断。 八、实验参照程序 CODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE ORG 3400H Start: JMP P8259 ZXK EQU 0FFDCH ZWK EQU 0FFDDH LED DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H DB 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,0DEH,0F3H BUF DB ?,?,?,?,?,? Port0 EQU 0FFE0H Port1 EQU 0FFE1H P8259: CLI CALL WP ;初始化显示“P.” MOV AX,OFFSET INT8259 ;设立中断向量 MOV BX,003CH MOV [BX],AX MOV BX,003EH MOV AX,0000H MOV [BX],AX CALL FOR8259 MOV SI,0000H STI CON8: CALL DIS JMP CON8 ;------------------------------------ INT8259:CLI MOV BX,OFFSET BUF MOV BYTE PTR [BX+SI],07H INC SI CMP SI,0007H JZ X59 XX59: MOV AL,20H ;发中断结束命令 MOV DX,Port0 OUT DX,AL mov cx,0050h xxx59: push cx call dis pop cx loop xxx59 pop cx mov cx,3438h push cx STI IRET X59: MOV SI,0000H CALL WP JMP XX59 ;============================== FOR8259:MOV AL,13H ;初始化8259 MOV DX,Port0 OUT DX,AL MOV AL,08H
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 应用文书 > 技术指导

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服