[芯片] 4、接口技术·实验四·串行接口8251A

简介:


 

 

目录

一、实验目的和要求... 2

二、实验原理与背景... 3

三、实验具体的内容... 3

四、实验的代码说明... 4

五、实验结果的分析... 6

附录资料


 

一、实验目的和要求

学会8251芯片和微机接口原理和方法。

掌握8251串口芯片的基本工作原理、工作方式和编程原理。

 

二、实验原理与背景

TPC-USB平台上有一块8251A串行接口芯片,除了片选引脚,其他信号都已接好。

 

三、实验具体的内容

从键盘输入一个字符,将其ASCII码加 1 后串行发送出去,再从串行口接收回来在屏幕上显示,实现自发自收。收发均采用查询方式。

步骤如下:

1)按图3.1连接好电路,(8251插在通用插座上)。其中8253计数器用于产生8251的发送和接收时钟,TxD和RxD连在一起。图示电路8251的控制口地址为2B9H,数据口地址为2B8H。2、8253计数器的计数初值=时钟频率/(波特率×波特率因子),这里的时钟频率接1MHz,波特率若选1200,波特率因子若选16,则计数器初值为52。

 

            图3.1  TPC-USB平台串行实验连接 

 

    2)根据流程图3.2,编程并运行,观察实验结果。 

        图3.2  TPC-USB平台串行实验流程

 

四、实验的代码说明

复制代码
 1 data segment
 2  mes1 db 'you can play a key on the keybord!',0dh,0ah,24h
 3  mes2 dd  mes1
 4 data ends
 5 code segment
 6    assume cs:code,ds:data
 7 start:      mov ax,data
 8       mov ds,ax
 9       mov dx,283h       ;设置8253计数器0工作方式3
10       mov al,16h
11       out dx,al
12       
13       mov dx,280h
14       mov al,52         ;给8253计数器0送初值
15       out dx,al
16      
17       mov dx,2b9H       ;初始化8251
18       xor al,al
19       mov cx,03         ;向8251控制端口送3个0  预处理
20  delay:     call out1        ;连续发送3个0
21       loop delay
22       mov al,40h        ;向8251控制端口送40H,使其复位
23       call out1
24       mov al,4eh        ;设置为1个停止位,8个数据位,波特率因子为16
25       call out1
26       mov al,27h        ;向8251送控制字允许其发送和接收
27      call out1
28       lds dx,mes2       ;显示提示信息
29       mov ah,09
30       int 21h
31 waiti:   mov dx,2b9H
32 
33      in al,dx
34      test al,01         ;发送是否准备好
35      jz waiti
36      mov ah,01          ;是,从键盘上读一字符
37      int 21h
38      cmp al,27          ;若为ESC,结束
39      jz exit
40      
41      mov dx,2B8H
42      inc al
43      mov dl,al
44      mov ah,02h
45      int 21h
46      out dx,al          ;发送
47      mov cx,40h
48 s51:       loop s51     ;延时
49 next:  mov dx,2B9H
50      in al,dx
51      test al,02         ;检查接收是否准备好
52      jz next            ;没有,等待
53      mov dx,2B8h
54      in al,dx           ;准备好,接收
55      mov dl,al
56      mov ah,02          ;将接收到的字符显示在屏幕上
57      int 21h
58      jmp waiti
59 exit:      mov ah,4ch   ;退出
60      int 21h
61 out1 proc near          ;向外发送一字节的子程序
62       out  dx,al
63       push cx
64       mov  cx,40h
65 gg:       loop gg       ;延时
66       pop  cx
67       ret
68 out1 endp
69 code ends
70 end start
复制代码

 

五、实验结果的分析

从键盘输入一个字符,将其ASCII码加 1 后串行发送出去,再从串行口接收回来在屏幕上显示,实现了自发自收。

 

附录资料

 

 

本文链接:http://www.cnblogs.com/zjutlitao/p/4181380.html

更多精彩:http://www.cnblogs.com/zjutlitao/p/4125085.html

文档下载:http://pan.baidu.com/s/1eQcS7Nc



本文转自beautifulzzzz博客园博客,原文链接:http://www.cnblogs.com/zjutlitao/p/4181380.html,如需转载请自行联系原作者

相关文章
|
XML Java 测试技术
通义灵码与githubcopilot的对比评测
本文评测了通义灵码,与github copilot在一些代码编写能力上面的能力比较。 虽然github copilot要强很多,但灵码目前的能力也不算很弱,并且在一些小类上会做的更好一些。 值得试试看,也是免费的
59652 10
|
网络协议 网络架构
计算机网络实验(华为eNSP模拟器)——第八章 动态主机配置协议(DHCP)
计算机网络实验(华为eNSP模拟器)——第八章 动态主机配置协议(DHCP)
计算机网络实验(华为eNSP模拟器)——第八章 动态主机配置协议(DHCP)
|
7月前
|
弹性计算 应用服务中间件 网络安全
企业网站建设实战:PageAdmin定制开发 + 阿里云服务器部署
分享PageAdmin+阿里云ECS的企业建站实战经验,从选型到部署全流程解析,99元/年低成本方案,适合中小企业快速搭建高性价比官网。
471 4
|
存储 人工智能 算法
构建AI智能体:十五、超越关键词搜索:向量数据库如何解锁语义理解新纪元
向量数据库是专为存储和检索高维向量设计的新型数据库,通过Embedding技术将文本、图像等非结构化数据转化为向量,利用近似最近邻(ANN)算法实现语义级相似性搜索,广泛应用于AI推荐、语义搜索与智能问答,是大模型时代的关键基础设施。
1264 12
下载imagenet2012数据集
摸索了一下,imagenet2012下载,跟大家分享一下 用迅雷会员加速都可以下载,有的用百度云也可以离线下载http://www.image-net.org/challenges/LSVRC/2012/nnoupb/ILSVRC2012_img_test.
8116 0
vscode彻底删除安装过的插件和个人配置信息
vscode彻底删除安装过的插件和个人配置信息
3170 0
vscode彻底删除安装过的插件和个人配置信息
|
安全 网络安全 数据安全/隐私保护
内网IP地址实现HTTPS加密访问教程
在内网环境中,为确保数据传输的安全性,绑定SSL证书搭建HTTPS服务器至关重要。本文介绍了内网IP地址的前期准备、申请SSL证书的步骤以及客户端配置方法。具体包括选择合适的CA、注册账号、提交申请、下载证书,并在客户端导入根证书,确保通信数据的安全加密。推荐使用JoySSL提供的技术解决方案,确保内网设备通信安全。
内网IP地址实现HTTPS加密访问教程
|
人工智能 运维 开发者
CodeFuse 开源官网上线啦~
CodeFuse是一个致力于开发大型代码语言模型以支持软件全生命周期的项目,涵盖设计、编码、测试等阶段,旨在提供创新的解决方案,优化开发者体验。其开源官网提供项目背景、相关AI开发项目展示、详细文档及贡献指南。团队已推出多个代码模型和开源工具,并在相关领域有学术成果和行业奖项。感兴趣者可通过GitHub、HuggingFace和魔搭社区主页联系或关注。
2839 0
CodeFuse 开源官网上线啦~
|
安全 数据挖掘 Python
Python的打包工具(setup.py)实战篇
关于如何使用Python的setup.py工具打包Python项目的实战教程。
1197 0
Python的打包工具(setup.py)实战篇

热门文章

最新文章