liufanidn 发表于 2007-6-19 18:21:42

采用3.579M的晶振,波特率设定在600,用T2作为波特率发生器......

请问各位老师,小弟需要单片机和PC通讯。采用3.579M的晶振,波特率设定在600,用T2作为波特率发生器,通过公式算出TH2=0FFH,TL2=45H,但是通讯总是失败。请各位指教!

machao 发表于 2007-6-20 00:10:32

这是使用51,已经忘了,用一个生成软件自己生成的,参考吧。



include "51fx.inc"



;Serial Port



;Mode                                = 1/8-bit UART

;Serial Port Interrupt                = Disabled

;Receive                        = Enabled

;Auto Addressing                = Disabled



init_serial:

   mov SCON, #050h

;Timer 2 is being used to generate baud rates.

   mov RCAP2L, #0EEh

   mov RCAP2H, #0FBh

   mov T2CON, #034h

   clr RI            ;SCON.0

   ret

   

main:

      lcall init_serial

end



不过可能还有其它的问题存在。

liufanidn 发表于 2007-6-21 08:03:25

非常感谢!问题已经找到,因为RCAP2L,RCAP2H赋值不对。
页: [1]
查看完整版本: 采用3.579M的晶振,波特率设定在600,用T2作为波特率发生器......