51单片机里面怎么用IIC总线存储一个几百的数值 单片机,IIC总线,写入一个字节

51\u5355\u7247\u673a\u91cc\u9762\u600e\u4e48\u7528IIC\u603b\u7ebf\u5b58\u50a8\u4e00\u4e2a\u51e0\u767e\u7684\u6570\u503c

\u7528\u4e00\u4e2aINT\u6570\u503c\u8868\u793a\uff0c\u65b9\u6cd5\u67092\u79cd1\uff1a\u6362\u53ef\u4ee5\u76f4\u63a5\u4ee516\u4f4d\u6570\u636e\u5f62\u5f0f\u5199\u5165\u7684IIC\u5b58\u50a86\u5668\u6bd4\u598293C46\u8fd9\u79cd
2\uff1a\u7528\u62c6\u5206\u65b9\u5f0f\u5b58\u50a8\uff0c\u8bfb\u53d6\u540e\u5728\u91cd\u65b0\u8fd8\u539f
\u6bd4\u5982\u4e00\u4e2a16\u4f4d\u6570\u636e1234\u5427
\u9ad88\u4f4d\u662f12\uff0c\u4f4e8\u4f4d\u662f34\uff0c\u4f60\u5b58\u50a8\u7684\u65f6\u5019\u5b8c\u5168\u53ef\u4ee5\u8fd9\u6837
unsigned
int
i\uff1b
unsigned
char
H,L;
\u5b58\u50a8\u65f6\uff1a
H=
i>>8;
L=i&0X00FF;
\u7136\u540e\u5206\u522b\u5199\u51652\u4e2a\u8fde\u7eed\u7684\u5b58\u50a8\u7a7a\u95f4\u6bd4\u59820x00\uff0c0x01
\u8bfb\u51fa\u65f6\uff1a
\u5148\u8bfb\u9ad8\uff0c\u540e\u8bfb\u4f4e
\u7136\u540ei=H<<8;
i=
H|L;
\u4f60\u8bd5\u8bd5

\u5982\u679c\u4e86\u89e3\u4e86 I2C\u534f\u8bae\uff0c\u770b\u770b\u7a0b\u5e8f\u5f62\u6210\u7684\u6ce2\u5f62\uff0c\u5bf9\u7167\u534f\u8bae\u7684\u65f6\u5e8f\uff0c\u5f88\u5bb9\u6613\u7684\u3002

用一个INT数值表示,方法有2种1:换可以直接以16位数据形式写入的IIC存储6器比如93C46这种
2:用拆分方式存储,读取后在重新还原
比如一个16位数据1234吧
高8位是12,低8位是34,你存储的时候完全可以这样
unsigned int i;
unsigned char H,L;
存储时: H= i>>8;
L=i&0X00FF;
然后分别写入2个连续的存储空间比如0x00,0x01
读出时:
先读高,后读低
然后i=H<<8;
i= H|L;
你试试

唉,哪有这么麻烦!

就算你用4位来表示一个温度值,比如123.4度。

那你用四个uchar就行啦,可以从1开始存,也可以从4开始存,顺序由你自己定,后面按着顺序放到对应的位置显示就行了!

何必搞什么int啊,又移位又取整取余的。如果说你想节约存储空间,那倒也可以试试。用一个字节存两位温度值,123.4度用两个字节存,比如存成12和34,后面读出来时再还原就行啦!

你说的乱码,肯定就是程序的问题了。

IIC总线 是一种通信协议了,怎么能存储数据了。
应该是通过IIC总线访问完毕存储器了,通过存储器存储数据了,然后利用IIC总线方式访问。
比如:铁电存储器了,就可以存储了,根据需要选择多大存储空间的

用两个字节表示,百位一个字节,个位和十位用一个字节。或者将变量设为unsigned int。

你可以把超过255的数据分成高低两个字节来存

  • 姹51绋嬪簭,鐢↖IC鎶奙PU6050鐨勫師濮嬫暟鎹鍑烘潵鏅舵尟11.0295,鍗曠墖鏈鍨嬪彿S...
    绛旓細include <math.h> //Keil library include <stdio.h> //Keil library include <INTRINS.H> typedef unsigned char uchar;typedef unsigned short ushort;typedef unsigned int uint;// // 瀹氫箟51鍗曠墖鏈绔彛 // define DataPort P0//LCD1602鏁版嵁绔彛 sbit SCL=P1^0;//IIC鏃堕挓寮曡剼瀹氫箟...
  • iic鐨勫簲鐢
    绛旓細涓嬮潰涓句簩涓簲鐢ㄧず渚嬨侷2C鐨勮繍鐢ㄦ瘮濡傚湪閾佺數瀛樺偍鍣ㄤ腑锛岀敤閾佺數瀛樺偍鏁版嵁灏辨槸鐢ㄧ殑I2C鎬荤嚎鍗忚銆 鐩墠锛51銆96绯诲垪鐨勫崟鐗囨満搴旂敤寰堝箍锛屼絾鏄敱浜庡畠浠兘娌℃湁I2C鎬荤嚎鎺ュ彛锛屼粠鑰岄檺鍒朵簡鍦ㄨ繖浜涚郴缁涓娇鐢鍏锋湁I2C鎬荤嚎鎺ュ彛鐨勫櫒浠躲傞氳繃瀵笽2C鎬荤嚎鏃跺簭鐨勫垎鏋愶紝鍙互鐢51鍗曠墖鏈鐨勪袱鏍笽/O绾挎潵瀹炵幇I2C鎬荤嚎鐨勫姛鑳姐傛帴I2C鎬荤嚎瑙勫畾...
  • 51鍗曠墖鏈璇诲彇IIC鎬荤嚎鐨勯棶棰
    绛旓細scl=0 scl=1 鐢ㄦ潵浜у悗鏃堕挓鑴夊啿 鍙戦佹椂SDA = 1鏄彂1銆SDA = 0鏄彂0 鎺ユ敹鏃禨DA = 1鏄繘鍏ヨ鍙栫姸鎬侊紙寮变笂鎷夛紝涓嶆帴璐熻浇鏃惰鍙栨槸1锛屼絾寰堝鏄撹鎷変綆鎴0锛夊叿浣撹鍙栧緱鍒扮殑鏄1杩樻槸0锛屾槸鐢24C02瀛樺偍鐨勬暟鎹喅瀹氱殑锛屽鏋滃瓨鍌ㄧ殑鏁版嵁鐨勫綋鍓嶄綅鏄0锛孲DA鎬荤嚎涓婄殑1浼氳鎷変綆鎴0锛岃繖鏃惰鍙栧緱鍒扮殑灏辨槸0 ...
  • 51鍗曠墖鏈 iic 鎬荤嚎绋嬪簭,鐢↖O鍙fā鎷熷拰鐢ㄨ嚜甯IC鍙f湁浠涔堜笉鍚?_鐧惧害鐭 ...
    绛旓細鍏跺疄绋嬪簭鏄竴妯′竴鏍风殑锛屽敮涓鐨勫尯鍒槸妯℃嫙IIC闇瑕丆PU杩愮畻锛岃繖鏍峰氨澧炲姞浜嗗崟鐗囨満鐨勮繍绠楁椂闂达紝鑰屽甫IIC鎺ュ彛鐨勫崟鐗囨満锛岀▼搴忚繕鏄渶瑕佺殑锛屼絾鏄疘IC鐨勮繍绠楅氳繃闆嗘垚鍦鍗曠墖鏈洪噷闈鐨勫瘎瀛樺櫒纭欢鐢佃矾鏉ヨ繍绠楋紝灏卞儚瀹氭椂鍣ㄧ數璺竴鏍疯嚜宸变細杩愮畻锛岃繖鏍峰氨涓嶈cpu鏉ヨ繍绠楄繃绋嬩簡锛屼粠鑰岃妭鐪佷簡鏃堕棿锛屼娇cpu杩愮畻鐨勬洿蹇傚綋鐒惰繖鏍峰氨鐨勫浠樺嚭...
  • 姹傛暀:涓や釜51鍗曠墖鏈涔嬮棿鐨IIC閫氳
    绛旓細杩欎釜瑕佺湅浣犻夌殑51鍗曠墖鏈鏈夋病鏈IIC鍔熻兘锛屽鏋滄湁鐨勮瘽锛屾寜瑕佹眰璁剧疆灏卞彲浠ラ氫俊锛屾病鏈夊氨瑕佽嚜宸辨ā鎷熶竴涓狪IC閫氫俊浜嗭紝涓涓崟鐗囨満鍙戦侊紝涓涓崟鐗囨満鎺ユ敹锛屼竴鑸8浣嶆暟鎹竴鏉$嚎锛屾椂閽熻剦鍐蹭竴鏉$嚎
  • 51鍗曠墖鏈 I2C 24c02鐨勫崟涓暟鎹鍐
    绛旓細ST鑺墖鐨勭鍙h緭鍏ヨ緭鍑鸿瀹氭瘮杈冮夯鐑︺傛墍浠ユ湁鍗曠嫭鐨勫瓙绋嬪簭鏉ュ鐞嗐鍗曠墖鏈篒IC鐨凷DA绔彛鍦ㄥ悜EEPROM锛24C01锛夊彂鏁版嵁鏃讹紝璁句负杈撳嚭 鍦ㄨ鍙朎EPROM鏁版嵁鐨勬椂鍊欏垯璁句负杈撳叆銆//--- //-绋嬪簭鍚嶇О: Eestart //-鍏ュ彛鍙傛暟锛氭棤 //-鍑哄彛鍙傛暟锛氭棤 //-鍔熻兘璇存槑: IIC鐨凷TART淇″彿鐢熸垚 //--- void Eestart(void) ...
  • iic鎬荤嚎瀹炵幇鍙屾満閫氫俊,姹傛帴绾垮浘鍜屽師鐞
    绛旓細杩欎釜鏄爣鍑IIC鍗忚銆備笉鐭ラ亾绗︿笉绗﹀悎浣犲鍙屾満閫氫俊鐨勮姹傘傜數璺浘寰堢畝鍗曪紝鍙敤杩炰笂2鏉′笂锛屼笂鎷変釜鐢甸樆灏卞彲浠ュ暒銆侷IC閫氫俊鐨勫師鐞嗗弬鑰冮鍒╂郸鐨勬爣鍑嗭紝涓ょ嚎鐗瑰畾鐨勭姸鎬佸疄鐜版暟鎹紶杈撳紑濮嬶紝搴旂瓟锛岀粨鏉熺瓑绛夛紝澶氱湅鐪嬫椂搴忓浘灏变簡瑙e暒銆備絾鏄ぇ澶氭暟鐨51鍗曠墖鏈涓嶅甫纭欢IIC妯″潡锛屾垜浠彲浠ョ敤杞欢鏉ユā鎷熴傛垜鍙啓杩囦富鏈虹殑妯℃嫙IIC...
  • 51鍗曠墖鏈轰腑Iic鎬荤嚎涓繖涓椂搴忓浘鎬庝箞鐞嗚В,鎬庝箞鏈2涓猻tart,杩樻湁閭d釜鏄熷彿...
    绛旓細浣犲彲浠ュ厛鐪嬩竴涓I2C鏃跺簭銆傚湪I2C璇绘椂搴涓锛宻tart--->鍣ㄤ欢鍦板潃--->ACK--->鍐呭瓨鍦板潃--->ACK--->START--->鍣ㄤ欢鍦板潃--->ACK--->鏁版嵁--- --->ACK ...--->STOP 鍏跺疄璇绘椂搴忎腑鍖呭惈涓涓啓鎿嶄綔锛屽洜涓哄繀椤诲憡璇変粠鏈轰綘瑕佽鐨勫湴鍧浠ュ強浠庢満 ...
  • 51鍗曠墖鏈篿ic鎬荤嚎鏈夊摢浜沬o鍙
    绛旓細IO鍙fā鎷熷叾瀹炲氨鏄暟鎹彛閰嶅悎鏃堕挓鍙d竴浣嶄竴浣嶅湴鎺ュ彈鎴栧彂閫佹暟鎹紝鐒跺悗瀛樺埌鍐呭瓨閲銆鍗曠墖鏈鍙堢О鍗曠墖寰帶鍒跺櫒锛屽畠涓嶆槸瀹屾垚鏌愪竴涓昏緫鍔熻兘鐨勮姱鐗囷紝鑰屾槸鎶婁竴涓绠楁満绯荤粺闆嗘垚鍒颁竴涓姱鐗囦笂銆傜浉褰撲簬涓涓井鍨嬬殑璁$畻鏈猴紝鍜岃绠楁満鐩告瘮锛屽崟鐗囨満鍙己灏戜簡I/O璁惧銆傛鎷殑璁诧細涓鍧楄姱鐗囧氨鎴愪簡涓鍙拌绠楁満銆傚畠鐨勪綋绉皬銆...
  • 涓や釜51鍗曠墖鏈哄浣閫氳繃i2c閫氳?
    绛旓細涓鑸儏鍐典笅锛岃杩涜I2C閫氳锛屼綘鏈璧风爜鍏朵腑鏈変竴涓姱鐗囪鏈韩灏卞甫鏈塈2C閫氳鎺ュ彛锛岀敤杩欎釜甯︽湁I2C鎺ュ彛鐨勮姱鐗囨潵浣滀粠鍣ㄤ欢锛岃繖鏍峰氨鐩稿濂藉鐞嗕竴鐐广備綘瑕佹槸涓や釜閮戒笉甯﹁繖涓帴鍙o紝鏉ユā鎷熺殑璇濓紝寰堟湁闅惧害銆傞櫎闈炰綘瀵笽2C鍗忚寰堟竻妤氾紝涓嶈繃浠庢ゼ涓荤殑鎻愰棶鏉ョ湅锛屼及璁″氨涓鎬庝箞鐔熸倝杩欑鍗忚銆傛墍浠ュ缓璁繕鏄敤鍒殑閫氳鏂瑰紡鍚э紝...
  • 扩展阅读:iic ack ... 51单片机p0口 ... 51单片机p2口地址 ... 51单片机的io口一共有 ... 51单片机delay延时1ms ... iic时序图 ... 51单片机芯片型号大全 ... 51单片机delay延时0.2秒 ... 51单片机io口图解 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网