网站导航: 首页 > 设计参考 > 正文 文章搜索
PIC单片机控制Modem的串行通信设计[图]
 
文章编号:
081208141347
文章分类: 单片机 PIC
点 击:
...
关 键 词: Modem,串行通信
文章来源:
网络,作者:牛涛 兰士新
摘 要:
在工程中,常采用Modem通过模拟线路进行数据的远程传输。我们用工业级PIC16F87系列单片机控制Modem完成串行异步/同步通信,在较低速率的线路上实现了数据的实时传输,收到了很好的效果...

2.2.3 通信程序设计
    要实现系统的正常数据传输,正确设置PIC异步串口USART至关重要。在此,以异步接收方式为例,编写程序应遵循以下几个步骤:
(1)选择合适的波特率,然后根据表2计算出SPBRG寄存器的值(x),并将其写入SPBRG寄存器;
(2)设置SYNC=0,SPEN=1,使USART工作于异步方式;
(3)如需中断功能,将中断控制寄存器的中断屏蔽GIE和PEIE置1,同时置第一外围设备中断屏蔽寄存器的RCIE=1;
(4)如需接收9位数据,置接收状态和控制寄存器的RX9=1;
(5)置接收状态和控制寄存器的CREN=1,激活接收器;
(6)当一个字节接收完后,产生中断请求,如果RCIE=1,便产生中断;
(7)读RCSTA寄存器以便获得第9位数据(如果选择了接收9位数据),并且判断是否在接收过程中发生了错误;
(8)读RCREG寄存器中已经收到的8位数据;
(9)如果发生了接收错误,通过置CREN=0以清除错误标志。
下面给出了串口的初始化程序:

 
  1. bsf STATUS,RP0 ;选择存储体1  
  2. bcf STATUS,RP1   
  3. bsf TRISC,7 ;设置RC7脚为输入状态  
  4. bcf TRISC,6 ;设置RC6脚为输出状态  
  5. movlw 25H ;设置波特率  
  6. movwf SPBRG   
  7. movlw 20H ;设定8位发送/接收  
  8. movwf TXSTA ;设定异步方式。低速方式  
  9. bsf PIE1,TXI ;使能发送器中断  
  10. bsf PIE1,RCIE ;使能接收器中断  
  11. bcf STATUS,RP0 ;选择存储体0  
  12. movlw 0x90 ;设定8位接收,使能接收器  
  13. movwf RCSTA ;使能串口  

    异步串行通信主程序框图如图2,中断服务子程序框图如图3。
 
2.3 Modem设置
    在Modem安装好开通之前,须预先设置好Modem的初始状态。PIC上电后,需对Modem进行复位操作,发送命令设置Modem结果码形式。
    Modem初始化服务程序执行Modem初始化命令和呼叫(应答)等。Modem的呼叫、应答采用自动方式。在进行通信之前,呼叫PIC发出ATD (专线方式)命令,Modem监测线路上的载波。如果检测到载波,则返回连接成功结果码;否则返回无载波结果码。两端Modem正确可靠地建立起数据链路后。就可以进行数据通信了。通信完成以后,双方Modem若要拆线挂机.则Modem由数据状态转为命令状态,PIC发出ATH(挂机命令)实现挂机。挂机后要对Modem的自动应答和中断等状态进行重新设置。

3 PIC控制Modem 同步串行通信
    用PIC的同步串口USART控制Modem实现同步数据通信,保证了数据的高效率和实时传输。PIC的USART模块工作于同步方式时,RC7引脚被用做数据双向传输通道DT,RC6引脚被用做时钟发送/接收专线CK。线路上的数据格式可以是8位或者9位,由于利用时钟专线进行双方同步,就不需要起始位和停止位了。同步数据是在一条线路上双向传输的,而时钟却是在一条线路上固定从主机向从机单向发送的。
    同步串口的初始化与异步串口通信类似,程序设计可参照2.2,对Modem进行相应的初始化,使其工作于同步模式。

4 结论
    本系统用PIC单片机控制Modem的同步/异步串行通信,实现了数据的远程传输,可方便提供多种速率,硬件构成简单,软件设计容易。在点对点的远程数字终端维护中,传输数据、话音及传真收到了很好的效果。

推荐参考文章:单片机和MODEM接口及远程数据传输[图]

 
相关文章:

上一页 12
 
最新开源项目
 
 
  查看更多...  
 
本站相关产品   淘宝网店
 




 
  查看更多...  

 

本站程序由百合电子工作室开发和维护
Copyright @ baihe electric studio
渝ICP备09006681号-4