首页
|
我要逛街
|
商品库
|
新闻动态
|
供求信息
|
特色社区
|
特色论坛
设为首页
收藏本站
搜索商品
搜索文章
搜索店铺
搜索供求
搜索帮助
商业步行街
|
啤酒街
|
文化街
|
婚纱街
|
天幕美食城
|
文具街
|
体育街
|
科技街
|
家具街
|
电子街
首页
>
商城文章
>
电子
>
单片机 智能设备
>
PC机与单片机的通讯
PC机与单片机的通讯
作者:
青岛特色街
文章来源:
电子产品世界
发表日期:
08-01-10 23:08:23
关注:
内容简介:
大多数的电脑设备都具有RS-232C接口,尽管它的性能指标并非很好。在广泛的市场支持下依然常胜不衰。
原文位置
原文位置
就使用而言,RS-232也确实有其优势:仅需3根线便可在两个数字设备之间全双工的传送数据。不过,RS-232C的控制要比使用并行通讯的打印机接口更难于控制。RS-232C使用了远较并行口更多的寄存器。这些寄存器用来实现串行数据的传送及RS-232C设备之间的握手与流量控制。本文将分别描述PC机及
单片机
MCS-51的串行通讯的原理及具体的软件设计。
原文位置
原文位置
RS-232C介绍与PC硬件
原文位置
使用查询方法的串行通讯程序设计
原文位置
使用中断的串行通讯程序设计
原文位置
MCS-51串行通讯
原文位置
原文位置
原文位置
关于RS485
原文位置
(1)RS-232C介绍与PC硬件:
原文位置
原文位置
原文位置
RS-232C使用-3到-25V表示数字“1”,使用3V到25V表示数字“0”,RS-232C在空闲时处于逻辑“1”状态,在开始传送时,首先产生一起始位,起始位为一个宽度的逻辑“0”,紧随其后为所要传送的数据,所要传送的数据有最低位开始依此送出,并以一个结束位标志该字节传送结束,结束位为一个宽度的逻辑“1”状态。
原文位置
原文位置
原文位置
PC机一般使用8250或16550作为串行通讯的控制器,使用9针或25针的接插件将串行口的信号送出。
原文位置
原文位置
该插座的信号定义如下:
原文位置
DB-25DB-9信号名称方向含 义
原文位置
23TXD输出数据发送端
原文位置
32RXD输入数据接收端
原文位置
47RTS输出请求发送(计算机要求发送数据)
原文位置
58CTS输入清除发送(MODEM准备接收数据)
原文位置
66DSR输入数据设备准备就绪
原文位置
75SG-信号地
原文位置
81DCD输入数据载波检测
原文位置
204DTR输出数据终端准备就绪(计算机)
原文位置
229RI输入响铃指示
原文位置
原文位置
以上信号在通讯过程之中可能会被全部或部分使用,最简单的通讯仅需TXD及RXD及SG即可完成,其他的握手信号可以做适当处理或直接悬空,至于是否可以悬空这视乎你的通讯软件。比如说,如果使用DOS所提供的BIOS通讯驱动程序,那么,这些握手信号则需要做如下处理,因为BIOS的通讯驱动使用了这些信号。如果使用自己编写的串行驱动程序则可以完全不使用这些握手信号(详见下面有关章节)。
原文位置
原文位置
PC机一般使用8250或16550的作为串行通讯控制器,8250及16550的管脚排列如下:
原文位置
原文位置
8250(16550)的寄存器如下表所示:
原文位置
基地址读/写寄存器缩写注 释
原文位置
0Write-发送保持寄存器(DLAB=0)
原文位置
0Read-接收数据寄存器(DLAB=0)
原文位置
0Read/Write-波特率低八位(DLAB=1)
原文位置
1Read/WriteIER中断允许寄存器
原文位置
1Read/Write-波特率高八位(DLAB=1)
原文位置
2ReadIIR中断标识寄存器
原文位置
2WriteFC
RF
IFO控制寄存器
原文位置
3Read/WriteLCR线路控制寄存器
原文位置
4Read/WriteMCRMODEM控制寄存器
原文位置
5ReadLSR线路状态寄存器
原文位置
6ReadMSRMODEM状态寄存器
原文位置
7Read/Write-Scratch Register
原文位置
原文位置
PC机支持1-4个串行口,即COM1-COM4,其基地址在BIOS数据区0000:0400-0000:0406中描述,对应地址分别为3F8/2F8/3E8/2E8,COM1及COM3使用PC机中断4,COM2及COM4使用中断3。
原文位置
原文位置
原文位置
在上表中,8250共有12个寄存器,使用了8个地址,其中部分寄存器共用一个地址,由DLAB=0/1来区分,在DLAB=1用于设定通讯所需的波特率。常用的波特率参数见下表:
原文位置
原文位置
速率(BPS)波特率高八位波特率低八位
原文位置
5009h00h
原文位置
30001h80h
原文位置
60000hC0h
原文位置
240000h30h
原文位置
480000h18h
原文位置
960000h0Ch
原文位置
1920000h06h
原文位置
3840000h03h
原文位置
5760000h02h
原文位置
11520000h01h
原文位置
原文位置
原文位置
以下几个表格为8250的寄存器的功能描述:
原文位置
中断允许寄存器(IER):
原文位置
位注 释
原文位置
7未使用
原文位置
6未使用
原文位置
5进入低功耗模式(16750)
原文位置
4进入睡眠模式(16750)
原文位置
3允许MODEM状态中断
原文位置
2允许接收线路状态中断
原文位置
1允许发送保持器空中断
原文位置
0允许接收数据就绪中断
原文位置
原文位置
Bit0置1将允许接收到数据时产生中断,Bit1置1时允许发送保持寄存器空时产生中断,Bit2置1将在LSR变化时产生中断,相应的Bit3置位将在MSR变化时产生中断。
原文位置
中断识别寄存器(IIR):
原文位置
位注 释
原文位置
Bit6:7=00无FIFO
原文位置
Bit6:7=01允许FIFO,但不可用
原文位置
Bit6:7=11允许FIFO
原文位置
Bit5允许64字节FIFO(16750)
原文位置
Bit4未使用
原文位置
Bit316550超时中断
原文位置
Bit2:1=00MODEM状态中断(CTS/RI/DTR/DCD)
原文位置
Bit2:1=01发送保持寄存器空中断
原文位置
Bit2:1=10接收数据就绪中断
原文位置
Bit2:1=11接收线路状态中断
原文位置
Bit0=0有中断产生
原文位置
Bit0=1无中断产生
原文位置
原文位置
IIR为只读寄存器,Bit6:7用来指示FIFO的状态,均为0时则无FIFO,此时为8250或16450芯片,为01时有FIFO但不可以使用,为11时FIFO有效并可以正常工作。Bit3用来指示超时中断(16550/16750)。
原文位置
原文位置
原文位置
Bit0用来指示是否有中断发生,Bit1:2标识具体的中断类型,这些中断具有不同的优先级别,其中LSR中断级别最高,其次是数据就绪中断,然后是发送寄存器空中断,而MSR中断级别最低。
原文位置
FIFO控制寄存器(FCR):
原文位置
位注 释
原文位置
Bit7:6=001Byte产生中断
原文位置
Bit7:6=014Byte产生中断
原文位置
Bit7:6=108Byte产生中断
原文位置
Bit7:6=1114Byte产生中断
原文位置
Bit5允许64字节FIFO
原文位置
Bit4未使用
原文位置
Bit3DMA模式选择
原文位置
Bit2清除发送FIFO
原文位置
Bit1清除接收FIFO
原文位置
Bit0允许FIFO
原文位置
原文位置
FCR可写但不可以读,该寄存器用来控制16550或16750的FIFO寄存器。Bit0置1将允许发送/接收的FIFO工作,Bit1和Bit2置1分别用来清除接收及发送FIFO。清除接收及发送FIFO并不影响移位寄存器。Bit1:2可自行复位,因此无需使用软件对其清零。Bit6:7用来设定产生中断的级别,发送/接收中断将在发送/接收到对应字节数时产生。
原文位置
线路控制寄存器(LCR):
原文位置
位注 释
原文位置
Bit7=1允许访问波特率因子寄存器
原文位置
Bit7=0允许访问接收/发送及中断允许寄存器
原文位置
Bit6设置间断,0-禁止,1-设置
原文位置
Bit5:3=XX0无校验
原文位置
Bit5:3=001奇校验
原文位置
Bit5:3=011偶校验
原文位置
Bit5:3=101奇偶保持为1
原文位置
Bit5:3=111奇偶保持为0
原文位置
Bit2=01位停止位
原文位置
Bit2=12位停止位(数据位6-8位),1.5位停止位(5位数据位)
原文位置
Bit1:0=005位数据位
原文位置
Bit1:0=016位数据位
原文位置
Bit1:0=107位数据位
原文位置
Bit1:0=118位数据位
原文位置
原文位置
LCR用来设定通讯所需的一些基本参数。Bit7为1指定波特率因子寄存器有效,为0则指定发送/接收及IER有效。Bit6置1会将发送端置为0,这将会使接收端产生一个“间断”。Bit3-5用来设定是否使用奇偶校验以及奇偶校验的类型,Bit3=1时使用校验,Bit4为0则为奇校验,1为偶校验,而Bit5则强制校验为1或0,并由Bit4决定具体为0或1。Bit2用来设定停止位的长度,0表示1位停止位,为1则根据数据长度的不同使用1.5-2位停止位。Bit0:1用来设定数据长度。
原文位置
MODEM控制寄存器(MCR):
原文位置
位注 释
原文位置
Bit7未使用
原文位置
Bit6未使用
原文位置
Bit5自动流量控制(仅16750)
原文位置
Bit4环路测试
原文位置
Bit3辅助输出2
原文位置
Bit2辅助输出1
原文位置
Bit1设置RTS
原文位置
Bit0设置DSR
原文位置
原文位置
MCR寄存器可读可写,Bit4=1进入环路测试模式。Bit3-0用来控制对应的管脚。
原文位置
线路状态寄存器(LSR):
原文位置
位注 释
原文位置
Bit7FIFO中接收数据错误
原文位置
Bit6发送移位寄存器空
原文位置
Bit5发送保持寄存器空
原文位置
Bit4间断
原文位置
Bit3帧格式错
原文位置
Bit2奇偶错
原文位置
Bit1超越错
原文位置
Bit0接收数据就绪
原文位置
原文位置
LSR为只读寄存器,当发生错误时Bit7为1,Bit6为1时标示发送保持及发送移位寄存器均空,Bit5为1时标示仅发送保持寄存器空,此时,可以由软件发送下一数据。当线路状态为0时Bit4置位为1,帧格式错时Bit3置位为1,奇偶错和超越错分别将Bit2及Bit1置位为1。Bit0置位为1表示接收数据就绪。
原文位置
MODEM状态寄存器(MSR):
原文位置
位注 释
原文位置
Bit7载波检测
原文位置
Bit6响铃指示
原文位置
Bit5DSR准备就绪
原文位置
Bit4CTS有效
原文位置
Bit3DCD已改变
原文位置
Bit2RI已改变
原文位置
Bit1DSR已改变
原文位置
Bit0CTS已改变
原文位置
原文位置
MSR寄存器的高4位分别对应MODEM的状态线,低4位表示MODEM的状态线是否发生了变化。
原文位置
原文位置
上一篇
最全的关于PIC单片机入门宝典
下一篇
基于89C51单片机的自控对星装置
家居
电子
婚庆
娱乐
政治
经济
生活
新闻
文具新闻
商业
科技
房产
文化
情爱
游戏
探索
培训
读书
股票
星座
健康
法制
旅游
体育
音乐
奥运
时尚
青岛展会
[
单片机 智能设备
]
PIC单片机软件异步串...
[
单片机 智能设备
]
最全的关于PIC单片机...
[
单片机 智能设备
]
PC机与单片机的通讯
[
单片机 智能设备
]
基于89C51单片机的自...
哈哈岛学生用品加盟
青岛特色街网站开通
钟爱一生婚庆视频模版
邓超、孙俪情侣写真 嬉戏...
好一家牛肉粉
神采飞扬
80后白领时兴心理婚检 79...
青岛特色街首届婚庆博览会...
美达尔烧烤
买衣服砍价三招“必杀技”
中国银行
青岛特色街
光纤跳线
青岛二手车网
站长网
3tom网址大全
广捷居
DoNews链接
关于我们
|
联系我们
|
人才招聘
|
网站地图
特色街 皆特色 岛城首家特色综合社区
青岛特色街-版权所有 在线客服QQ:136928360 技术支持QQ:814002980
Copyright © 2007 0532ts.com Inc All Rights Reserved.
Powered By :
青岛无言阁信息科技有限公司
鲁ICP证020117号