微机原理与接口专业技术课程设计(串行通讯)
微机原理课程设计报告-双机串行通信
河北科技大学课程设计报告学生姓名:学号:专业班级:课程名称:微型计算机原理及应用技术学年学期: 2 0 1 2 —2 0 1 3学年第一学期指导教师:2 0 13 年1月课程设计成绩评定表目录一、设计题目.............................................................. 1...二、设计目的.............................................................. 1...三、设计原理及方案........................................................ 1...1、8251A的基本性能................................................... 1.2、8251A的内部结构................................................... 1.3、8251 外部引脚图..................................................... 2...4、8251A的编程....................................................... 2.5、8251A的初始化..................................................... 3.四、实现方法.............................................................. 5...1 、程序流程图如下:................................................... 5...2、连线图.............................................................. 5...3、8251A操作过程流程图............................................... 7.4、试验程序(见附录).................................................. 7..五、实施结果.............................................................. 7...六、改进意见及建议........................................................ 7...七、个人所做贡献.......................................................... 8...八、设计体会.............................................................. 8...九、同组成员名单.......................................................... 8...十、附录 (9)、设计题目双机通过两台试验箱串行通讯、设计目的1、掌握8088/86实验串行口通信的方法。
微机原理与接口技术课程设计
目录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机之间进行串口通信。
二、课程设计目的与要求通过本次实训,加强学生们对微机原理与接口技术这门课程的理解和掌握,同时了解并掌握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用于设定通讯所需的波特率。
串口通信课程设计(微机原理课程设计)
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.微机原理部分在微机原理课程部分,主要包括以下内容:–CPU原理–内存原理–总线结构–输入输出控制器–DMA原理–系统时钟2.接口技术部分在接口技术课程部分,主要包括以下内容:–并行接口–串行接口–USB接口–网络接口–图形接口–嵌入式接口三、课程设计流程1.阅读相关文献资料,了解课程设计的相关知识和理论。
2.设计并搭建硬件实验环境,包括计算机系统和各类接口设备。
3.学习并掌握各类接口的标准规范、通信协议和相关驱动程序。
4.设计并实现各类接口的应用程序,测试和调试各接口设备的正常工作。
5.针对常见的应用场景设计实际应用方案,并实现应用程序的开发和调试。
6.完成课程设计报告,记录整个课程设计的思路、方案和实现过程,并撰写总结和心得体会。
四、课程设计要求1.大家需要采用C语言、C++、VB等编程语言完成具体的编码工作。
2.上机实验前,要确保安全,防止电脑硬件因过流、过压等原因受损。
3.完成上机实验后,要及时清理实验环境,保持机房整洁有序。
4.报告要求规范、结构科学、语句通顺、内容完整。
五、参考书目1.电子工业出版社,《微型计算机接口技术》,2003年。
2.电子工业出版社,《微型计算机原理与应用》,2005年。
3.机械工业出版社,《接口技术原理与应用》,2007年。
4.清华大学出版社,《微处理器原理与接口技术》,2009年。
六、总结微机原理和接口技术是现代计算机科学技术中非常重要的两个方面。
在本次课程设计中,我们将理论知识和实际操作紧密结合起来,通过具体的实验操作和相关的编程工作,更好地理解和掌握了微机原理和接口技术的相关知识和技能,提高了我们的综合素质和专业技能水平。
微机原理与接口技术并串行通信接口课件
;8251查询发送程序段
NEXT: MOV AL, [BX] OUT 50H, AL INC BX
WT: IN AL, 51H TEST AL, 01H JZ WT LOOP NEXT HLT
8251应用试验
【试验6】采用查询方式把26个大写英文字母从8251自发自 收, 并转换成小写字母显示。
8251旳引脚特征
◆发送器/接受器信号:
RxD :串行数据输入。 TxD: 串行数据输出。 RxC:接受器时钟输入。
TxC:发送器时钟输入。
◆ MODEM信号:
DTR:数据终端准备好状态, 输出, 低电平有效。 DSR:数据准备好状态, 输入, 低电平有效。 RTS:祈求发送信号, 输出, 低电平有效。 CTS:允许传送信号, 输入, 低电平有效。
◆ 8251接受器旳主要部件
移位寄存器、同步字符寄存器(2个)、数据位计数 器、奇/偶校验位检测器等。
8251发送器工作过程
◆ 8251异步通信旳发送: 发送器把发送数据寄存器旳数据组织成一帧字符信息,从TxD端逐 位发送出去, 即先发送起始位(“0”), 再逐位发送字符数据位, 并 根据编程设定在字符数据位后发送校验位和停止位。 若发送器没有字符帧信息发送, 则发送“1”空闲位。
D7~D0:双向、三态数据线。 CLK:时钟信号, 输入。 RESET:复位信号, 输入, 高电平有效。 CS:片选信号, 输入, 低电平有效。 C/D:控制/数据端口选择输入线。(A0) RD , WR:读, 写选通信号, 输入, 低电平有效。
微机原理与接口串行通信
功能
调用参数
返回参数
01H
带回显的键盘输入
AL=输入字符
09H
显示字符串
DS:DX=串地址'$'结束字符串
02H
显示输出
DL=输出字符
表2-2 INT 10H的功能表
功能号
功能
入口参数
显示模式属性
00H
设置显示模式
AH=00H,AL=02H
80×25的16色文本
01H
设置光标形状
AH=01H
CH低四位=光标的起始行
写出错:AX=错误码
保存文件的子程序的流程图如下:
图2-2 保存文件程序流程图
2.5 打开文件程序设计
打开文件的程序设计顺序同保存文件程序的设计类似。程序在执行打开文件时,需要调用显示子程序、设置颜色子程序、发声子程序。
其流程图如下:
图2-3 打开文件程序图
2.6 接收程序的设计
程序设计要求:在执行主程序时,当键盘输入字符时,发送程序、接收程序同时启动,键盘每输入一个字符,经过判定不是[ESC]后,发送程序自动保存字符并且向另一台PC发送一个字符,此时,另一台PC的接收程序自动接收字符,并且自动保存,同时两台PC可以在屏幕的不同区域分别显示发送和接收的字符。
程序运行的初始状态,该状态主要是显示提示语句和界面的美化并初步验证字符的输入和保存,调试过程中发现的问题有:
1定义的语句不能在预定的位置显示,原因:光标定位指令执行错误。解决办法:从新定义光标定位指令,并赋予确切的位置参数、;
2屏幕颜色混乱,原因:没有执行屏幕显示方式的指令。解决办法:重新调用INT 10H中断的03H号指令;
撰写设计说明书及调试心得
1.3 设计分析
微机原理与接口技术课件12串行通信接口
RS-232C的引脚(3)
DTR:数据终端准备好
通常当数据终端设备一加电,该信号就有效,表明数 据终端设备准备就绪
DSR:数据装置准备好
通常表示数据通信设备(即数据装置)已接通电源连 到通信线路上,并处在数据传输方式
DTR和DSR也可用做数据终端设备与数据通信设 备间的联络信号,例如应答数据接收
起止式异步通信协议
起始位
字符 数据位
1 0 0/1 1 1 1
低位
高位
起 起数 由校 选停位空表始始5据择验采止~示闲位位位奇位用8位没位采—个—检—逻—有—用—二—验—辑—进—逻每进数、用1表行传辑电制个偶据于传示送0平位字校电位校送该字,组符验平紧验符字可成开或跟是之符选,不始着否间传择低传传起传的送1位送送、始送逻结先校的1位正辑.束传5验标传或1确送。位电志2送;停位平,。可止,
232C接口标准使用一个25针连接器 绝大多数设备只使用其中9个信号,所以
就有了9针连接器 232C包括两个信道:主信道和次信道 次信道为辅助串行通道提供数据控制和通
道,但其传输速率比主信道要低得多,其 他跟主信道相同,通常较少使用
RS-232C的引脚(1)
TxD:发送数据
串行数据的发送端
信号;若采用发送时钟作为接收时钟,则只要将 RCLK引脚和BAUDOUT*引脚直接相连
3. 串行异步接口引脚
8250
发送数据SOUT 接收数据SIN 请求发送RTS* 允许发送CTS*
数据装置准备好DSR*
数据终端准备好DTR* 信号地GND
载波检测RLSD* 振铃指示RI*
4. 输出线
OUT1*和OUT2*:
8250支持的数据传输速率为50~9600bps
微机原理课程设计 通信
微机原理课程设计――8086双机通讯实验0440305114 张俭一、设计目的:1.了解串行通信的一般原理和8251A和8255以及8253,DAC0832及ADC0809芯片的工作原理。
2.了解RS-232串行接口标准及TTL电路的连接方法。
3.掌握按键识别的原理,键盘输入控制数码管的显示编程技术。
4.进一步掌握微机性能和应用。
5.掌握接线正确性检查测试的方法。
6.要求使用软件编程,局部到整体调试的基本方法和技能,并且独立完成全过程。
7.通过实习提高分析和解决各种问题的能力,提高使用仪器和实验技能。
二、课程设计内容:以32位教学实验系统为平台设计甲乙两台微机之间按RS—232标准协议,全双工串行通信系统。
波特率设为12000HZ;发送方通过选择采样通道,采集模拟信号,通过RS—232接口发送到接受方,接收方收到数据后,将数据送到数码管显示并且将数字信号还原为模拟信号,用示波器观察波形。
三、实验原理:实验用芯片介绍如下:用8251作为发送与接收,0832把接收过来的数据转换成相应的波形,8255与小键盘作为输入,在程序的作用下实现双机通信。
1). 8251A是一个通用串行输入/输出接口,可用来将86系列CPU以同步或异步方式与外部设备进行串行通信。
(在本实验中,我们选用的是异步通信)。
它能将并行输入的8位数据变换成逐位输出的串行信号;也能将串行输入数据变换成并行数据,一次传送给处理机。
由发送器、接收器、数据总线缓冲存储器、读/写控制电路及调制/解调控制电路等5部分组成。
在使用前必须进行初始化,以确定它的工作方式,传送速率,字符格式以及停止位长度等。
可用方式控制控制字、操作命令控制字、状态控制字。
在异步方式下,接收器监视输入到RxD引脚的串行数据。
在无字符是传送为高电平,当出现低电平则启动内部计数器,当计数到一个数据位宽度的一半是重新采样RxD线,若仍为低电平则确认启始位,以后每隔16个脉冲采样一次RxD线,若仍为低电平,并送至移位寄存器,经移位去掉停止位,又经奇偶校验使串行数据变为并行数据,送至接收数据缓冲器,同时发出RxRDY信号,告诉CPU 字符已经可用。
微机原理与接口课程设计
微机原理与接口课程设计1. 简介本文档为微机原理与接口课程设计的说明文档。
该课程设计旨在让学生通过设计并实现简单的接口电路,加深对微机原理的理解和掌握。
2. 课程设计要求2.1 设计目标本课程设计要求学生通过设计并实现以下目标节点:1.8位输入并行数据,通过8个按键输入数据。
2.8位输出并行数据,驱动8个LED灯输出数据。
3.串行通信,通过RS232串行口与PC机通信,并通过显示屏以及键盘模拟程序控制8位输入输出并行数据。
2.2 设计说明2.2.1 输入端允许有按键会跳动,在程序上应该进行抖动处理。
抖动时间在10ms以内,每一个按键对应一个二进制位。
2.2.2 输出端输出端通过8个LED灯显示,其中LED亮灭表示二进制位为0/1。
2.2.3 串行通信串行通信使用RS232标准协议。
PC机与单片机之间通过MAX232芯片进行单片机与PC机之间的电平转换。
为方便用户控制输入输出,设计一个键盘模拟程序。
2.2.4 核心单片机核心采用常用的AT89C52。
2.3 接口要求为保证该课程设计的可实现和可靠性,本设计要求实现以下接口:1.8路输入端口,采用I/O口;2.8路输出端口,采用I/O口;3.串行通信端口,采用P3.2(TX)和P3.3(RX)。
2.4 编程要求本课程设计要求使用C语音编程。
编写程序实现用户输入的二进制位并显示在8个LED灯上。
并通过串行通信,把程序控制的8位数据通过着色显示屏和键盘模拟程序传回用户。
2.5 外设要求程序设计的外设材料要足够简单,容易获取和操作。
外围电路所用材料及节点说明如下:1.8个LED灯、8个按键,电路方式(红色为高电位,绿色为低电位):LED:OOOOOOOO/ | | \\9 5 4 3| | |10 6 2| | |11 7 1| | |12 8 16| | |13 15 14按键:OOOOOOOO/ | | \\9 5 4 3| | |10 6 2| | |11 7 COM| | |12 8 16| | |13 15 142.显示屏和键盘模拟程序。
串行通信设计课程设计
串行通信设计课程设计一、课程目标知识目标:1. 理解串行通信的基本概念,掌握其工作原理和关键参数,如波特率、停止位、校验等;2. 学会使用串行通信接口进行数据传输,并了解其在嵌入式系统中的应用;3. 掌握串行通信协议的设计与实现,了解不同通信协议的特点和适用场景。
技能目标:1. 能够运用所学知识,使用编程语言(如C、Python等)实现串行通信程序的设计与调试;2. 培养学生动手实践能力,通过实际操作完成串行通信设备的连接与数据传输;3. 培养学生的问题解决能力,使其在遇到串行通信故障时,能够分析问题并找出解决方案。
情感态度价值观目标:1. 培养学生对电子通信技术的兴趣,激发其探索精神和创新意识;2. 增强学生的团队合作意识,使其在小组讨论和实践过程中,学会倾听、沟通、协作;3. 培养学生的安全意识,使其在实验操作过程中,注意电气安全,遵守实验室规定。
本课程针对高中年级学生,结合学科特点和教学要求,注重理论与实践相结合,旨在提高学生的实际操作能力和问题解决能力。
课程目标具体、可衡量,便于教师进行教学设计和评估,同时有助于学生明确学习目标,提高学习效果。
二、教学内容1. 串行通信基础理论:- 串行通信概念与分类;- 串行通信协议及其特点;- 波特率、停止位、校验等参数的设置与影响;- 串行通信接口(如RS-232、RS-485等)的原理与应用。
2. 串行通信编程实践:- 常用编程语言(如C、Python等)的串行通信库函数;- 串行通信程序的设计与实现步骤;- 串行通信程序的调试与优化方法;- 嵌入式系统中串行通信的应用案例。
3. 串行通信设备连接与数据传输:- 串行通信设备的选型与连接;- 串行通信线路的布局与布线技巧;- 数据传输过程中常见问题及解决方案;- 串行通信数据传输的可靠性保障措施。
4. 教学内容安排与进度:- 第一章节:串行通信基础理论(2课时)- 第二节点:串行通信编程实践(4课时)- 第三节点:串行通信设备连接与数据传输(2课时)- 实践环节:动手实践与问题解决(2课时)教学内容与课本紧密关联,确保科学性和系统性。
微机原理实验+PC机串行通讯(8250)
PC机串行通讯实验一、实验目的1.进一步了解串行通信的基本原理。
2.掌握串行接口芯片8250的工作原理和编程方法。
3.熟悉PC机串行口的基本连接方法。
二、实验内容1.PC机RS-232串口自发自收。
按照PC机串口自发自收的连接方法连线。
编写PC机自发自收串行通信程序,要求:从键盘输入一个字符,将字符通过串口发送出去,再由次串口将字符接收回来并在屏幕上显示,实现自发自收。
要求:键盘输入一个字符,将字符通过串口发送出去,再由此串口将字符接收回来并在屏幕上显示,实现自发自收。
2.两台PC机间RS-232串口通信按照PC机RS-232串口直接互连的方法连接两台PC机。
编写PC机直接互联串行通信程序。
要求:由甲机键盘键入字符经串口发送给乙机,再由乙机通过串口接收字符并显示再屏幕上。
当键入感叹号“!”,结束收发过程。
要求:由甲机键盘键入字符经串口发送给乙机,再由乙机通过串口接收字符并显示在屏幕上。
当键入感叹号“!”,结束收发过程。
三、实验电路自发自收只需要将本机的2和3号端口短路即可。
以下是双机近距离通信连接图:四、程序设计及实验调试首先是8250芯片的初始化,初始化流图如下:按照书上的通信程序,采用查询方式编自发自收程序。
初始化之后,先读线路状态寄存器,再检测发送寄存器是否为空,出错则清除线路状态寄存器,接收就绪否,接收数据等。
若自发自收未做好准备,则显示’?’。
除数=1.8432M/(2400*16)=48=30H实验1 自发自收:CODE SEGMENTASSUME CS:CODESTART: MOV AL,10000000B ;8250初始化,设DLAB=1MOV DX,3FBHOUT DX,ALMOV AX,30H ;波特率为2400,基准时钟频率为1.8432MHz,除数为30HMOV DX,3F8HOUT DX,AL ;写入除数低字节MOV AL,AHMOV DX,3F9HOUT DX,AL ;写入除数高字节MOV AL,0AH ;7位数据,1位停止,奇校验MOV DX,3FBHOUT DX,AL ;写入线路控制寄存器MOV AL,00001111BMOV DX,3FCHOUT DX,AL ;写入Modem控制寄存器MOV AL,0MOV DX,3F9HOUT DX,AL ;写入中断允许寄存器,屏蔽中断WAIT_FOR: MOV DX,3FDH ;读线路状态寄存器,屏蔽中断IN AL,DXTEST AL,00011110B ;出错否JNZ ERRORTEST AL,00000001B ;接收数据就绪否JNZ RECEIVE ;转接收TEST AL,01000000B ;发送寄存器空否,不空,返回等待JZ W AIT_FORMOV AH,1INT 21H ;读键盘MOV DX,3F8H ;发送OUT DX,ALJMP W AIT_FORRECEIVE: MOV DX,3F8H ;读接收数据IN AL,DXAND AL,01111111B ;保留7位数据CMP AL,21H ;是”!”?JNZ CHARMOV AH,4CH ;返回DOSINT 21HCHAR: PUSH AXMOV DL,ALMOV AH,02H ;显示接收字符INT 21HPOP AXJMP W AIT_FORERROR: MOV DX,3FDH ;出错则清除线路状态寄存器IN AL,DXMOV DL,'?' ;显示’?’MOV AH,02HINT 21HJMP W AIT_FORCODE ENDSEND START实验中遇到问题及分析:在软件编程的过程中,因为是参考书上的程序,所以没有报错。
微机原理与接口第9章串行通信接口
DCD信号。 RI(Ring Indicate): 振铃指示 • 当调制解调器接收到对方的拨号信号期间,该引脚信号作
为电话铃响的指示、保持有效
1. RS-232C引脚定义(续)
MODEM
2 3 4 5 6 7 8 20 22
MODEM
2 3 4 电话线 5 6 7 8 20 22
微机
2 3 4 5 6 7 8 20 22
不使用联络信号的3线相连方式
TxD
TxD
RxD 微机
GND
RxD 微机
GND
• 为了交换信息,TxD和RxD应当交叉连接 • 程序中不必使RTS和DTR有效 • 也不应检测CTS和DSR是否有效
传输速率比主信道要低得多,其他跟主信道相同, 通常较少使用
引脚号 2 3 4 5 6 7 8 20 22
表9.1 常用的RS-232C接口信号
功能缩写符号
信号方向
功能
TXD
DTE → DCE
发送数据
RXD
DCE → DTE
接收数据
RTS
DTE → DCE
请求发送
CTS
DCE → DTE
允许发送
DSR
TxD:发送数据 • 串行数据的发送端 RxD:接收数据 • 串行数据的接收端 GND:信号地 • 为所有的信号提供一个公共的参考电平
保护地(机壳地): • 起屏蔽保护作用的接地端 TxC:发送器时钟 • 控制数据终端发送串行数据的时钟信号 RxC:接收器时钟 • 控制数据终端接收串行数据的时钟信号
为了确保异步串行通信传输正确:
串行通讯课程设计
串行通讯课程设计一、教学目标本课程旨在通过学习串行通讯的基本原理、实现方式和应用场景,使学生掌握串行通讯的基本概念、技术和方法,培养学生分析和解决实际问题的能力。
具体目标如下:1.了解串行通讯的基本原理和概念;2.掌握串行通讯的实现方式和应用场景;3.熟悉串行通讯相关的技术术语和标准。
4.能够使用串行通讯协议进行数据传输;5.能够分析和解决串行通讯过程中的问题;6.能够设计简单的串行通讯系统。
情感态度价值观目标:1.培养学生对串行通讯技术的兴趣和好奇心;2.培养学生勇于探索、创新的精神;3.培养学生团队协作和沟通的能力。
二、教学内容本课程的教学内容主要包括串行通讯的基本原理、实现方式和应用场景。
具体安排如下:1.串行通讯的基本原理:介绍串行通讯的概念、特点和优势,讲解串行通讯的基本原理和运作方式。
2.串行通讯的实现方式:讲解串行通讯协议的分类和特点,介绍常见的串行通讯协议及其应用。
3.串行通讯的应用场景:分析串行通讯在实际工程中的应用,举例说明串行通讯在不同领域的应用案例。
4.串行通讯技术的发展趋势:介绍串行通讯技术的发展历程和未来发展趋势,让学生了解串行通讯技术的广泛应用和前景。
三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式,包括:1.讲授法:通过讲解串行通讯的基本原理、实现方式和应用场景,使学生掌握相关知识。
2.案例分析法:分析实际案例,让学生了解串行通讯技术在工程中的应用。
3.实验法:学生进行串行通讯实验,培养学生的实际操作能力和问题解决能力。
4.讨论法:学生进行分组讨论,促进学生之间的交流与合作,提高学生的思考和分析能力。
四、教学资源为了支持本课程的教学,我们将准备以下教学资源:1.教材:选择合适的教材,为学生提供系统、全面的学习资料。
2.参考书:推荐相关的参考书籍,丰富学生的知识体系。
3.多媒体资料:制作课件、教案等多媒体资料,提高课堂教学效果。
4.实验设备:准备串行通讯实验所需的设备,确保学生能够进行实际操作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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.对设计原理图进行检查。