ImageVerifierCode 换一换
格式:DOCX , 页数:57 ,大小:174.07KB ,
资源ID:10435262      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10435262.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(微机系统实验报告材料.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

微机系统实验报告材料.docx

1、微机系统实验报告材料电子科技大学实验报告课程名称微机系统上机实验成绩实验学时28学时评语: 指导教师:吴文华 2016年 12月 26 日实验一 汇编语言编程实验一、 实验目的 (1)掌握 汇编语言的编程方法(2)掌握 DOS 功能调用的使用方法(3)掌握 汇编语言程序的调试运行过程二、 实验设备 PC 机一台。三、 实验容 1. 将指定数据区的字符串数据以ASCII码形式显示在屏幕上,并通过DOS功能调用完成必要提示信息的显示。 2. 在屏幕上显示自己的学号信息。 3. 循环从键盘读入字符并回显在屏幕上,然后显示出对应字符的ASCII码,直到输入”Q”或“q”时结束。 4. 自主设计输入显示

2、信息,完成编程与调试,演示实验结果。四、 实验源码DATA SEGMENT DISCHA DBWangHan 14030188004,0AH,0DH,$ TAB DB ,0AH,0DH,$ BLANK DB $DATA ENDSSTACK SEGMENTSTACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACKSTART: MOV AX,SEG DISCHA MOV DS,AX MOV DX,OFFSET DISCHA MOV AH,09H INT 21HNEXT: MOV AH,01H INT 21H CMP AL,Q JE ENDSS CM

3、P AL,q JE ENDSS MOV BL,AL MOV AX,SEG BLANK MOV DS,AX MOV DX,OFFSET BLANK MOV AH,09H INT 21H MOV BH,0AH MOV DL,BL MOV CL,04H SHR DL,CL CMP DL,BH JNL Q3 JMP Q2Q1: ADD DL,07HQ2: ADD DL,30H MOV AH,02H INT 21H MOV DL,BL MOV DH,0FH AND DL,DH CMP DL,BH JNL Q3 JMP Q4Q3: ADD DL,07HQ4: ADD DL,30H MOV AH,02H I

4、NT 21H MOV AX,SEG TAB MOV DS,AX MOV DX,OFFSET TAB MOV AH,09H INT 21H MOV CX,0009H LOOP NEXTENDSS: MOV AH,4CH INT 21HCODE ENDS END START 五、 程序流程图如下图1.2所示图1.2程序流程图实验二 数码转换实验一、实验目的 1. 掌握不同进制数及编码相互转换的程序设计方法。 2. 掌握运算类指令编程及调试方法。 3. 掌握循环程序的设计方法。二、 实验设备 PC 机一台。三、 实验容 1. 重复从键盘输入不超过5位的十进制数,按回车键结束输入; 2. 将该十进制数

5、转换成二进制数;结果以2进制数的形式显示在屏幕上; 3. 如果输入非数字字符,则报告出错信息,重新输入; 4. 直到输入“Q”或q时程序运行结束。 5. 键盘输入一字符串,以空格结束,统计其中数字字符的个数,在屏幕显示四、实验原理 十进制数可以表示为:Dn*10n+Dn-1*10n-1+D0*100= Di*10i 其中Di代表十进制数1、2、3、9、0。 上式可以转换为: Di*10i=(Dn*10+Dn-1)*10+ Dn-2)*10+ D1)*10+ D0 由上式可归纳出十进制数转换为二进制数的方法:从十进制数的最高位Dn开始做乘10加次位的操作,依此类推,则可求出二进制数结果。表2.1

6、 数码转换关系对应表五、实验源码1、数制转换assume cs:codedata segment est db Error:Input invalid,0ah,0dh,$data endsstack segment stk db 64 dup (0)stack endscode segmentstart: mov ax,stack mov ss,ax mov sp,offset stk mov ax,data mov ds,axrf: mov cx,5 mov ax,0 mov dx,0 mov si,0 mov di,0rr: mov ah,01h int 21h cmp al,0dh je

7、 rend cmp al,q je qt cmp al,Q je qt cmp al,0 jl err cmp al,9 jg err jmp cnterr: call perrcnt: sub al,0 mov bh,0 mov bl,al mov ax,di push bx mov bx,10 mul bx pop bx add ax,bx adc dx,0 mov si,dx mov di,ax loop rrrend: call newline mov bx,si call itb mov bx,di call itb call newline jmp rfqt: mov ax,4c0

8、0h int 21hitb: mov cx,16rs: mov ax,bx and ax,01h mov dl,al add dl,0 push dx shr bx,1 loop rs mov cx,16r: pop dx mov ah,02h int 21h loop r retnewline: mov ah,02h mov dl,0dh int 21h mov dl,0ah int 21h retperr: mov dx,offset est mov ah,09h int 21h jmp rf retcode endsend start2、数字统计assume cs:codestack s

9、egment stk db 16 dup (0)stack endscode segmentstart: mov ax,stack mov ss,ax mov sp,0 mov bx,0 rc: mov ah,01h int 21h cmp al, je brk cmp al,0 jl n cmp al,9 jg n inc bx n: jmp rc brk:call show_num mov ax,4c00h int 21h show_num: mov si,0 rs: mov ax,bx mov cl,10 div cl add ah,0 mov dl,ah push dx mov ah,

10、0 inc si cmp ax,0 je rt jmp rs rt: mov cx,si s: pop dx mov ah,02h int 21h loop s retcode endsend start六、程序流程图如下图2.2所示图2.2 十进制ASCII码转换为二进制数流程图实验三 基本IO扩展口实验一、 实验目的 1. 了解TTL芯片扩展简单I/O口的方法。 2. 掌握数据输入输出程序编制的方法。二、 实验设备 PC 机一台,实验箱三、实验容 本实验要求用74LS244作为输入口,读取开关状态,并将此状态通过74LS273连到发光二极管显示。具体实验容如下: 1.开关Yi为低电平时对应

11、的发光二极管亮,Yi为高电平时对应的发光二极管灭。 2.当开关Yi全为高电平时,发光二极管Qi从左至右轮流点亮。 3.当开关Yi全为低电平时,发光二极管Qi从右至左轮流点亮。 四、实验原理 74LS244是一种三态输出的8总线缓冲驱动器,无锁存功能,当G为低电平,Ai信号传送到Yi,当为高电平时,Yi处于禁止高阻状态; 74LS273是一种带清除功能的8D触发器, 1D8D为数据输入端,1Q8Q为数据输出端,正脉冲触发,低电平清除,常用作8位地址锁存器。 五、实验步骤1.按照实验连线图连接: 244的CS接到ISA总线接口模块的0000H,Y7Y0开关K1K8。 273的CS接到ISA总线接口

12、模块的0020H,Q7Q0发光二极管L1L8。 该模块的WR、RD分别连到ISA总线接口模块的IOWR、IORD。 该模块的数据(AD0AD7)连到ISA总线接口模块的数据(LD0LD7)。2.编写实验程序,编译,运行程序3. 拨动开关,观察发光二极管的变化。 六、实验源码MY_STACK SEGMENT PARA STACK DB 100 DUP(?)MY_STACK ENDSMY_DATA SEGMENT PARA DATAIO_9054base_address DB 4 DUP(0) ;PCI卡9054芯片I/O基地址暂存空间IO_base_address DB 4 DUP(0) ;PC

13、I卡I/O基地址暂存空间pcicardnotfind DB 0DH,0AH,pci card not find or address/interrupt error !,0DH,0AH,$GOOD DB 0DH,0AH,The Program is Executing !,0DH,0AH,$LS244 DW 00000H LS273 DW 00020HRA DB ?LB DB ?DELAY_SET EQU 0FFFH ;延时常数MY_DATA ENDsMY_CODE SEGMENT PARA CODEMY_PROC PROC FAR ASSUME CS:MY_CODE, DS:MY_DATA,

14、 SS:MY_STACK MAIN: .386 ;386模式编译 MOV AX,MY_DATA MOV DS,AX MOV ES,AX MOV AX,MY_STACK MOV SS,AX CALL FINDPCI ;自动查找PCI卡资源及IO口基址 MOV CX,word ptr IO_base_address ; MOV CX,0E800H ;直接加入(E800:本机PCI卡IO口基址) ADD LS244,CX ;PCI卡IO基址+偏移 ADD LS273,CX MOV RA,7FH MOV LB,0FEHREAD1: MOV DX,LS244 ;读取开关状态 IN AL,DX CMP A

15、L,0FFH JE READ2 CMP AL,000H JE READ3 NOT AL ;取反 JMP READ4READ2: CALL RIGHT JMP READ4READ3: CALL LEFT READ4: MOV DX,LS273 OUT DX,AL ;送LED显示 CALL DELAY CALL BREAK JMP READ1MY_PROC ENDpRIGHT PROC NEAR MOV AL,RA ROR AL,1 MOV RA,AL RETRIGHT ENDP LEFT PROC NEAR MOV AL,LB ROL AL,1 MOV LB,AL RET LEFT ENDP;*

16、; /*按任意键退出*/;* BREAK PROC NEAR ;按任意键退出 PUSHF PUSH AX PUSH DX MOV AH,06H MOV DL,0FFH INT 21H JE RETURN MOV AX,4C00H INT 21HRETURN: POP DX POP AX POPF RETBREAK ENDP;*; /*延时程序*/;* DELAY PROC NEAR ;延时程序 PUSHF PUSH DX PUSH CX MOV DX,DELAY_SETD1: MOV CX,-1D2: DEC CX JNZ D2 DEC DX JNZ D1 POP CX POP DX POPF

17、 RETDELAY ENDp实验四 可编程并行接口实验一、实验目的 1. 了解可编程并行接口8255的部结构, 2. 掌握工作方式、初始化编程及应用。二、实验设备PC机一台,实验箱三、实验容1.流水灯实验:利用8255的A口、B口循环点亮发光二极管。2.交通灯实验:利用8255的A口模拟交通信号灯。3.I/O输入输出实验:利用8255的A口读取开关状态,8255的B口把状态送发光二极管显示。四、实验原理8255是一个通用可编程并行接口电路。它具有A、B、C三个8位并行口。其中C口也可用作A、B口的联络信号及中断申请信号。通过编程,它可以被设置为基本输入输出、选通输入输出以及双向传送方式。对于C

18、口还具有按位置0、1的功能。图4.1 可编程并行接口8255芯片接口电路D7 D6 D5 D4 D3 D2 D1 D0 1(特征位) A组方式00=方式0 01=方式1 1X=方式2 A口0=输出1=输入C口高4位0=输出1=输入B组方式0=方式0 1=方式1 B口0=输出1=输入C口低4位0=输出1=输入0(特征位) 不用位选择000=C口0位111=C口7位0=复位1=置位表4.1 8255 控制字五、实验步骤1.流水灯实验 图4.2 流水灯实验连线图模块的WR、RD分别连到ISA总线接口模块的IOWR、IORD。模块的数据(AD0AD7)、地址线(A0A7)分别连到ISA总线接口模块的数

19、据(LD0LD7)、地址线(LA0LA7)。8255模块选通线CE连到ISA总线接口模块的0000H。8255的PA0PA7连到发光二极管的L0L7;8255的PB0PB7连到发光二极管的L8L15。运行程序,观察发光二极管。2.交通灯实验 模块的WR、RD分别连到ISA总线接口模块的IOWR、IORD。模块的数据(AD0AD7)、地址线(A0A7)分别连到ISA总线接口模块的数据(LD0LD7)、地址线(LA0LA7)。8255模块选通线CE连到ISA总线接口模块的0000H。8255的PA0-L7、PA1-L6、PA2-L5、PA3-L3、PA4-L2、PA5-L1。运行程序,观察发光二极

20、管。图4.3 交通灯实验连线图六、实验源码1 流水灯MY_STACK SEGMENT PARA STACK DB 100 DUP(?)MY_STACK ENDS;MY_DATA SEGMENT PARA DATAIO_9054base_address DB 4 DUP(0) ;PCI卡9054芯片I/O基地址暂存空间IO_base_address DB 4 DUP(0) ;PCI卡I/O基地址暂存空间pcicardnotfind DB 0DH,0AH,pci card not find or address/interrupt error !,0DH,0AH,$GOOD DB 0DH,0AH,

21、The Program is Executing !,0DH,0AH,$LA DB ?LB DB ?P8255_A DW 0000H P8255_B DW 0001HP8255_C DW 0002HP8255_MODE DW 0003HDELAY_SET EQU 1FFFH MES2 DB PCI CONFIG READ ERROR! $MY_DATA ENDsMY_CODE SEGMENT PARA CODEMY_PROC PROC FAR ASSUME CS:MY_CODE, DS:MY_DATA, SS:MY_STACK START: .386 ;386模式编译 MOV AX,MY_DA

22、TA MOV DS,AX MOV ES,AX MOV AX,MY_STACK MOV SS,AX CALL FINDPCI ;自动查找PCI卡资源及IO口基址 MOV CX,word ptr IO_base_address ; MOV CX,0E800H ;直接加入(E800:本机PCI卡IO口基址) ADD P8255_A,CX ;PCI卡IO基址+偏移 ADD P8255_B,CX ADD P8255_C,CX ADD P8255_MODE,CX MOV DX,P8255_MODE ;8255初始化,三个口全为输出 MOV AL,80H OUT DX,AL MOV DX,P8255_A ;

23、PA口赋初值 MOV AL,7FH OUT DX,AL MOV LA,AL MOV DX,P8255_B ;PB口赋初值 MOV AL,0FEH OUT DX,AL MOV LB,AL CALL DELAY A1: MOV AL,LA ;PA 口数据右移一位 ROR AL,1 MOV LA,AL MOV DX,P8255_A OUT DX,AL MOV AL,LB ROL AL,1 MOV LB,AL MOV DX,P8255_B ;PB口数据右移一位 OUT DX,AL CALL DELAY ;延时 CALL BREAK ;按任意键退出 JMP A1MY_PROC ENDp ;*; /* 延

24、时子程序 */;*;DELAY PROC NEAR ;延时程序 PUSHF PUSH DX PUSH CX MOV DX,DELAY_SETD1: MOV CX,-1D2: DEC CX JNZ D2 DEC DX JNZ D1 POP CX POP DX POPF RETDELAY ENDp; ;*; /* 按任意键退出子程序 */;* ;BREAK PROC NEAR MOV AH,06H MOV DL,0FFH INT 21H JE RETURN MOV AX,4C00H INT 21HRETURN: RETBREAK ENDP;2 交通灯MY_STACK SEGMENT PARA STACK DB 100 DUP(?)MY_STACK ENDSMY_DATA SEGMENT PARA DATAIO_9054base_address DB 4 DUP(0) ;PCI卡9054芯片I/O基地址暂存空间IO_base_address DB 4 DUP(0) ;PCI卡I/O基地址暂存空间pcicardnotfind DB 0DH,0AH,pci card not find or address/interrupt error !,0DH,0AH,$GOOD DB 0DH,0AH,The Program is Executing !,0DH,0AH,

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1