久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3615|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

C51單片機(jī)24c02儲(chǔ)存電壓值LCD顯示 Proteus仿真程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
這是C51單片機(jī)設(shè)置外部?jī)?chǔ)存24c02的程序,
由LCD1602顯示被儲(chǔ)存的電壓

單片機(jī)源程序如下:

  1. #include<reg51.h>


  2. #include <intrins.h>
  3. #include<1602.h>
  4. #define uchar unsigned char
  5. #define Address_24C02 0xA0
  6. #define uint unsigned int
  7. #define ulong unsigned long
  8. #define _NOP_() _nop_();_nop_();_nop_();_nop_();_nop_()/*短暫延時(shí) 4.7us*/
  9. sbit IIc_Sad = P2^6;
  10. sbit IIc_Scl = P2^7;



  11. static void delay1(uint a)
  12. {
  13. uint x;
  14. for(;a>0;a--)
  15. for(x=114*10;x>0;x--);
  16. }
  17. /*以下五個(gè)函數(shù)是IIc 時(shí)序函數(shù)*/

  18. /* 啟動(dòng)I2C 總線*/
  19. void IIc_start()
  20. {
  21. IIc_Sad = 1;
  22. IIc_Scl = 1;
  23. _NOP_();
  24. IIc_Sad = 0;
  25. _NOP_();
  26. IIc_Scl = 0;
  27. }
  28. /*停止I2C 總線*/
  29. void IIc_stop()
  30. {
  31. IIc_Sad = 0;
  32. _NOP_();
  33. IIc_Scl = 1;
  34. _NOP_();
  35. IIc_Sad = 1; //總線置于空閑狀態(tài)
  36. }
  37. /*IIC 初始化子程序*/
  38. void IIc_init()
  39. {
  40. IIc_stop(); //結(jié)束之前IIC 的操作
  41. IIc_Scl = 1; //總線置于空閑狀態(tài)
  42. IIc_Sad = 1;
  43. }
  44. /*IIC 寫一個(gè)字節(jié) 返回應(yīng)答信號(hào) 返回1 設(shè)備正常*/
  45. bit IIc_write_byte(uchar date)
  46. {
  47. uchar i;
  48. bit ack;
  49. for(i=8;i>0;i--)
  50. {
  51. date <<= 1;
  52. IIc_Scl = 0;
  53. IIc_Sad = CY;
  54. _NOP_();
  55. IIc_Scl = 1;
  56. _NOP_();
  57. }
  58. IIc_Scl = 0;
  59. _NOP_();
  60. IIc_Sad = 1;/*8 位發(fā)送完后釋放數(shù)據(jù)線,準(zhǔn)備接收應(yīng)答位*/
  61. _NOP_();
  62. IIc_Scl = 1;
  63. if(IIc_Sad==0)//從機(jī)設(shè)備應(yīng)答 ack=1
  64. ack = 1;
  65. else
  66. ack = 0;
  67. IIc_Scl = 0;
  68. _NOP_();
  69. return(ack);
  70. }
  71. /*IIC 讀一個(gè)字節(jié) 主機(jī)應(yīng)答信號(hào)Master_ack 為1 是應(yīng)答 0 時(shí)非應(yīng)答*/
  72. uchar IIc_read_byte(bit Master_ack)
  73. {
  74. uchar i,vaule;
  75. IIc_Sad=1;
  76. for(i = 8;i > 0;i--)
  77. {
  78. vaule <<= 1;
  79. IIc_Scl = 1;
  80. _NOP_();
  81. if(IIc_Sad)
  82. vaule++;
  83. IIc_Scl = 0;
  84. _NOP_();
  85. }
  86. IIc_Sad = !Master_ack;//主機(jī)應(yīng)答信號(hào)
  87. _NOP_();
  88. IIc_Scl = 1;
  89. _NOP_();
  90. IIc_Scl = 0;
  91. _NOP_();
  92. return vaule;
  93. }
  94. /*以下是24C02 的讀寫函數(shù)*/
  95. /*在24c02 的add 地址中寫入一個(gè)數(shù)據(jù)date;返回1 設(shè)備正常*/
  96. bit Write_byte(uchar add,uchar date)
  97. {
  98. bit val;
  99. uchar i=0;
  100. IIc_init();
  101. IIc_start();
  102. val = IIc_write_byte(Address_24C02);//寫器件地址
  103. while(val==0)
  104. {
  105. if(i++==10) //等待超時(shí)(10ms) 可能器件不存在
  106. return(0);
  107. delay1(1); //等待一會(huì)
  108. IIc_start(); //重新發(fā)送
  109. val = IIc_write_byte(Address_24C02);//寫器件地址
  110. }
  111. IIc_write_byte(add);//寫存儲(chǔ)的地址
  112. IIc_write_byte(date);//寫數(shù)據(jù)
  113. IIc_stop();
  114. return(1);
  115. }

  116. bit Write_more_byte(uchar add,uchar number,uchar *p)
  117. {
  118. bit val;
  119. uchar i=0;
  120. IIc_init();
  121. IIc_start();
  122. val = IIc_write_byte(Address_24C02); //寫器件地址
  123. while(val==0)
  124. {
  125. if(i++==10) //等待超時(shí)(10ms)
  126. return(0);
  127. delay1(1); //等待一會(huì)
  128. IIc_start(); //重新發(fā)送
  129. val = IIc_write_byte(Address_24C02);//寫器件地址
  130. }
  131. IIc_write_byte(add);//寫存儲(chǔ)的地址
  132. for(i=0;number>0;number--)
  133. {
  134. IIc_write_byte(*p++);//寫存儲(chǔ)的數(shù)據(jù)
  135. }
  136. IIc_stop();
  137. return(1);
  138. }

  139. uchar read_byte(uchar add)
  140. {
  141. uchar val=0;
  142. bit R_flag=0;
  143. IIc_init();
  144. IIc_start();
  145. R_flag=IIc_write_byte(Address_24C02);//寫器件地址
  146. while(R_flag==0) //器件沒有應(yīng)答 可能是內(nèi)部編程/擦除周期
  147. {
  148. delay1(1); //等待一會(huì)
  149. IIc_start(); //重新發(fā)送
  150. R_flag=IIc_write_byte(Address_24C02);//寫器件地址
  151. }
  152. IIc_write_byte(add);//寫存儲(chǔ)的地址
  153. IIc_start();
  154. IIc_write_byte(Address_24C02+1);//寫器件地址(讀)
  155. val = IIc_read_byte(0);
  156. IIc_stop();
  157. return (val);
  158. }
  159. /*在24c02 的add 地址中連續(xù)讀出一串?dāng)?shù)據(jù)*p 可以一次性讀出存儲(chǔ)器中所有的數(shù)據(jù)*/
  160. void read_more_byte(uchar add,uchar number,uchar *p)
  161. {
  162. bit val=0;
  163. IIc_init();
  164. IIc_start();
  165. val = IIc_write_byte(Address_24C02); //寫器件地址
  166. while(val==0) //器件沒有應(yīng)答 可能是內(nèi)部編程/擦除周期
  167. {
  168. delay1(1); //等待一會(huì)
  169. IIc_start(); //重新發(fā)送
  170. val=IIc_write_byte(Address_24C02);//寫器件地址
  171. }
  172. IIc_write_byte(add);//寫存儲(chǔ)的地址
  173. IIc_start();
  174. IIc_write_byte(Address_24C02+1);//寫器件地址(讀)
  175. for(;number>1;number--)
  176. {
  177. *p++=IIc_read_byte(1);
  178. }
  179. *p = IIc_read_byte(0); //讀最后一個(gè)數(shù)據(jù)主機(jī)不應(yīng)答
  180. IIc_stop();
  181. }

  182. void main()
  183. {
  184. int i;
  185. //uchar xdata a[100];
  186. uchar temp=0;
  187. lcd_init();
  188. while(1)
  189. {

  190. //for(i=0;i<100;i++)
  191. //{
  192. //a[i]=i;
  193. //}
  194. Write_byte(0x05,8);
  195. //Write_more_byte(0,8,a);

  196. temp=read_byte(5);

  197. lcd_pos(0x0a);// 設(shè)置顯示位置
  198. lcd_wdat(0x30+temp);

  199. Write_byte(0xfa,9);
  200. //Write_more_byte(0,8,a);

  201. temp=read_byte(0xfa);

  202. lcd_pos(0x48);// 設(shè)置顯示位置
  203. lcd_wdat(0x30+temp);

  204. }
  205. }
復(fù)制代碼

所有資料51hei提供下載:
24c02.rar (2.61 MB, 下載次數(shù): 40)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:769395 發(fā)表于 2020-6-9 14:13 | 只看該作者
請(qǐng)問你有沒有仿真成功
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 伊人免费网 | 精品日韩一区二区 | www.天天操.com| 日韩一及片 | 日韩久草| 色吊丝2 | 日韩在线不卡 | 少妇一级淫片aaaaaaaaa | 五月综合久久 | 一级黄色淫片 | 一区二区亚洲 | 国产精品成人在线播放 | 黄瓜av| 韩日精品一区 | 成人国产精品久久久 | 成人av免费网站 | 日韩电影免费在线观看中文字幕 | 91视频亚洲| 国产精品视频网站 | 性高朝久久久久久久3小时 av一区二区三区四区 | h片在线免费看 | 亚洲网在线| 日韩三区 | 自拍偷拍第1页 | 国产精品久久久久久久7电影 | 国产精品视频中文字幕 | av看片| 狠狠亚洲 | 国产成人99 | 久久久久久综合 | 国产一区二区影院 | 美女久久视频 | 国产日韩欧美一区二区在线播放 | 欧美一级视频在线观看 | 亚洲欧美中文日韩在线v日本 | 7777在线| 国产一区二区三区在线看 | www国产成人免费观看视频 | 国产玖玖| 国产精品国产精品 | 成人在线播放网站 |