- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE12 / NUMPAGES12
51单片机 手册
TOC \o 1-3 \h \z \u HYPERLINK \l _Toc431221573 51单片机 手册 PAGEREF _Toc431221573 \h 1
HYPERLINK \l _Toc431221574 开发板 PAGEREF _Toc431221574 \h 1
HYPERLINK \l _Toc431221575 程序下载 PAGEREF _Toc431221575 \h 1
HYPERLINK \l _Toc431221576 程序开发 PAGEREF _Toc431221576 \h 1
HYPERLINK \l _Toc431221577 开发环境 PAGEREF _Toc431221577 \h 1
HYPERLINK \l _Toc431221578 I2C PAGEREF _Toc431221578 \h 2
HYPERLINK \l _Toc431221579 I2C通信 读写数据过程 PAGEREF _Toc431221579 \h 2
HYPERLINK \l _Toc431221580 SPI 总线 PAGEREF _Toc431221580 \h 4
HYPERLINK \l _Toc431221581 概括 PAGEREF _Toc431221581 \h 4
HYPERLINK \l _Toc431221582 C语言应用 PAGEREF _Toc431221582 \h 4
HYPERLINK \l _Toc431221583 中断 PAGEREF _Toc431221583 \h 4
HYPERLINK \l _Toc431221584 data, idata, xdata, pdata, code PAGEREF _Toc431221584 \h 5
HYPERLINK \l _Toc431221585 C语言中的static 详细分析 PAGEREF _Toc431221585 \h 6
开发板
程序下载
STC90XX的下载注意点:1. 3.3V和5V短路帽需要接到5V 2.J0挑到auto 3. TXD,RXD都在USB端 4. 用USB转串口线连接PC和板子 5. USB转串口的驱动装上. 6. 用PZISP.exe,芯片型号要选对。
程序开发
开发环境
需要转上keil3
工程文件后缀为uv2
一开始要新建一个project,会自动跳出选择相应芯片的窗口,选择对应的就ok, 主要是为了生成头文件
I2C
HYPERLINK /phenixyf/article/detailsI2C通信 读写数据过程
在通信之初,主从机必须根据自己的要求约定好通信规则:command的定义和位置、address的位数和位置。
以读写从机寄存器数据为例:
假设从机寄存器地址为8位、从机寄存器也位8位(被读取数据为8位);
约定读command为0x01,写command位0x02;
约定主机发起通信后,第一个slave address字节收到ack后,紧跟的一个字节为command,再下面一个字节为address。
1. 读寄存器数据步骤:
? ? 1.1 主机先发起一次通信,将读command(0x01)和需要读取的寄存器地址address写入从机;(主机发出写操作)
? ? 1.2 从机firmware的处理:
? ? ? ? ? 1.2.1 将command和address分别提取出来;
? ? ? ? ? 1.2.2 判断command的含义(本例中,是读指令还是写指令);
? ? ? ? ? 1.2.3 根据收到的的address,将对应寄存器的的数据放入从机I2C输出buffer;(这个步骤可以使用指针)
? ? 1.3 主机再次发起一次通信,读取从机的数据;(主机发出读操作)
2. 写操作步骤:
? ? 2.1 主机发起通信,按约定依次写入command、要写入的从机寄存器地址address和要写入的数据data;
? ? 2.2 从机firmware要做的处理:
? ? ? ? ? 2.2.1 分别提取command、address和data;
? ? ? ? ? 2.2.2 根据command做出判断(本例中则判断是写入还是读取);
? ? ? ? ? 2.2.3 将data写入与接收到的address对应的寄存器。(这个步骤可以使用指针)。
SPI 总线
文档评论(0)