微机与接口实验4串行口通信实验
- 格式:doc
- 大小:36.50 KB
- 文档页数:4
实验报告实验名称__8251A串行口实验____课程名称__微机原理与接口技术__院系部: 专业班级:学生姓名:学号:同组人: 实验台号:指导教师: 成绩:实验日期:华北电力大学一、实验目的及要求:(1)了解串行通信的一般原理和8251A的工作原理。
(2)掌握8251A的编程方法。
二、仪器用具:三、实验原理:1.串行通信的原理串行通信是通过一位一位地进行数据传输来实现通信。
具有传输线少,成本低等优点,适合远距离传送;缺点是速度慢。
完成串行通信任务的接口称为串行通信接口,简称串行接口。
串行接口作为输入时,完成串行到并行格式转换,作为输出时,完成并行到串行格式转换。
图1是串行通信的一般模型。
图1 串行通信的一般模型2.8251A的工作原理825lA是可编程的串行通信接口芯片,是Intel公司生产的一种通用同步/异步数据收发器(USART),可工作在同步方式,也可工作在异步方式,且能进行出错检测。
其内部结构框图如图2所示。
图2 8251A内部结构框图由图可知,8251A由数据总线缓冲器、读/写控制逻辑、调制/解调器控制逻辑、发送缓冲器、发送控制器、接收缓冲器、接收控制器等组成。
(1)在同步方式时,每个字符可定义为5、6、7或8位。
两种方法实现同步,由内部自动检测同步字符或由外部给出同步信号。
允许同步方式下增加奇/偶校验位进行校验。
(2)在异步方式下,每个字符可定义为5、6、7或8位,用1位作奇偶校验。
时钟速率可用软件定义为波特率的l、16或64倍。
另外,8251A在异步方式下能自动为每个被输出的数据增加1个起始位,并能根据软件编程为每个输出数据设置1位、1.5位或2位停止位。
(3)能进行出错检测。
带有奇偶、溢出和帧错误等检测电路,用户可通过输入状态寄存器的内容进行查询。
3.8251A的编程(1)8251A的编程地址:8251A只需要两个端口地址,一个用于数据端口,一个用于控制端口。
数据输入输出用读信号RD和写WR信号区分;状态端口只能读不能写,控制端口只能写不能读。
串行口实验报告
《串行口实验报告》
实验目的:通过串行口实验,探索数据传输的可靠性和稳定性。
实验材料:计算机、串行口数据线、串行口设备。
实验步骤:
1. 连接串行口数据线:首先,将串行口数据线插入计算机的串行口接口,并将另一端连接到串行口设备上。
2. 设置串行口参数:在计算机上打开串行口设置界面,设置波特率、数据位、校验位和停止位等参数,确保与串行口设备相匹配。
3. 发送数据:通过计算机上的串行口通讯软件,向串行口设备发送数据,观察数据传输的稳定性和可靠性。
4. 接收数据:同样通过串行口通讯软件,接收串行口设备发送的数据,检验数据接收的准确性和完整性。
实验结果:
经过一系列的实验操作,我们发现串行口数据传输的稳定性和可靠性较高。
在设置合适的参数后,数据传输过程中几乎没有出现丢失或错误的情况。
同时,数据的传输速度也较为稳定,符合预期的要求。
实验结论:
通过本次串行口实验,我们验证了串行口数据传输的可靠性和稳定性。
在实际应用中,可以通过合理设置串行口参数,确保数据的准确传输。
串行口技术在工业控制、通讯设备等领域有着广泛的应用前景,为数据传输提供了一种可靠的解决方案。
微机原理与接口技术中串口通信的特点
串口通信是一种通过串行接口进行数据传输的通信方式。
在微机原理与接口技术中,串口通信具有以下几个特点:
1. 低速传输:串口通信的传输速率相对较低,通常在几十到几百kbps之间。
与现代高速网络相比,串口通信的速度较慢。
这主要是因为串口通信使用的是串行传输方式,每次只能传输一个比特,而不像并行传输那样可以同时传输多个比特。
2. 长距离传输:串口通信可以实现较长距离的数据传输。
由于串口通信使用的是差分传输方式,信号幅度较大,因此能够在较长的距离上进行可靠的数据传输。
这使得串口通信在一些特殊环境下(如工业控制系统、远程监控等)得到广泛应用。
3. 硬件简单:串口通信的硬件结构相对简单,通常只需要一个串口芯片和几根信号线就可以实现。
这使得串口通信的成本较低,适用于一些对成本要求较高的应用场景。
4. 可靠性高:串口通信的差分传输方式可以有效地抑制干扰,提高通信的可靠性。
此外,串口通信还支持奇偶校验、停止位等机制,可以检测和纠正数据传输过程中的错误,进一步提高了通信的可靠性。
5. 支持点对点通信:串口通信是一种点对点的通信方式,即一对一的通信方式。
每个串口通信的设备都有一个唯一的地址,通信时只
需要指定目标设备的地址即可进行通信。
这种点对点的通信方式适用于一些需要直接与设备进行通信的应用场景。
总的来说,串口通信具有低速传输、长距离传输、硬件简单、可靠性高和支持点对点通信等特点。
在微机原理与接口技术中,学习串口通信的原理和接口技术,可以帮助我们理解和应用串口通信,实现与外部设备的数据交互。
师大学数计学院实验报告专业名称 11计科课程微机原理实验名称串行通信实验姓名学号 1107040128251 可编程串行口与PC 机通讯实验一、实验目的(1) 掌握8251 芯片的结构和编程,掌握微机通讯的编制。
(2) 学习有关串行通讯的知识。
(3) 学习 PC 机串口的操作方法。
二、实验说明1、8251 信号线8251 是CPU 与外设或Mode 之间的接口芯片,所以它的信号线分为两组:一组是用于与CPU 接口的信号线,另一组用于与外设或Mode 接口。
(1)与CPU 相连的信号线:除了双向三态数据总线(D7~D0)、读(RD)、写(WR)、片选(CS)之外,还有:RESET:复位。
通常与系统复位相连。
CLK:时钟。
由外部时钟发生器提供。
C/D:控制/数据引脚。
TxRDY:发送器准备好,高电平有效。
TxE:发送器空,高电平有效。
RxRDY:接收器准备好,高电平有效。
SYNDET/BRKDET:同步/中止检测,双功能引脚。
(2)与外设或Mode 相连的信号线:DTR:数据终端准备好,输出,低电平有效。
DSR:数据装置准备好,输入,低电平有效。
RTS:请求发送,输出,低电平有效。
CTS:准许传送,输入,低电平有效。
TxD:发送数据线。
RxD:接收数据线。
TxC:发送时钟,控制发送数据的速率。
RxC:接收时钟,控制接收数据的速率。
2、8251 的初始化编程和状态字8251 是一个可编程的多功能串行通信接口芯片,在使用前必须对它进行初始化编程。
初始化编程包括CPU 写方式控制字和操作命令字到8251 同一控制口,在初始化编程时必须按一定的顺序。
如下面的流程图:三、实验原理图四、实验容本实验由实验器发送一串字符0~9,PC 机串口接收并在超级终端上显示。
五、实验步骤与PC 机通讯应用实验(1)实验连线:a.用串口线把实验机 8251 模块的RS232 通讯口与PC 机相连,把串口旁边的短路块SW1 短路在2-2/3-3 上,SW2 短路在RS232 上。
《微机原理与接口技术》课程实验指导书实验内容EL-8086-III微机原理与接口技术教学实验系统简介使用说明及要求✧实验一实验系统及仪器仪表使用与汇编环境✧实验二简单程序设计实验✧实验三存储器读/写实验✧实验四简单I/0口扩展实验✧实验五8259A中断控制器实验✧实验六8253定时器/计数器实验✧实验七8255并行口实验✧实验八DMA实验✧实验九8250串口实验✧实验十A/D实验✧实验十一D/A实验✧实验十二8279显示器接口实验EL-8086-III微机原理与接口技术教学实验系统简介使用说明及要求EL-8086-III微机原理与接口技术教学实验系统是为微机原理与接口技术课程的教学实验而研制的,涵盖了目前流行教材的主要内容,该系统采用开放接口,并配有丰富的软硬件资源,可以形象生动地向学生展示8086及其相关接口的工作原理,其应用领域重点面向教学培训,同时也可作为8086的开发系统使用。
可供大学本科学习《微机原理与接口技术(8086)》,《单片机应用技术》等课程提供基本的实验条件,同时也可供计算机其它课程的教学和培训使用。
为配合使用EL型微机教学实验系统而开发的8086调试软件,可以在WINDOWS 2000/XP等多种操作系统下运行。
在使用本软件系统调试程序时,可以同时打开寄存器窗口、内存窗口、反汇编窗口、波形显示窗口等等,极大地方便了用户的程序调试。
该软件集源程序编辑、编译、链接、调试与一体,每项功能均为汉字下拉菜单,简明易学。
经常使用的功能均备有热键,这样可以提高程序的调试效率。
一、基本特点EL型微机教学实验系统是北京精仪达盛科技有限公司根据广大学者和许多高等院校实验需求,结合电子发展情况而研制的具有开发、应用、实验相结合的高科技实验设备。
旨在尽快提高我国电子科技发展水平,提高实验者的动手能力、分析解决问题能力。
系统具有以下特点:1、系统采用了模块化设计,实验系统功能齐全,涵盖了微机教学实验课程的大部分内容。
微机原理与接口技术实验指导书实验一:微处理器概述及数据传输实验一、实验目的•了解微处理器的基本概念和工作原理;•学习数据传输的基本知识;•掌握使用微处理器进行数据传输的方法。
二、实验器材•1个微处理器开发板;•1个串行通信模块;•相应的连接线。
三、实验内容在该实验中,你将学习如何使用微处理器进行数据传输,具体实验步骤如下:1.将开发板和串行通信模块连接起来;2.将数据发送器连接到串行通信模块的发送端口,将数据接收器连接到串行通信模块的接收端口;3.通过开发板上的开关设置要发送的数据;4.通过串行通信模块将数据发送到计算机;5.在计算机上使用相应的软件接收数据,并验证接收到的数据是否正确。
四、实验步骤1.将开发板和串行通信模块连接起来,确保连接正确并稳定;2.将数据发送器插入串行通信模块的发送端口,将数据接收器插入串行通信模块的接收端口;3.在开发板上的开关上设置要发送的数据;4.打开计算机上的串行通信软件,配置正确的串口号和波特率;5.点击软件的接收按钮,准备接收数据;6.在开发板上的开关上切换到发送模式,并观察串行通信模块的指示灯是否正常闪烁;7.在串行通信软件上观察接收到的数据是否与设置的数据一致;8.如果数据传输正常,则实验完成。
五、实验注意事项1.连接线务必稳固连接,确保数据传输正常;2.阅读并理解实验器材的使用说明书;3.注意保持实验环境的整洁,避免影响实验结果;4.在进行数据传输时,确保计算机已正确安装了相应的驱动程序。
六、实验总结通过这次实验,我们初步了解了微处理器的基本概念和工作原理,学习了数据传输的基本知识,并掌握了使用微处理器进行数据传输的方法。
我们在实验中成功地连接了开发板和串行通信模块,并成功地进行了数据传输。
通过实验,我们发现数据传输过程中需要注意连接线的稳固连接,以及计算机是否安装了相应的驱动程序。
实验的结果验证了我们的操作方法的正确性,同时也为后续实验奠定了基础。
注意:本指导书旨在引导实验过程,实验过程中如有任何危险情况,请立即停止实验并寻求实验室管理员的帮助。
串行口实验实验报告实验报告:串行口实验一、实验目的:1. 掌握串行口通信原理;2. 熟悉使用串行口进行数据通信;3. 学习使用串行口进行数据的发送和接收。
二、实验仪器和材料:1. 串行口连线2. 上位机软件(如串口调试助手)3. PCB板三、实验原理:串行口通信是一种通过传送位来传送数据的通信方式。
通过串行口,计算机可以与其他设备进行数据交换。
串行通信需要发送方和接收方之间通过一条传输线连通,在一定的波特率下,发送方将数据转换为一系列位发送给接收方,接收方将接收到的位转换为相应的数据。
四、实验步骤:1. 将串行口连线正确连接好,一端连接到计算机的串行口,另一端连接到实验设备;2. 打开上位机软件,配置串行口参数,如波特率、数据位等;3. 在上位机软件中发送数据,观察实验设备上接收到的数据;4. 在实验设备中发送数据,观察上位机软件接收到的数据。
五、实验数据记录:在实验过程中,我们尝试了不同的波特率和数据位设置,并记录了每次的实验数据接收情况。
以下是其中一次实验的数据记录:- 实验参数:波特率9600bps,数据位8位,无校验位,停止位1位;- 发送数据:0x55;- 接收到的数据:0x55。
六、实验结果分析:根据实验数据,我们可以发现发送的数据0x55成功被接收到,说明串行口通信正常工作。
这说明我们正确配置了串行口参数,并且发送和接收的数据没有出现错误。
七、实验总结:通过本次实验,我们掌握了串行口通信的原理,学会了如何使用串行口进行数据通信。
实验结果表明,我们成功地发送和接收了数据。
在实际应用中,串行口通信在许多领域中都有广泛的应用,比如计算机与外设的连接、嵌入式系统的开发等。
掌握串行口通信技术对于我们的学习和工作都具有重要意义。
八、存在的问题和改进方向:在本次实验中,我们没有发现明显的问题。
但是,在实际应用中,串行口通信可能会面临一些问题,比如数据丢失、传输错误等。
我们可以进一步学习调试和排查这些问题,并学习如何处理和解决这些问题。
实验五串行接口输入/输出实验一、实验目的1、学习TEC-XP+教学计算机I/O接口扩展的方法;2、学习串行通信的基本知识,掌握串行通信接口芯片的设置和使用方法。
二、实验说明1、TEC-XP+教学计算机的I/O结构TEC-XP+教学计算机配置有COM1和COM2两个串行接口,其中COM1是TEC-XP+默认的标准接口,与PC终端相连接,监控程序负责对COM1进行初始化和使用管理。
COM2预留给用户扩展使用,监控程序不能识别COM2,也不对COM2进行任何操作,用户需要对COM2进行初始化和使用管理。
COM1和COM2均由可编程串行通信接口芯片intel8251芯片构成。
2、Intel8251的组成及控制和使用方法可编程串行通信接口芯片Intel8251支持同步和异步两种通信方式。
在异步方式下,波特率为0~19.2Kbps,数据位可为5、6、7或8位,可设1个奇偶校验位,1个起始位,1个、1.5个或2个停止位。
Intel8251内部有7个功能模块负责实现与CPU的数据交换以及与I/O设备的数据通信功能,内部有6个寄存器,其中与异步通信方式的有关的寄存器有5个,即模式寄存器、控制寄存器、状态寄存器、数据发送寄存器和数据接收寄存器。
模式寄存器的功能是设定intel8251的工作模式,控制寄存器的功能是控制intel8251的数据发送和接收等工作过程,状态寄存器的功能是反映intel8251数据发送和接收等工作的状态,各寄存器的格式如图5-1、图5-2和图5-3所示。
当CPU把需发送的数据写入数据发送寄存器后,intel8251将自动把数据组成帧并逐位发送出去。
Intel8251能自动完成数据接收操作,并把接收到的数据存放在数据接收寄存器中,CPU从中读取即可。
图5-1模式寄存器格式图5-2 控制寄存器格式图5-3 状态寄存器格式CPU对模式寄存器、控制寄存器和数据发送寄存器只能写入,不能读出。
对状态寄存器和数据接收寄存器只能读出,不能写入。
一、实验目的1. 理解串行通信的基本原理和常用协议。
2. 掌握单片机串行口的工作方式及其程序设计。
3. 通过实际操作,实现单片机之间的串行通信,验证通信协议的正确性。
4. 学习串行通信在实际应用中的调试和故障排除方法。
二、实验设备1. 单片机开发板(如STC89C52、AT89C51等)2. 串行通信模块(如MAX232、CH340等)3. 连接线(杜邦线、串行线等)4. 电脑(用于调试程序)5. 串口调试工具(如串口助手、PuTTY等)三、实验原理串行通信是指数据在一条线路上按位顺序传送,一次只能传送一位。
与并行通信相比,串行通信具有成本低、传输距离远、易于实现等优点。
串行通信的常见协议有RS-232、RS-485、I2C、SPI等。
本实验采用RS-232协议,通过单片机的串行口实现数据的发送和接收。
四、实验步骤1. 硬件连接将单片机的串行口(如RXD、TXD)与串行通信模块的RXD、TXD引脚相连,并通过杜邦线连接到电脑的串口。
2. 软件设计(1)编写单片机程序,实现数据的发送和接收。
(2)编写电脑端程序,用于发送和接收数据。
3. 程序调试(1)将单片机程序烧写到单片机中。
(2)在电脑端打开串口调试工具,设置波特率、数据位、停止位、校验位等参数。
(3)通过串口调试工具发送数据,观察单片机接收到的数据是否正确。
4. 实验结果分析通过实验,成功实现了单片机之间的串行通信。
在调试过程中,遇到以下问题:(1)波特率设置不正确:波特率设置错误会导致数据无法正确接收。
通过查阅相关资料,找到了正确的波特率设置方法。
(2)串行口初始化错误:串行口初始化参数设置错误会导致通信中断。
通过查阅相关资料,找到了正确的初始化方法。
(3)数据接收错误:数据接收过程中,可能出现乱码现象。
通过检查程序代码,发现是数据接收缓冲区溢出导致的。
通过调整接收缓冲区大小,解决了该问题。
五、实验总结通过本次实验,掌握了单片机串行通信的基本原理和编程方法。
串行通信的实验报告一、实验目的了解串行通信的基本概念和原理,并通过实际搭建串行通信系统,掌握串行通信的实验过程和操作方法。
二、实验设备1. 一台个人电脑2. 两台串行通信设备3. USB转串口线三、实验原理串行通信是将数据按位顺序传输,相对于并行通信来说,节省了传输线的数量。
串行通信一般采用帧的方式进行数据传输,包括起始位、数据位、校验位和停止位。
在实验中,我们将使用两台串行通信设备通过串口进行数据传输。
四、实验步骤1. 将一台串行通信设备连接到个人电脑的USB转串口线上,使用USB接口将其连接到个人电脑的USB接口上。
2. 打开串行通信设备的电源,并将其与个人电脑连接好。
3. 在个人电脑上打开串行通信软件,根据实际情况选择波特率、数据位、校验位和停止位等参数,并建立通信连接。
4. 在串行通信软件中,输入要发送的数据,并点击发送按钮。
5. 在另一台串行通信设备上观察接收到的数据。
五、实验结果与分析经过实验,我们成功地建立了串行通信系统,并进行了数据传输。
在发送端输入的数据在接收端得到了正确的接收,表明串行通信系统正常工作。
通过实验我们可以得出以下结论:1. 串行通信较并行通信更经济和节省资源,因为它只需一根传输线,而并行通信需要多根。
2. 串行通信的传输速率相对较慢,但可以通过改变波特率提高传输速度。
3. 串行通信的稳定性较强,不容易出现数据冲突和传输错误。
六、实验总结通过本次实验,我们了解到了串行通信的基本概念和原理,并通过搭建串行通信系统实际操作了一次串行通信。
实验结果表明串行通信系统正常工作,实验目的得到了满足。
在实验过程中,我们也注意到了一些问题,例如串行通信的传输速率较慢,不适合传输大量数据;同时,串行通信的配置稍显复杂,需要设置多个参数。
综上所述,本次实验使我们对串行通信有了更深入的理解,并有助于我们在日后的相关研究和应用中更好地应用和掌握串行通信技术。
实验名称:串行通信实验实验目的:1. 了解串行通信的基本原理和常用接口。
2. 掌握串行通信的编程方法和数据传输过程。
3. 验证串行通信在实际应用中的可行性。
实验器材:1. PC机一台2. 串口通信模块(如USB转串口模块)3. 短路板4. 连接线若干5. 相关软件(如串口调试助手)实验原理:串行通信是指数据在一条线路上按位进行传输的通信方式。
与并行通信相比,串行通信具有线路简单、传输速率较低等特点。
在串行通信中,数据按照一定的顺序一位一位地传输,每个数据位占用一个固定的位时间。
串行通信通常采用以下接口:RS-232、RS-485、RS-422等。
本实验采用USB转串口模块实现串行通信。
实验步骤:1. 将USB转串口模块插入PC机USB接口。
2. 在PC机上安装驱动程序,确保模块正常工作。
3. 使用短路板将USB转串口模块与PC机的串口连接。
4. 打开串口调试助手,设置串口参数:波特率、数据位、停止位、校验位等。
5. 编写串行通信程序,实现数据发送和接收。
6. 运行程序,观察串口调试助手中的数据传输情况。
实验内容:1. 发送数据(1)编写发送数据函数,实现数据的串行发送。
(2)在PC机上发送一段文本数据,观察串口调试助手中的接收情况。
2. 接收数据(1)编写接收数据函数,实现数据的串行接收。
(2)在PC机上发送一段文本数据,观察串口调试助手中的接收情况。
实验结果与分析:1. 发送数据实验结果:在串口调试助手中成功接收到了发送的文本数据,证明发送数据功能正常。
2. 接收数据实验结果:在串口调试助手中成功接收到了发送的文本数据,证明接收数据功能正常。
结论:通过本次实验,我们掌握了串行通信的基本原理和编程方法,验证了串行通信在实际应用中的可行性。
在实验过程中,我们遇到了以下问题:1. 串口参数设置不正确导致数据无法正常传输。
2. 编程时,数据发送和接收函数编写不正确。
针对以上问题,我们进行了以下改进:1. 仔细阅读相关资料,正确设置串口参数。
《微机原理与接口技术》课程实验教学大纲课程编号:课程性质:专业必修课学分/学时:30/1先修/后续课程:计算机导论/计算机系统结构开课对象:计算机科学与技术专业课程简介:《微机与汇编语言》课程是计算机科学与技术专业重要的专业基础课,是学生学习掌握计算机硬件和软件(汇编语言)的入门课程。
一、教学任务和目的掌握典型微处理器的指令系统和运用汇编语言进行程序设计基本方法,是计算机科学与技术专业的一门专业核心课程之一,是突出计算机软件与硬件紧密结合、理论与实践相结合的一门课程。
微机原理与接口技术实验是微机原理与接口技术课程的重要组成部分。
本实验课程的教学目的和要求是使学生通过实验手段掌握微机接口的设计及其应用编程方法,也使学生系统科学地受到分析问题和解决问题的训练。
通过实验使学生对课程中的8253定时器,8255并行口,8259中断控制器,RAM6116,8251串行接口芯片,AD0809,AD0832的理解,能熟练掌握8253、8255、8251的编程与应用,促进对微机原理与接口技术理论课的学习。
二、教学基本要求要求学生掌握微机系统中主要部件(CPU、内存、I/O接口电路和总线等)的功能及连接方法;微处理器指令及其操作数的寻址方法;微机系统与外设之间I/O信息交换的基本方法;并进一步掌握典型微处理器的指令系统和运用汇编语言进行程序设计基本方法;掌握常用(可编程)I/O接口电路的性能特点和编程应用方法;了解计算机系统与外部设备的接口技术。
三、实验内容实验一DOS常用命令及8088/8086指令使用实验目的(1) DOS命令:CD、DIR、DEL、RENAME和C0PY。
(2) 8088指令:MOV,ADD、ADC、SUB、SBB、DAA和XCHG。
(3) DEBUG命令:A、D、E、F、H、R、T和U。
(4) BCD码、ASCII码及用十六进制数表示二进制码的方法。
(5) 8088寄存器:AX、BX、CX、DX、F和IP。
微机原理实验报告微机原理实验报告班级:自动化72组员梁慕佳 07054031张乐 07054033张林鹏 07054034实验一:8255 并行接口实验1 实验目的1. 学习并掌握8255 的工作方式及其应用;2. 掌握8255 典型应用电路的接法。
2 实验设备PC机一台,TD-PITE 实验装置一套。
3 实验内容1. 基本输入输出实验。
编写程序,使8255 的A口为输入,B口为输出,完成拨动开关到数据灯的数据传输。
要求只要开关拨动,数据灯的显示就发生相应改变。
2. 流水灯显示实验。
编写程序,使8255 的A口和B口均为输出,数据灯D7~D0由左向右,每次仅亮一个灯,循环显示,D15~D8与D7~D0 正相反,由右向左,每次仅点亮一个灯,循环显示。
4 实验原理并行接口是以数据的字节为单位与I/O 设备或被控制对象之间传递信息。
CPU和接口之间的数据传送总是并行的,即可以同时传递8 位、16 位或32 位等。
8255可编程外围接口芯片是Intel公司生产的通用并行I/O 接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0--基本输入/输出方式、方式1--选通输入/输出方式、方式2--双向选通工作方式。
8255的内部结构及引脚如图2-6-1 所示,8255工作方式控制字和C口按位置位/复位控制字格式如图2-6-2所示。
图2-6-1 8255内部结构及外部引脚图图2-6-2 8255控制字格式5 实验步骤1. 基本输入输出实验本实验使8255 端口A工作在方式0 并作为输入口,端口B工作在方式0 并作为输出口。
用一组开关信号接入端口A,端口B 输出线接至一组数据灯上,然后通过对8255 芯片编程来实现输入输出功能。
具体实验步骤如下述:(1)实验接线图如图2-6-3所示,按图连接实验线路图;(2)编写实验程序,经编译、连接无误后装入系统;(3)运行程序,改变拨动开关,同时观察LED 显示,验证程序功能。
(完整版)微机原理与接⼝技术作业(含答案)o d 浙江⼤学远程教育学院《微机原理与接⼝技术》课程作业姓名:学号:年级:学习中⼼:第2章 P522.80C51单⽚机引脚有哪些第⼆功能?第⼀功能第⼆功能P0.0~P0.7 地址总线Ao ~A7/数据总线D0~D7 P2.0~P2.7 地址总线A8~A15 P3.0 RXD(串⾏输⼊⼝) P3.1 TXD(串⾏输出⼝) P3.2 INT0外部中断0) P3.3 IINT1(外部中断1)P3.4 TO(定时器/计数器0的外部输⼊) P3.5 T1(定时器/计数器0的外部输出) P3.6 WR(外部数据存储器或I /O 的写选通)P3.7 RD 外部数据存储器或I /O 的读选通)4.80C51单⽚机的存储器在结构上有何特点?在物理上和逻辑上各有哪⼏种地址空间?访问⽚内RAM 和⽚外RAM 的指令格式有何区别?1、80C5l 单⽚机采⽤哈佛结构,即将程序存储器和数据存储器截然分开,分别进⾏寻址。
不仅在⽚内驻留⼀定容量的程序存储器和数据存储器及众多的特殊功能寄存器,⽽且还具有较强的外部存储器扩展能⼒,扩展的程序存储器和数据存储器寻址范围都可达64 KB 。
2、在物理上设有4个存储器空间·⽚内程序存储器; ·⽚外程序存储器;·⽚内数据存储器;. ·⽚外数据存储器。
在逻辑上设有3个存储器地址空间●⽚内、⽚外统⼀的64 KB 程序存储器地址空间。
●⽚内256字节(80C52为384字节)数据存储器地址空间。
⽚内数据存储器空间在物理上⼜包含两部分:●对于80C51型单⽚机,0~127字节为⽚内数据存储器空间;128~255字节为特殊功能寄存器(SFR)空间(实际仅占⽤了20多个字节)。
●对于80C52型单⽚机,O ~127字节为⽚内数据存储器空间;128~255字节共128个字节是数据存储器和特殊功能寄存器地址重叠空间。
⽚外64 KB 的数据存储器地址空间。
+试验四一、实验目的掌握8253的基本工作原理和编程方法。
二、实验内容1.按图接线,将计数器0设置为方式0,计数器初值为N(N≤0FH,本例程中为0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用L0或逻辑笔观察OUT0电平变化,初始时OUT0为高电平,当输入N个脉冲时,OUT0变为低电平,当输入N+1个脉冲后OUT0变高电平)。
2按图连接电路,将计数器0、计数器1分别设置为方式3,计数初值设为1000,用电平指示灯L0或逻辑笔观察OUT1输出电平的变化,要求输出频率1HZ的分频信号。
;*************************;;* 8253方式0计数器实验 *;;*************************;ioport equ 0C400h-0280hio8253k equ ioport+283hio8253a equ ioport+280hcode segmentassume cs:codestart:mov al,14h ;设置8253通道0为工作方式2,二进制计数mov dx,io8253kout dx,almov dx,io8253a ;送计数初值为08Hmov al,08hout dx,allll: in al,dx ;读计数初值call disp ;调显示子程序push dxmov ah,06hmov dl,0ffhint 21hpop dxjz lllmov ah,4ch ;退出int 21hdisp proc near ;显示子程序push dxand al,0fh ;首先取低四位mov dl,alcmp dl,9 ;判断是否<=9jle num ;若是则为'0'-'9',ASCII码加30H add dl,7 ;否则为'A'-'F',ASCII码加37H num: add dl,30hmov ah,02h ;显示int 21hmov dl,0dh ;加回车符int 21hmov dl,0ah ;加换行符int 21hpop dxret;子程序返回disp endpcode endsend start;*******************;* 8253分频 *;*******************ioport equ 0C400h-0280hio8253a equ ioport+280hio8253b equ ioport+281hio8253k equ ioport+283hcode segmentassume cs:codestart:mov dx,io8253k ;向8253写控制字mov al,36h ;使0通道为工作方式3out dx,almov ax,1000 ;写入循环计数初值1000mov dx,io8253aout dx,al ;先写入低字节mov al,ahout dx,al ;后写入高字节mov dx,io8253kmov al,76h ;设8253通道1工作方式2out dx,almov ax,1000 ;写入循环计数初值1000mov dx,io8253bout dx,al ;先写低字节mov al,ahout dx,al ;后写高字节mov ah,4ch ;程序退出int 21hcode endsend start实验五一、实验目的掌握8255方式0的工作原理及使用方法。
微机与接口技术实验4
实验设备:LAB6000通用微控制器实验系统
实验用时8小时
实验内容:串行口通信实验
1.编制串行口通信程序:用8253 T0作为波特率发生器,4M频率作为8251工作时钟,以波特率300方式实现双机数据通信。
2.设计CRC16子程序。
3.在原理图上增加8251芯片,地址为D000H起(占16地址)实验报告:程序清单,说明;电路原理图。
实验程序:
1.程序如下:
下面这段程序是芯片传输一个数,自己接受这个数再送到8255输出到LED指示灯显示出来。
OUTBIT equ 08002h ; 位控制口
OUTSEG equ 08004h ; 段控制口
IN_KEY equ 08001h ; 键盘读入口
mode equ 82h ; 8255 工作方式
PA8255 equ 0a000h ; 8255 PA口输出地址
CTL8255 equ 0a003h
CS8251D equ 09000h ; 串行通信控制器数据口地址
CS8251C equ 09001h ; 串行通信控制器控制口地址
data segment
LEDBuf db 6 dup(?) ; 显示缓冲
Num db 1 dup(?) ; 显示的数据
DelayT db 1 dup(?)
RBuf db 10001010b
TBuf db 01010101b
code segment
assume cs:code, ds:data
IInit proc near ; 8251初始化
mov dx, CS8251C
mov al, 01001111b ; 1停止位,无校验,8数据位, x64
out dx, al
mov al, 00010101b ; 清出错标志, 允许发送接收
out dx, al
ret
IInit endp
Send proc near ; 串口发送
mov dx, CS8251C
mov al, 00010101b ; 清出错,允许发送接收
out dx, al
WaitTXD:
in al, dx
test al, 1 ; 发送缓冲是否为空
jz WaitTXD
mov al, TBuf ; 取要发送的字
mov dx, CS8251D
out dx, al ; 发送
push cx
mov cx,0ffffh
loop $
pop cx
ret
Send endp
Receive proc near ; 串口接收
mov dx, CS8251C
WaitRXD:
in al, dx
test al, 2 ; 是否已收到一个字
je WaitRXD
mov dx, CS8251D
in al, dx ; 读入
mov RBuf, al
ret
Receive endp
start proc near
mov ax, data
mov ds, ax
mov al, mode
mov dx, CTL8255
out dx, al
call IInit
MLoop:
mov dx, CS8251C
in al, dx ; 是否接收到一个字
test al, 2
jnz RcvData
call Send
jmp MLoop
RcvData:
call Receive ; 读入接收到的字
mov al, RBuf
mov dx, PA8255
out dx, al
jmp MLoop
Start endp
code ends
end start
注:例程中的按键盘读数的程序经过实测验证可行,由于不具备原创性,故报告中不再赘述。
2.CRC16程序
data segment
data1 db 110101b
storage db 20h dup(?)
cnt db 6
data ends
code segment
assume cs:code,ds:data
start proc near
mov ax, data
mov ds, ax
mov al, data1 ;存高位
mov bx, 0 ;存低位
mov cx, 0
mov dx, 0
shl ax, 10
mov cx, 1100000000000010b
mov dx, 8000h
yihuo:
xor ax, cx
xor bx, dx
zuoyi:
shl ax, 1
shl bx, 1
jnb bujiayi
add ax, 1
bujiayi:
dec cnt
cmp cnt, 0
jna jieshu
cmp ah, 80h
jb zuoyi
jmp yihuo
jieshu:
jmp $
code ends
end start
程序比较简单,思路与第一次实验的“不恢复余数除法”相似,只是修改一下具体的运算语句即可。
实验感想
只要注意串口传输开始时一定要进行硬件复位,否则不能实现传输。