串行通信UART和PROTEUS仿真设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
串行通信UART和PROTEUS仿真设计
C51 跟atmega64 的串行通信。相关理论知识这里就不多说,只提几个:
51 的UART 所用的几个寄存器
SCON:SM0 SM1 SM2 REN RB8 TX8 RI TI
PCON: SMOD -- -- -- --- ---PD IDLE
T2CON: TF2 EXF2 RCLK TCLK EXEN2 TR2 C/_T CP/_RL2
TH2,TL2
波特率为9600bps
avr:atmega64 的USART 的两个
所用到的寄存器
这里用的是uart0,所以初始化时应该设置相关的寄存器有:
UCSR0A:RXC TXC UDRE FE DOR UPE U2X MPCM
UCSR0C :-- UMSEL UPM1 UPM0 USBS UCSZ1 UCSZ0 UCPOL
UBRR0H、UBRR0L、
UCSR0B :RXCIE TXCIE UDRIE RXEN TXEN UCSZ2 RXB8 TXB8
别问我这些都是代表什么含义,不懂自己翻书去。。
proteus 仿真如下图:
仿真结果如下图所示:
其中要注意的是:
因为我在仿真中只能选择atmega64 的CKSEL Fuse 中的8MHz,所以在AVR 的程序中初始化波特率是按8MHz 来计算的。所以仿真归仿真,注意实际中应用。
51 单片机用定时器1 来产生波特率时,看书据说模式2 下,12MHz 时最高