头晕什么原因| 一步两步三步四步望着天是什么歌| 手心发红是什么原因| 光纤和宽带有什么区别| 过敏什么东西不能吃| 中央民族大学什么档次| 什么品牌的空气炸锅好| 十1是什么意思| 相对湿度是什么意思| 口腔溃疡一直不好是什么原因| 杜撰是什么意思| 早上六点半是什么时辰| 沉香对人体有什么好处| 梦到鬼是什么意思| 胖脸女人适合什么发型| 心如止水是什么意思| 指南针什么时候发明的| 金是什么颜色| bmr是什么意思| 属鸡的贵人是什么属相| 血清载脂蛋白b偏高是什么意思| 什么叫格局| 血液粘稠吃什么药| 1927年中国发生了什么| 万事如意是什么生肖| 11月份是什么季节| 抗酸杆菌是什么| 最大的沙漠是什么| 梦见蛀牙掉是什么预兆| 切尔西是什么意思| 为什么晕车| 羊水栓塞是什么原因引起的| 目鱼和墨鱼有什么区别| 出淤泥而不染是什么花| 乔其纱是什么面料| 黑指甲是什么症状图片| 女生为什么会痛经| 一个均一个金念什么| 客厅挂钟放在什么位置好| 甲亢多吃什么食物比较好| 慢性肠胃炎吃什么药| 腋下疼痛是什么原因| 百合是什么意思| 1.1是什么星座| 男士蛋皮痒用什么药| 背部疼痛是什么原因引起的| 黑话是什么意思| 温州有什么区| 米西米西是什么意思| 戴芬是什么药| 有什么办法可以怀孕| 大是大非是什么意思| 右上腹是什么器官| 脾虚的人有什么症状| 仰卧是什么姿势| 血清高是什么原因| 不可一世是什么意思| 栀子花开有什么寓意| 什么是颈椎病| 纳呆是什么意思| 黄脸婆是什么意思| 沉香对人体有什么好处| 胸口疼挂什么科| 大便很细是什么原因| 珙桐是什么植物| 膜性肾病什么意思| 黄精吃了有什么好处| 吃完饭就想吐是什么原因| 喝什么茶对肾好| 网球肘吃什么药| 旖旎风光是什么意思| 心悸是什么原因引起的| 宫外孕有什么危害| 羊肉补什么| 黄瓜是绿色的为什么叫黄瓜| 方圆脸适合什么发型| 涟漪是什么意思| 什么心什么力| 12月20是什么星座| 舌头白苔厚是什么原因| 9号来的月经什么时候是排卵期| 什么是开放性伤口| tag什么意思| 有编制是什么意思| 吃什么可以降火| 屡试不爽是什么意思| 书的五行属性是什么| 梦见陌生人死了是什么意思| 蓝瘦香菇是什么意思| uv是什么材质| 7.16什么星座| 养胃吃什么食物最好| 葡萄是什么季节的水果| 肉碱是什么| 肚脐眼疼吃什么药| 右耳朵发烫是什么征兆| 仓鼠喝什么水| 缄默是什么意思| 晨勃是什么意思| 小朋友喜欢玩什么| 荷花是什么时候开的| 吃止痛药有什么副作用| 小孩吃指甲是什么原因造成的| 开心果是什么树的果实| 起早贪黑是什么生肖| 拔罐后要注意什么| 一劳永逸什么意思| 指甲盖凹陷是什么原因| 嘴唇发白什么原因| 皮疹是什么| 结节病变是什么意思| 孕晚期流鼻血是什么原因| 吃什么药| 被老鼠咬了有什么预兆| 乳腺炎吃什么药好| 宫颈炎吃什么药| 命格是什么意思| 骨头属于什么垃圾| 日本有什么好玩的| 怀孕感冒可以吃什么药| 12月11号是什么星座| 大便拉水是什么原因| 血淀粉酶是检查什么的| 曜字五行属什么| 钥匙是什么意思| 清热解毒是什么意思| 什么人入什么| 高血压注意什么| 经警是做什么的| 运动后恶心想吐是什么原因| 睡觉起来脸肿是什么原因引起的| 怀孕吐得厉害吃什么可以缓解| 红糖不能和什么一起吃| 小孩舌头白是什么原因| 腾字五行属什么| 兰陵为什么改名枣庄| 荷叶搭配什么一起喝减肥效果好| 灰绿色是什么颜色| 男性内分泌失调有什么症状| 去医院看脚挂什么科| 廉租房和公租房有什么区别| 蛇怕什么东西| 相表里什么意思| 结节性甲状腺肿是什么意思| 绿豆和什么相克| 眉中间有竖纹代表什么| 神经官能症有什么症状表现| 脸红是什么原因引起的| 看肝脏挂什么科| 为什么经常打嗝| 结婚下雨有什么说法| 劫财代表什么| 外阴起红点是什么病| 小腿经常抽筋是什么原因| 宫腔内异常回声是什么意思| 阿胶有什么功效| 黄瓜为什么叫黄瓜| 肾炎吃什么食物好| 满月是什么意思| 梦见自己拉粑粑是什么意思| 孕妇生气对胎儿有什么影响| 刘邦字什么| 36周岁属什么| 什么叫自闭症| 蛋糕裙搭配什么上衣| 很轴是什么意思| 蛐蛐吃什么| 什么的李子| 乳腺结节不能吃什么食物| 双飞是什么生肖| 阳虚和阴虚有什么区别| 28周检查什么项目| 七月一是什么星座| 为什么会胆汁反流| 过氧化氢一个加号什么意思| 什么姿势睡觉最好| 生粉是什么| 爱豆是什么| 经常吃南瓜有什么好处和坏处| 慢性萎缩性胃炎伴糜烂吃什么药| b超是检查什么的| 手机root后有什么好处和坏处| 男生爱出汗是什么原因| 阑珊是什么意思| 弱肉强食是什么意思| 苯佐卡因是什么| 三福是什么| 慢性子宫颈炎是什么意思| ITIB跟薇娅什么关系| 香兰素是什么东西| 不修边幅是什么意思| 白芷有什么作用与功效| 黄豆酱做什么菜好吃| 小便多吃什么药| 梦见墓碑是什么意思| 闻思修是什么意思| 梦见包被偷了什么预兆| 喉痹是什么意思| 本科属于什么学位| 老年人屁多是什么原因| 脚气用什么药| 活水是什么意思| 症瘕是什么意思| 葡萄和提子有什么区别| 3月18号是什么星座| 什么属相不适合养鱼| 阿莫西林治什么病| 体能是什么| 晨僵是什么症状| 掌勺是什么意思| 脑供血不足检查什么项目| 三叉神经痛吃什么药| 0中间有一横是什么字体| 风热感冒和风寒感冒有什么区别| 女属蛇的和什么属相最配| 什么不什么声| 6月30日什么星座| 看金鱼是什么梗| 痛风喝什么水| 中医治未病是什么意思| 阑尾炎能吃什么水果| 高净值什么意思| 松茸是什么| 蜻蜓为什么要点水| 7月28日什么星座| 煲排骨汤放什么材料好| 靥什么意思| 解语花是什么意思| 拔完牙吃什么药| 富士康是做什么的| 向日葵什么时候成熟| 摄影三要素是什么| 刘五行属性是什么| 肠子有问题有什么症状| 肝胆相照什么意思| 脑梗需要注意什么| 六月份生日是什么星座| 额头凉凉的是什么原因| 灰度是什么意思| 日照是什么海| 野生型是什么意思| 阳历6月28日是什么星座| 胆固醇是什么东西| 湿疹用什么药最有效| 什么是比热容| 高血压注意什么事项| 透析到什么程度会死亡| 肺和大肠相表里是什么意思| 四月是什么生肖| ip地址是什么意思| 心率偏高是什么原因| 红参对子宫有什么作用| 子宫肥大是什么原因| 考试前吃什么好| 嘴发酸是什么原因引起| 外传是什么意思| 左侧卵巢显示不清是什么意思| no2是什么气体| 熬夜喝什么汤比较好| 坏血病是什么| 胎盘位于子宫后壁是什么意思| 手抖是因为什么| 口苦口臭是什么原因| 长胸毛的男人代表什么| 百度

新闻中心

EEPW首页 > 嵌入式系统 > 学习方法与实践 > PC机与单片机的通讯

扎实推进“四好农村路”建设 为自治区乡村振兴和脱贫攻坚提供有力支撑

——
作者: 时间:2025-08-04 来源: 收藏
        大多数的电脑设备都具有RS-232C接口,尽管它的性能指标并非很好。在广泛的市场支持下依然常胜不衰。

        就使用而言,RS-232也确实有其优势:仅需3根线便可在两个数字设备之间全双工的传送数据。不过,RS-232C的控制要比使用并行的打印机接口更难于控制。RS-232C使用了远较并行口更多的寄存器。这些寄存器用来实现串行数据的传送及RS-232C设备之间的握手与流量控制。本文将分别描述机及MCS-51的串行的原理及具体的软件设计。

         RS-232C介绍与硬件 
        使用查询方法的串行程序设计 
        使用中断的串行通讯程序设计 
        MCS-51串行通讯 


        关于RS485 
        (1)RS-232C介绍与硬件:
  

        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中断标识寄存器
      2WriteFCRFIFO控制寄存器
      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的状态线是否发生了变化。


       以上我们详细介绍了PC机的串行通讯硬件环境,以下将分别给出使用查询及中断驱动的方法编写的串行口驱动程序。这些程序仅使用RXD/TXD,无需硬件握手信号。


评论


相关推荐

技术专区

关闭
淀粉酶高有什么危害 猫发出咕噜咕噜的声音是什么意思 央企与国企有什么区别 crocodile是什么牌子 背包客是什么意思
举贤不避亲什么意思 前列腺炎中医叫什么病 眉头长痘痘是因为什么原因引起的 你的脚步流浪在天涯是什么歌曲 化疗前吃什么补充营养
免运费是什么意思 白萝卜煮水喝有什么功效 反复是什么意思 康复治疗是做什么的 戾气重是什么意思
小孩个子矮小吃什么促进生长发育 中产阶级的标准是什么 阴虱长什么样子图片 孕妇什么东西不能吃 胎儿腿短是什么原因
咽喉炎吃什么消炎药beikeqingting.com 什么萌hcv7jop6ns1r.cn 甲钴胺治什么病hcv7jop9ns4r.cn 食道炎吃什么药baiqunet.com 什么面条好吃imcecn.com
双肾尿盐结晶是什么意思hcv8jop0ns2r.cn 哇咔咔是什么意思xinjiangjialails.com 白内障用什么眼药水hcv9jop7ns5r.cn 函询是什么意思hcv7jop9ns3r.cn 贫血吃什么药最快hcv8jop5ns4r.cn
渐行渐远是什么意思hcv8jop7ns7r.cn 憋不住大便是什么原因造成的beikeqingting.com 恶心反胃想吐吃什么药hcv9jop1ns8r.cn 17号来月经什么时候是排卵期0297y7.com 人言可畏什么意思hcv9jop2ns8r.cn
种草莓是什么意思hcv7jop7ns2r.cn 11月24日是什么星座hcv8jop3ns2r.cn 胃出血吃什么药jiuxinfghf.com 胸痛是什么原因导致的weuuu.com 检点是什么意思hcv8jop9ns8r.cn
百度