首页 | 收藏本站 | 免费注册|申请VIP会员|固定排名|广告服务
中国电气自动化网首页
PLC | 电  机 | 变 频 器 | 人机界面 | 运动伺服 | 控制传动 | 自动化软件
DCS | 传感器 | 通信网络 | 现场总线 | 数据采集 | 电气开关 | 数传测控
电源 | 嵌入式 | 仪器仪表 | 低压电器 | 机器视觉 | 工业安全 | 工控机
模具 | 电线电缆 | 电子元件 | 成套设备 | 液压气动 | 制 冷
机床 | 电力能源 | 机械设备 | 石油化工 | 矿业冶金 | 水工业
物流 | 轨道交通 | 汽车电子 | 工程机械 | 输 配 电 | 电 梯
产品 企业 供求 新闻
下载 视频 招聘 期刊 会展 培训 库存 论坛 访谈 维修  
热词:嵌入式 传感器 电源 主板 工控机 PLC 人机界面 变频器

您现在的位置:中国电气自动化网首页 >> 文库首页>>详细信息

单片机的MODEM通讯 
(发布日期:2008-6-3 9:41:35) 来源:http://www.szmodem.com/news-id-79.asp
 
    摘要 探讨单片机之间或单片机与PC之间采用MODEM的实现方法,以及通讯参数的设定、数据的接收发送和部分AT命令的介绍,并给出演示程序。
  关键词 MODEM通讯 AT命令 单片机 MODEM
  我们经常能见到关于PC的MODEM通讯的文章,但关于单片机MODEM通讯的文章却不多见。现在将我个人单片机MODEM通讯的实践经历写出来供大家参考。
  要写单片机的MODEM通讯必须要有两个背景知识,一个是AT命令集,另一个是通用异步接收发送器(UART)。
  1 AT命令集
  下面介绍我通讯程序例子中涉及到的AT命令。
  Dn:拨号命令。该命令使MODEM立即进入摘机状态,并拨出跟在后面的号码。D命令是基本的拨号命令,它受到其它命令的修饰可构成MODEM何时拨号以及如何拨号等操作。
   T:音频拨号。例如,ATDT88888888,其中88888888为电话号码。
   P:脉冲拨号。例如,ATDP88888888,其中88888888为电话号码。
   ,:标准暂停。我们常常碰到拨打外线电话时需要暂停一下,等听到二次拨号音(外线)之后才能再拨后续的号码。缺省时暂停时间为2s(秒),它由S8寄存器指定。
   Sn:表示MODEM内部的寄存器。
   S0:自动应答。如果要求MODEM具有自动应答特性,则应该预先将MODEM的S0寄存器设置为非0。
   S8:逗号拨号修饰符的暂停时间。该寄存器决定了当MODEM在拨号中遇到逗号(,)时应该暂停的时间。
  2  通用异步接收发送器UART
  深入理解UART内部结构以及内部寄存器各位的含义,详细了解数据发送和接收的过程,有助于编写出高效、稳定的程序。现以GM16C550为例介绍编写基本通讯程序需要知道的寄存器。实际的ADDRESS由具体接线决定。表1为GM16C550寄存器的介绍。
表1  GM16C550寄存器
按此在新窗口浏览图片
  (1)  波特率除数锁存器(LSB、MSB)
  在通讯之前要进行一些参数初始化,波特率是首先应该考虑的一项。该寄存器是一个16位的寄存器,分为低8位(LSB)和高8位(MSB)寄存器。
  当LCR.7=1,且A2A1A0=000/001时,单片机访问的是波特率除数锁存器LSB/MSB。GM16C550推荐的工作频率是1.8432MHz。这个频率除以16就是波特率的时钟频率,用于控制发送和接收数据的速度。下面给出波特率除数锁存器值的计算公式:
  波特率除数锁存器值=工作频率/(16×期望波特率)=1843200/(16×期望波特率)
  表2给出了常用波特率与波特率除数锁存器值。
表2  波特率除数锁存器
按此在新窗口浏览图片
MOV  DPTR,#LCR  ;除数锁定允许
MOV  A,#80H
MOVX  @DPTR, A
MOV  DPTR,#LSB  ;波特率为9600baud
MOV  A,#0CH
MOVX  @DPTR, A
INC  DPTR
CLR  A
MOVX  @DPTR, A
  按此在新窗口浏览图片
图1  GM16C550与RS232接线图
(2)  接收缓冲寄存器和发送保持寄存器(transmit and receive holding register)
   当LCR.7=0,且A2A1A0=000时,读操作单片机访问接收缓冲寄存器(RHR),写操作单片机访问发送保持寄存器(THR)。
(3)  中断允许寄存器(interrupt enable register)
  当LCR.7=0,且A2A1A0=001时,单片机访问中断允许寄存器(IER)。
  IER.0=1,允许接收器数据就绪中断。
  IER.1=1,允许发送保持寄存器为空时中断。即当从发送保持寄存器把一个字节移到移位寄存器时,产生一个中断,使发送保持寄存器能够接收下一个字节。
  IER.2=1,表示允许接收有错信息或间断条件中断。
  IER.3=1,MODEM状态变化中断。
  IER.4~7,没有使用,设置为零。
MOV DPTR,#IER
MOV A,#01H
MOVX @ DPTR ,A
(4)  FIFO控制寄存器(FIFO control register)
  数据发送和接收模式的选择。GM16C550提供了两种模式:FIFO和DMA。其中DMA又有两种模式DMA的模式0、DMA的模式1可供选择。我的举例采用默认的DMA的模式0。感兴趣的朋友可试一试其它模式,这里不再说明。
(5)  中断状态寄存器(interrupt status register)
  前面介绍了几种中断,它们在各自的条件下产生中断,UART都会输出一个高电平的中断请求信号,触发同一个中断请求。为了具体判断是哪一种中断,还应该检测ISR,如表3所列。
表3  中断状态寄存器
按此在新窗口浏览图片
  ISR.0=1,表示没有中断产生。
  ISR.4~5没有使用。
  ISR.6~7,当采用FIFO的接收和发送模式时,这两位都设置为1;反之,都设置为0。
(6)  线路控制寄存器(line control register)
  LCR.0~1,表示发送和接收时的字节长度,如表4所列。
  LCR.2,这一位与LCR.0~1共同定义了停止位的长度,如表5所列。
表4  线路控制寄存器LCR.0~1
按此在新窗口浏览图片
表5  线路控制寄存器LCR.2
按此在新窗口浏览图片
  LCR.3=1,进行奇偶校验。
  LCR.4=0,进行奇校验;LCR.4=1,进行偶校验。
  LCR.5=1,奇偶校验位恒为1或0。
  表6为线路控制寄存器LCR.3~5。
表6  线路控制寄存器LCR.3~5
按此在新窗口浏览图片
  LCR.6=1,表示允许间断,即允许发送器寄存器保持一个完整帧时间以上的空号状态。
  LCR.7,用于区分访问除数锁存寄存器还是访问接收缓冲/发送保持和中断允许寄存器。
MOVDPTR,#LCR;通讯传输长度为8位,停止位为1,
;偶校验
MOVA,#1BH
MOVX @DPTR,A
(7)  MODEM控制寄存器(MODEM control register)
  这是一个MODEM和外设接口的寄存器。
  MCR.0=1时,强制芯片引脚DTR=0;
  MCR.0=0时,强制芯片引脚DTR=1。
  MCR.1=1时,强制芯片引脚RTS=0;
  MCR.1=0时,强制芯片引脚RTS=1。
  MCR.2=1时,强制芯片引脚OP1=0;
  MCR.2=0时,强制芯片引脚OP1=1。
  MCR.3=1时,强制芯片引脚OP2=0;
  MCR.2=0时,强制芯片引脚OP2=1。
  MCR.4=1时,循环返回模式,可用于芯片自测。
  其它位保留。
MOVDPTR,#MCR;异步串口芯片的DTR、RTS引脚送出逻辑低电平
MOVA,#03H
MOVX @DPTR,A
(8)  线路状态寄存器(line status register)
  LSR.0:当接收移位寄存器接收到的字节完全移到接收缓冲寄存器时,该位置1。如果读该寄存器,那么这一位被清零。
  LSR.1:出现超越错时,这一位被置1。读该寄存器,这一位被清零。
  LSR.2:出现奇偶校验错时,这一位被置1。读该寄存器,这一位被清零。
  LSR.3:出现停止位不完整、丢失、空号时,这一位被置1。读该寄存器,这一位被清零。
  LSR.4:当接收寄存器检测到空号状态已持续一个完整帧传输时间时,这一位被置1。读该寄存器,这一位被清零。
  LSR.5:当发送的字节从发送保持寄存器移到发送移位寄存器时,该位置1。
  LSR.6:当发送保持寄存器和发送移位寄存器都没用字节时,该位置1。
  LSR.7
 
深圳市隆星科技有限公司
所在区域: 广东.深圳 邮编: 518055
公司地址: 深圳市南山区西丽新光路新源工业区24栋四楼 联系人:陈志 先生 (产品经理)
办公电话: 0755-33201582 传真: 空
移动电话: 电邮: 登录查看或通过本网留言
公司主页: http://www.szmodem.com
通过中国电气自动化网在线联系该用户:
关于:
需求意向:
* 验证码: 点击可刷新
 
用户: 密码:  
如果您还不是中国电气自动化网(www.ea-china.com)的注册用户,立刻免费注册

   企业新闻 更多
· 皮尔磁:安全是新能源时代的通行证...
· 皮尔磁:工业自动化网络架构的“新...
· 皮尔磁:CE认证新规:用户不可不...
· 皮尔磁:探索工业安全技术:PSS...
· 皮尔磁:数据空间引领工业4.0新...
· 皮尔磁:全新培训课程夯实工业信息...
· 皮尔磁:安全回路配置的高效利器...
· 皮尔磁2025年度新闻发布会:从...
  产品新闻 更多
· 皮尔磁:模块化安全继电器功能升级...
· 皮尔磁:安全光幕的“人货区分”功...
· 皮尔磁:卷出新高度,安全开关都开...
· 皮尔磁:如何驾驭氢能这把“双刃剑...
· 皮尔磁:工业安全新“势力”——安...
· 皮尔磁标准解读:EN ISO 1...
· 皮尔磁标准解读:新版本ISO 1...
· 皮尔磁:安全与可持续发展双轨并行...

广告服务 | 关于我们 | 网站地图 | 分类索引 | 服务条款 | VIP会员服务 |《电气自动化企业大全》| 版权声明

客服专线:0898-68552405     媒体合作QQ:910167442
中国电子商务服务联盟成员单位 琼ICP备17003754号
中国电气自动化网 版权所有 © Copyright By Electric Automation of China