理论教育 常用模块与实例:25C080程序设计

常用模块与实例:25C080程序设计

时间:2023-10-19 理论教育 版权反馈
【摘要】:本节通过一个程序例子来综合前文所述的内容,实现25C080的读/写控制。编程实现每按一次按钮S1,就把总的按键次数写入25C080的0x134地址处,然后从0x134地址读出一个字节数据并送数码管显示。图10-14 PIC单片机读/写25C080实验原理图题意分析●在本电路图中,为了简化程序设计,把保持信号直接接高电平,即U3一直有效。当电路图运行时,U2会弹出SPI接口上收发的数据,便于用户调试基于SPI接口方式的程序。启动VSM后运行程序。

常用模块与实例:25C080程序设计

本节通过一个程序例子来综合前文所述的内容,实现25C080的读/写控制。

【例10-3】电路图如图10-14所示。编程实现每按一次按钮S1,就把总的按键次数写入25C080的0x134地址处,然后从0x134地址读出一个字节数据并送数码管显示。

电路图在光盘位置:“\Example\Chapter10\S103\SPIEEPROM.DSN”。

978-7-111-33274-9-Chapter10-57.jpg

图10-14 PIC单片机读/写25C080实验原理图

题意分析

●在本电路图中,为了简化程序设计,把保持信号直接接高电平,即U3一直有效。要想写入数据,则SW1必须与高电平相连。

●S1状态可以由RB4得知,所以RB4应为输入状态。数码管X1由PORTD控制,所以PORTD应为输出状态。为了简化电路图,限流电阻未加。U3的片选信号由U1的RC1控制,所以RC应为输出状态。

●图10-14中的U2是为ISIS软件提供的虚拟仪器—SPI调试器。其连接方法如图10-14所示。当电路图运行时,U2会弹出SPI接口上收发的数据(见图10-15),便于用户调试基于SPI接口方式的程序。

978-7-111-33274-9-Chapter10-58.jpg

图10-15 SPI调试器的工作界面

●由于PIC16F877是主控方,所以应该由单片机提供时钟,RC3/SCK为输出,RC5/SDO为输出,RC4/SDI为输入。

●为了便于读者使用此代码,本书把25C080的控制代码写成了模块形式,便于读者重复利用。

设计过程

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

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

978-7-111-33274-9-Chapter10-59.jpg

978-7-111-33274-9-Chapter10-60.jpg

3)新建25LC256.H文件并加入项目中,其内容如下所示。

978-7-111-33274-9-Chapter10-61.jpg

4)新建25LC256.C文件并加入项目中,其内容如下所示。

978-7-111-33274-9-Chapter10-62.jpg

978-7-111-33274-9-Chapter10-63.jpg

978-7-111-33274-9-Chapter10-64.jpg

5)把项目保存后成功编译出目标文件。然后用调试工具Proteus VSM加载SPIEEPROM.DSN。启动VSM后运行程序。程序运行效果是每按一次S1后,数码管X1上会显示S1按过总次数(不能大于10)。

6)读者可以用SPI调试器观察SPI接口上的数据来具体理解EEPROM的读/写过程。若运行时未显示SPI调试器运行界面,则可以单击Proteus VSM窗口的SPI调试器图标,如图10-16所示。

978-7-111-33274-9-Chapter10-65.jpg

图10-16 SPI调试器图标位置

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

我要反馈