微机原理与接口技术课程设计(串行通讯)
微机原理与接口技术 第 8 章 并串行通信接口

PC3~PC0 0: 输出 1: 输入
端口C置位/复位控制字
D7 D6 D5 D4 D3 D2 D1 D0
0
特征位
未用
位选择
000:PC0 001:PC1
┇
┇
111:PC7
置位/复位 1:置位 0:复位
8255控制字设置例
◆8255 控制字通过写控制端口的方式设置。 ◆8255 控制字的性质通过特征位区分。 ◆例如, 8255端口地址80H~83H (P142)。
并行接口的数据输出过程
并行I/O接口数据输出过程及应答联络信号: CPU执行输出(OUT)指令的同时, 将接口的 “BUSY” 状态置位, “BUSY”的置位信号可作为向外设发出的“数 据输出选通” 信号, 通知外设接收数据;当外设从接口接 收到数据后, 向接口发出“数据输出应答”(ACK)信号; ACK信号可将“BUSY”状态复位供CPU查询, 或者作为 向CPU的发出的数据输出中断请求信号。
8255读/写操作的控制逻辑
CS
RD
WR
A1
A0
传输操作说明
0
0
1
0
0 端口A→数据总线(输入)
0
0
1
0
1 端口B→数据总线(输入)
0
0
1
1
0 端口C→数据总线(输入)
0
0
1
1
1 非法状态
0
1
0
0
0 数据总线→端口A(输出)
0
1
0
0
1 数据总线→端口B (输出)
0
1
0
1
0 数据总线→端口C (输出)
LPTINT ENDP
;保护AX现场 ;根据DI指针取一个打印字符 ; DI+1 ;从A口输出打印字符 ;使PC0为0, 产生有效选通信号
微机原理与接口技术课程设计

目录一.设计目地。
2二.设计要求。
2三.设计任务及项目说明。
2四.硬件设计原理4.1最小系统原理图及PCB。
34.2扩展系统原理图及PCB。
44.3硬件工作原理。
6五.购置元器件5.1最小系统元器件。
75.2扩展元件。
8六.程序设计6.1程序设计原理。
86.2程序内容。
8七.作品功能。
29八.心得体会。
29参考文献。
30一.设计目的使大家对学习的微机原理与接口技术进一步的掌握和巩固,掌握电路板的焊接技术,会利用软件实现简单的程序设计和调试。
二.设计要求根据最小系统的原理图及PCB,购齐相关电子元件,完成实验开发板的焊接,并为扩展留下接口。
然后利用最小系统的接口,完成扩展训练,扩展项目如下,可自行选择(也可超出以下题目自拟,需包含输入和输出)。
三.设计任务及项目说明这里选择流水灯项目。
流水灯是一串按一定的规律像流水一样连续闪亮。
流水灯控制是可编程控制器的一个应用,其控制思想在工业控制技术领域也同样适用。
流水灯控制可用多种方法实现,但对现代可编程控制器而言,利用移位寄存器实现最为便利。
通常用左移寄存器实现灯的单方向移动;用双向移位寄存器实现灯的双向移动。
本案例利用价格低廉的AT89C51系列单片机控制基色LED灯泡从而实现丰富的变化。
四.硬件设计原理4.1最小系统原理图及PCB最小系统原理图8051最小系统PCB4.2扩展系统原理图及PCB扩展系统原理图扩展系统PCB4.3硬件工作原理整个系统工作由软件程序控制运行,以AT89C51单片机作为主控核心,与驱动等模块组成核心主控制模块。
在主控模块上设有晶振电路和32个LED 显示二极管,根据需要编写若干种亮灯模式,根据各种亮灯时间的不同需要,在不同时刻输出灯亮或灯灭的控制信号。
五.购置元器件5.1最小系统元器件5.2扩展元件六.程序设计6.1程序设计原理用查表的方法控制点亮流水灯,即移位的思想:0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff;//左边单个点亮0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00;//右边逐个点亮0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff;//左边逐个熄灭0x7f,0x8f,0xdf,0xef,0xf7,0xf8,0xfd,0xfe,0xff;//右边单个点亮0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00;//左边逐个点亮0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff;//右边逐个熄灭0xfc,0xf9,0xf3,0xef,0xcf,0x9f,0x3f,0xff;//左边逐两个点亮0x3f,0x9f,0xcf,0xe7,0xf3,0xf9,0xfc,0xff;//右边逐两个点亮0xf8,0xf1,0xe3,0x07,0x8f,0x1f,0xff;//左边逐三个亮0x1f,0x8f,0x07,0xe3,0xf1,0xf8,0xff;//右边逐三个亮6.2程序内容#include<reg52.h>#define uchar unsigned charuchar flag=200;///////////////////////////////////////////////////////////////////////uchar code Tab1[]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F,0xFF};//暗中左移向下uchar code Tab2[]={0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,0xFF};//暗中右移向上uchar code Tab3[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00};//亮中左移向下uchar code Tab4[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,0x00};//亮中右移向上uchar code Tab11[]={0xFE,0xFC,0xF8,0xF0,0xE0,0xC0,0x80,0x00,0xff};//暗中左移向下uchar code Tab22[]={0x7F,0x3F,0x1F,0x0F,0x07,0x03,0x01,0x00,0xff};////////////////////////////////////////////////////////////////////uchar code Tab33[]={0x80,0xC0,0xE0,0xF0,0xF8,0xFC,0xFE,0xFF};uchar code Tab44[]={0x01,0x03,0x07,0x0F,0x1F,0x3F,0x7F,0xFF};uchar code Tab55[]={0x08,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff,0xff};uchar code Tab5[]={0x00,0x80,0xC0,0xE0,0xF0,0xF8,0xFC,0xFE,0xff};uchar code Tab6[]={0x00,0x01,0x03,0x07,0x0F,0x1F,0x3F,0x7F,0xff};uchar code Tab7[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};uchar code Tab8[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};////////////////////////////////////////////////////////////////void shansuo();void xl();///////////////////////////////////////////////////////////////void delay(void){unsigned char m,n;for(m=0;m<flag;m++)for(n=0;n<250;n++);}///////////////////////////////////void hy1(void) //点亮状态逆时针旋转90度(一个一个灭){unsigned char i;for(i=0;i<8;i++){P0=Tab11[i];P3=Tab22[i];P2=Tab11[i];P1=Tab22[i];delay();}for(i=0;i<8;i++){P0=Tab44[i];P3=Tab55[i];P2=Tab44[i];P1=Tab55[i];delay();}}///////////////////////////////////////////void hy2(void) //暗中逆时针转360。
《微机原理与接口技术》实验指导书

微机原理与接口技术实验指导书实验一:微处理器概述及数据传输实验一、实验目的•了解微处理器的基本概念和工作原理;•学习数据传输的基本知识;•掌握使用微处理器进行数据传输的方法。
二、实验器材•1个微处理器开发板;•1个串行通信模块;•相应的连接线。
三、实验内容在该实验中,你将学习如何使用微处理器进行数据传输,具体实验步骤如下:1.将开发板和串行通信模块连接起来;2.将数据发送器连接到串行通信模块的发送端口,将数据接收器连接到串行通信模块的接收端口;3.通过开发板上的开关设置要发送的数据;4.通过串行通信模块将数据发送到计算机;5.在计算机上使用相应的软件接收数据,并验证接收到的数据是否正确。
四、实验步骤1.将开发板和串行通信模块连接起来,确保连接正确并稳定;2.将数据发送器插入串行通信模块的发送端口,将数据接收器插入串行通信模块的接收端口;3.在开发板上的开关上设置要发送的数据;4.打开计算机上的串行通信软件,配置正确的串口号和波特率;5.点击软件的接收按钮,准备接收数据;6.在开发板上的开关上切换到发送模式,并观察串行通信模块的指示灯是否正常闪烁;7.在串行通信软件上观察接收到的数据是否与设置的数据一致;8.如果数据传输正常,则实验完成。
五、实验注意事项1.连接线务必稳固连接,确保数据传输正常;2.阅读并理解实验器材的使用说明书;3.注意保持实验环境的整洁,避免影响实验结果;4.在进行数据传输时,确保计算机已正确安装了相应的驱动程序。
六、实验总结通过这次实验,我们初步了解了微处理器的基本概念和工作原理,学习了数据传输的基本知识,并掌握了使用微处理器进行数据传输的方法。
我们在实验中成功地连接了开发板和串行通信模块,并成功地进行了数据传输。
通过实验,我们发现数据传输过程中需要注意连接线的稳固连接,以及计算机是否安装了相应的驱动程序。
实验的结果验证了我们的操作方法的正确性,同时也为后续实验奠定了基础。
注意:本指导书旨在引导实验过程,实验过程中如有任何危险情况,请立即停止实验并寻求实验室管理员的帮助。
微机原理与接口技术 串行接口

(单同 步) (双同 步)
同步字符
同步字符
数 据 一帧
CRC1
CRC2
同步字符
数 据 一帧 数 据
CRC1
CRC2
外同步信号 (外同 步) 一帧
CRC1
CRC2
01111110
地址
控制
数 据
CRC1
CRC2
01111110
(SDLC/HDLC格式)
图7-2 同步通信格式 8
循环冗余(CRC)校验:主要用于对数据块 (即多个字符)的传送过程进行校验。 两设备之间无论采用异步通信还是同步通信, 通信双方必须共同遵守一些协定:
12
调制方式分为三种:
─ 调幅ASK(Amplitude Shift Keying):用两种振幅来代表0、1 ─ 调频FSK(Frequency Shift Keying):用两个固定频率来表示 0、1 ─ 调相PSK(Phase Shift Keying):用频率振幅相同但相位不同的 两个信号来表示0、1
19
─
远程通信应答和呼叫
─
DTR:数据终端准备就绪(“0”电平有效)。DTE设备 的就绪标志,通常在加电后,发出DTR有效信号。 DSR:数据装置准备就绪(“0”电平有效)。DCE收到 DTR有效信号后,向DTE送出DSR信号作为应答,以 表示DCE装置就绪。但信道是否接通,应由CTS指示。 CD:载波检测(“0”电平有效)。DCE装置转告DTE 设备收到载波,即检测到接收电路上有信号,表明线路 上正在进行通信。
DTE:指使用数据的设备,可以是计算机或外设,它负 责对数据通信进行控制,包括数据收、发、差错控制、 同步和识别通信站点等。 DCE:指数据通信设备,一般是MODEM,或其它一些 通信外设。它负责在实际的数据链路上进行通信控制 , 包括链路的建立、维持、终止、数据信号变换与编码 等。
《微机原理与接口技术》教案

《微机原理与接口技术》教案第一章:微机系统概述1.1 微机的发展历程1.2 微机系统的组成1.3 微机的基本工作原理1.4 微机的主要性能指标第二章:微处理器2.1 微处理器的结构与功能2.2 微处理器的性能指标2.3 微处理器的指令系统2.4 微处理器的编程方法第三章:存储器3.1 存储器的分类与功能3.2 随机存储器(RAM)3.3 只读存储器(ROM)3.4 存储器扩展与接口技术第四章:输入/输出接口技术4.1 I/O接口的基本概念4.2 I/O接口的地址译码方式4.3 I/O接口的数据传输方式4.4 常用I/O接口芯片介绍第五章:中断系统5.1 中断系统的基本概念5.2 中断源与中断处理5.3 中断响应过程5.4 中断控制器及其应用第六章:总线技术6.1 总线的概念与分类6.2 总线接口与传输协议6.3 总线扩展技术6.4 PCI总线与PCI Express总线第七章:串行通信接口7.1 串行通信的基本概念7.2 串行通信的接口标准7.3 串行通信接口电路设计7.4 USB串行通信接口第八章:定时器/计数器8.1 定时器/计数器的基本概念8.2 定时器/计数器的原理与编程8.3 定时器/计数器的应用实例8.4 高精度定时器/计数器的设计第九章:DMA控制9.1 DMA的基本概念与原理9.2 DMA控制器的工作方式9.3 DMA传输过程与编程9.4 DMA在微机系统中的应用第十章:微机系统的设计与应用10.1 微机系统设计的基本原则10.2 微机系统硬件设计方法10.3 微机系统软件设计方法10.4 微机系统应用实例分析重点和难点解析一、微机系统概述难点解析:理解微机系统中各个组件的作用及其相互关系,掌握性能指标的计算和评估方法。
二、微处理器难点解析:掌握微处理器的内部结构和工作原理,理解指令系统的作用和编程方法。
三、存储器难点解析:区分不同类型的存储器,理解它们的功能和用途,掌握存储器扩展和接口技术。
微机原理串并行通信和接口技术共69页文档

2. 同步方式和异步方式
• 异步串行通信格式
字符
起始位
数据位
1 0 0/1 0/1 …
校验位停止位 空闲位 0/1 0/1 1 1 1
低位
高位
起起数由校 选停位空 表始始5据择验采止~示闲位位位奇位用8位没位采—个—检—逻—有—用—二—验—辑—进—逻每进数、用1表行传辑个电制偶据于示传送0字平位校电位校送该字符,组验平紧验字开符可成或跟是始之符选,不着否传间传择低传起传送的送1位送、始的送逻结先校1位标正辑.束传5验传或志确1送。位电2送,;停位平。可止,
• 例2.同步传输:用1 200bps的波特率工作,用4个同步字符作为 信息帧头部,但不用奇偶校验,那么,传输100个字符所用的时 间为7×(100+4)/1 200=0.606 7s,这就是说,每秒钟能传输的 字符数可达到100/0.606 7=165个。
在同样的传输率下,同步传输时实际字符传输 率要比异步传输时高。
3.串行通信的传输率
• 数据传输速率=比特率(Bit Rate)
– 每秒传输的二进制位数bps – 字符中每个二进制位持续的时间长度都一样,为数
据传输速率的倒数
• 进行二进制数码传输,每位时间长度相等: 比特率=波特率(Baud Rate)
3. 串行通信的传输率
• 例1.异步传输过程:设每个字符对应1个起始位、7个信息位、 1个奇偶校验位和1个停止位,如果波特率为1 200bps,那么, 每秒钟能传输的最大字符数为1 200/10=120个。
• 异步模式下的初始化程序举例 • 同步模式下的初始化程序举例 • 利用状态字进行编程的举例
1. 异步模式下的初始化程序举 例
MOV AL,0FAH OUT 42H,AL ;设置模式字,为异步模式,波特率因子为16
《微机原理与接口技术》教案

《微机原理与接口技术》教案一、课程概述本课程主要介绍微机原理和接口技术的基本概念、原理和应用,帮助学生理解计算机内部结构、工作原理以及与外部设备的接口。
二、教学目标1.理解微机的组成部分,包括中央处理器、存储器、输入输出设备等,并能够描述其工作原理。
2.掌握微机的指令系统和数据表示方法,理解计算机的控制逻辑和数据路径。
3.理解和掌握常见的外部设备接口,如串行接口、并行接口、USB接口等,并能够进行接口连接和数据传输。
4. 能够通过实验熟悉和掌握微软Windows操作系统的基本使用方法,能够进行文件管理和应用程序的安装和卸载。
5.培养学生的实际动手能力和解决问题的能力,提高学生的自学能力和团队合作意识。
三、教学内容和教学方法1.微机的基本组成和工作原理主要内容包括:计算机硬件的基本组成、中央处理器的结构和工作原理、存储器的层次结构、输入输出设备的分类和接口原理等。
教学方法:采用讲解和示意图的形式,结合实例分析和实验演示,帮助学生理解和掌握计算机的基本组成和工作原理。
2.微机的指令系统和数据表示方法主要内容包括:指令系统的分类和特点、数据表示的方法和格式、计算机的控制逻辑和数据路径等。
教学方法:通过讲解和示例演示,介绍指令系统和数据表示的基本原理和方法,并通过实践性实验,让学生亲自编写和执行指令,加深理解。
3.外部设备接口技术主要内容包括:串行接口的工作原理和应用、并行接口的工作原理和应用、USB接口的工作原理和应用等。
教学方法:通过实验演示和实例分析,让学生了解不同的外部设备接口的特点和应用,并进行接口的连接和数据传输实验。
4. Windows操作系统的基本使用方法主要内容包括:Windows操作系统的基本概念和特点、文件管理的基本操作、应用程序的安装和卸载等。
教学方法:通过实践性实验和示例演示,让学生熟悉Windows操作系统的基本使用方法,并能够进行文件管理和应用程序的安装和卸载。
四、教学评价1.考试评价:设置笔试和实验操作两个方面的考试内容,以检验学生对知识的掌握和实际操作能力的评价。
[工学]微机原理与接口技术 教案
![[工学]微机原理与接口技术 教案](https://img.taocdn.com/s3/m/452f676fa22d7375a417866fb84ae45c3b35c239.png)
微机原理与接口技术教案一、教学目标1. 了解微机原理的基本概念,掌握微机的组成结构和基本工作原理。
2. 学习微机接口技术的应用,理解接口电路的功能和设计方法。
3. 掌握微机系统中的数据通信原理,了解常用的通信接口和技术。
4. 通过实践环节,培养学生动手能力和团队协作精神,提高解决实际问题的能力。
二、教学内容1. 微机原理概述微机的定义和发展历程微机的组成结构微机的工作原理2. 微机接口技术接口电路的功能和分类接口电路的设计方法常用的接口电路及其应用3. 微机系统中的数据通信数据通信的基本概念串行通信和并行通信的原理及比较常用的通信接口和技术4. 微机系统中的存储器存储器的分类和特点存储器的接口设计存储器扩展和刷新技术5. 微机系统中的输入/输出接口输入/输出接口的基本概念输入/输出接口的控制方式常用的输入/输出接口电路及其应用三、教学方法1. 采用讲授与讨论相结合的方式,让学生掌握微机原理与接口技术的基本概念和理论。
2. 通过实例分析和实践环节,培养学生的动手能力和实际问题解决能力。
3. 鼓励学生进行团队合作,提高沟通与协作能力。
四、教学条件1. 教室环境:具备多媒体教学设施,如投影仪、计算机等。
2. 实践环节:实验室设备,如微机原理实验箱、接口电路实验设备等。
五、教学评价1. 平时成绩:包括课堂表现、作业完成情况等,占总评的30%。
2. 实验报告:包括实验过程、结果分析等,占总评的30%。
3. 期末考试:包括理论知识测试和实际问题解决能力的考察,占总评的40%。
六、教学资源1. 教材:《微机原理与接口技术》教材,用于系统地介绍微机原理与接口技术的基本概念、理论和技术。
2. 课件:教师自制的多媒体课件,用于辅助讲解和展示知识点。
3. 实验指导书:提供实践环节的指导,包括实验目的、原理、步骤和注意事项等。
4. 在线资源:推荐相关的网络教程、论坛和学术资料,供学生自主学习和参考。
七、教学进度安排1. 课时:本课程共计32课时,包括理论讲解和实践环节。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微机原理与接口技术课程设计(串行通讯) 串行通讯课程设计
2 一、 设计意义 在信息飞速发展的时代,计算机的应用越来越广泛。而微机原理是机械工业控制设备的理论基础,学好了就能在激烈的竞争环境中找到一份好一点的工作。理论课程学习是让学生学习基本理论知识,对课程内容和原理有比较深刻的理解,只要从理论上理解,不用考虑实际的可行性。通过本次课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程,不仅需要在理论上能实现而且还要考虑实际的可行性,不能纸上谈兵。 二、 设计目的 1、 了解串行通信的基本原理。 2、 掌握串行接口芯片8251的工作原理。 3、 掌握8251芯片的编程方法。 4、 了解8253的初始化。 5、 巩固和加深在微机原理课程中所学的理论知识。通过课程设计加深理解课堂教学内容,掌握计算机接口技术的基本应用方法。 6、 学会查阅相关手册与资料,培养独立分析与解决问题能力。
三、 设计环境 PC机一台,串行通讯接口芯片8251A一片,8253一片。TC-1集成开发环境实验箱一台。 四、设计题目及要求
4.1 设计题目 串行通讯课程设计 3 串行通讯 4.2 设计要求 设计一个串行通信系统,用软件编程和硬件实验来实现。具体要求: 用8253芯片作为计数器,用于产生8251的发送和接受时钟。TXD和RXD连在一起。 从PC机的键盘输入一个字符,将其ASCII码加1后发送出去,在接受回来在屏幕上显示,实现自发自收。 8251的控制端口地址为2B9H ,数据口地址为2B8H. 8253计数器的计算初值=时钟频率/(波特率*波特率因子),这里的时钟频率接1MHZ,波特率若选1200,波特因子若选16,则计数器初值为52。 收发采用查询方式。
五、设计原理 5.1.8251A的基本性能 8251A是可编程的串行通信接口芯片,基本性能: 1.两种工作方式:同步方式,异步方式。同步方式下,波特率为064K,异步方式下,波特率为0~19.2K。 2.同步方式下的格式 每个字符可以用5、6、7或8位来表示,并且内部能自动检测同步字符,从而实现同步。除此之外,8251A也允许同步方式下增加奇/偶校验位进行校验。 串行通讯课程设计 4 3.异步方式下的格式 每个字符也可以用5、6、7或8位来表示,时钟频率为传输波特率的1、16或64倍,用1位作为奇/偶校验。1个启动位。并能根据编程为每个数据增加1个、1.5个或2个停止位。可以检查假启动位,自动检测和处理终止字符。 4.全双工的工作方式 其内部提供具有双缓冲器的发送器和接收器。 5.提供出错检测 具有奇偶、溢出和帧错误三种校验电路。 5.2、8251A的内部结构 1、发送器 发送器由发送缓冲器和发送控制电路两部分组成。 采用异步方式,则由发送控制电路在其首尾加上起始位和停止位,然后从起始位开始,经移位寄存器从数据输出线串行通讯课程设计
5 TXD逐位串行输出。 8251A内部结构图 或采用同步方式,则在发送数据之前,发送器将自动送出1个2个同步字符,然后才逐位串行输出数据。 如果CPU与8251A之间采用中断方式交换信息,那么TXRDY可作为向CPU发出的中断请求信号。当发送器中的8位数据串行发送完毕时,由发送控制电路向CPU发出TXE有效信号,表示发送器中移位寄存器已空。 2.接收器 接收器由接收缓冲器和接收控制电路两部分组成。 接收移位寄存器从RXD引腿上接收串行数据转换成并行数据后存入接收缓冲器。 异步方式:在RXD线上检测低电平,将检测到的低电平作为起始位, 8251A开始进行采样,完成字符装配,并进行奇偶校验和去掉停止位,变成了并行数据后,送到数据输入寄存器,同时发出RXRDY信号送CPU,表示已经收到一个可用的数据。 同步方式:首先搜索同步字符。8251A监测RXD线,每当RXD线上出现一个数据位时,接收下来并送入移位寄存器移位,与同步字符寄存器的内容进行比较,如果两者不相等,则接收下一位数据,并且重复上述比较过程。当两个寄存器的内容比较相等时,8251A的SYNDET升为高电平,表示同步字符已经找到,同步已经实现。 采用双同步方式,就要在测得输入移位寄存器的内容与串行通讯课程设计 6 第一个同步字符寄存器的内容相同后,再继续检测此后输入移位寄存器的内容是否与第二个同步字符寄存器的内容相同。如果相同,则认为同步已经实现。 在外同步情况下,同步输入端SYNDET加一个高电位来实现同步的。 实现同步之后,接收器和发送器间就开始进行数据的同步传输。这时,接收器利用时钟信号对RXD线进行采样,并把收到的数据位送到移位寄存器中。在RXRDY引脚上发出一个信号,表示收到了一个字符。 3.数据总线缓冲器 数据总线缓冲器是CPU与8251A之间的数据接口。包含3个8位的缓冲寄存器:两个寄存器分别用来存放CPU向8251A读取的数据或状态信息。一个寄存器用来存放CPU向8251A写入的数据或控制。 4.读/写控制电路 读/写控制电路用来配合数据总线缓冲器的工作。功能如下: (1) 接收写信号WR,并将来自数据总线的数据和控制字写入8251A; (2) 接收读信号RD,并将数据或状态字从8251A送往数据总线; (3) 接收控制/数据信号C/D,高电平时为控制字或状态字;低电平时为数据。 (4) 接收时钟信号CLK完成8251A的内部定时; 串行通讯课程设计 7 (5) 接收复位信号RESET,使8251A处于空闲状态。 5.调制解调控制电路 调制解调控制电路用来简化8251A和调制解调器的连接。
5.3.8251A的引脚功能 1、8251A和CPU之间的连接信号
8251A和CPU之间的连接信号可以分为四类: a)片选信号 •CS:片选信号,它由CPU的地址信号通过译码后得到。 b)数据信号 D0-D7:8位,三态,双向数据线,与系统的数据总线相连。传输CPU对8251的编程命令字和8251A送往CPU的状态信息及数据。 c)读/写控制信号 串行通讯课程设计 8 • RD:读信号,低电平时, CPU当前正在从8251A读取数据或者状态信息。 • WR:写信号,低电乎时, CPU当前正在往8251A写入数据或者控制信息。
• C/D:控制/数据信号,用来区分当前读/写的是数据还是控制信息或状态信息。该信号也可看作是8251A数据口/控制口的选择信号。
由此可知,RD、WR、C/D这3个信号的组合,决定了8251A的具体操作,它们的关系如表7-3所示:
注:数据输入端口和数据输出端口合用同一个偶地址,而状态端口和控制端口合用同一个奇地址。 c)收发联络信号 • TXRDY:发送器准备好信号,用来通知CPU,8251A已准备好发送一个字符。 • TXE:发送器空信号,TXE为高电平时有效,用来表示此时8251A发送器中并行到串行转换器空,说明一个发送动作已完成。 • RXRDY:接收器准备好信号,用来表示当前8251A已经从外部设备或调制解调器接收到一个字符,等待CPU来取走。因此,在中断方式时,RXRDY可用来作为中断请求信号;在查询方式时,RXRDY可用来作为查询信号。 • SYNDET:同步检测信号,只用于同步方式。 串行通讯课程设计 9 2.8251A与外部设备之间的连接信号 8251A与外部设备之间的连接信号分为两类: a) 收发联络信号 • DTR:数据终端准备好信号,通知外部设备,CPU当前已经准备就绪。 • DSR:数据设备准备好信号,表示当前外设已经准备好。 • RTS:请求发送信号,表示CPU已经准备好发送。 • CTS :允许发送信号,是对RTS的响应,由外设送往8251A。 实际使用时,这4个信号中通常只有CTS必须为低电平,其它3个信号可以悬空。 b) 数据信号 • TXD:发送器数据输出信号。当CPU送往8251A的并行数据被转变为串行数据后,通过TXD送往外设。 • RXD:接收器数据输入信号。用来接收外设送来的串行数据,数据进入8251A后被转变为并行方式。 3. 时钟、电源和地 8251A除了与CPU及外设的连接信号外,还有电源端、地端和3个时钟端。 • CLK:时钟输入,用来产生8251A器件的内部时序。 同步方式下,大于接收数据或发送数据的波特率的30倍,异步方式下,则要大于数据波特率的4.5倍。 串行通讯课程设计 10 • TXD:发送器时钟输入,用来控制发送字符的速度。 同步方式下,TXC的频率等于字符传输的波特率,异步方式下,TXC的频率可以为字符传输波特率的1倍、16倍或者64倍。 • RXD:接收器时钟输入,用来控制接收字符的速度,和TXC一样。 在实际使用时,RXC和TXC往往连在一起,由同一个外部时钟来提供,CLK则由另一个频率较高的外部时钟来提供。 • VCC:电源输入 • GND:地 5.4、8251A的编程 编程的内容包括两大方面: 一是由CPU发出的控制字,即方式选择控制字和操作命令控制字; 二是由8251A向CPU送出的状态字。 1.方式选择控制字(模式字) 方式选择控制字的格式如图所示。