版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、微机原理与接口技术微机原理与接口技术第第11章章 串行接口技术串行接口技术主编:周国运机械工业出版社机械工业出版社2011.9第第11章章 串行接口技术串行接口技术本章内容本章内容 11.1 串行通信概述串行通信概述 11.2 串行接口芯片串行接口芯片16550 11.3 串行接口应用举例串行接口应用举例 串行通信是微机中串行通信是微机中数据传送数据传送的一种重要的一种重要方式,大大降低了方式,大大降低了远距离通信的成本远距离通信的成本,它是,它是构成构成计算机网络计算机网络的基础。的基础。 本章讲述串行通信的概念、串行通信基本章讲述串行通信的概念、串行通信基本方式、本方式、rs-232串行通
2、信标准、串行接口芯串行通信标准、串行接口芯片片ns16550以及在微机中以及在微机中ns16550的实际应的实际应用。用。 11.1 串行通信概述串行通信概述一、串行通信基本概念一、串行通信基本概念 二、串行通信基本方式二、串行通信基本方式三、三、rs-232串行通信标准串行通信标准四、其他串行通信标准四、其他串行通信标准 1 1、通信方式、通信方式 计算机与外界的信息交换称为通信计算机与外界的信息交换称为通信。基本的通。基本的通信方法有并行通信和串行通信两种。信方法有并行通信和串行通信两种。 (1 1)并行通信并行通信单位信息(通常指一个字节)的各位数据单位信息(通常指一个字节)的各位数据同
3、时传同时传送送的通信方法称为并行通信。的通信方法称为并行通信。(2 2)串行通信串行通信单位信息的各位数据被分时单位信息的各位数据被分时一位一位依次顺序传一位一位依次顺序传送送的通信方式称为串行通信。的通信方式称为串行通信。 一、串行通信基本概念一、串行通信基本概念11.1 串行通信概述串行通信概述11.1 串行通信概述串行通信概述2、数据传送方式、数据传送方式单工方式:单工方式:一对传输线只允许一对传输线只允许单方向单方向传送传送数据;数据;半双工方式:半双工方式:一对传输线允许向两个方向一对传输线允许向两个方向中的任一方向传送数据,但中的任一方向传送数据,但不能同时不能同时进行;进行;全双
4、工方式:全双工方式:用两对传输线连接在发送器用两对传输线连接在发送器和接收器上,发送和接收和接收器上,发送和接收能同时能同时进行。进行。一、串行通信基本概念一、串行通信基本概念11.1 串行通信概述串行通信概述一、串行通信基本概念一、串行通信基本概念接接收收器器发发送送器器接接收收器器发送器发送器发送器发送器接接收收器器数据流数据流接接收收器器发送器发送器发送器发送器数据流数据流接接收收器器(a)单工方式单工方式(b)半双工方式半双工方式(c)全双工方式全双工方式11.1 串行通信概述串行通信概述一、串行通信基本概念一、串行通信基本概念3、波特率和收、波特率和收/发时钟发时钟(1)波特率)波特
5、率 指在串行通信中,每秒传送的二进制位数指在串行通信中,每秒传送的二进制位数(bps)。(2)收发时钟)收发时钟收发时钟的快慢直接影响通信设备发送收发时钟的快慢直接影响通信设备发送/接收字接收字符数据的速度。符数据的速度。收发时钟频率与波特率的关系:收发时钟频率与波特率的关系:时钟频率时钟频率=factor收发波特率收发波特率其中其中factor称为波特率因子,取称为波特率因子,取1,16,6411.1 串行通信概述串行通信概述一、串行通信基本概念一、串行通信基本概念 4、信号调制解调、信号调制解调 调制调制就是把数字信号变换成模拟信号表示的过就是把数字信号变换成模拟信号表示的过程,而程,而解
6、调解调则是把模拟信号变换成数字信号表示的则是把模拟信号变换成数字信号表示的过程。过程。计计算算机机modem调制调制解调解调模拟信号模拟信号数字信号数字信号数字信号数字信号1 0 1 0 1 0 1 01010101010101010两线电话线两线电话线modem调制调制解调解调计计算算机机11.1 串行通信概述串行通信概述一、串行通信基本概念一、串行通信基本概念最基本的调制与解调的方法有以下几种:最基本的调制与解调的方法有以下几种:(1)调幅调幅(am)()(2)调频调频(fm)()(3)调相调相(pm)11.1 串行通信概述串行通信概述一、串行通信基本概念一、串行通信基本概念5、串行通信的
7、错误校验、串行通信的错误校验()奇偶校验()奇偶校验 在传送数据时,数据位尾随的在传送数据时,数据位尾随的1位为奇偶校验位(位为奇偶校验位(1或或0)。奇校验时,数据中)。奇校验时,数据中“1”的个数与校验位的个数与校验位“1”的个数之和应为奇数;偶校验时,数据中的个数之和应为奇数;偶校验时,数据中“1”的个数的个数与校验位与校验位“1”的个数之和应为偶数。的个数之和应为偶数。()和校验()和校验和校验是发送方将所发数据块求和(或各字节异或和校验是发送方将所发数据块求和(或各字节异或),产生一个字节的校验字符(校验和)附加到数据),产生一个字节的校验字符(校验和)附加到数据块末尾。块末尾。()
8、循环冗余校验()循环冗余校验这种校验是通过某种数学运算实现有效信息与校验这种校验是通过某种数学运算实现有效信息与校验位之间的循环校验。位之间的循环校验。11.1 串行通信概述串行通信概述二、串行通信基本方式二、串行通信基本方式1、异步通信、异步通信异步通信中,传送的数据可以是一个异步通信中,传送的数据可以是一个字符字符代码或一个代码或一个字节字节数据,数据以数据,数据以帧帧的形式一帧一的形式一帧一帧传送。帧传送。 0/1 0/10/10/1 0/1100/10/1 0/1 0/10/1 0/1100/1停停止止位位起起始始位位8位数据位数据校校验验位位停停止止位位起起始始位位0/1数据数据第第
9、n个字符个字符第第n+1个字符个字符11.1 串行通信概述串行通信概述二、串行通信基本方式二、串行通信基本方式2、同步通信、同步通信在同步通信中,每一数据块发送开始时,在同步通信中,每一数据块发送开始时,先发送先发送一个或两个同步字符一个或两个同步字符,使发送与接收,使发送与接收取得同步,然后再顺序发送数据。数据块的取得同步,然后再顺序发送数据。数据块的各个字符间各个字符间取消起始位和停止位取消起始位和停止位,所以通信,所以通信速度得以提高速度得以提高 。数据数据数据数据同步字符同步字符1同步字符同步字符2数据流数据流11.1 串行通信概述串行通信概述三、三、rs-232串行通信标准串行通信标
10、准rs-232c标准(协议)是美国标准(协议)是美国eia与与bell等公司一等公司一起开发的起开发的1969年公布的通信协议。年公布的通信协议。最初是为远程通信连接数据终端设备最初是为远程通信连接数据终端设备dte与数据通与数据通信设备信设备dce而制定的。但目前已广泛用于计算机与终而制定的。但目前已广泛用于计算机与终端或外设之间的近端连接。端或外设之间的近端连接。对串行通信接口的有关问题,如对串行通信接口的有关问题,如信号线功能信号线功能、电气电气特性特性都作了明确规定。都作了明确规定。通信设备厂商都生产与通信设备厂商都生产与rs-232c制式兼容的通信设制式兼容的通信设备,它作为一种标准
11、,已在目前备,它作为一种标准,已在目前微机串行通信接口微机串行通信接口中中广泛采用。广泛采用。11.1 串行通信概述串行通信概述三、三、rs-232串行通信标准串行通信标准1、电气特性、电气特性在在txd和和rxd数据上采用数据上采用负逻辑负逻辑:逻辑逻辑1(mark):用电平):用电平-3-15v表示。表示。逻辑逻辑0(space):用电平):用电平+3+15v表示。表示。在在rts、cts、dsr、dtr和和dcd等控制等控制线上:线上:信号有效(接通,信号有效(接通,on状态,正电压):用电平状态,正电压):用电平+3+15v表示。表示。信号无效(断开,信号无效(断开,off状态,负电压
12、):用电状态,负电压):用电平平-3-15v表示。表示。11.1 串行通信概述串行通信概述三、三、rs-232串行通信标准串行通信标准2、机械特性、机械特性rs-232c连接器的机械形状有连接器的机械形状有db-25,db-15和和db-9三种类型,其引脚的定义各不相同。三种类型,其引脚的定义各不相同。11.1 串行通信概述串行通信概述三、三、rs-232串行通信标准串行通信标准rs-232c标准接口主要引脚定义标准接口主要引脚定义插针序号插针序号信号名称信号名称功功 能能信号方向信号方向1pgnd保护接地保护接地2(3)txd发送数据(串行输出)发送数据(串行输出)dtedce3(2)rxd
13、接收数据(串行输入)接收数据(串行输入)dtedce4(7)rts请求发送请求发送dtedce5(8)cts允许发送允许发送dtedce6(6)dsrdce就绪(数据建立就绪)就绪(数据建立就绪)dtedce7(5)sgnd信号接地信号接地8(1)dcd载波检测载波检测dtedce20(4)dtrdte就绪(数据终端准备就绪)就绪(数据终端准备就绪)dtedce22(9)ri振铃提示振铃提示dtedce注:插针序号()内为注:插针序号()内为9针非标准连接器的引脚号。针非标准连接器的引脚号。3、功能特性、功能特性11.1 串行通信概述串行通信概述三、三、rs-232串行通信标准串行通信标准4、
14、通信线路的连接、通信线路的连接(1)采用)采用modem和专用电话线通信时信号线的连接和专用电话线通信时信号线的连接11.1 串行通信概述串行通信概述三、三、rs-232串行通信标准串行通信标准4、通信线路的连接、通信线路的连接(2)采用)采用modem和电话网通信时信号线的连接和电话网通信时信号线的连接11.1 串行通信概述串行通信概述三、三、rs-232串行通信标准串行通信标准4、通信线路的连接、通信线路的连接(3)三线制通信连接)三线制通信连接 (4)零)零modem方式的标准信号连接方式的标准信号连接计计算算机机或或终终端端23457620计计算算机机或或终终端端23457620222
15、20876543txdrxdrtsctsdsrsgdcddtrri22220876543txdrxdrtsctsdsrsgdcddtrridtedte11.1 串行通信概述串行通信概述四、其他串行通信标准四、其他串行通信标准1usb标准接口标准接口 传统的接口电路每增加一种设备,就需要为它传统的接口电路每增加一种设备,就需要为它准备一种接口或插座,还要为它们准备各自的驱动准备一种接口或插座,还要为它们准备各自的驱动程序。这些接口、插座、驱动程序各不相同,给使程序。这些接口、插座、驱动程序各不相同,给使用和维护带来了困难。用和维护带来了困难。 由由intel等公司开发的等公司开发的usb(通用串
16、行总线)采(通用串行总线)采用通用的连接器,采用热插拔技术以及相应的软件,用通用的连接器,采用热插拔技术以及相应的软件,使得外设的连接和使用大大地简化,受到了普遍欢使得外设的连接和使用大大地简化,受到了普遍欢迎,目前已经成为流行的外设接口。迎,目前已经成为流行的外设接口。11.1 串行通信概述串行通信概述四、其他串行通信标准四、其他串行通信标准usb接口的主要性能特点:接口的主要性能特点:设备连接简便,具有即插即用和热插拔的能力。设备连接简便,具有即插即用和热插拔的能力。具有适合传送多媒体数据的传输方式。具有适合传送多媒体数据的传输方式。和很多传统接口一样,可由电缆给接入的设备提和很多传统接口
17、一样,可由电缆给接入的设备提供供5v电源。电源。数据传输速率比普通标准串行口的要高得多。数据传输速率比普通标准串行口的要高得多。两台设备之间的最大传输距离一般为两台设备之间的最大传输距离一般为45m。最多可挂接最多可挂接127台台usb设备。设备。11.1 串行通信概述串行通信概述四、其他串行通信标准四、其他串行通信标准2ieee1394标准接口标准接口 ieee1394是是1995年批准和发布的一种最新的年批准和发布的一种最新的高性能串行总线接口标准。高性能串行总线接口标准。 1998年,在年,在microsoft、intel和和compaq等公司等公司制定的个人计算机规格制定的个人计算机规
18、格pc98中,将具备中,将具备ieee1394接接口作为一项重要内容,目前正在口作为一项重要内容,目前正在pc机中逐步推广普机中逐步推广普及。及。 ieee1394与与usb有很多相似之处,一开始就有很多相似之处,一开始就是针对高速是针对高速i/o设备而提出的,其设备而提出的,其i/o速度是速度是usb最最高速度的高速度的8倍。倍。11.1 串行通信概述串行通信概述四、其他串行通信标准四、其他串行通信标准ieee1394的主要性能特点:的主要性能特点:1)数据传输速率高)数据传输速率高1394的数据传输率分为的数据传输率分为100mbps、200mbps和和400mbps三档,远远高于三档,远
19、远高于eide和和scsi的最高数的最高数据传输率。据传输率。2)数据传送实时性强)数据传送实时性强这对于多媒体数据传送特别重要,实时性可这对于多媒体数据传送特别重要,实时性可保证图像和声音不会出现失真。保证图像和声音不会出现失真。3)结构小巧,连接方便)结构小巧,连接方便1394使用使用6芯电缆,直径约为芯电缆,直径约为6mm,插座也小。,插座也小。11.2 串行接口芯片串行接口芯片16550一、一、16550的内部结构的内部结构 二、二、16550的引脚信号的引脚信号三、三、16550的内部寄存器及初的内部寄存器及初始化编程始化编程 11.2 串行接口芯片串行接口芯片16550一、一、16
20、550的内部结构的内部结构包括:包括:数据总线缓冲器数据总线缓冲器读读/写控制逻辑写控制逻辑波特率发生器波特率发生器收发模块收发模块线路模块线路模块modem控制模块控制模块中断模块中断模块除法器模块除法器模块读读/写写控制控制逻辑逻辑a0a1a2cs 0cs 1cs 2adsmrrdrdwrwrddistxrdyxinxoutrxrdy数据总线数据总线缓冲器缓冲器d0d7内内部部数数据据总总线线接收缓冲接收缓冲寄存器寄存器接收器接收器fifo接收移位接收移位寄存器寄存器线路控制线路控制寄存器寄存器除数锁存器除数锁存器低字节低字节除数锁存器除数锁存器高字节高字节线路状态线路状态寄存器寄存器发送
21、保持发送保持寄存器寄存器moden控制寄存器控制寄存器moden状态寄存器状态寄存器中断标识中断标识寄存器寄存器fifo控制寄存器控制寄存器接收定时接收定时控制控制波特率波特率发生器发生器发送定时发送定时控制控制发送器发送器fifo发送移位发送移位寄存器寄存器moden控制逻辑控制逻辑中断允许中断允许寄存器寄存器sinrclkbaudoutsoutrtsctsdtrdsrdcdriout 1out 2intr中断允许中断允许寄存器寄存器selectselect读读/写写控制控制逻辑逻辑a0a1a2cs0cs1cs2adsmrrdrdwrwrddistxrdyxinxoutrxrdy数据总线数据
22、总线缓冲器缓冲器d0d7内内部部数数据据总总线线接收缓冲接收缓冲寄存器寄存器接收器接收器fifo接收移位接收移位寄存器寄存器线路控制线路控制寄存器寄存器除数锁存器除数锁存器低字节低字节除数锁存器除数锁存器高字节高字节线路状态线路状态寄存器寄存器发送保持发送保持寄存器寄存器接收定时接收定时控制控制波特率波特率发生器发生器发送定时发送定时控制控制发送器发送器fifo发送移位发送移位寄存器寄存器sinrclkbaudoutsoutselectselect发送保持发送保持寄存器寄存器moden控制寄存器控制寄存器moden状态寄存器状态寄存器中断标识中断标识寄存器寄存器fifo控制寄存器控制寄存器发送
23、移位发送移位寄存器寄存器moden控制逻辑控制逻辑中断允许中断允许寄存器寄存器soutrtsctsdtrdsrdcdriout1out2intr中断允许中断允许寄存器寄存器elect读读/写写控制控制逻辑逻辑a0a1a2cs0cs1cs2adsmrrdrdwrwrddistxrdyxinxoutrxrdy内内部部数数据据总总线线 11.2 串行接口芯片串行接口芯片16550二、二、16550的引脚信号的引脚信号d7d0:双向数据总线:双向数据总线cs2、cs1、cs0:片选输入信号:片选输入信号a2a0:端口选择信号:端口选择信号ads:地址选通输入信号:地址选通输入信号txrdy:发送器准备
24、好信号:发送器准备好信号rxrdy:接收器准备好信号:接收器准备好信号wr/wr写控制信号写控制信号rd/rd:读控制信号:读控制信号ddis:驱动器禁止信号:驱动器禁止信号mr:主复位信号:主复位信号intr:中断请求信号:中断请求信号xin、xout:基准时钟信号输:基准时钟信号输入、输出引脚入、输出引脚 11.2 串行接口芯片串行接口芯片16550二、二、16550的引脚信号的引脚信号sout:串行数据输出引脚:串行数据输出引脚 sin:串行数据输入引脚:串行数据输入引脚bandout:波特率发生器输出:波特率发生器输出信号信号rclk:接收时钟信号:接收时钟信号dtr:数据终端就绪:数
25、据终端就绪dsr:数据设备就绪:数据设备就绪rts:请求发送:请求发送cts:允许发送:允许发送dcd:接收线路信号:接收线路信号ri:振铃指示:振铃指示out1、out2:输出信号,由用:输出信号,由用户编程定义户编程定义 三、三、16550的内部寄存器及初始化编程的内部寄存器及初始化编程dlab cs2 cs1 cs0 a2 a1 a0 寄寄 存存 器(器(r)com1地址地址com2地址地址复位状态复位状态00 1 10 0 0数据接收数据接收r(读读)3f8h2f8h清清000 1 10 0 0数据发送数据发送r(写写)3f8h2f8h清清000 1 10 0 1中断允许中断允许r3f
26、9h2f9h清清00 1 10 1 0中断识别中断识别r(读读)fifor(写)(写)3fah 2fahd0=1、其余位清、其余位清0清清00 1 10 1 1通信线路控制通信线路控制r3fbh 2fbh清清00 1 11 0 0moden控制控制r3fch 2fch清清00 1 11 0 1通信线路状态通信线路状态r3fdh 2fdhd6、d5位清位清0,其余位为其余位为10 1 11 1 0moden状态状态r3feh 2fehd3d0位清位清0 0 1 11 1 1不用不用3ffh 2ffh10 1 10 0 0低低8位除数位除数r3f8h2f8h清清010 1 10 0 1高高8位除数
27、位除数r3f9h2f9h清清0注:注:dlab标志是线路控制寄存器的标志是线路控制寄存器的d7位,是允许访问除数寄存器的标志位。位,是允许访问除数寄存器的标志位。 11.2 串行接口芯片串行接口芯片16550三、三、16550的内部寄存器及初始化编程的内部寄存器及初始化编程(1)数据接收寄存器)数据接收寄存器并行数据并行数据检测接收错误检测接收错误删除起始位、删除起始位、校验位、停止位校验位、停止位串行数据串行数据cpu接收缓冲寄存器接收缓冲寄存器接收移位寄存器接收移位寄存器同步控制同步控制16550sin0/1 0/10/10/1 11.2 串行接口芯片串行接口芯片16550三、三、1655
28、0的内部寄存器及初始化编程的内部寄存器及初始化编程并行数据并行数据加入起始位、加入起始位、校验位、停止位校验位、停止位串行数据串行数据cpu发送保持寄存器发送保持寄存器发送移位寄存器发送移位寄存器同步控制同步控制16550sout0/1 0/10/10/1(2)数据发送寄存器)数据发送寄存器 11.2 串行接口芯片串行接口芯片16550三、三、16550的内部寄存器及初始化编程的内部寄存器及初始化编程(3)fifo控制寄存器控制寄存器d7d6d5d4d3d2d1d0rt1rt000dmaxmit recvenrt1 rt0表示接收器触发器的值表示接收器触发器的值00:1字节字节01:4字节字节
29、10:8字节字节11:14字节字节dma位为位为1时,选择时,选择fifo方式;为方式;为0时,时,选择选择16450uart方方式。式。xmit置置1时,发送时,发送器复位。器复位。recv置置1时,接时,接收器复位。收器复位。en置置1,允许,允许fifo模式。模式。 11.2 串行接口芯片串行接口芯片16550三、三、16550的内部寄存器及初始化编程的内部寄存器及初始化编程(4)通信线路控制寄存器)通信线路控制寄存器d7d6d5d4d3d2d1d0dlabsbrkspbepspenstbwls1wls0寄存器选择寄存器选择0 正常值正常值1 除数寄存器除数寄存器中止字符中止字符0 无作
30、用无作用1 发送中止字符发送中止字符校验位设置校验位设置0 无校验位无校验位001 设置奇校验设置奇校验011 设置偶校验设置偶校验101 校验位为校验位为1111 校验位为校验位为0停止位个数停止位个数0 1位位1 1.5位(数据位为位(数据位为5位时)位时)1 2位(数据位为位(数据位为68位时)位时)数据位个数数据位个数00 5位位01 6位位10 7位位11 8位位 11.2 串行接口芯片串行接口芯片16550三、三、16550的内部寄存器及初始化编程的内部寄存器及初始化编程(5)通信线路状态寄存器)通信线路状态寄存器d7d6d5d4d3d2d1d0ettsre threbifepeo
31、edr为为1表示接收表示接收fifo错误错误为为1时表示发送移位时表示发送移位寄存器空,当数据寄存器空,当数据由发送保持寄存器由发送保持寄存器移入发送移位寄存移入发送移位寄存器时,该位为器时,该位为0为为1表示发送缓冲寄存表示发送缓冲寄存器空,当器空,当cpu将字符写将字符写入发送保持寄存器后,入发送保持寄存器后,该位为该位为0为为1表示接收到表示接收到终止符终止符为为1表示帧格式错表示帧格式错为为1表示奇偶错表示奇偶错为为1表示溢出错表示溢出错为为1表示接收数据就表示接收数据就绪,当绪,当cpu读走数读走数据后,该位为据后,该位为0 11.2 串行接口芯片串行接口芯片16550三、三、165
32、50的内部寄存器及初始化编程的内部寄存器及初始化编程(6) modem控制寄存器控制寄存器d7d6d5d4d3d2d1d0000loopout2out1rtsdtr自测试状态:自测试状态:4个控制输入信号在内部与个控制输入信号在内部与4个控制输出信号相连个控制输出信号相连发送的串行数据在内部被接收发送的串行数据在内部被接收检测检测16550发送和接收功能,不必外连线发送和接收功能,不必外连线为为1表示表示dtr准备好准备好为为1表示表示rts有有效效为为1使使out1输输出为低出为低为为1使使out2输输出为低出为低为为1表示表示16550工作于自测试状态,工作于自测试状态,即自发自收状态,为
33、即自发自收状态,为0表示工作表示工作于正常工作状态于正常工作状态 11.2 串行接口芯片串行接口芯片16550三、三、16550的内部寄存器及初始化编程的内部寄存器及初始化编程(7) modem状态寄存器状态寄存器d7d6d5d4d3d2d1d0dcdridsrctsdcdridsr cts1)高)高4位位dcd、ri、dsr和和cts记录外部记录外部modem的的四个输入信号状态,功能与相应引脚信号功能相同,四个输入信号状态,功能与相应引脚信号功能相同,而极性相反。而极性相反。2)低)低4位记录高位记录高4位相应状态的改变,即当高位相应状态的改变,即当高4位中位中某一位的状态发生改变时,则低
34、某一位的状态发生改变时,则低4位相应位置位相应位置1。这些。这些状态位的改变,除了允许状态位的改变,除了允许cpu执行输入指令进行查询执行输入指令进行查询外,也可以引起中断。外,也可以引起中断。 11.2 串行接口芯片串行接口芯片16550三、三、16550的内部寄存器及初始化编程的内部寄存器及初始化编程(8)中断允许寄存器中断允许寄存器d7d6d5d4d3d2d1d00000edssielsietbei erbfid3d0各位为各位为1分别表示允许分别表示允许moden输入状态改变中输入状态改变中断、允许接收出错中断、允许发送缓冲器空中断、允断、允许接收出错中断、允许发送缓冲器空中断、允许接
35、收缓冲器满中断。许接收缓冲器满中断。需要注意的是:需要注意的是:中断允许寄存器的相应位为中断允许寄存器的相应位为“1”,只允许中断源产生一个高电平有效的中断请求信号只允许中断源产生一个高电平有效的中断请求信号intr。 11.2 串行接口芯片串行接口芯片16550三、三、16550的内部寄存器及初始化编程的内部寄存器及初始化编程(9)中断识别寄存器)中断识别寄存器d7d6d5d4d3d2d1d00000id2id1id0ipd0反映是否有中断请求反映是否有中断请求d3d2d1位表示正在请求的中断,对应关系如下:位表示正在请求的中断,对应关系如下:000:moden输入状态改变输入状态改变001
36、:发送寄存器空:发送寄存器空010:接收缓冲器满:接收缓冲器满110:fifo接收字符超时接收字符超时011:接收数据出错:接收数据出错 11.2 串行接口芯片串行接口芯片16550三、三、16550的内部寄存器及初始化编程的内部寄存器及初始化编程16550初始化编程初始化编程将将80h写入通信线路控制寄存器,使最高位写入通信线路控制寄存器,使最高位d7(dlab)1,建立访问除数寄存器的标志。,建立访问除数寄存器的标志。 写除数寄存器,设定波特率分频系数。写除数寄存器,设定波特率分频系数。写通信线路控制寄存器,写通信线路控制寄存器,使最高位使最高位d7(dlab)0,设置数据格式。,设置数据
37、格式。设置设置fifo控制寄存器。控制寄存器。设置中断允许寄存器。设置中断允许寄存器。设置设置modem控制寄存器。控制寄存器。 11.2 串行接口芯片串行接口芯片16550三、三、16550的内部寄存器及初始化编程的内部寄存器及初始化编程mov dx, 3fbh;线路控制寄存器端口地址线路控制寄存器端口地址mov al, 80h;al=10000000b, 使最高位使最高位dlab=1out dx, al;写线路控制寄存器写线路控制寄存器mov dx, 3f8h;除数寄存器低字节端口地址除数寄存器低字节端口地址mov ax, 3ch;分频系数分频系数out dx, al;写除数寄存器低字节写
38、除数寄存器低字节inc dx;除数寄存器高字节端口地址除数寄存器高字节端口地址mov al, ahout dx, al;写除数寄存器高字节写除数寄存器高字节写线路控制寄存器和除数寄存器写线路控制寄存器和除数寄存器 11.2 串行接口芯片串行接口芯片16550三、三、16550的内部寄存器及初始化编程的内部寄存器及初始化编程写线路控制寄存器及写线路控制寄存器及fifo控制寄存器控制寄存器mov dx, 3fbh;线路控制寄存器端口地址线路控制寄存器端口地址mov al, 0bh;al=00001011, 数长数长8位位, 1位位停止位停止位, 奇校验奇校验out dx, al;写线路控制寄存器写
39、线路控制寄存器mov dx,3fah;fifo控制寄存器地址送控制寄存器地址送dxmov al,47h ;允许允许fifo并清除,设并清除,设fifo中断触发值为中断触发值为4bout dx,al;写写fifo控制寄存器控制寄存器 11.2 串行接口芯片串行接口芯片16550三、三、16550的内部寄存器及初始化编程的内部寄存器及初始化编程写写modem控制寄存器及中断允许寄存器控制寄存器及中断允许寄存器mov dx, 3fch;modem控制寄存器端口地址控制寄存器端口地址mov al, 03h;使使dtr =0和和rts =0, ;数据终端就绪数据终端就绪, 请求发送请求发送out dx,
40、 al;写写modem控制寄存器控制寄存器mov dx, 3f9h;中断允许寄存器端口地址中断允许寄存器端口地址mov al, 00h;禁止所有中断禁止所有中断out dx, al;写中断允许寄存器写中断允许寄存器 11.3 串行接口应用举例串行接口应用举例一、一、bios通信功能介绍通信功能介绍二、二、 双微机串行通信双微机串行通信 三、三、windows下微机串口应用下微机串口应用11.3 串行接口应用举例串行接口应用举例一、一、 bios通信功能介绍通信功能介绍(1)串行口初始化)串行口初始化 :int 14h 0号功能号功能入口参数:入口参数:ah0,串行口初始化;,串行口初始化; a
41、l初始化参数初始化参数 d7d6d5d4d3d2d1d0波特率选择波特率选择校验选择校验选择停止位选择停止位选择数据位选择数据位选择000:110bps 001:150 bps010:300 bps 011:600 bps100:1200 bps 101:2400 bps110:4800 bps 111:9600 bpsx0:无校验:无校验01:奇校验:奇校验11:偶校验:偶校验为为1时时2位停止位位停止位为为0时时1位停止位位停止位为为11时时8位数据位数据为为10时时7位数据位数据出口参数:出口参数:ah通信线路状态寄存器内容。通信线路状态寄存器内容。 almodem状态寄存器内容。状态寄
42、存器内容。11.3 串行接口应用举例串行接口应用举例一、一、 bios通信功能介绍通信功能介绍(2)发送一帧数据)发送一帧数据 :int 14h 1号功能号功能入口参数:入口参数:ah1,发送数据。,发送数据。 al待发送的数据。待发送的数据。 dx0,使用主串行口;,使用主串行口; dx1,使用辅助串行口。,使用辅助串行口。出口参数:出口参数:ah的的d71,表示发送失败;,表示发送失败; d70,表示发送成功。,表示发送成功。11.3 串行接口应用举例串行接口应用举例一、一、 bios通信功能介绍通信功能介绍(3)接收一帧数据)接收一帧数据 :int 14h 2号功能号功能入口参数:入口参
43、数:ah2,接收数据。,接收数据。 dx0,使用主串行口;,使用主串行口; dx1,使用辅助串行口。,使用辅助串行口。出口参数:出口参数:ah的的d71,表示接收失败;,表示接收失败; d70,表示接收成功。,表示接收成功。 al=接收的字符。接收的字符。11.3 串行接口应用举例串行接口应用举例一、一、 bios通信功能介绍通信功能介绍(4)测试通信线路状态)测试通信线路状态 :int 14 h 3号功能号功能入口参数:入口参数:ah3,测试通信线路状态。,测试通信线路状态。 dx0,使用主串行口;,使用主串行口; dx1,使用辅助串行口。,使用辅助串行口。出口参数:出口参数:ah通信线路状
44、态寄存器内容。通信线路状态寄存器内容。 almodem状态寄存器内容。状态寄存器内容。 ax寄存器返回值的定义见下表。寄存器返回值的定义见下表。11.3 串行接口应用举例串行接口应用举例一、一、 bios通信功能介绍通信功能介绍ahald7 d6 d5 d4 d3 d2 d1 d0 d7 d6 d5 d4 d3 d2 d1 d0超超时时发发送送移移位位寄寄存存器器空空发发送送保保持持寄寄存存器器空空终终止止传传送送帧帧格格式式错错奇奇偶偶错错重重叠叠接接收收错错接接收收数数据据就就绪绪线线路路自自检检测测错错振振铃铃指指示示数数据据终终端端就就绪绪清清除除发发送送非非线线路路自自检检测测非非振
45、振铃铃指指示示非非数数据据终终端端就就绪绪非非清清除除发发送送11.3 串行接口应用举例串行接口应用举例二、双微机串行通信二、双微机串行通信例例11.1 在甲乙两台微机之间使用串口在甲乙两台微机之间使用串口1进行近进行近距离通信。采用异步方式,字符长度距离通信。采用异步方式,字符长度8位,位,1位停止位,位停止位,偶校验,通信波特率为偶校验,通信波特率为9600bps。双机同时运行通信程。双机同时运行通信程序,一方输入的字符可在另一方屏幕上显示。当按下序,一方输入的字符可在另一方屏幕上显示。当按下“esc”键时,程序结束运行。键时,程序结束运行。 解:解:由于两台微机是近距离通信,因此不需要由
46、于两台微机是近距离通信,因此不需要modem,可直接使用串口线连接。本例采用对端口的,可直接使用串口线连接。本例采用对端口的直接操作。直接操作。程序代码如下程序代码如下:11.3 串行接口应用举例串行接口应用举例codesegmentassumecs:codestart:mov al,80hmov dx,3fbhoutdx,al;设置控制寄存器,设置控制寄存器,;选择除数寄存器;选择除数寄存器mov ax,120mov dx,3f8houtdx,alincdxmov al,ahoutdx,al;设置除数寄存器,设置除数寄存器,;波特率为;波特率为9600bps11.3 串行接口应用举例串行接口
47、应用举例mov al,0bhmov dx,3fbhout dx,al;置置16550工作方式,奇校验,工作方式,奇校验,;8位数据,位数据,1个停止位个停止位loop1:mov dx,3fdh in al,dx;循环读状态寄存器循环读状态寄存器test al,1jnz recv;接收准备好,转接收接收准备好,转接收test al,20hjnz trans;发送准备好,转发送发送准备好,转发送jmp loop1;循环循环11.3 串行接口应用举例串行接口应用举例trans:mov ah,1;发送程序段发送程序段int 16h;bios功能调用,功能调用,;键盘缓冲区空键盘缓冲区空zf=1jz l
48、oop1;无键按下,循环下一次无键按下,循环下一次mov ah,0int 16h;读取按键读取按键ascii码码cmp al,27jz exit;是是esc键,程序退出键,程序退出mov dx,3f8hout dx,al;发送按键发送按键ascii码码jmp loop111.3 串行接口应用举例串行接口应用举例recv:test al,1eh jnz disperr;接收错误,转出错处理接收错误,转出错处理mov dx,3f8hin al,dx;读取接收字符读取接收字符cmp al,13jnz dispnomal;不是回车,转普通显示不是回车,转普通显示mov dl,10call disp;显
49、示换行显示换行mov dl,13call disp;显示回车显示回车jmp loop111.3 串行接口应用举例串行接口应用举例disperr:mov dl,? call disp;接收出错,显示?号接收出错,显示?号jmp loop1dispnomal:mov dl,alcall disp;显示接收到的字符显示接收到的字符jmp loop1disp:mov ah,2 int 21h;dos功能调用,将功能调用,将dl中的字符中的字符;输出到屏幕输出到屏幕retexit:mov ah,4chint 21h;dos功能调用,返回系统功能调用,返回系统codeendsend start11.3 串
50、行接口应用举例串行接口应用举例三、三、windows下串行口编程应用下串行口编程应用1serialport组件的属性和方法简介组件的属性和方法简介在在.net framework 2.0中提供了中提供了serialport类,类,该类主要实现串口数据通信等。下面主要介绍该类在该类主要实现串口数据通信等。下面主要介绍该类在后面实例中用到的部分属性和方法。后面实例中用到的部分属性和方法。 portname:属性,获取或设置串行口,如属性,获取或设置串行口,如com1、com2等。等。 baudrate:属性,获取或设置串行波特率,属性,获取或设置串行波特率,如常用的波特率如常用的波特率9600、1
51、9200、115200等。等。 parity:属性,获取或设置奇偶校验检查协属性,获取或设置奇偶校验检查协议,如无校验、奇校验、偶校验等。议,如无校验、奇校验、偶校验等。11.3 串行接口应用举例串行接口应用举例 stopbits:属性,获取或设置每个字节的标准属性,获取或设置每个字节的标准停止位数,停止位数,1位、位、1.5位、位、2位等。位等。 open:方法,打开一个新的串行端口连接。方法,打开一个新的串行端口连接。 close:方法,关闭端口连接,设置方法,关闭端口连接,设置isopen 属属性为性为 false,并释放内部,并释放内部stream对象。对象。 writeline:方法
52、,将字符串写入串行端口输方法,将字符串写入串行端口输出缓冲区。出缓冲区。 readline:方法,读取输入缓冲区中的字符串方法,读取输入缓冲区中的字符串 datareceived:事件,该事件处理事件,该事件处理serialport对对象的数据接收事件。象的数据接收事件。其他属性和方法可以参阅其他属性和方法可以参阅.net framework 2.0中中serialport类。类。11.3 串行接口应用举例串行接口应用举例2串口应用编程串口应用编程下面介绍在下面介绍在windows 下使用下使用vs2005版版visual c#,利用,利用serialport组件编写串行口传送字符串程序的方组
53、件编写串行口传送字符串程序的方法。法。(1)创建项目)创建项目启动启动vs2005,新建,新建visual c#类型项目。类型项目。(2)界面设计)界面设计串行口通信界面如右图。串行口通信界面如右图。 11.3 串行接口应用举例串行接口应用举例 (3)程序设计)程序设计下面是需要编写的各种事件处理代码。下面是需要编写的各种事件处理代码。 1)窗体创建时的串口初始化程序)窗体创建时的串口初始化程序private void form1_load(object sender, eventargs e) combobox1.selectedindex = 0;/选择串口选择串口 combobox2.selectedindex = 4;/选择波特率选择波特率 combobox3.selectedindex =
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 期中教导主任讲话稿6篇
- 进步发言稿范文400字(33篇)
- 酒店个人上半年工作总结7篇
- 高考地理二轮复习考前抢分专题识图技能专练图像二剖面示意图含答案
- 开学第一课安全教育课演讲稿(3篇)
- 销售月度总结
- 27.1 反比例函数 同步练习
- 上海2024-2025学年高三上学期期中考试英语试题(无答案)
- 内蒙古乌海市2024-2025学年高一上学期期中考试物理试题(无答案)
- 2025年高考物理复习之预测压轴题:动量定理及动量守恒(解析版)
- 管理评审输入材料
- 2024全国职业院校技能大赛ZZ059安全保卫赛项规程+赛题
- 青岛版科学五年级上册全册练习题(含答案)
- 宿舍消防安全知识课件
- VR游戏设计与制作智慧树知到期末考试答案2024年
- 化疗药物使用及护理要点
- 《台湾省的地理环境与经济发展》优教课件(第2课时)
- 工业机器人大学生职业生涯规划
- 企业风险管理与人才培养的关系
- 提高术前准备完善率品管圈课件
- 药敏质量控制课件
评论
0/150
提交评论