理论教育 零点起步:I2C主模式数据发送的程序设计实例

零点起步:I2C主模式数据发送的程序设计实例

时间:2023-10-19 理论教育 版权反馈
【摘要】:为了使读者能直观地看到数据发送的效果,本节以两片PIC16F877单片机通过I2C进行通信为例子来介绍PIC单片机的I2C主模式数据发送的编程方法。图11-13 I2C主模式发送方调试用电路图设计过程1)用MPLAB新建项目S111,语言工具选择为“HI-TECH Universal Toolsuite”,保存在“C:\S111”文件夹下。图11-14 I2C调试器界面图11-15 Proteus VSMI2C调试器图标

零点起步:I2C主模式数据发送的程序设计实例

为了使读者能直观地看到数据发送的效果,本节以两片PIC16F877单片机通过I2C进行通信为例子来介绍PIC单片机的I2C主模式数据发送的编程方法。

【例11-1】电路图如图11-13所示。编程实现把按钮S1的单击次数发送给U2,并在数码管X2上显示出来。

电路图在光盘位置:“\Example\Chapter11\S111\MstrSend.DSN”。

题意分析

●按钮S1的状态可以通过读取RC0得知,所以RC0应为输入状态。

●想把数据发送给U2,如图11-13所示的连接方法只能使用I2C方式进行通信。

●U1是I2C主机,所以RC3/SCL和RC4/SCK都应为输入状态。

●本程序需要双机通信:主机发送和从机接收。为了突出讲解重点,本例只关心主机发送过程的实现。

●图11-13中标有I2C字样的仪器是ISIS中的虚拟I2C调试器,在电路运行过程中会显示I2C总线上的各种数据信号。

978-7-111-33274-9-Chapter11-28.jpg

图11-13 I2C主模式发送方调试用电路图

设计过程(www.daowen.com)

1)用MPLAB新建项目S111,语言工具选择为“HI-TECH Universal Toolsuite”,保存在“C:\S111”文件夹下。

2)新建main.c文件并加入项目中,其内容如下所示(本项目所有源码内容参考光盘“\Example\Chapter11\S111”文件夹内容)。

978-7-111-33274-9-Chapter11-29.jpg

978-7-111-33274-9-Chapter11-30.jpg

978-7-111-33274-9-Chapter11-31.jpg

3)把项目保存后成功编译出目标文件S111.cof。然后用调试工具Proteus VSM加载MstrSend.DSN(若想在其他文件夹使用此电路图,请连同SlaveRcv.hex文件一起复制到目标文件夹)。启动VSM后运行程序。程序运行效果是每按一次按钮S1,X2上显示的数字就加1。

4)在程序运行时,默认会显示I2C调试器界面,如图11-14所示。若无此界面,可以单击Proteus VSM窗口的I2C图标来显示,如图11-15所示。

978-7-111-33274-9-Chapter11-32.jpg

图11-14 I2C调试器界面

978-7-111-33274-9-Chapter11-33.jpg

图11-15 Proteus VSMI2C调试器图标

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈