北邮.微机原理硬件实验报告 下载本文

可编辑版

MOV BX,OFFSET DIGITAL ;数码管显示音符 ADD BX,CX MOV AL,[BX]

MOV DX,288H ;A口输出 OUT DX,AL

MOV BX,OFFSET FENPIN ;播放该音符 MOV AX,CX ADD AX,AX ADD BX,AX

MOV AX,[BX] ;计数,先低八位后高八位 MOV DX,280H OUT DX,AL MOV AL,AH OUT DX,AL

CALL DELAY1 CALL DELAY1

MOV DX,28AH ;C口输入 IN AL,DX ;检测键盘是否弹起 MOV AH,AL LOOP2: CALL DELAY IN AL,DX CMP AL,AH JZ LOOP2

;初始化8253,停止播放音乐 MOV AX,0H MOV DX,283H MOV AL,36H

OUT DX,AL

JMP LOOP1

PLAY0: MOV CX,01H ;播放音乐 PLAY: PUSH CX

MOV BX,OFFSET MUSIC ;读取音符,存于CX中 ADD BX,CX MOV AL,[BX] MOV CL,AL MOV CH,0H

MOV BX,OFFSET DIGITAL ;数码管显示 ADD BX,CX MOV AL,[BX] MOV DX,288H OUT DX,AL

Word完美格式

可编辑版

MOV BX,OFFSET FENPIN ;播放该乐符 MOV AX,CX ADD AX,AX ADD BX,AX

MOV AX,[BX] ;计数,先低八位后高八位 MOV DX,280H OUT DX,AL MOV AL,AH OUT DX,AL POP CX MOV AX,90H

LOOP3: CALL DELAY1 ;延时,持续播放 DEC AX

JNZ LOOP3

;乐曲未结束时,CX加1 INC CX

CMP CX,28H ;共40个音符 JNZ JUM JMP LOOP1 JUM: JMP PLAY

EXIT: MOV AL,0 MOV DX,288H OUT DX,AL MOV AX,4C00H INT 21H

CODE ENDS END START

五、实验结果

按小键盘的0时,播放预置音乐同时数码管显示相应的音符;按小键盘的1~8时,分别发出do,re,mi,fa,so,la,si,高音do,数码管显示按下的音符;按小键盘的9时,熄灭数码管,回到dos键 。 六、实验总结

8253计数初值、输入频率和输出频率的关系是本实验重点。

输出频率 = 输入频率 / 8253计数初值,由此可以确定不同音阶的计数初值。

七、 实验收获与心得体会

通过本次实验,同时练习了并口通信和计数器的应用。8255作为并行接口可以完成CPU和键盘和数码管的通信,数据由CPU送入8255相应端口,再由8255送入与端口相连的外设。8253主要作为计时器产生制定频率的方波信号,驱动喇叭发出不同频率的声音。基本掌握了8253的使用方法,对8253的工作方式及初始化过程有了进一步的理解。

Word完美格式

可编辑版

实验十六 串行通讯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

扩展:双机通信,将发送端用小键盘发送数据,接收端用数码管显示接收的数据。

连线:将发送端的TXD与接收端的RXD,将发送端的RXD与接收端的TXD,(即交叉连接),并将两台接口板的地连在一起。其余与上面连线相同。

Word完美格式

可编辑版

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

1、硬件接线图

2.软件流程图

Word完美格式

可编辑版

N TxRDY为1吗 从8251控制口读状态字 初始化8251 初始化8253 开始 显示提示 Y Y 是ESC吗 从键盘接收字符 N 是ESC吗 将键入字符ASC码加1 通过8251数据端口发送字符 从8251控制端口读入状态字 N DxRDY为1吗 Y 从8251数据口接收数据 Word完美格式