C51的特殊关键字,比如sbit,sfr,interrupt,code等在程序中的作用是什么?

如题所述

sbit:定义特殊功能寄存器的位变量,如:sbit P0_0=P0^0;//即定义P0_0为P0口的第1位
sfr:可以对51内部的寄存器进行定义,定义格式:sfr 变量名=变量地址。你打开reg51.h,里面的寄存器都是用sfr进行定义的
interrupt:中断的意思。
code:程序存储区。如定义一个数组uchar ad_data[],即把数组定义在RAM中,uchar code ad_data[],就把数组定义在rom中了追问

在问俩个问题吧。 IIC总线的特点是什么;你的设计中有没有用到具有IIC总线接口的芯片,如果有,是什么型号;
“24C04”这一串数字和字符的含义是什么,那“24C02”又是什么意思

追答

IIC总线是双向、两线(SCL、SDA)、串行、多主控接口标准,具有总线仲裁机制,非常适合在器件之间进行近距离、非经常性的数据通信。在它的协议体系中,传输数据时都会带上目的设备的设备地址,因此可以实现设备组网。总的来说就是通过 SDA(串行数据线)及 SCL(串行 时钟线)两根线在连到总线上的器件之间传送信息,一般SDA端口要接个上拉电阻,具体特点你去下个24C02的pdf文档就知道。
我一般用到IIC的地方也是24C02之类的存储芯片,以前也用到过两块MCU之间的数据传递,我有个C51写的24C02函数库,需要的话可以发给你
24C02是2K(256*8)位串行IIC总线EEPROM,24C04是4K(512*8)位串行IIC总线EEPROM,他们都是一个存储芯片

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-11-11
楼上说得很详细了。。。