返回主页 单片机教程XL2000开发板 单片机学习 自制编程器 单片机资料 软件下载 电子技术产品介绍如何购买 进入论坛

 单片机教程 栏目导航   第一页..单片机入门教程    第二页..单片机c语言   第三页..红外遥控和步进电机    第四页..单片机问答

单片机对modem要进行哪些初始化操作?
答:一般单片机的MODEM通讯必须要有两个背景知识,一个是AT命令集,另一个是通用非同步接收发送器(UART)。

l AT命令集

下面介绍我通讯程式例子中涉及到的AT命令。

Dn:拨号命令。该命令使MODEM立即进入摘机状态,并拨出跟在后面的号码。D命令是基本的拨号命令,它受到其他命令的修饰可构成MODEM何时拨号以及如何拨号等操作。
T:音频拨号。例如,ATDT8886666,其中8886666为电话号码。
P:脉冲拨号。例如,ATDP8886666,其中8886666为电话号码。
,:标准暂停。我们常常碰到拨打外线电话时需要暂停一下,等听到二次拨号音(外线)之后才能再拨后续的号码。缺省时暂停时间为2s(秒),它由S8寄存器指定。
Sn:表示MODEM内部的寄存器。
S0:自动回应。如果要求MODEM具有自动回应特性,则应该预先将MODEM的S0寄存器设置为非0。
S8:逗号拨号修饰符的暂停时间。该寄存器决定了当MODEM在拨号中遇到逗号(,)时应该暂停的时间。

l 通用非同步接收发送器UART
深入理解UART内部结构以及内部寄存器各位的含义,详细了解资料发送和接收的过程,有助于编写出高效、稳定的程式。一般介绍编写基本通讯程式需要知道的寄存器。实际的ADDRESS由具体接线决定。

l 串列传输速率除数锁存器(LSB、MSB)

在通讯之前要进行一些参数初始化,串列传输速率是首先应该考虑的一项。该寄存器是一个16位的寄存器,分为低8位(LSB)和高8位(MSB)寄存器。

另外单片机访问的是串列传输速率除数锁存器LSB/MSB。一般常用的工作频率是1。8432MHz。这个频率除以16就是串列传输速率的时钟频率,用于控制发送和接收资料的速度。

下面给出串列传输速率除数锁存器值的计算公式:

串列传输速率除数锁存器值=工作频率/(16×期望串列传输速率)=1843200/(16×期望串列传输速率)

l 接收缓冲寄存器和发送保持寄存器(transmit and receive holding register)
读操作单片机访问接收缓冲寄存器(RHR),写操作单片机访问发送保持寄存器(THR)。

l 中断允许寄存器(interrupt enable register)

l FIFO控制寄存器(FIFO control register)

资料发送和接收模式的选择。常用的两种模式:FIFO和DMA。其中DMA又有两种模式DMA的模式0、DMA的模式1可供选择。

 

阅读本文的用户还阅读了下面的问题:

1.C语言和汇编语言在各有哪些优缺点?

2.C或汇编语言可以用于单片机,C++能吗?

3.搞单片机开发,一定要会C吗?

4.当开发项目时,用C还是用汇编开发好?

5.请问那里可以找到关于这方面的书或资料?

6.初学者到底是应该先学C还是汇编?

7.学了电子线路、C语言,感觉很迷茫怎么办?

8.请问作为学生,如何学好单片机?

9.如何才能才为单片机的高手啊?

10.女性是否适合单片机软件编程这个行业?

如果对本文有疑问,请到论坛提问 编辑:51单片机学习网 @ 2009-10-20校对 中国开发板最佳品牌  版权:部分由编辑摘引,权利属原著作人