8251可编程串行通讯实验

2025-09-29 06:24:34

1、一、实验要求

编写程序,以实现实验机与PC机之间的串行通讯。

下图是实验的原理图:

8251可编程串行通讯实验

2、二、实验目的

1.学习用8251实验串行通讯的编程方法。

2.进一步学习8088与PC机的通讯方法。

3、三、实验电路连线

    cs53接200-207,out1分别接TXCLK和RXCLK,CLK1接1M的频率,GATE1接+5V;8251的CS51接208-20F,CLK接1M的频率,RXD接通信接口的RXI,TXD接通信接口的TDX,用九孔对九孔的串口线将通信接口的J14和PC机的串口连接起来。

8251可编程串行通讯实验

4、四、实验说明

    由8253通道1分频提供8251TXCLK和RXCLK所需的频率,用串口调试助手接收从8251发送的数据。

操作步骤:首先用串口线把PC机和实验箱连接起来,各实验连线连接完毕,打开程序,编译连接运行后,打开串口调试助手设置好串口,波特率设为1200,在发送区输入数据可在接收区显示出来。

5、注:串口调试助手的原理就是从发送区发送数据通过串口输出,接收区是接收从串口送来的数据并显示在接收区。

6、实验程序如下:

stack segment stack

stack ends

data segment

data ends

code segment

   assume cs:code,ds:data,ss:stack

start: PUSH CS

        POP DS 

  mov dx,203h       ;设置8253计数1工作方式3

  mov al,56h

  out dx,al

  mov dx,201h

  mov al,52         ;给8253计数器1送初值

  out dx,al

  mov dx,209h       ;初始化8251

  xor al,al

  mov cx,03         ;向8251控制端口送3个0

delay:     call out1

  loop delay

  mov al,40h        ;向8251控制端口送40H,使其复位

  call out1

  mov al,4eh        ;设置为1个停止位,8个数据位,波特率因子为16

  call out1

  mov al,27h        ;向8251送控制字允许其发送和接收

  call out1

  

next:   mov dx,209h

 in al,dx

 test al,02           ;检查接收是否准备好

 jz next              ;没有,等待

 mov dx,208h

 in al,dx             ;准备好,接收 

 push ax          

 mov cx,40h

s51:    loop s51          ;延时

waiti:   mov dx,209h

 in al,dx

 test al,01            ;发送是否准备好

 jz  waiti

 mov dx,208h

 pop ax

 out dx,al   

 jmp next

out1  proc   near       ;向外发送一字节的子程序

  out  dx,al

  push cx

          mov  cx,400h

gg:       loop gg           ;延时

  pop  cx

  ret

out1        endp

code ends

 end start

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢