借口技术实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
接口技术实验报告
课程名称:接口技术_____
年级:09 级
专业:计算机科学与技术
姓名:王霞____
学号:0911********
2011-2012 学年第二学期
实验一定时计数器实验(电子琴实验)
一、实验目的
l、进一步掌握定时器编程和应用。
2、了解微机利用定时器产生音乐的基本方法。
二、实验内容
利用实验仪键盘,使数字键1、2、3、4、5、6、7作为电子琴键,按下数字键发出相应的音调,PB0作为定时器门控信号,OUT1发出音频信号,驱动喇叭。
三、实验接线图
略
四、关键代码
START0: mov ax,cs
mov ds,ax
MOV AL,88H
MOV DX,IOCONPT
OUT DX,AL
mov dx,IOBPT
mov al,00
out dx,al ;GA TE置低电平
outtone: mov dx,IOBPT
mov al,0ffh
out dx,al ;GA TE置高电平
;根据KZ从计数初值表取对应值放入AX
mov al,kz
mov ah,00h
dec ax
shl ax,1
mov bx,offset data3
add bx,ax
mov ax,[bx]
call t8253 ;由AX带入计数初值初始化8253
ret
六.改进实验
改进后程序如下:
t8253: push ax
mov al, 0B6h ; 计数器2, 16位二进制,方式3。
mov dx, CONTROL
out dx, al
pop ax
mov dx, COUNT0
out dx, al
mov al, ah
out dx, al
ret
通过改写读键盘的程序使得定时器自动播放音乐,程序如下:
push bx
push ax
mov bx,offset data2
mov al,p
shl al,1
mov ah,0
add bx,ax
mov ax,[bx]
mov kz,al
mov al,p
inc al
mov p,al
pop ax
pop dx
ret
data2: dw 2,2,1,5,6,6,3,4,5,3,3,2,2,1
p db 0
七.实验感悟
通过老师的上课指导了解了怎么将8253初始化,将8253初始化的时候是计数器的选择和读写字节数,工作方式和码制的选择。
我们先选择用了计数器1 16位二进制,方式3 。
之后我们把代码改成计数器2,其他都不变。
老师讲的实验原理大致基本是理解的,但是要用代码编写出来就不容易了,因为汇编课程学习的实在是很差呀,这个就要通过请教别人和老师才能完成,所以以后要多多在去学习一下汇编,练习练习汇编语言。
实验二步进电机控制
一、实验目的
1、了解步进电机的工作原理。
2、掌握8255的编程方法,通过对工作方式的设定,使其能够对步进电机的驱动电路起到控制作用。
二、实验内容
l、用8255的PA0~PA3输出脉冲信号,驱动步进电机转动,通过键盘设定来控制步进电机正转、反转、停止。
2、实验预备知识,步进电机驱动原理是通过对它每相线圈中的电流的顺序切换来使电机作步进式旋转。
驱动电路由脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速,用微电脑控制步进电机最适合。
三、实验接线图(略)
四、关键代码
BEGIN:
MOV AX,CS
MOV DS,AX
MOV DX,303H ;8255A初始化
MOV AL,81H
OUT DX,AL
MOV AL,OFH ;关闭LS373,置PC7=1
OUT DX,AL
MOV CH,144 ;设置正步数
WAIT:
MOV DX,302H ;pc口
IN AL,DX
AND AL,01
JNZ WAIT
MOV DX,303H ;8255命令口
MOV AL,OEH
OUT DX,AL
L1: MOV CL,08 ;
MOV SI,OFFSET PSTB ;正走相序表指针
L2: MOV DX,301H
MOV AL,[SI]
OUT DX,AL
MOV BX,OFFFH ;延时,步进电机走的快慢
DL1: DEC BX
JNZ DL1
INC SI
DEC CH
JZ REW
DEC CL
JNZ L2
JMP L1
REW: MOV CH,96 ;反走步数为96
五、实验的改进方法
L2: MOV DX,301H
MOV AL,[SI]
OUT DX,AL
MOV BX,OFFH ;延时,改变步进电机的延时时间,变走的快些。
DL1: DEC BX
JNZ DL1
六、实验感悟
.本次实验是用8255A做跑马灯的效果,通过实验了解了怎样将8255进行初始化。
并且还了解了8255A的工作方式,一共有三种,分别为0方式,1方式,2方式。
通过本次实验使我更加了解8255的编程原理,和基本控制字的设计方法。
老师一开始就会将实验的原理和大体步骤将很清楚了,所以还是老问题,就是编写代码的时候老是会有各种各样的错误。
但是相对之前的实验就要轻松一点,对汇编熟悉了一点,希望以后多多提高汇编!
实验三8251可编程通讯接口与PC机通讯
一、实验目的
利用实验机内的8251芯片,实现与PC机通讯。
二、实验内容
(1)利用实验机内的8253芯片的分频作为8251的收发时钟频率。
(2)利用实验机内小键盘,每按动一次任一数字键,就把该键值通过8251发送给PC 机接收,并在PC机屏幕上显示出该键值。
(3)思考:将首发波特率改为1200b/s
三、实验接线图
略
四、关键代码
for8251: all t8253 ;初始化8251
mov dx,SECOPORT
mov al,65h
out dx,al
mov al,25h
out dx,al
mov al,65h
out dx,al
mov al,4eh ;设置8251的命令字1停止位,无校验,8数据位,16因子
out dx,al
mov al,25h ;设置8251的状态字发送请求,发中止字符,发送允许
out dx,al
ret
T8253: MOV DX,43H ;初始化8255并且设置首发波特率改为9600b/s MOV AL,76H ;设置8253的工作方式计数器1, 16位二进制,方式3。
out dx,al
MOV DX,41H;装入初值
MOV AL,0CH
out dx,al
MOV DX,41H
MOV AL,00H
out dx,al
RET
WA TTXD: MOV DX,SECOPORT ;8251的状态口
IN AL,DX ;读工作状态
TEST AL,01H ;发送是否准备好
JZ WA TTXD
五实验的改进方法
T8253: MOV DX,96H ;初始化8255并且设置首发波特率改为1200b/s
MOV AL, 0B6h ; 计数器2, 16位二进制,方式3。
out dx,al
MOV DX,41H ;装入初值
MOV AL,0CH
out dx,al
MOV DX,41H
MOV AL,00H
out dx,al
RET
六、实验体会
通过本次实验明白了8251是利用经行可编程通讯接口与PC机通讯经行专递信息的。
了解了如何将8251和8255进行初始化。
并且还了解和掌握了8255A的工作方式,一共有三种,分别为0方式,1方式,2方式。
8251A在设置初值的时候,要考虑到8251的方式命令和工作命令,还有它的状态字。
8251在通信方式是也可以选择同步通信和异步通信。
这个实验对本人来说还是有一定的难度,因为要了解和理解的原理相对前面的几次试验要多一些,写的代码也要多一点,所以花费了很长的时间,不过最终的收获还是很多的!熟能生巧,还是能够继续看看汇编,对于做接口技术实验有很大的帮助。