微机原理与接口技术课程设计(串行通讯)

合集下载

微机原理与接口技术课程设计

微机原理与接口技术课程设计

目录1.需求分析2.设计内容…………………………………….3.设备与器材4.设计要求5.硬件连接方案6.系统设计6.1系统硬件设计6.2系统软件设计7.调试与测试8.结束语9.参考文献1.需求分析:当今社会,随着越来越多的家庭拥有第二台电脑,如何能够实现两PC机之间的通信成为更多家庭和用户所关注的问题。

实现双机互联的方法有很多,根据个人和环境的情况不同,采用的方法也有所不同。

然而,对于仅仅是两台PC机之间实现的互联来说,建立串口间的连接以实现通信是不错的选择。

这种方案最大的特点是简单易行、成本低廉,相对于其他的选择而言,更加适合于两PC机之间的通信连接。

本设计通过对PC机串口通信端口定义、参数和双机互联等技术方面的了解和分析,对通信距离较近时的双PC机之间的通信,采用最简单的三线接法,对少数几根信号线实现全双工异步串行通信,并且通过编写程序,以查询方式来实现两机之间的发送和接收功能。

2.设计内容:两台微机采用RS—232串口接口(COM1/COM2)实现双机串行通信;其中一台为发送机,另一台为接收机,负责接收发送机送来的字符。

3.设备与器材:PC机两台,RS—232串行线2条。

4.设计要求:1、采用查询方式或中断方式下的PC机间相互通信;2、在A机(发送机)上敲键盘字符,并且在A机的屏幕上显示该字符,然后通过串行口将该字符发送给(接收机),并且也在B机上显示,即实现A、B机间通信,以敲击字符”P”作为结束。

3、格式:设置通信波特率1200BPS;数据位7位、停止位1位、奇校验。

5.硬件连接方案:两机通过RS—232C的三根信号线(TXD、RXD、GND)进行连接(发送机TXD←→接收机RXD、发送机RXD←→接收机TXD,GND←→GND)6.系统设计6.1系统硬件设计:(1). 异步通信适配器的组成:1.电平转换INS 8250芯片处理电平为TTL电平,要与25芯连接器相连接,必须经过电平转换。

微机原理课程设计报告书-两台PC机之间进行串口通信

微机原理课程设计报告书-两台PC机之间进行串口通信

一、课程设计题目两台PC机之间进行串口通信。

二、课程设计目的与要求通过本次实训,加强学生们对微机原理与接口技术这门课程的理解和掌握,同时了解并掌握8250串口芯片和中断管理芯片8259的初始化编程和使用。

1.目的:俩个PC机通过串行口互联,实现文件的无差错传输。

2.基本要求:(1) PC机使用8250串口芯片。

中断管理芯片使用8259(2)要求用C语言或汇编语言完成程序的设计。

(3)程序必须用中断方式来实现。

(4)在U盘上自备TURBO C 2.0编译环境。

因为机房的计算机(C和D盘要还原)安装有还原卡。

(5)自购DB9P 公插头二个,2,3脚交叉连线,5脚直接连接,焊接。

电缆长度一米。

(6)不准带电拔插串行口插头。

三、实现方法1. 8250的初始化依据8250(16550)的寄存器如下表所示:基地址读/写寄存器缩写注释0Write-发送保持寄存器(DLAB=0)0Read-接收数据寄存器(DLAB=0)0Read/Write-波特率低八位(DLAB=1)1Read/Write IER中断允许寄存器1Read/Write-波特率高八位(DLAB=1)2Read IIR中断标识寄存器2Write FCR FIFO控制寄存器3Read/Write LCR线路控制寄存器4Read/Write MCR MODEM控制寄存器5Read LSR线路状态寄存器6Read MSR MODEM状态寄存器7Read/Write-Scratch RegisterPC机支持1-4个串行口,即COM1-COM4,其基地址在BIOS数据区0000:0400-0000:0406中描述,对应地址分别为3F8/2F8/3E8/2E8,COM1及COM3使用PC机中断4,COM2及COM4使用中断3。

在上表中,8250共有12个寄存器,使用了8个地址,其中部分寄存器共用一个地址,由DLAB=0/1来区分,在DLAB=1用于设定通讯所需的波特率。

微机原理与接口技术课程设计

微机原理与接口技术课程设计

目录一.设计目地。

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. 授课内容概述
本课程的主要内容是介绍微机系统结构、微机系统原理、微机系统软硬件接口原理和设计方法等。

本课程旨在使学生了解微机系统的基本原理和基本知识,掌握微机系统软硬件接口设计的基本方法和技术。

2. 学习目标
本门课程旨在达到如下学习目标:
•熟悉微机系统结构、微机系统原理和基本原理知识。

•掌握微机系统基本指令和汇编语言的基本知识。

•掌握微机系统软硬件接口原理和设计方法。

•进一步提高自己的动手实践技能。

3. 课程内容实现方式
本门课程将采用数据实验和理论授课相结合的教学方式:
•数据实验:学生将利用实践实验室提供的微机设备,参加实践实验,完成各种不同的微机系统软硬件接口设计。

•理论授课:授课老师将通过课堂理论授课,讲解微机系统结构、微机系统原理和基本原理知识、微机系统基本指令和汇编语言的基本知识以及微机系统软硬件接口原理和设计方法等。

4. 课程计划
第一周
•学习班级规章制度,课程要求及课程流程安排;
1。

《微机原理与接口技术》实验指导书

《微机原理与接口技术》实验指导书

微机原理与接口技术实验指导书实验一:微处理器概述及数据传输实验一、实验目的•了解微处理器的基本概念和工作原理;•学习数据传输的基本知识;•掌握使用微处理器进行数据传输的方法。

二、实验器材•1个微处理器开发板;•1个串行通信模块;•相应的连接线。

三、实验内容在该实验中,你将学习如何使用微处理器进行数据传输,具体实验步骤如下:1.将开发板和串行通信模块连接起来;2.将数据发送器连接到串行通信模块的发送端口,将数据接收器连接到串行通信模块的接收端口;3.通过开发板上的开关设置要发送的数据;4.通过串行通信模块将数据发送到计算机;5.在计算机上使用相应的软件接收数据,并验证接收到的数据是否正确。

四、实验步骤1.将开发板和串行通信模块连接起来,确保连接正确并稳定;2.将数据发送器插入串行通信模块的发送端口,将数据接收器插入串行通信模块的接收端口;3.在开发板上的开关上设置要发送的数据;4.打开计算机上的串行通信软件,配置正确的串口号和波特率;5.点击软件的接收按钮,准备接收数据;6.在开发板上的开关上切换到发送模式,并观察串行通信模块的指示灯是否正常闪烁;7.在串行通信软件上观察接收到的数据是否与设置的数据一致;8.如果数据传输正常,则实验完成。

五、实验注意事项1.连接线务必稳固连接,确保数据传输正常;2.阅读并理解实验器材的使用说明书;3.注意保持实验环境的整洁,避免影响实验结果;4.在进行数据传输时,确保计算机已正确安装了相应的驱动程序。

六、实验总结通过这次实验,我们初步了解了微处理器的基本概念和工作原理,学习了数据传输的基本知识,并掌握了使用微处理器进行数据传输的方法。

我们在实验中成功地连接了开发板和串行通信模块,并成功地进行了数据传输。

通过实验,我们发现数据传输过程中需要注意连接线的稳固连接,以及计算机是否安装了相应的驱动程序。

实验的结果验证了我们的操作方法的正确性,同时也为后续实验奠定了基础。

注意:本指导书旨在引导实验过程,实验过程中如有任何危险情况,请立即停止实验并寻求实验室管理员的帮助。

串口通信课程设计(微机原理课程设计)

串口通信课程设计(微机原理课程设计)
//异步读取 private void AsyReceiveData(object serialPortobj) {
SerialPort serialPort = (SerialPort)serialPortobj; System.Threading.Thre源自d.Sleep(500); try {
三、实验步骤
1、打开 Visual Studio 2008,新建C# Windows窗体应用程序项目 2、设计界面,添加界面元素 3、为各个控件设置事件响应代码 4、调试并完成程序
四、设计的控制界面及其操作
设计的控制界面如下所示: 通过“串口设置”可以选择串口、设置帧格式、打开及关闭串口等 通过“状态”可以查看串口状态、发送的数据帧数和接受的数据帧数 在“发送数据”窗口中输入内容,点击“发送”,即把数据发送给对方 在“数据显示”窗口中会显示接受的数据
//开启接收数据线程 ReceiveData(serialPort1); }
private void SendStringData(SerialPort serialPort1) {
serialPort1.Write(txtSend.Text); //发送数据帧加1 lbSendNum.Text = (int.Parse(lbSendNum.Text.Trim()) + 1).ToString(); }
串行通信控制
理学院
一、实验目的
1、掌握串行通信的原理和控制方法。 2、采用三线连接方法,编程控制,实现两台微机异步串行通信。
二、实验原理
1、串口通信连接 本次实验使用了 RS-232C 接口,其标准规定有25根连线,在一般的 微机通信中,只有9个信号经常使用,它们的引脚定义如下表和图所 示:

微机原理串口通信.课程设计

微机原理串口通信.课程设计

1基础理论知识1.1通信的方式通信的基本方式可以分为并行通信和串行通信两种。

串行通信时数据用一根传输线逐为顺序传送。

并行通信和串行通信是CPU与外部设备之间进行信息交换的基本方法。

采用并行通信时,构成一个字符或数据的各位同时传送,每一位都占用一条通信线,另外还需要联络以保证和外围设备协调地工作,它具有较高的传输速度。

但由于在长线上驱动和接收信号较困难,驱动和接收电路较复杂,因此并行通信的传输距离受到限制,这种通信方式多用于计算机内部,或者作为计算机与近距离外围设备传输信息用。

1.2串行通信串行通信分为两种类型:串行异步通信和串行同步通信。

串行异步通信是指通信中两个字符之间的时间间隔是不固定的,而在一个字符内各位的时间间隔是固定的。

同步通信时指在约定的数据通信数率下,发送方和接收方的时钟信号频率和相位始终保持一致,通信双方发送数据和接收数据具有完全一致的定时关系。

串行通信的数据传输方式分为单工传送,半双工传送,全双工传送。

单工传送:单工传送时指在通信时只能由一方发送数据,另一方接收数据的通信方式。

半双工传送:指在通信时双方都能够接收或者发送,但是不能够同时接收和发送的通信方式。

全双工传送:通信双方之间有两条通路,发送信息和接收信息可以同时进行。

2 串口通信芯片82502.1 8250的内部结构INS 8250是通用异步收发器UART,用作异步通信接口电路。

INS 8250的引脚信号基本上可以分为两大类:与CPU系统总线相连的信号线和与通信设备MODEM连接的信号线2.2 8251的内部寄存器及其编程方法在微机中用可编程芯片8250来实现串行通信。

由于8250的引脚较多,在此就不列出了,仅列出它的几个寄存器,因为在编写串行通信程序时要使用这些寄存器。

2.2.1波特率因子寄存器(DLL/DLH)8250芯片规定当线路控制寄存器写入D7=1时,接着对口地址3F8H、3F9H可分别写入波特率因子的低字节和高字节,即写入除数寄存器(L)和除数寄存器(H)中。

串行通信程序设计微机原理课设

串行通信程序设计微机原理课设

摘要计算机与外部进行信息交换的方式有两种,一种是并行通信,另一种是串行通信。

其中串行通信时,数据和控制信息是一位接一位串行传输,这样虽然速度会慢一些,但是传输距离长,硬件电路也相对简单。

因此在长距离通信系统及各类计算机网中,串行传输方式是主要的通信方式。

计算机提供给用户的RS-232C接口就是一个标准的串行通信接口,主要用来把数据处理装置与数据通信装置连接在一起。

RS-232C标准包括接口的机械,电气及功能方面的内容,许多场合都以这种借口规范作为连接标准。

串行通信是指计算机主机与外设之间以及主机系统与主机系统之间数据的串行传送。

使用串口通信时,发送和接收到的每一个字符实际上都是一次一位的传送的,每一位为1或者为0,每一位数据占据一个固定的时间长度。

汇编语言是用指令的助记符,符号地址,标号等书写程序的语言,实际上是机器语言的一种符号表示,主要特点是可以使用助记符来表示机器指令的操作码和操作数,可以用标号和符号来代替地址,常量和变量。

汇编语言是与机器语言密切相关的,是面向机器的语言。

CPU不同的计算机有着不同的汇编语言,汇编语言源程序不能直接在计算机上运行,需要翻译成机器语言程序。

本次课程设计要求制作RS-232C通信线,用其实现两台计算机之间的通信。

要求在计算机上用不同颜色设置接收和发送区域,能设置发送和接收的数据长度,显示接收数据,并能选择通信校验方式,将接收的数据作为文件保存起来。

关键字:汇编语言串行通信 RS-232C通信线源程序CPU串行通信程序设计1.串行通信的基本原理1.1串行通信的基本概念串行通信有两种工作方式:异步通信和同步通信。

异步通信由于不需要同步信号,硬件连接简单而被广泛使用于串行部件,计算机与计算机,计算机于单片机及其仪表之间的数据交换。

(1)异步通信所谓异步通信,是指以字符为单位传输数据,用起始位和停止位标志每个字符的开始和结束,两次传输时间间隔不固定。

异步通信不需要同步信号,为了实现异步通信的要求,CPU与外设之间有两项规定,及字符格式和波特率的规定。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、设计意义在信息飞速发展的时代,计算机的应用越来越广泛。

而微机原理是机械工业控制设备的理论基础,学好了就能在激烈的竞争环境中找到一份好一点的工作。

理论课程学习是让学生学习基本理论知识,对课程内容和原理有比较深刻的理解,只要从理论上理解,不用考虑实际的可行性。

通过本次课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程,不仅需要在理论上能实现而且还要考虑实际的可行性,不能纸上谈兵。

二、设计目的1、了解串行通信的基本原理。

2、掌握串行接口芯片8251的工作原理。

3、掌握8251芯片的编程方法。

4、了解8253的初始化。

5、巩固和加深在微机原理课程中所学的理论知识。

通过课程设计加深理解课堂教学内容,掌握计算机接口技术的基本应用方法。

6、学会查阅相关手册与资料,培养独立分析与解决问题能力。

三、设计环境PC机一台,串行通讯接口芯片8251A一片,8253一片。

TC-1集成开发环境实验箱一台。

四、设计题目及要求4.1 设计题目串行通讯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也允许同步方式下增加奇/偶校验位进行校验。

3.异步方式下的格式每个字符也可以用5、6、7或8位来表示,时钟频率为传输波特率的1、16或64倍,用1位作为奇/偶校验。

1个启动位。

并能根据编程为每个数据增加1个、1.5个或2个停止位。

可以检查假启动位,自动检测和处理终止字符。

4.全双工的工作方式其内部提供具有双缓冲器的发送器和接收器。

5.提供出错检测具有奇偶、溢出和帧错误三种校验电路。

5.2、8251A的内部结构1、发送器发送器由发送缓冲器和发送控制电路两部分组成。

采用异步方式,则由发送控制电路在其首尾加上起始位和停止位,然后从起始位开始,经移位寄存器从数据输出线TXD逐位串行输出。

8251A内部结构图或采用同步方式,则在发送数据之前,发送器将自动送出1个2个同步字符,然后才逐位串行输出数据。

如果CPU与8251A之间采用中断方式交换信息,那么TXRDY 可作为向CPU发出的中断请求信号。

当发送器中的8位数据串行发送完毕时,由发送控制电路向CPU发出TXE有效信号,表示发送器中移位寄存器已空。

2.接收器接收器由接收缓冲器和接收控制电路两部分组成。

接收移位寄存器从RXD引腿上接收串行数据转换成并行数据后存入接收缓冲器。

异步方式:在RXD线上检测低电平,将检测到的低电平作为起始位, 8251A开始进行采样,完成字符装配,并进行奇偶校验和去掉停止位,变成了并行数据后,送到数据输入寄存器,同时发出RXRDY信号送CPU,表示已经收到一个可用的数据。

同步方式:首先搜索同步字符。

8251A监测RXD线,每当RXD 线上出现一个数据位时,接收下来并送入移位寄存器移位,与同步字符寄存器的内容进行比较,如果两者不相等,则接收下一位数据,并且重复上述比较过程。

当两个寄存器的内容比较相等时,8251A的SYNDET升为高电平,表示同步字符已经找到,同步已经实现。

采用双同步方式,就要在测得输入移位寄存器的内容与第一个同步字符寄存器的内容相同后,再继续检测此后输入移位寄存器的内容是否与第二个同步字符寄存器的内容相同。

如果相同,则认为同步已经实现。

在外同步情况下,同步输入端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的内部定时;(5) 接收复位信号RESET,使8251A处于空闲状态。

5.调制解调控制电路调制解调控制电路用来简化8251A和调制解调器的连接。

5.3.8251A的引脚功能1、8251A和CPU之间的连接信号8251A和CPU之间的连接信号可以分为四类:a)片选信号•CS:片选信号,它由CPU的地址信号通过译码后得到。

b)数据信号D 0-D7:8位,三态,双向数据线,与系统的数据总线相连。

传输CPU对8251的编程命令字和8251A送往CPU的状态信息及数据。

c)读/写控制信号• 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:同步检测信号,只用于同步方式。

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倍。

• TXD:发送器时钟输入,用来控制发送字符的速度。

同步方式下,TXC的频率等于字符传输的波特率,异步方式下,TXC的频率可以为字符传输波特率的1倍、16倍或者64倍。

• RXD:接收器时钟输入,用来控制接收字符的速度,和TXC 一样。

在实际使用时,RXC和TXC往往连在一起,由同一个外部时钟来提供,CLK则由另一个频率较高的外部时钟来提供。

• VCC:电源输入• GND:地5.4、8251A的编程编程的内容包括两大方面:一是由CPU发出的控制字,即方式选择控制字和操作命令控制字;二是由8251A向CPU送出的状态字。

1.方式选择控制字(模式字)方式选择控制字的格式如图所示。

2.操作命令控制字(控制字)操作命令控制字的格式如下:3、状态字状态字的格式如下:4.8251A的初始化a)芯片复位以后,第一次用奇地址端口写入的值作为模式字进入模式寄存器。

b)如果模式字中规定了8251A工作在同步模式,c)由CPU用奇地址端口写入的值将作为控制字送到控制寄存器,而用偶地址端口写入的值将作为数据送到数据输出缓冲寄存器。

六、设计方案6.1、硬件设计6.1.1设计原理图从键盘输入一个字符,将其ASCII码加 1 后发送出去,再接收回来在屏幕上显示,实现自发自收。

6.1.2、实验注意事项在本实验方案中有以下几点需要注意1、图示电路8251的控制口地址为2B9H,数据口地址为2B8H。

2、8253计数器的计数初值=时钟频率/(波特率*波特因子),这里的时钟频率接1MHZ,波特率若选1200,波特因子若选16,则计数器初值为52。

3、收发采用查询模式。

6.2软件设计6.2.1程序流程图6.2.2编程实现data segmentioport equ 0cc00h-0280hio8253a equ ioport+280hio8253b equ ioport+283hio8251a equ ioport+2b8hio8251b equ ioport+2b9hmes1 db 'you can play a key on the keybord!',0dh,0ah,24hmes2 dd mes1data endscode segmentassume cs:code,ds:datastart: mov ax,datamov ds,axmov dx,io8253b ;设置8253计数器0工作方式mov al,16hout dx,almov dx,io8253amov al,52 ;给8253计数器0送初值out dx,almov dx,io8251b ;初始化8251xor al,almov cx,03 ;向8251控制端口送3个0 delay: call out1loop delaymov al,40h ;向8251控制端口送40H,使其复位call out1mov al,4eh ;设置为1个停止位,8个数据位,波特率因子为16call out1mov al,27h ;向8251送控制字允许其发送和接收call out1lds dx,mes2 ;显示提示信息mov ah,09int 21hwaiti: mov dx,io8251bin al,dxtest al,01 ;发送是否准备好jz waitimov ah,01 ;是,从键盘上读一字符int 21hcmp al,27 ;若为ESC,结束jz exitmov dx,io8251ainc alout dx,al ;发送mov cx,40hs51: loop s51 ;延时next: mov dx,io8251bin al,dxtest al,02 ;检查接收是否准备好jz next ;没有,等待mov dx,io8251ain al,dx ;准备好,接收mov dl,almov ah,02 ;将接收到的字符显示在屏幕上int 21hjmp waitiexit: mov ah,4ch ;退出int 21hout1 proc near ;向外发送一字节的子程序out dx,alpush cxmov cx,40hgg: loop gg ;延时pop cxretout1 endpcode ends七、调试运行1.对设计原理图进行检查。

相关文档
最新文档