已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二部分PC微机异步通信适配器的分析和使用一、PC中的UART1.INS82502.PC16450/PC16550带16字节的发送缓冲器和14字节的接收缓冲器FIFO,我的电脑中串口配置,3.端口基地址,硬件中断请求号,中断向量:COM1:3F8H,4,0CCOM2:2F8H,3,0B当加入其他的串口卡后,其地址一般为COM3:3E8,4,0CCOM4:2E8,3,0B由于冲突,一般应该将中断请求修改为其他保留的号。4.多串口卡:2,4,8,16,32如MOXA卡提供标准的编程开发包。端口地址:每个一口,但中断一个(多个),二、UART的简单应用1.连线:RS232C接口标准,3线或7线连接方式2.编程:1)自己编写初始化及接收发送程序2)调用BIOS编程:INT14H3)调用DOS编程:INT21H,调用号03和044)DOS下按照文件编程,文件名就是COM1:或COM2:5)WINDOWS下VB编程,用MSCOMM控件编程6)WINDOWS下VC编程,用类、控件,或者按文件编程。7)用开发包编程:有很多,可以从网上下载。,三、UART的管脚与结构1.管脚,管脚信号说明,数据总线缓冲器:D0D7:双向数据线选择与控制逻辑:CS0、CS1、CS2-:输入片选信号A0、A1、A2:8250内部寄存器选择信号MR:主复位输入信号,高电平有效ADS-:地址选通信号=AENDISTR、DISTR-:数据输入选通信号DOSTR、DOSTR-:数据输出选通信号DDIS:驱动器禁止信号,在CPU从8250读取数据时为低电平,其他时间为高电平禁止外部收发器对系统总线的驱动CSOUT:片选输出信号XTAL1、XTAL2:外部时钟端中断控制逻辑:INTR:中断请求输出信号,MODEM控制逻辑:CTS-:清除发送信号RTS-:请求发送信号DTR-:数据终端准备好信号DSR-:数据装置准备好信号RLSD-:接收线路信号检测信号RI-:振铃指示信号OUT1-:由用户编程指定的输出端OUT2-:与OUT1一样,可以由用户编程指定(PC用)发送移位寄存器SOUT:串行输出信号接收移位寄存器SIN:串行输入信号RCLK:接收时钟信号波特率发生器BAUDOUT:波特率输出,2.内部结构,数据接收寄存器,数据发送寄存器,接收移位寄存器,发送移位寄存器,线路控制寄存器,线路状态寄存器,除数寄存器高位,除数寄存器低位,波特率发生器,MODE控制寄存器,MODE状态寄存器,中断允许寄存器,中断识别寄存器,控制逻辑,控制逻辑,数据总线缓冲器,读写控制逻辑,内部数据总线,D0D7,CS0,CS1,CS2,A2,A1,A0,ADS,DISTR,DISTR,DOSTR,DOSTR,DDIS,MR,O,O,O,SOUT,SIN,XTAL2,XTAL1,BAUDOUT,RTS,CTS,DTR,DSR,RLSD,RI,OUT1,OUT2,INTRPT,RCLK,发送器控制逻辑,接收器控制逻辑,3.连接,PC/XT异步通信适配器电路,四、寄存器与BPS1.地址分配及其复用3根地址信号线:A2A1A08个地址,7个可用,10个可编程物理端口,复用。2.10个寄存器及其每位的作用。2.波特率除数波特率除数(BRD)是16位数,它与UART的数据传输速率(波特率)有关。当使用UART的内部时钟频率为1.8432MHz时,则波特率除数BRD与波特率Baud之间的关系如下式所示:BRD=时钟频率/(16Baud)。例如,若要计算波特率为1200b/s的波特率除数,则有:BDR=1843200/(161200)=0060H。,端口地址,初始化顺序,1、通信线路控制器(011BPC机地址3FBH),D0,D1,D2,D3,D4,D5,D6,D7,00:5位01:6位10:7位11:8位,字符长,停止位,0:1个停止位1:1.5个停止位(字符长5位)2个停止位(字符长68位),0:无校验位1:有校验位,校验类型0:奇校验,1:偶校验,固定奇偶位,既当D4,D3=11时(偶校验),D5=0当D4,D3=01时(奇校验),D5=1,0表示正常收发,D7=0寻址TBR、RBRIERD7=1寻址DLL、DHL,选择异步通信格式,D0,D1,D2,D3,D4,D5,D6,D7,2、通信状态寄存器LSR(1013FDH),DR,OE,PE,FE,BI,THRE,TSRE,0,1:接收数据就绪,1:溢出错,1:奇偶较验错,1:幀错误,1:正在传输中止符,1:发送缓冲器空,发送移位寄存器空,3、分频次数锁存器DLH和DLL(3F9H,3F8H)1.8432MHZ基准时钟,进行165535次分频后由BAUDOUT引脚输出的频率为16b/s的时钟。8250初始化时,必须将16位的分频次数分两次写入高低两个8位分频次数锁存器DLH和DLL,分频次数=1843200HZ/16波特率,(基准时钟),D0,D1,D2,D3,D4,D5,D6,D7,DTR,RTS,OUT1,OUT2,LOOP,0,0,0,4、调制解调控制寄存器MCR(100B3FCH),其中D0D3位对应8250的四个引脚,当该位为1时,相应的引脚输出有效的低电平。当D4=1时,8250工作循环回送状态。(此时8250发送的数据被自身接收。用于自检),D0,D1,D2,D3,D4,D5,D6,D7,CTS,DSR,RI,RLSD,CTS,DSR,RI,RLSD,5、调制解调状态寄存器MSR(110B3FEH),MSR检测8250芯片4个输入引脚状态。D0D3置1表示允许四个引脚电平发生变化。D4D7表示四个引脚的电平,1:低电平(有效电平),0:高电平。,D0,D1,D2,D3,D4,D5,D6,D7,0,0,0,0,0,6、中断识别寄存器IIR(010B3FAH),1:无中断请求0:有中断请求,中断源,00:MODEM状态发生变化中断01:发送寄存器空10:接收数据就绪11:接收数据错,优先级最高,优先级最低,D0,D1,D2,D3,D4,D5,D6,D7,EDSS1,0,0,0,7、中断允许寄存器IER(0013F9H),ERBF1,ETBE1,ELS1,0,接收数据准备好中断,发送寄存器空中断,接收数据错中断,MODE状态中断,D0D3位为1时,相应的位允许相应的中断,五、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初始化编程1.写BPS8250初始化时,通常首先使通信控制字的D7=1,即使DLAB为1.在此条件下,将除数低8位和高8位分别写入8250内部的除数寄存器。MOVDX,3FBH;LCR的地址MOVAL,80H;开始OUTDX,AL;MOVDX,3F8H;使LCR的D7=1MOVAL,60H;DLL的地址OUTDX,AL;写除数低8位INCDX;DLH的地址MOVAL,0OUTDX,AL;写除数高8位,2.写通讯线控制字MOVDX,3FBH;LCR的地址MOVAL,0AH;1位停止位,7位数据位,奇校验OUTDX,AL;初始化通信控制寄存器3.写MODEM控制字MOVDX,3FCH;MCR的地址MOVAL,03H;使DTR和RTS有效/3/13/B/1BOUTDX,AL;初始化modem控制器4.写中断允许字(中断方式)MOVDX,3F9H;IER的地址MOVAL,0;禁止所有中断OUTDX,AL;写中断允许寄存器,七、8250的应用举例1.查询方式假定要发送的字节数放在BX中,要发送的数据顺序存放在以DATA为首地址的内存区中,则发送数据的程序段如下所示。SENDPRG:MOVDX,3FDHLEASI,DATAWAITTHR:INAL,DXTESTAL,20H;检查THR是否空JZWAITTHRPUSHDXMOVDX,3F8HLODSBOUTDX,ALPOPDXDECBXJNZWAITTHR,SENDPRG:MOVDX,3FDHLEASI,DATAWAITTHR:INAL,DXTESTAL,20H;检查THR是否空JZWAITTHRPUSHDXMOVDX,3F8HLODSBOUTDX,ALPOPDXDECBXDECBXJNZWAITTHR,查询方式实现数据的接收。MOVDX,3F8HINAL,DX;接收一个字节RECVPRG:MOVDX,3FDHWAITRBR:INAL,DXTESTAL,1EH;检查是否有任何错误产生JNZERRORTESTAL,01H;检查数据准备好否JZWAITRBRMOVDX,3F8HINAL,DX;接收一个字节ANDAL,7FH;只保留低7位ERROR:MOVDX,3F8HINAL,DX;接收一个字节,2.中断方式以查询方式发送数据,以中断方式接收数据,INISIR:MOVDX,3FBHMOVAL,80HOUTDX,AL;置DLAB=1MOVDX,3F8HMOVAL,0CHOUTDX,ALMOVDX,3F9HMOVAL,0;置除数为000CH,规定波特率为9600波特OUTDX,AL,MOVDX,3FBHMOVAL,0AH;1位停止位,7位数据位,奇校验OUTDX,AL;初始化通信控制寄存器MOVDX,3FCHMOVAL,0BH;使OUT2,DTR和RTS有效OUTDX,AL;初始化MODEM寄存器MOVDX,3F9HMOVAL,01H;允许接收数据寄存器满产生中断OUTDX,AL;初始化中断允许寄存器STI;CPU开中断,中断服务程序RECVE:PUSHAXPUSHBXPUSHDXPUSHDSMOVDX,3FDHINAL,DXMOVAH,AL;保存接收状态MOVDX,3F8HINAL,DX;读入接收到的数据ANDAL,7FHTESTAH,1EH;检查有无错误产生JZSAVEDATAMOVAL,?;出错的数据用问号替代,SAVEDATA:MO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- PETS英语等级考试模拟试题及详细参考答案
- 2026年河道修防工(中级)职业技能考试题库及答案
- 海水预处理操作工安全操作规程
- 肾损伤保守治疗影像复查周期规范共识
- 2025-2026学年云南省曲靖市初中数学九年级期末上册自测高频题(详细参考解析)
- Oracle数据库机考实操试题(含详细答案解析)
- OD机试真题(技术岗)含详细答案解析
- 轨道交通消防系统升级改造方案
- 2026年不动产登记代理人《不动产权利理论与方法》题库及答案
- OA系统面试题及详细参考答案(实操版)
- 老年恶性肿瘤特点及治疗
- 室外道路景观工程施工方案范例
- QGDW11221-2023低压综合配电箱技术规范(参考文本)
- MATLAB8.X程序设计及典型应用第七章
- 选煤厂机电管理课件
- 水钻打孔协议书
- 毕业设计(论文)-干玉米脱粒机设计
- 《壮药养生膏方生产技术规范》(征求意见稿)编制说明
- T/SSR 705-2024空调器用全铝微通道热交换器腐蚀性能评价值及试验方法
- 【课件】代数式的值课件2024-2025学年人教版数学七年级上册
- 新闻记者职业资格《新闻基础知识》考试题库(含答案)
评论
0/150
提交评论