




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第八章第八章 串行输入串行输入/ /输出接口输出接口 8.1 概述二、二、 串行通信的实现串行通信的实现计算机外设TXDRXDTXDRXDD QD QCLKD QCLKD0D6并入串出移位寄存器D QD QCLKD QCLKD7D1并出串入移位寄存器 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 1 D7D0D7 D6 D5 D4 D3 D2 D1 D0同步脉冲波特率波特率1/波特波特率因子率因子接收时钟接收时钟12001619200 12008.2 8.2 串行通信的基本技术串行通信的基本技术a. 奇偶错误奇偶错误如上所述,在接收时,
2、如上所述,在接收时,UARTUART检查接收到的每一个字符的检查接收到的每一个字符的“1 1”的个数这个标志,发出奇偶校验出错信息。的个数这个标志,发出奇偶校验出错信息。b. 帧错误帧错误若接收到的字符格式不符合规定(如缺少停止位等),则置位该标志,发出帧出错信息。c. 丢失丢失(溢出溢出)错误错误UART是一种双缓冲器结构。例如,在接收时,接收的数据先由移位寄存器移位,把串行数据变成并行数据,然后送到接收数据寄存器,由输入指令将数据送到CPU中。由于数据送到接收数据寄存器,所以即使CPU还没取走这个数据,UART也可以接收另一个新的字符。但若UABT接收到第二个字符的停止位,且要把第二个字符
3、传送到接收数据寄存器时,CPU还没取走上一个数据,于是第一个数据会被丢失。如果UART出现这种情况就置位丢失(溢出)标志,发出丢失出错信息。 8.3 8.3 可编程串行通讯接口芯片可编程串行通讯接口芯片8251A8251A简介简介 发送和接发送和接收电路收电路调制解调调制解调控制电路控制电路 总线接总线接口部分口部分 1发送器发送器 a. 数据输出线数据输出线TxD b. 发送时钟发送时钟 TxC c. 发送器准备好发送器准备好 TxRDY d. 发送器空信号发送器空信号 TxEMPY 过程过程 TxRDY有效有效CPU写数据到写数据到82518251发数据发数据 发送完毕,发送完毕,TxEM
4、PY有效有效2接收器接收器 a. 数据输入线数据输入线RxD b. 接收时钟接收时钟 RxC c. 接收器准备好接收器准备好 RxRDY 过程过程 8251接数据接数据 RxRDY有效有效 CPU读读82513调制解调控制电路调制解调控制电路 /DTR/DTR数据终端准备好信号。是由数据终端准备好信号。是由825IA825IA送往送往外设的,表示外设的,表示CPUCPU当前已经准备就绪。当前已经准备就绪。 /DSR/DSR数据设备准备好。是外设送往数据设备准备好。是外设送往825lA825lA的,的,表示当前外设已经准备好数据。表示当前外设已经准备好数据。8251Modem/DTR/DTR/D
5、SR/DSR /RTS/RTS请求发送信号。是请求发送信号。是8251A8251A送往外设的,送往外设的,表示表示C CP PU U已经准备好发送。已经准备好发送。 /CTS/CTS清除请求发送信号。由外设送往清除请求发送信号。由外设送往825lA825lA的,当为低电平时,允许的,当为低电平时,允许825lA825lA执行发送操作。执行发送操作。 8251Modem/RTS/RTS/CTS/CTS4读读/写控制电路写控制电路 三、8251编程 三、8251编程 RxCTxCOUT CLK GATE+5v1MHz82518253如果波特率为如果波特率为1200,波特,波特率因子为率因子为16,
6、问计数初值?,问计数初值?1200162. 控制寄存器的格式控制寄存器的格式 接收接收发射发射3. 状态寄存器的格式(状态控制字状态寄存器的格式(状态控制字(读)(读) 四、举例RxCTxCOUT CLK GATE+5v1.8432M 82518253解:解:1 1、82538253工作方式及计数初值工作方式及计数初值工作方式工作方式 mode3mode382538253输出频率:输出频率: foutfout96009600* *16=153600=153.6K16=153600=153.6K fclk fclk=1M N=1000/153.6=6.51=1M N=1000/153.6=6.5
7、1( (不能用!不能用!) ) fclk fclk=1.8432M N=12=1.8432M N=122 2、82518251工作方式工作方式方式选择控制字方式选择控制字0 1 0 0 1 1 1 0 4EH操作命令控制字操作命令控制字0 0 1 1 0 1 1 1 37H3 3、程序、程序 82518251初始化设置:初始化设置: a a、先对、先对825lA825lA软件复位,一般采用先送软件复位,一般采用先送3 3个个0 0, 再送再送1 1个个40H40H的方法,这也是的方法,这也是8251A8251A的编程的编程 约定,约定,40H40H可以看成是使可以看成是使8251A8251A执
8、行复位操执行复位操 作的实际代码。作的实际代码。 b b、对、对8251A8251A进行工作方式及操作命令设置进行工作方式及操作命令设置MOV AL,00H MOV AL,00H ;复位;复位82518251OUT 92H,ALOUT 92H,ALCALL DELAYCALL DELAYOUT 92H,ALOUT 92H,ALCALL DELAYCALL DELAYOUT 92H,ALOUT 92H,ALCALL DELAYCALL DELAYMOV AL,40HMOV AL,40HOUT 92H,ALOUT 92H,ALCALL DELAY CALL DELAY ;等待;等待82518251
9、复位复位MOV AL,4EH MOV AL,4EH ;置工作方式;置工作方式OUT 92H,AL OUT 92H,AL MOV AL,37H MOV AL,37H ;操作命令操作命令OUT 92H,AL OUT 92H,AL 发送:发送:SENDDATSENDDATPROCPROC;DL:DL:要发送的数据要发送的数据CHKTXR:CHKTXR:IN ALIN AL,92H92H;输入;输入状态字状态字AND ALAND AL,01H01H;查;查TXRDYTXRDYJZ CHKTXRJZ CHKTXRMOV AL,DLMOV AL,DLOUT 90HOUT 90H,ALAL;发送;发送RET
10、RETSENDDATSENDDATENDPENDP接收接收:RECIDATRECIDATPROCPROC;AL:AL:接收的数据接收的数据CHKRXD:CHKRXD:IN ALIN AL,92H92H;输入;输入状态字状态字AND ALAND AL 02H02H;查;查RXRDYRXRDY?JZ CHKRXDJZ CHKRXDIN 90HIN 90H,ALAL;发送;发送RETRETRECIDATRECIDATENDPENDP五、8250和16550速度 8250:509600 16550:115200RxCTxCOUT CLK GATE+5v1.8432M 82518253A0A1A2数据口
11、数据口/波波特率因子特率因子低字节低字节波特率因波特率因子高字节子高字节线路控制线路控制寄存器寄存器线路状态线路状态寄存器寄存器16550单元386系统总线XD7XD6XD5XD4XD3XD2XD1XD0XA3XA2XA1IOW#IOR#IOY0D7D6D5D4D3D2D1D0A2A1A0WRRDCSRS-23216550单元RS-232D7D6D5D4D3D2D1D0A2A1A0WRRDCSXD7XD6XD5XD4XD3XD2XD1XD0XA3XA2XA1IOW#IOR#IOY0发送机接收机CLK_INCLK_IN386系统总线PCLKPIT+ 32位系统总线单元PCLKPIT+ 32位系统
12、总线单元 ;允许访问除数寄存器允许访问除数寄存器MOV DX,MY16550_3 MOV AL,80H OUT DX,AL CALL DALLY;波特率波特率9600;波特率;波特率1.8432/(波特率因子波特率因子16) MOV DX,MY16550_0 ;波特率低波特率低8位位 MOV AL,0CH OUT DX,AL CALL DALLY MOV DX,MY16550_1;波特率高波特率高8位位 MOV AL,00H OUT DX,AL CALL DALLY ; 工作方式选择工作方式选择 MOV DX,MY16550_3 MOV AL,1BH;偶校验偶校验, 1位停止位位停止位, 8位
13、数据位数据 OUT DX,AL CALL DALLY ; modem设置设置 MOV DX,MY16550_4;MCR MOV AL,03H;RTS, DTR有效有效 OUT DX,AL CALL DALLY; 中断设置中断设置MOV DX,MY16550_1; 中断允许寄存器中断允许寄存器 MOV AL,00H;中断屏蔽中断屏蔽 OUT DX,AL CALL DALLY0 0 0 1 1 0 1 1 ;发送发送TR: MOV DX,MY16550_5;发送保持寄存器检查发送保持寄存器检查LSR IN AL,DX AND AL,20H JZ TRMOV DX,MY16550_0 MOV AL,TXD_data;发送数据发送数据 OUT DX,ALRET ;接收接收REV: MOV DX,MY16550_5;查询接收查询接收 IN A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 主要车间出租合同范本
- 周转房合同范本
- 合同范本 制作
- 农村拆房承揽合同范本
- 公路承包开挖合同范本
- 低价购买仓库合同范本
- 健身房产品代理合同范本
- 合作合同范本格式
- 传统中介转让合同范本
- 单间小区租房合同范本
- 07施工试验计划
- 小学2023-2024学年第二学期道德与法治教研组工作计划
- 地理人教版七年级下册亚洲的地形与河流课件
- 脓毒血症护理查房
- 苏科版七年级数学下册期末复习+10(专题-几何图形的证明)
- 西方经济学(第二版)完整整套教学课件
- 围术期下肢深静脉血栓预防的术中护理
- 《云南澜沧铅矿有限公司勐滨煤矿采矿权价款退还计算说明》
- GB/T 9113.1-2000平面、突面整体钢制管法兰
- GB/T 2423.18-2021环境试验第2部分:试验方法试验Kb:盐雾,交变(氯化钠溶液)
- 2021年湖北师范学院专升本C语言程序设计试卷
评论
0/150
提交评论