北京邮电大学微机原理与接口技术硬件实验报告.docx

上传人:b****1 文档编号:1666402 上传时间:2023-05-01 格式:DOCX 页数:29 大小:717.49KB
下载 相关 举报
北京邮电大学微机原理与接口技术硬件实验报告.docx_第1页
第1页 / 共29页
北京邮电大学微机原理与接口技术硬件实验报告.docx_第2页
第2页 / 共29页
北京邮电大学微机原理与接口技术硬件实验报告.docx_第3页
第3页 / 共29页
北京邮电大学微机原理与接口技术硬件实验报告.docx_第4页
第4页 / 共29页
北京邮电大学微机原理与接口技术硬件实验报告.docx_第5页
第5页 / 共29页
北京邮电大学微机原理与接口技术硬件实验报告.docx_第6页
第6页 / 共29页
北京邮电大学微机原理与接口技术硬件实验报告.docx_第7页
第7页 / 共29页
北京邮电大学微机原理与接口技术硬件实验报告.docx_第8页
第8页 / 共29页
北京邮电大学微机原理与接口技术硬件实验报告.docx_第9页
第9页 / 共29页
北京邮电大学微机原理与接口技术硬件实验报告.docx_第10页
第10页 / 共29页
北京邮电大学微机原理与接口技术硬件实验报告.docx_第11页
第11页 / 共29页
北京邮电大学微机原理与接口技术硬件实验报告.docx_第12页
第12页 / 共29页
北京邮电大学微机原理与接口技术硬件实验报告.docx_第13页
第13页 / 共29页
北京邮电大学微机原理与接口技术硬件实验报告.docx_第14页
第14页 / 共29页
北京邮电大学微机原理与接口技术硬件实验报告.docx_第15页
第15页 / 共29页
北京邮电大学微机原理与接口技术硬件实验报告.docx_第16页
第16页 / 共29页
北京邮电大学微机原理与接口技术硬件实验报告.docx_第17页
第17页 / 共29页
北京邮电大学微机原理与接口技术硬件实验报告.docx_第18页
第18页 / 共29页
北京邮电大学微机原理与接口技术硬件实验报告.docx_第19页
第19页 / 共29页
北京邮电大学微机原理与接口技术硬件实验报告.docx_第20页
第20页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

北京邮电大学微机原理与接口技术硬件实验报告.docx

《北京邮电大学微机原理与接口技术硬件实验报告.docx》由会员分享,可在线阅读,更多相关《北京邮电大学微机原理与接口技术硬件实验报告.docx(29页珍藏版)》请在冰点文库上搜索。

北京邮电大学微机原理与接口技术硬件实验报告.docx

北京邮电大学微机原理与接口技术硬件实验报告

信息与通信工程学院

微机原理与接口技术硬件实验报告

 

班级:

姓名:

学号:

序号:

日期:

2015-10-30——2015-12-26

实验一I/O地址译码

一、实验目的

掌握I/O地址译码电路的工作原理。

二、实验原理及内容

1、实验电路如图1-1所示,其中74LS74为D触发器,可直接使用实验台上数字电路实验区的D触发器,74LS138为地址译码器。

译码输出端Y0~Y7在实验台上“I/O地址“输出端引出,每个输出端包含8个地址,Y0:

280H~287H,Y1:

288H~28FH,……当CPU执行I/O指令且地址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。

例如:

执行下面两条指令

MOVDX,2A0H

OUTDX,AL(或INAL,DX)

Y4输出一个负脉冲,执行下面两条指令

MOVDX,2A8H

OUTDX,AL(或INAL,DX)

Y5输出一个负脉冲。

利用这个负脉冲控制L7闪烁发光(亮、灭、亮、灭、……),时间间隔通过软件延时实现。

2、接线:

Y4/IO地址接CLK/D触发器

Y5/IO地址接CD/D触发器

D/D触发器接SD/D角发器接+5V

Q/D触发器接L7(LED灯)或逻辑笔

三、硬件接线图与软件程序流程图

硬件连接图如下:

程序流程图如下:

四、源程序

CODESEGMENT

ASSUMECS:

CODE;定义代码段

START:

MOVDX,2A0H;选通Y4

OUTDX,AL

CALLDELAY;延时

MOVDX,2A8H;选通Y5

OUTDX,AL

CALLDELAY;延时

MOVAH,1H

INT16H;01号功能调用,从键盘接收按键

JZSTART;无键按下,返回START

MOVAH,4CH;有键按下,返回DOS系统

INT21H

DELAYPROCNEAR;延时子程序,循环系数为100

MOVBX,100

LOOP1:

MOVCX,0

LOOP2:

LOOPLOOP2

DECBX

JNZLOOP1

RET

DELAYENDP

CODEENDS

ENDSTART

五、实验结果

按下键盘时L7闪烁发光,交替亮灭。

六、实验总结

实验一开始时不理解怎样选通Y4和Y5的地址,对整个接口电路分析后才明白了译码电路真正的原理。

七、实验收获与心得体会

本次实验主要了解了端口的输出,D触发器作为一个外部端口实现了向D触发器内写值并正确输出,控制灯泡亮灭,实现了译码功能。

对I/O接口有了更深的理解,对以后的实验很有帮助。

这次实验是第一次用汇编语言来让硬件实现功能,和之前学过的C++有很大的区别,也让我进一步看到了他们的不同之处。

 

实验二简单并行接口

一、实验目的

掌握简单并行接口的工作原理及使用方法。

二、实验原理及内容

1、按下面图4-2-1简单并行输出接口电路图连接线路(74LS273插通用插座,74LS32用实验台上的“或门”)。

74LS273为八D触发器,8个D输入端分别接数据总线D0~D7,8个Q输出端接LED显示电路L0~L7。

2、编程从键盘输入一个字符或数字,将其ASCⅡ码通过这个输出接口输出,根据8个发光二极管发光情况验证正确性。

3、按下面图4-2-2简单并行输入接口电路图连接电路(74LS244插通用插座,74LS32用实验台上的“或门”)。

74LS244为八缓冲器,8个数据输入端分别接逻辑电平开关输出K0~K7,8个数据输出端分别接数据总线D0~D7。

4、用逻辑电平开关预置某个字母的ASCⅡ码,编程输入这个ASCⅡ码,并将其对应字母在屏幕上显示出来。

5、接线:

1)输出

按图4-2-1接线(图中虚线为实验所需接线,74LS32为实验台逻辑或门)

2)输入

按图4-2-2接线(图中虚线为实验所需接线,74LS32为实验台逻辑或门)

三、硬件接线图与软件程序流程图

硬件连接图如下:

图4-2-1图4-2-2

程序流程图如下:

四、源程序

CODESEGMENT;定义代码段

ASSUMECS:

CODE

START:

MOVAH,1

INT21H;从键盘检测输入

CMPAL,00011011B

JZEXIT

MOVDX,2A8H;送出ASCII码

OUTDX,AL

MOVDX,2A0H;读入ASCII码

INAL,DX

MOVDL,AL

MOVAH,02H;屏幕显示ASCII码

INT21H

JMPSTART;循环检测

EXIT:

MOVAX,4C00H;返回DOS

INT21H

CODEENDS

ENDSTART

五、实验结果

从键盘输入字符或数字,若不是Esc键,则二极管显示其ASCII码情况,若按下ESC,则返回dos,且各LED灯灭。

六、实验总结

实验一开始不太明白如何把输入的字符通过二极管显示出来,后来参考了实验一的译码输出,理解了实验原理。

七、实验收获与心得体会

这次实验是对I/O接口译码电路的运用,进一步熟悉了译码电路、键盘输入检测等功能的运用,让我很好的明白了CPU的地址总线与外部接口是如何工作,也进一步了解了硬件实验,希望在以后的实验中有更多的收获。

实验四七段数码管

一、实验目的

掌握数码管显示数字的原理

二、实验原理及内容

1、静态显示:

按4-4-1连接好电路,将8255的A口PA0~PA7分别与七段数码管的段码驱动输入端a~dp相连,位码驱动输入端S0、S1、S2、S3接PC0、PC1、PC2、PC3,编程在数码管显示自己的学号的后四位。

(或编程在数码管上循环显示“00-99”,位码驱动输入端S0、S1接PC0、PC1;S2、S3接地。

2、接线:

PA7~PA0/8255接dp~a/LED数码管

PC3~PC0/8255接S3~S0/LED数码管

CS/8255接Y1/IO地址

三、硬件接线图与软件程序流程图

硬件连接图如下:

程序流程图如下:

四、源程序

DATASEGMENT;定义代码段

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVDX,28BH;控制口地址

MOVAL,80H;控制字10000000设定工作方式0,所有口都置为输出

OUTDX,AL

LOP1:

MOVDX,288H;A口地址

MOVAL,3fH;段选写0

OUTDX,AL

MOVDX,28AH;位选第4个LED,C口地址

MOVAL,08H

OUTDX,AL

MOVDX,28AH;熄灭数码管

MOVAL,0

OUTDX,AL

MOVDX,288H;段选写3

MOVAL,4fH

OUTDX,AL

MOVDX,28AH;位选第3个LED

MOVAL,04H

OUTDX,AL

MOVDX,28AH;熄灭数码管

MOVAL,0

OUTDX,AL

MOVDX,288H;段选写0

MOVAL,3fH

OUTDX,AL

MOVDX,28AH;位选第2个LED

MOVAL,02H

OUTDX,AL

MOVDX,28AH;熄灭数码管

MOVAL,0

OUTDX,AL

MOVDX,288H;段选写0

MOVAL,3fH

OUTDX,AL

MOVDX,28AH;位选第1个LED

MOVAL,01H

OUTDX,AL

MOVDX,28AH;熄灭数码管

MOVAL,0

OUTDX,AL

MOVAH,01H

INT16H

JNZEXIT;有键输入则退出

JMPLOP1

EXIT:

MOVAX,4C00H;返回DOS

INT21H

CODEENDS

ENDSTART

 

五、实验结果

结果显示了学号的后四位0300,如下如所示:

当有键盘输入时,返回DOS系统。

六、实验总结

本次实验用了8255并行接口芯片,采用方式0,所有口都用输出模式,A口为段选,控制输出的数据,C口为位选,控制不同的位不断扫描、交替亮灭。

七、实验收获与心得体会

这次实验在前两次实验的基础上,用到了并行接口芯片和数码管,在数码管上显示数据,在8255工作在方式0时,用两个输出端口,控制数码管工作,数码管在之前数电实验的基础上比较好理解,这次实验较之前的实验更有难度,不过学到了很多知识,由于理论还没有讲到8255,实验有一定难度,不过对理论课也有一定的帮助。

实验八可编程定时器/计数器(8253/8254)

一、实验目的

学习掌握8253用作定时器的编程原理;

二、实验原理及内容

1.8253初始化

使用8253前,要进行初始化编程。

初始化编程的步骤是:

①向控制寄存器端口写入控制字对使用的计数器规定其使用方式等。

②向使用的计数器端口写入计数初值。

2.8253控制字

D7D6=00:

使用0号计数器,D7D6=01:

使用1号计数器

D7D6=10:

使用2号计数器,D7D6=11:

无效

D5D4=00:

锁存当前计数值

D5D4=01:

只写低8位(高8位为0),读出时只读低8位

D5D4=10:

只写高8位(低8位为0),读出时只读高8位

D5D4=11:

先读/写低8位,后读/写高8位计数值

D3D2D1=000:

选择方式0,D3D2D1=001:

选择方式1

D3D2D1=X10:

选择方式2,D3D2D1=X11:

选择方式3

D3D2D1=100:

选择方式4,D3D2D1=101:

选择方式5

D0=0:

计数初值为二进制,D0=1:

计数初值为BCD码数

3.实验内容

完成一个音乐发生器,通过喇叭或蜂鸣器放出音乐,并在数码管上显示乐谱。

利用小键盘实现弹琴功能,并显示弹奏的乐谱。

三、硬件接线图与软件程序流程图

接线图如下:

CS/8253接Y0/IO地址

GATE0/8253接+5V

CLK0/8253接1M时钟

OUT0/8253接喇叭或蜂鸣器

程序流程图如下:

四、源程序

DATASEGMENT

FENPINDW0001H,3906,3472,3125,2932,2604,2344,2083,1953;分频比

DIGITALDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH;数码管

MUSICDB5,3,5,3,5,3,1,1,2,4,3,2,5,5,5,5,5,3,5,3,5,3,1,1,2,4,3,2,1,1,1,1,2,2,4,4,3,1,5,5;存放播放的乐曲音符

NUMDB00H,070H,0B0H,0D0H,0E0H;检测键盘输入

DATAENDS

STACKSEGMENTSTACK'STACK'

DB100DUP(?

STACKENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

STACK

;延时子程序

DELAYPROCNEAR

PUSHCX

MOVCX,100H

WAIT0:

LOOPWAIT0

POPCX

RET

DELAYENDP

;延时子程序2

DELAY1PROCNEAR

PUSHCX

MOVCX,0FFFFH

WAIT1:

LOOPWAIT1

POPCX

RET

DELAY1ENDP

;获取键盘输入值的子程序

KEYPROCNEAR

PUSHAX;保护现场

PUSHCX

PUSHDX

MOVCX,01H

CHECK:

MOVDX,28AH;C口地址给DX

MOVBX,OFFSETNUM

ADDBX,CX

MOVAL,[BX]

OUTDX,AL

;防抖

INAL,DX;判断是否有键盘按下

MOVAH,AL

CALLDELAY

INAL,DX

CMPAL,AH

JNZCHECK;不相等说明为抖动,重新检测

;判断按下的列

ANDAL,0FH

CMPAL,0FH

JZNEXT

CMPAL,0EH

JZNEXT1

CMPAL,0DH

JZNEXT2

CMPAL,0BH

JZNEXT3

MOVBX,01H

JMPGOT

NEXT:

INCCX;修改变量扫描下一行

CMPCX,05H

JNZJUMP1

MOVCX,01H

JUMP1:

JMPCHECK

NEXT1:

MOVBX,04H

JMPGOT

NEXT2:

MOVBX,03H

JMPGOT

NEXT3:

MOVBX,02H

;计算按下键盘的数值

GOT:

SUBCX,01H

MOVAL,CL

MOVDL,04H

MULDL

ADDBL,AL

SUBBL,01H;此时BX中所存即为对应的偏移量

POPDX;恢复现场

POPCX

POPAX

RET

KEYENDP

;主程序

START:

MOVAX,DATA

MOVDS,AX

;8253初始化

MOVDX,283H

MOVAL,36H控制字为00110110,选计数器0,先读低字节再读高字节,选用工作方式3

OUTDX,AL

;8255初始化

MOVDX,28BH

MOVAL,81H;C口输入(10000001)

OUTDX,AL

MOVDX,289H;B口位选数码管

MOVAL,01H

OUTDX,AL

;扫描键盘

LOOP1:

CALLKEY

CMPBX,0;按0播放音乐

JZPLAY0

CMPBX,9;按9退出

JZEXIT

;按1~8发出对应音

MOVCX,BX

MOVBX,OFFSETDIGITAL;数码管显示音符

ADDBX,CX

MOVAL,[BX]

MOVDX,288H;A口输出

OUTDX,AL

;播放该音符

MOVBX,OFFSETFENPIN

MOVAX,CX

ADDAX,AX

ADDBX,AX

;计数,先低八位后高八位

MOVAX,[BX]

MOVDX,280H

OUTDX,AL

MOVAL,AH

OUTDX,AL

CALLDELAY1

CALLDELAY1

MOVDX,28AH;C口输入

INAL,DX

;检测键盘是否弹起

MOVAH,AL

LOOP2:

CALLDELAY

INAL,DX

CMPAL,AH

JZLOOP2

;初始化8253,停止播放音乐

MOVAX,0H

MOVDX,283H

MOVAL,36H

OUTDX,AL

JMPLOOP1

;播放音乐

PLAY0:

MOVCX,01H

PLAY:

PUSHCX

;读取音符,存于CX中

MOVBX,OFFSETMUSIC

ADDBX,CX

MOVAL,[BX]

MOVCL,AL

MOVCH,0H

;数码管显示

MOVBX,OFFSETDIGITAL

ADDBX,CX

MOVAL,[BX]

MOVDX,288H

OUTDX,AL

;播放该乐符

MOVBX,OFFSETFENPIN

MOVAX,CX

ADDAX,AX

ADDBX,AX

;计数,先低八位后高八位

MOVAX,[BX]

MOVDX,280H

OUTDX,AL

MOVAL,AH

OUTDX,AL

POPCX

;延时,持续播放

MOVAX,90H

LOOP3:

CALLDELAY1

DECAX

JNZLOOP3

;乐曲未结束时,CX加1

INCCX

CMPCX,28H;共40个音符

JNZJUM

JMPLOOP1

JUM:

JMPPLAY

EXIT:

MOVAL,0

MOVDX,288H

OUTDX,AL

MOVAX,4C00H

INT21H

CODEENDS

ENDSTART

五、实验结果

按下键盘0,播放歌曲“粉刷匠”,数码管显示相应的音符;按下小键盘的1——8,喇叭播放所对应的音符,数码管显示按下的音符;按下键盘的9时,数码管熄灭,返回DOS系统。

六、实验总结与思考题

实验主要用了8253计数器,其工作在方式3下,作为方波发生器,产生不同音符的不同频率的方波。

根据音符频率和1M的时钟确定输入频率,检测键盘的输入,判断输入的字符,8253产生相应的频率,喇叭播放音符,数码管输出按下的音符。

实验的难点在于怎样判断键盘的输入。

思考题:

写出8253计数初值,输入频率和输出频率的关系:

答:

输出频率=输入频率/8253计数初值

七、实验收获与心得体会

这次实验较之前的实验难度较大,用到了8255、8253、数码管,是个相对来说系统点的实验,这也使得代码在实现起来比较多而复杂。

一开始实验时不理解8255计数器的工作原理,对音符如何通过喇叭显示出来也不明白,在弄清楚了他们的原理和相互之间的联系之后,才慢慢理解。

实验的内容要求编一小段音乐,虽然实验很难,但是也增加了我们对实验的兴趣。

实验十六串行通讯8251

一、实验目的

1、了解串行通讯的基本原理。

2、掌握串行接口芯片8251的工作原理和编程方法。

二、实验原理及内容

1、按下图连接好电路,(8251插通用插座)其中8254计数器用于产生8251的发送和接收时钟,TXD和RXD连在一起。

2、编程:

从键盘输入一个字符,将其ASCII码加1后发送出去,再接收回来在屏幕上显示,(或将内存制定区域内存放的一批数据通过8251A的TXD发送出去,然后从RXD接收回来,并在屏幕上或数码管上显示出来。

)实现自发自收。

3、接线:

CLK0/8254接1M时钟

GATE0/8254接+5V

0UT0/8254接TX/RXCLK/8251

CS/8254接Y0/IO地址

CS/8251接Y7/IO地址

RXD/8251接TXD/8251

三、硬件接线图与软件程序流程图

硬件接线图如下:

程序流程图如下:

四、源程序

DATASEGMENT;定义数据段

STRINGDB'SEND','$';定义字符串

STRING1DB'RECEIVE','$'

STRING2DB0DH,0AH,'$'

DATAENDS

STACKSEGMENTSTACK'SATCK';定义堆栈段

DB100DUP(?

STACKENDS

CODESEGMENT;定义代码段

ASSUMECS:

CODE,DS:

DATA,SS:

STACK

;延时子程序

DELAYPROCNEAR

PUSHCX

MOVCX,100H

WAIT0:

LOOPWAIT0

POPCX

RET

DELAYENDP

START:

MOVAX,DATA

MOVDS,AX

;8254初始化

MOVDX,283H

MOVAL,16H;(00010110)计数器0,只读低字节,方式3,二进制

OUTDX,AL

CALLDELAY

MOVDX,280H;计数器0,初值为52

MOVAL,34H;初值52

OUTDX,AL

CALLDELAY

;8251初始化

MOVDX,2B9H;控制端口地址

MOVAL,40H;(01000000)内部复位命令

OUTDX,AL

NOP

CALLDELAY

MOVAL,5E;(01011110)方式控制字:

波特率因子为16,一位停止位,一位奇校验的异步方式

OUTDX,AL

MOVAL,37H;(00110111)命令控制字

OUTDX,AL

CALLDELAY

;发送数据

GOON:

MOVDX,2B9H;读状态字

INAL,DX

TESTAL,01H;检测是否可以发送字符

JZGOON

;显示提示语句

MOVAH,09H

MOVDX,OFFSETSTRING

INT21H

MOVAH,01H

INT21H

;检测是否为ESC键

CMPAL,1BH

JZEXIT

INCAL;加1

MOVDX,2B8H;访问数据寄存器

OUTDX,AL

;接收数据

RECEIVE:

MOVDX,2B9H;读状态字

INAL,DX

TESTAL,02H;检测是否收到新数据

JZRECEIVE

;显示提示语句

MOVAH,09H

MOVDX,OFFSETSTRING2

INT21H

MOVAH,09H

MOVDX,OFFSETSTRING1

INT21H

MOVDX,2B8H

INAL,DX

MOVDL,AL

MOVAH,02H;显示接收的数据

INT21H

MOVAH,09H

MOVDX,OFFSETSTRING2

INT21H

JMPGOON;不断的发送读写

EXIT:

MOVAX,4C00H;返回DOS

INT21H

CODEENDS

ENDSTART

 

五、实验结果

实验结果如上图所示,输出字符为输入字符的下一个,可以连续的发送接收,按下Esc健时,返回DOS。

六、实验总结与思考题

实验用到了串行通信接口芯片8251A,采用异步方式,确定了方式控制字。

8254计数器的计数初值=时钟频率/(波特率×波特率因子),这里的时钟频率接1MHz,波特率若选1200,波特率因子若选16,则计数器初值为52。

实验的难点在于发送和接收,当TxRDY为高电平时发送缓存区空,此时可以写入数据,8251A与01进行与运算,若结果为1表示可以发送数据;当R

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 管理学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2