第二部分 PC 微机异步通信适配器的分析和使用 一、PC中的UART 1.INS PC16450/PC16550

Slides:



Advertisements
Similar presentations
第1章第1章 PC/AT 系統 1 Chapter 1 Chapter 1 PC/AT 系統 001.
Advertisements

微型计算机原理及应用.
22.3 实际问题与一元二次方程(1).
输入输出程序设计 输入输出的基本概念 无条件方式输入输出 查询方式输入输出 中断方式输入输出.
微型计算机技术 教 学 指 导(七) 太原广播电视大学 郭建勇.
第10章 DOS功能调用与BIOS中断调用.
第十二章 DMA控制器 12.1 概述 A DMA控制器 A的应用.
第一章 计算机基础知识 第一节 计算机概述 一、计算机的基本组成和工作原理 二、有关术语 三、计算机发展简史 四、微型计算机概述
第五章 微处理器总线操作与时序 三、总线时序 一、 8086/8088引脚 二、最小模式和最大模式.
输入/输出及接口 输入/输出的传送方式 中断技术 80x86/Pentium中断系统 8259A可编程中断控制器 中断程序设计
本周实验安排 实验内容:(P231)人名排序的例子。
第 6 章 I/O 接口和总线 中国科学技术大学 何克东.
第7章 常用数字接口电路.
4.1 汇编语言 4.2 顺序结构程序 4.3 分支程序设计 4.4 循环程序设计 4.5 子程序设计
第3章 80x86汇编语言程序设计(上) 16位汇编版本 时间不够的情况下只讲16位汇编.
9.1 可编程并行输入/输出接口芯片8255A 9.2 可编程计数器/定时器 可编程串行输入/输出接口芯片8251A
3.3.5 程序控制指令 控制转移指令分为: 转移指令 循环控制指令 调用和返回指令 中断指令.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月26日.
第7章 中断与异常.
第5章 循环与分支程序设计  循环程序设计  分支程序设计.
汇编语言程序设计 Assembly Language Programming
第三章 寻址方式与指令系统 3.1 寻址方式 一条指令通常由两大部分构成: 操作码 操作数
第6章 DMA传输 6.1 DMA传输原理 6.2 DMA控制器8237A A的编程使用 欢迎辞.
第7章 并行接口 7.1 简单并行接口 7.2 可编程并行接口8255A 7.3 键盘接口 7.4 LED显示器接口.
第九章 计数器和定时器电路 第一节 概述 第二节 Intel 8253的控制字 第三节 Intel 8253的工作方式 第九章 计数器和定时器电路 第一节 概述 第二节 Intel 8253的控制字 第三节 Intel 8253的工作方式 第四节 Intel 8253在IBM PC机上的应用.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年12月10日.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月05日.
输入输出与中断 主要内容 CPU与外设之间数据传送方式 中断技术 8086中断系统和中断处理.
本章分为三节,主要介绍: 6.1 计算机串行通信基础 C51的串行口 6.3 单片机串行口应用举例.
微型机系统与接口技术复习.
第5章 输入输出与接口技术.
第八章 输入输出程序设计 总线 CPU MEM I/O接口 I/O设备.
步进电机控制技术综合实验.
微机原理及应用 主讲:谢维成 西华大学 电气信息学院 1.
基本的”防”黑客技术 Basic” ” Hacker Technique
微机原理及应用 主讲:郑海春.
第15章 串行通信及接口电路.
第一章 8086程序设计 第二章 MCS-51程序设计 第三章 微机基本系统的设计 第四章 存贮器与接口 第五章 并行接口
微机原理与接口技术 第9章 计时/计数接口.
第8章 PCH中的常规接口.
汇编语言程序设计课程设计 第二次实验 DEBUG基本命令与算术运算指令
第7章 微型机接口技术 可编程定时/计数器 可编程并行接口 串行接口与串行通信(概念) DMA控制器接口(不做要求) 模拟量输入/输出接口.
微型机系统与接口技术自学部分 只作扩展知识用 本电子课件包含2011版第3, 6, 7, 8章自学部分 东南大学计算机科学与工程学院.
微型计算机原理及应用.
第3章 微型计算机输入输出接口 3.1 输入/输出接口 3.2 输入输出数据传输的控制方式 3.3 开关量输入输出接口 欢迎辞.
第六章 子程序结构 §6.1 子程序的设计方法 §6.2 嵌套与递归子程序 §6.3 子程序举例 §6.4 DOS系统功能调用.
1.3 微型计算机的结构和工作原理.
第 13 章 中断系统.
第二章 模拟量输出通道 本章要点 1.模拟量输出通道的结构组成与模板通用性; 2.8位D/A转换器DAC0832的原理组成及其接口电路
條件處理.
第5章 循环与分支程序设计 学习目标: 了解并掌握循环程序的构造方法,尤其是对循环控制条件的设置以及可能出现的边界情况的考虑。掌握起泡排序算法这种多重循环程序设计中的常用方法。交换标志位的设置在此算法中更能提高效率。学会在数组排序算法中采用折半查找法来提高查找效率。学会使用跳跃表法实现CASE结构。
第7章 I/O接口和总线 7.1 I/O接口 7.2 总线.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月19日.
第五章:输入输出基本技术 主讲教师:范新民.
第二章 8086微处理器. 第二章 8086微处理器 微处理器的基本结构 8086微处理器的主要特性和内部结构 8086CPU的工作模式和引脚信号 8086的存储器管理 8086的总线操作和时序.
第10章 可编程外围接口芯片8255A及其应用 10.1 概述 A的工作原理 A的应用举例.
习题3 1、 分别说明下列指令的原操作数和目的操作数各采用什么寻址方式。 设定如下: ①立即寻址 ② ① ②寄存器寻址
可编程定时计数器.
第 3 章、組合語言 作者:陳鍾誠 旗標出版社.
第九章 BIOS和DOS中断 在存储器系统中,从地址0FE000H开始的8K ROM(只读存储器)中装有BIOS(Basic Iuput /output System)例行程序。驻留在ROM中的BIOS给PC系列的不同微处理器提供了兼容的系统加电自检,引导装入,主要I/O设备的处理程序以及接口控制等功能模块来处理所有的系统中断。使用BIOS功能调用,给程序员编程带来很大方便,程序员不必了解硬件操作的具体细节,直接用指令设置参数,然后中断调用BIOS中的子功能,所以利用BIOS功能编写的程序简洁,可读性好,
《微型计算机原理与接口技术》 第4版 王良 宁德师范学院 吴宁 乔亚男 编著 清华大学出版社 出版
第5章 循环与分支程序设计  循环程序设计  分支程序设计.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年12月17日.
第八章 中断系统.
微机原理与接口技术 西安邮电大学计算机学院 宁晓菊.
第6章 子程序结构 在程序设计中,我们会发现一些多次无规律重复的程序段或语句序列。解决此类问题一个行之有效的方法就是将它们设计成可供反复调用的独立的子程序结构,以便在需要时调用。在汇编语言中,子程序又称过程。 调用子程序的程序称为主调程序或主程序。 2019/7/20 ch6.
微机原理与接口技术 第5章 汇编语言程序设计 西安邮电大学计算机学院 王 钰.
微机原理与接口技术 西安邮电大学计算机学院 宁晓菊.
第8章 并行接口芯片 并行接口一般具有两个或两个以上的8位I/O接口。各个口的工作方式可由程序分别确定或改变,使用灵活,便于和各种外部设备连接。因此,又称可编程的外部接口(PPI) 目前各主要微处理器厂商都有自己的PPI产品,但它们的功能基本类似.
黑客反向工程导论 中国科技大学计算机系
Presentation transcript:

第二部分 PC 微机异步通信适配器的分析和使用 一、PC中的UART 1.INS8250 2.PC16450/PC16550 带16字节的发送缓冲器和16字节的接收缓冲器 FIFO 3.端口基地址,硬件中断请求号,中断向量: COM1: 3F8H,4,0C COM2: 2F8H, 3, 0B 当加入其他的串口卡后,其地址一般为 COM3: 3E8, 4 ,0C COM4: 2E8, 4 , 0B 由于冲突,一般应该将中断请求修改为其他保留的号。 4.多串口卡:2,4,8,16,32 如MOXA卡 提供标准的编程开发包。 端口地址:每个一口,但中断一个(多个)

二、UART的简单应用 1.连线:RS232C接口标准,不需要进行电平转换,3线或7线连接方式 2.编程: 1)DOS下按照文件编程,文件名就是COM1:或COM2: 2)WINDOWS下VB编程,用MSCOMM控件编程 3) WINDOWS下VC编程,用控件,或者按文件编程。 4)用开发包编程:有很多,可以从网上下载。

三、UART的管脚与结构 1.管脚:不需要掌握 2.内部结构:见书 四、寄存器与BPS 1.地址分配及其复用 3根地址信号线:A2 A1 A0 8个地址,7个可用,10个可编程物理端口。 复用:。。。。。。。 2.10个寄存器及其每位的作用 。。。。。。。。。。。。。 2.波特率除数 波特率除数(BRD)是16位数,它与UART的数据传输速率 (波特率)有关。当使用UART的内部时钟频率为1.8432MHz时, 则波特率除数BRD与波特率Baud之间的关系如下式所示: BRD=时钟频率/(16×Baud)。 例如,若要计算波特率为1200b/s的波特率除数,则有: BDR=1843200/(16×1200)=0060H。

五、8250工作过程 1.数据发送过程 CPU将要发送的数据以字符为单位写到8250的THR中()。当TSR中的数据全部移出变空时,存于THR中待发送的数据将会自动发送并行送到TSR(8250初始化后,TSR为空状态,所以初始化后传送到THR的第一个字符总是立即送到TSRE。)。TSR在发送时钟的激励下,按照事先和接收方约定的字符传送式(参见图7-35),加上起始位,奇偶校验位和停止位,再以约定的波特率(由波特率控制部分产生)按照从底到高的顺序一位一位的由SOUT端发送出去。 一旦THR的内容送到TSR ,就会在LSR中建立"数据发送保持寄存器空"的状态位;而且也可以用此状态位来触发产生中断。因此,查询状态位或者利用该状态触发的中断即可实现数据的连续发送。

2.数据接收过程 由通信对方来的数据在接收时钟RCLK的作用下,通过SIN端逐位进入RSR。RSR根据初始化时定义的数据位数确定接收到了一个完整的数据后会立即将数据自动并行传送到RBR。RBR收到RSR 的数据后,就立即在状态寄存器中建立"接收到数据准备好"的状态,而且也可以用此状态位来触发中断。因此,查询状态位或者利用该状态触发的中断即可实现数据的连续接收。 由于串行异步通信的速率低,无论是用查询方式还是中断方式来实现异步通信均不很困难。

8250初始化时,通常首先使通信控制字的D7=1,即使DLAB为1 .在此条件下,将除数低8位和高8位分别写入8250内部的除数寄存器。 六、8250初始化编程 1.写BPS 8250初始化时,通常首先使通信控制字的D7=1,即使DLAB为1 .在此条件下,将除数低8位和高8位分别写入8250内部的除数寄存器。 MOV DX,3FBH ;LCR的地址 MOV AL,80H ;开始 OUT DX,AL; MOV DX,3F8H ;使LCR的D7=1 MOV AL,60H ;DLL的地址 OUT DX,AL ;写除数低8位 INC DX ;DLH的地址 MOV AL,0 OUT DX,AL ;写除数高8位

2.写通讯线控制字 MOV DX,3FBH ;LCR的地址 MOV AL,0AH ;1 位停止位,7位数据位,奇校验 OUT DX,AL ;初始化通信控制寄存器 3.写MODEM控制字 MOV DX,3FCH ;MCR的地址 MOV AL,03H ;使DTR和RTS有效 OUT DX,AL ;初始化modem控制器 4.写中断允许字(中断方式) MOV DX,3F9H ;IER的地址 MOV AX,0 ;禁止所有中断 OUT DX,AL ;写中断允许寄存器

假定要发送的字节数放在BX中,要发送的数据顺序存放在以DATA为首地址的内存区中,则发送数据的程序段如下所示。 七、8250的应用举例 1.查询方式 假定要发送的字节数放在BX中,要发送的数据顺序存放在以DATA为首地址的内存区中,则发送数据的程序段如下所示。 SENDPRG: MOV DX,3FDH LEA SI,DATA WAITTHR: IN AL,DX TEST AL,20H;检查THR是否空 JZ WAITTHR PUSH DX MOV DX,3F8H LODSB OUT DX,AL POP DX DEC BX JNZ WAITTHR 查询方式实现数据的接收。 RECVPRG: MOV DX,3FDH WAITRBR: IN AL,DX TEST AL,1EH ;检查是否有任何错误产生 JNZ ERROR TEST AL,01H ;检查数据准备好否 JZ WAITRBR MOV DX,3F8H IN AL,DX ;接收一个字节 AND AL,7FH ;只保留低7位 …

2. 中断方式 以查询方式发送数据,以中断方式接收数据, INISIR:MOV DX,3FBH MOV AL,80H OUT DX,AL ;置DLAB=1 MOV DX,3F8H MOV AL,0CH OUT DX,AL MOV DX,3F9H MOV AL,0 ;置除数为000CH,规定波特率为9600波特 MOV DX,3FBH MOV AL,0AH ;1 位停止位,7位数据位,奇校验 OUT DX,AL ;初始化通信控制寄存器 MOV DX,3FCH MOV AL,0BH ;使OUT2 ,DTR和RTS 有效 OUT DX,AL ;初始化MODEM 寄存器 MOV AL,01H ;允许接收数据寄存器满产生中断 OUT DX,AL ;初始化中断允许寄存器 STI ;CPU 开中断

中断服务程序 RECVE: SAVEDATA: PUSH AX PUSH BX PUSH DX PUSH DS MOV DX,3FDH IN AL,DX MOV AH,AL ;保存接收状态 MOV DX,3F8H IN AL,DX ;读入接收到的数据 AND AL,7FH TEST AH,1EH ;检查有无错误产生 JZ SAVEDATA MOV AL,'?' ;出错的数据用问号替代 SAVEDATA: MOV DX,SEG BUFFER MOV DS,DX MOV BX,OFFSET BUFFER MOV [BX],AL MOV DX ;中断控制器端口地址 MOV AL,20H ;将EOI命令发给中断控制器8259 OUT DX,AL POP DS POP DX POP BX POP AX STI IRET

作业 不用任何连线,编写汇编语言程序,测试本计算机的COM1口是否能够正常工作。 两台计算机,把其串口连线,编写程序,一端发送文件,另一端接收文件。 (先发文件名)。 建议使用C或VB语言编程。也可以用汇编语言编程。