C8051F340单片机实现串口通信与Eview触摸屏数据接收

3星 · 超过75%的资源 需积分: 3 2 下载量 192 浏览量 更新于2024-09-13 收藏 2KB TXT 举报
"该资源主要涉及C8051F340单片机的串口通信设置,用于从Eview触摸屏接收数据。在代码中,初始化了两个串口UART0和UART1,并提供了防止死循环的措施。程序包含了波特率设置、端口配置以及数据校验函数。" 在C8051F340单片机的应用中,串口通信是一种常用的通信方式,用于与外部设备如Eview触摸屏交换数据。在这个例子中,我们看到了针对UART0和UART1的初始化函数`UART0_Init()`和`UART1_Init()`。这两个函数分别配置了相应的串口控制器(SCON)、时钟控制寄存器(CKCON)和波特率发生器,以设定合适的波特率,例如9600bps。 在`init_port()`函数中,对P0、P1和P2端口进行了配置,这些端口通常用作串口的数据和控制线。通过设置端口的输入/输出模式(PMDIN和PMDOUT)和跳过属性(PSKIP),确保串口能够正常工作。 `UART0_Init()`和`UART1_Init()`函数中,使用TMOD寄存器配置了定时器T1作为波特率发生器,通过TR1置1启动定时器,从而启动串口通信。同时,SCON寄存器用于设置串行口的工作模式,这里选择了方式1,即8位UART模式。 为了防止死循环,代码中还包含了一个数据校验函数`jiaoyanRDLW()`。这个函数计算字符串`str_SDCOMLW`中所有字节的和,然后取模256,返回校验和。这种方法可以用来检测在串口通信过程中是否发生了错误。 `MCU_RDscreen()`函数是用于读取Eview触摸屏数据的主函数,虽然在提供的部分代码中没有给出完整实现,但可以看出它会涉及通过串口接收数据,并可能使用到上述的校验和来进行数据完整性检查。 这段代码展示了C8051F340单片机如何进行串口通信设置,以及如何在接收数据时进行错误检测,以确保可靠的数据传输。对于理解和应用C8051F340单片机的串口通信功能,这是一个很好的实例。