《匠人手记》推荐网上购书渠道:
  互动出版网(china-pub)   >>>
  当当网(dangdang)   >>>
  卓越亚马逊网    >>>
  淘宝网(taobao)   >>>
  更多购书渠道……   >>> 

设为首页加入收藏联系匠人管理入口21IC首页21IC博客21IC社区侃单片机回复的贴参与的贴新100贴

载入中...

广告3号位
百宝日历
载入中...

百宝专栏

说明:请先返回首页,再点击下列专栏即可进入。
  • 首页 相册 标签
  • 匠人公告(87)
  • 匠人笔记(144)
  • 匠人文集(167)
  • 写书近况(189)
  • 团队撰写(96)
  • 与非门专栏(566)
  • 比尔熊专栏(12)
  • 网络酷文(492)
  • 程序宝典(477)
  • 程序算法(28)
  • 编程技巧(482)
  • 资料宝藏(280)
  • 硬件技术(178)
  • 汽车电子(52)
  • 藏经宝阁(47)
  • 项目管理(15)
  • 趣味设计(6)
  • 社区热贴(5)
  • 开发工具(19)
  • 电脑应用(66)
  • 供需信息(24)
  • 最新货色

    载入中...

    粉丝评论

    载入中...

    载入中...



    百宝信息

    载入中...

    百宝流量

    (2006-07-01开始)


    匠人手记

    购书攻略勘误表

    开发板专卖——淘宝店

     编程技巧: 优质代码的十诫

    MAX 3100在串行红外数据与RS-232转换器中的应用
    程序匠人 发表于 2005-11-1 20:05:00  阅读全文 | 回复(0) | 引用通告 | 编辑

    MAX 3100在串行红外数据与RS-232转换器中的应用

    王鲁南

    摘 要:通用异步接收发送器MAX 3100,是一种最适合基于微型控 制器的小型系统用器件,特别是在串行红外与RS-232数据转换中,配上适当的程序,可使 硬件结构非常简单,体积更小。它还可广泛应用于手持仪器等小体积系统中。
    关键词:MAX3100,转换器,红外数据

    IR Data to RS-232 Converter with MAX 3100

    Abstract:The MAX 3100 universal async-hronous receive r/transmitter is the first UART specifically optimized for small microcontrolle r -based system. The MAX 3100 can easily interface to IR data & RS-232 smallest conver ter with a short program. It can be use to small system such as hand-held instru ments.
    Key words:MAX 3100,converter,IR data▲

    1 引言

      通用异步接收发送器MAX3100,特别适用于RS-232、RS-485、红外及光耦数据的连接,在关机状态下也能接收信号,执行中断。在基于微型控制器的小型系统中使用MAX3100,可使系统结构更为紧凑、小型化。这种器件还可应用于手持仪器、智能化仪器、SPI系统中的异步接收发送器、RS-232/RS-485直接光耦驱动,同时能用于计算机/外围设备的低耗红外数据联接,且可在较宽的温度范围中使用。MAX3100目前已实现商业化。

    2 MAX3100工作原理

      在MAX3100中组合了一个简单的UART、一个带有SPI接口的波特率发生器及一个中断发生器。通过将一个长度为16位的字写入到写状态寄存器中形成一个通用异步接收发送器。该字节中包含了波特率(位B0~B3)、数据字节长度、校验设定、8字节接收FIFO、普通UART与IRdata时基选择、关机控制及4个中断屏蔽位。通过写一个16位字到一个写数据寄存器中发送数据,其中最后的7(校验位未设定)或8位(校验位被设定)是实际上被发送的数据。该寄存器控制着RTS输出端的状态。当接收中断被设定时,在接收到数据时就会产生一个中断。根据接收到的校验数据及CTS脚输入的逻辑电平,从一个16位的寄存器中依据先进先出原理读取数据。该寄存器同样还包含有用于普通操作出错及关机状态中的接收显示。
      当振荡器选用1.8432MHz或3.6864MHz晶振时,波特率可达300~230kbit/s。

    3 应用硬件与软件

      图1所示为MAX3100与8051在串行红外数据和RS-232转换器中配合使用的实例。

     

    图1 MAX3100与8051在串行红外数据和RS-232转换器中的应用

      该电路接收/发送IRdata,发送/接收标准的RS-232数据。尽管8051包含了一个内部的UART,但它不支持IRdata或高速通信。MAX3100能够很方便地与8051相接,以支持高性能的通信模式。8051没有SPI接口,所以要使用带有输入/输出口的MAX3100以及一个简短的程序来实现通信功能。
      MAX 3100接收完数据后,向8051请求中断,8051响应中断通过串行输出口将MAX 3100输入的数据传至MAX 3221。最终MAX 3221以标准的RS-232码输出数据。在MAX 3221接收到RS-232数据时,8051通过串行输入口读入数据,并经MAX 3100 TX端口发出红外信号,程序如下:
    ;MAX 3100用于UART-8051 IR data
    ;…………………………………………………
    PCON EQU 87H
    DOUT BIT P1.0     ;数据从UART输出
    DIN BIT P1.1     ;数据从UART输入
    SCLK BIT P1.2     ;串行时钟
    CS BIT P1.3      ;片选一低电平激活
    IRQ BIT P3.2     ;中断信号
    ;RAM区域
    TX1 EQU 10H      ;发送缓冲器
    TX2 EQU 11H
    RX1 EQU 12H      ;接收缓冲器
    RX2 EQU 13H
    ;………………………………………………………
        ORGOH    ;开始
    BEGIN: MOVSP,#70H ;初始化设置堆栈
        CLRSCLK   ;时钟清零
    ;8051内部UART初始化
        MOVTMOD,#20H ;T1计数方式
        MOVTH1,#253 ;波特率9600(晶振5.5MHz)
        MOVSCON,#50H;8051串行口控制
        MOVPCON,#80H;波特率加倍
        MOVTCON,#40H;T1计数控制
    ;设置红外通信波特率为9600
        MOVTX1,#0E4H
        MOVTX2,#0CAH
        ACALLUTLK  ;发送至UART写寄存器
    ;………………………主程序…………………………
    LOOP; JNBIRQ,URCV ;有信号来自3100?
    NRECV: JBCR1,RCV51 ;有信号来自3221?
        AJMPLOOP
    ;从3100接收至8051
    URCV: MOVTX1,#0  ;红外有请求,清发送缓冲器MOVTX2,#0
        ACALLUTLK  ;接收红外端数据
        MOVA,RX2
        MOVSBUF,A  ;以9600波特率RS-232方式送出     AJMPLOOP
    ;8051从RS-232接收数据,并不从3100发出红外信号
    RCV51: MOVA,SBUF;数据来自8051UARTMOVTX1,#80H;发送数据
        MOVTX2,A  ;待发数据送至发送缓冲器ACALLUTLK;以红外方式送出
        AJMPLOOP
    ;………………………………………………………………
    ;子程序1:将TX1、TX2缓冲器内容发出,并接收16位信号至RX1、RX2
    UTLK: CLRCS
        MOVA,TX1
        ACALLBYT8
        MOVRX1,A
        MOVEA,TX2
        ACALLBYTB
        MOVRX2,A
        SETBCS
        RET
    ;………………………………………………………………
    ;子程序2:送8位时钟信号,累加器A循环送出、同时读入8位数据
    BYT8: MOVR4,#8
        SETBDIN
    B8LP: RLCA
        MOVDOUT,C
        SETBSCLK
        MOVC,DIN
        CLRSCLK
        MOVACC.0,C
        DJNZR4,B8LP
        RET
    END
    ;………………………………………………………………
      该程序是通过端口发送与接收数据的核心,与MAX3100组合在8051中模拟一个SPI口。这项技术对于任何一种8051基于MAX3100的应用来说都是非常有用的。■

    作者单位:王鲁南(南京电子网板有限公司 南京210028)

    参考文献:

    [1]何立民.MCS51系列单片机应用系统设计、系统配置与接口技术.北京:北京航空航天大学出版社,1989 
     

    看《匠人手记》,与匠人同行!北航出版,正在热卖!

    发表评论:
    载入中...

    芯片专题

    器件专题

    软件专题

    硬件专题

    综合专题

    项目专题

    原创专题

    器件检测
    LCD LED
    按键 触摸键
    E2PROM
    电池 电机
    电阻 电容 电感

    指令系统
    软件算法
    编程规范
    滤波算法
    串行通讯

    PCB设计
    I2C PWM
    红外遥控
    充电技术
    中断 ADC 

    匠人手记
    匠人夜话
    网络心路
    一周热点串烧
    从零开始玩PIC
    DIY旋转时钟

    广告5号位 [投放]

    广告3号位 [投放]

    站内搜索


    站外搜索


    百度  google
    mp3  歌词 
    图片  FLASH 
    知道  文档
    新闻  词典 
    地图  mp3 
    软件  天网 
    雅虎  爱问 
    搜狗  讯雷 
    网讯  华军 
    天空 

    21IC器件搜索
    百宝箱分站
  • 《匠人的百宝箱》21IC站
  • 《匠人的百宝箱》21IC笔记团队
  • 《匠人手记》21IC书友会
  • 《匠人的百宝箱》MCUBLOG站
  • 《匠人的百宝箱》MCUBLOG笔记团队
  • 《匠人的百宝箱》EDN站
  • 《匠人手记》EDN书友会
  • 《匠人的百宝箱》废站
  • 《匠人的百宝箱》土豆视频站
  • 《匠人的百宝箱》新浪站
  • 《匠人的百宝箱》百度站
  • 《匠人的百宝箱》网易126站
  • 《匠人的百宝箱》网易163站
  • 《匠人的百宝箱》互动出版网站
  • 广告4号位 [投放]

     

    推荐阅读

     

    友情连接

     [更多酷站连接]

     

     

     

     

    [欢迎交换连接]

    [百宝箱之与非门分舵]

    [电脑圈圈的家当]

    [IC921的博客]

    [hotpower 的水潭]

    [八楼的呼吸]

    [柔月阁]

    [PIC论坛]

    [SMARTCODE电子书斋]

    [阿摆手记]

    [电子伙伴]

    [xwj的文君阁]

    [所长的BLOG]

    [海边淘沙]

    [单片机开发联盟]

    [数字电视之家]

    [软件开发之窗]

    [unaided的笔记]

    [小飞的笔记]

    [ICC AVR开发网]

    [我爱研发网]

    [infernal的笔记]

    [网址之家]

    [好东西网址大全]

    [美萍中文精选]

    [水牛的仓库]

    [逍遥电子]

    [ningpanda的博客]

    [雄鹰的空中加油站]

    [一网见天下]

    [Armoric]

    [股剩是怎样炼成的]

    [嵌入式365]

    [C-Design]

    [AVR猎手的地盘]

    [中国高校自动化网]

    [SunK]

    [工控365网]

    [煮透社]

    [白沙的香烟盒]

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    大学生电子网 

     

     

     

     

     

     

     

     《匠人的百宝箱》