PIC单片机双机异步通信程序设计与实现
111 浏览量
更新于2024-09-01
收藏 47KB PDF 举报
"这篇文章主要讲解了使用PIC单片机进行双机异步通信的程序设计,包括发送部分的实现和相关初始化子程序。"
在单片机应用中,双机异步通信是一种常见的数据交换方式,它允许两台设备通过串行接口交换信息,即使它们的时钟不同步。在这个例子中,我们专注于使用PIC单片机进行这种通信。PIC单片机以其高效、低功耗和灵活的特性,在嵌入式系统中广泛应用。
首先,程序的核心在于发送部分,通过定义一个名为`tran`的数组来存储待发送的数据。这个数组在程序运行过程中会被填充并随后通过通信接口发送出去。此外,程序还使用了通用寄存器`k`和`data`来进行临时数据处理。
在初始化阶段,有两部分至关重要:SPI(Serial Peripheral Interface)显示初始化和SCI(Serial Communication Interface)初始化。SPIINIT()子程序配置了SPI接口,使其能够与外部设备如74HC595 shift register进行通信。这涉及到设置SPI的控制方式,使能SPI模式,并设定时钟边沿以适应74HC595的工作特点。同时,配置相关引脚为输入或输出以控制数据传输。
SCIINT()子程序则用于初始化SCI接口,以实现异步高速方式传输8位数据。设置了适当的波特率(SPBRG)以达到大约9600位/秒的传输速率,并启用同步串行口工作。RC6和RC7引脚被设置为输入模式,准备接收数据。
为了将数据实际发送到SPI接口,定义了一个名为SPILED()的子程序。该程序将数据写入SSPBUF寄存器启动发送,并在一个循环中等待SSPIF标志位变为1,表示数据发送完成。之后清零SSPIF,准备下一次传输。
最后,display()子程序负责显示数据,它通过SPI接口向外部设备发送预处理的段码,以便在显示器上正确显示数字。在显示过程中,会先给出一个锁存信号,表示显示任务已经完成。
这篇文档详细介绍了如何使用PIC单片机实现双机异步通信的发送部分,涵盖了SPI和SCI接口的初始化、数据传输以及显示控制等关键环节。这对于理解和实践基于PIC单片机的串行通信设计非常有帮助。
2018-04-28 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
2012-05-15 上传
2017-09-09 上传
weixin_38617615
- 粉丝: 6
- 资源: 1017
最新资源
- StarModAPI: StarMade 模组开发的Java API工具包
- PHP疫情上报管理系统开发与数据库实现详解
- 中秋节特献:明月祝福Flash动画素材
- Java GUI界面RPi-kee_Pilot:RPi-kee专用控制工具
- 电脑端APK信息提取工具APK Messenger功能介绍
- 探索矩阵连乘算法在C++中的应用
- Airflow教程:入门到工作流程创建
- MIP在Matlab中实现黑白图像处理的开源解决方案
- 图像切割感知分组框架:Matlab中的PG-framework实现
- 计算机科学中的经典算法与应用场景解析
- MiniZinc 编译器:高效解决离散优化问题
- MATLAB工具用于测量静态接触角的开源代码解析
- Python网络服务器项目合作指南
- 使用Matlab实现基础水族馆鱼类跟踪的代码解析
- vagga:基于Rust的用户空间容器化开发工具
- PPAP: 多语言支持的PHP邮政地址解析器项目