8251可编程串行通讯实验
来源:网络收集 点击: 时间:2024-08-03一、实验要求
编写程序,以实现实验机与PC机之间的串行通讯。
下图是实验的原理图:

二、实验目的
1.学习用8251实验串行通讯的编程方法。
2.进一步学习8088与PC机的通讯方法。
3/6三、实验电路连线
cs53接200-207,out1分别接TXCLK和RXCLK,CLK1接1M的频率,GATE1接+5V;8251的CS51接208-20F,CLK接1M的频率,RXD接通信接口的RXI,TXD接通信接口的TDX,用九孔对九孔的串口线将通信接口的J14和PC机的串口连接起来。

四、实验说明
由8253通道1分频提供8251TXCLK和RXCLK所需的频率,用串口调试助手接收从8251发送的数据。
操作步骤:首先用串口线把PC机和实验箱连接起来,各实验连线连接完毕,打开程序,编译连接运行后,打开串口调试助手设置好串口,波特率设为1200,在发送区输入数据可在接收区显示出来。
5/6注:串口调试助手的原理就是从发送区发送数据通过串口输出,接收区是接收从串口送来的数据并显示在接收区。
6/6实验程序如下:
stacksegmentstack
stackends
datasegment
dataends
codesegment
assumecs:code,ds:data,ss:stack
start:PUSHCS
POPDS
movdx,203h;设置8253计数1工作方式3
moval,56h
outdx,al
movdx,201h
moval,52;给8253计数器1送初值
outdx,al
movdx,209h;初始化8251
xoral,al
movcx,03;向8251控制端口送3个0
delay:callout1
loopdelay
moval,40h;向8251控制端口送40H,使其复位
callout1
moval,4eh;设置为1个停止位,8个数据位,波特率因子为16
callout1
moval,27h;向8251送控制字允许其发送和接收
callout1
next:movdx,209h
inal,dx
testal,02;检查接收是否准备好
jznext;没有,等待
movdx,208h
inal,dx;准备好,接收
pushax
movcx,40h
s51:loops51;延时
waiti:movdx,209h
inal,dx
testal,01;发送是否准备好
jzwaiti
movdx,208h
popax
outdx,al
jmpnext
out1procnear;向外发送一字节的子程序
outdx,al
pushcx
movcx,400h
gg:loopgg;延时
popcx
ret
out1endp
codeends
endstart
可编程串行版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_1055523.html