资源描述:
《单片机的modem通讯》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、单片机的MODEM通讯
2、第1...图1GM16C550与RS232接线图(2)接收缓冲寄存器和发送保持寄存器(transmitandreceiveholdingregister)当LCR.7=0,且A2A1A0=000时,读操作单片机访问接收缓冲寄存器(RHR),写操作单片机访问发送保持寄存器(THR)。(3)中断允许寄存器(interruptenableregister)当LCR.7=0,且A2A1A0=001时,单片机访问中断允许寄存器(IER)。IER.0=1,允许接收器数据就
3、绪中断。IER.1=1,允许发送保持寄存器为空时中断。即当从发送保持寄存器把一个字节移到移位寄存器时,产生一个中断,使发送保持寄存器能够接收下一个字节。IER.2=1,表示允许接收有错信息或间断条件中断。IER.3=1,MODEM状态变化中断。IER.4~7,没有使用,设置为零。MOVDPTR,#IERMOVA,#01HMOVXDPTR,A(4)FIFO控制寄存器(FIFOcontrolregister)数据发送和接收模式的选择。GM16C550提供了两种模式:FIFO和DMA。
4、其中DMA又有两种模式DMA的模式0、DMA的模式1可供选择。我的举例采用默认的DMA的模式0。感兴趣的朋友可试一试其它模式,这里不再说明。(5)中断状态寄存器(interruptstatusregister)前面介绍了几种中断,它们在各自的条件下产生中断,UART都会输出一个高电平的中断请求信号,触发同一个中断请求。为了具体判断是哪一种中断,还应该检测ISR,如表3所列。表3中断状态寄存器中断优先级(ISR)中断源D3D2D1D01223401100100110000
5、100000 接收奇偶校验错、超越错、帧格式错、间断条件接收寄存器就绪接收数据超时发送保持器准备好MODEM状态变化ISR.0=1,表示没有中断产生。ISR.4~5没有使用。ISR.6~7,当采用FIFO的接收和发送模式时,这两位都设置为1;反之,都设置为0。(6)线路控制寄存器(linecontrolregister)LCR.0~1,表示发送和接收时的字节长度,如表4所列。LCR.2,这一位与LCR.0~1共同定义了停止位的长度,如表5所列。 表4线路控制寄存器LCR
6、.0~1表5线路控制寄存器LCR.2LCR.0LCR.1发送和接收时的字节长度/bit00011011 5678LCR.2发送和接收时的字节长度/bit停止位长度/bit0115678567811.52LCR.3=1,进行奇偶校验。LCR.4=0,进行奇校验;LCR.4=1,进行偶校验。LCR.5=1,奇偶校验位恒为1或0。表6为线路控制寄存器LCR.3~5。表6线路控制寄存器LCR.3~5D5D4D3奇偶校验D5D4D3奇偶校验000无奇偶111奇偶
7、位恒为1101奇偶位恒为1011偶校验001奇校验LCR.6=1,表示允许间断,即允许发送器寄存器保持一个完整帧时间以上的空号状态。LCR.7,用于区分访问除数锁存寄存器还是访问接收缓冲/发送保持和中断允许寄存器。MOVDPTR,#LCR;通讯传输长度为8位,停止位为1,;偶校验MOVA,#1BHMOVXDPTR,A(7)MODEM控制寄存器(MODEMcontrolregister)这是一个MODEM和外设接口的寄存器。MCR.0=1时,强制芯片引脚DTR=0;MCR.0=0时
8、,强制芯片引脚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,#03HMOVXDPTR,A(8)线路状态寄存器(l
9、inestatusregister)LSR.0:当接收移位寄存器接收到的字节完全移到接收缓冲寄存器时,该位置1。如果读该寄存器,那么这一位被清零。LSR.1:出现超越错时,这一位被置1。读该寄存器,这一位被清零。LSR.2:出现奇偶校验错时,这一位被置1。读该寄存器,这一位被清零。LSR.3:出现停止位不完整、丢失、空号时,这一位被置1。读该寄存器,这一位被清零。LSR.4:当接收寄存器检测到空号状态已持续一个完整帧传输