找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2182|回复: 4
打印 上一主题 下一主题
收起左侧

24c32是16位地址寻址方式,那请问咋寻呢

[复制链接]
回帖奖励 10 黑币 回复本帖可获得 10 黑币奖励! 每人限 1 次
跳转到指定楼层
楼主
本帖最后由 zhengaohui 于 2018-12-10 15:38 编辑
  1. 在书上看到这样的程序,这个好像是8位的地址寻址程序,咋写16位的地址寻址呢
复制代码




3UAV(MI_]FBQZOW}ICMHC@N.png (31.02 KB, 下载次数: 43)

3UAV(MI_]FBQZOW}ICMHC@N.png
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:404720 发表于 2018-12-10 16:32 | 只看该作者
  1. #include "iic.h"
  2. void delay()
  3. {
  4. ;;
  5. }
  6. void delay10ms()
  7. {
  8. int a,b;
  9. for(a=50;a>0;a--)
  10. for(b=200;b>0;b--);
  11. }
  12. void nack()
  13. {
  14. scl=1;
  15. delay();
  16. sda=1;
  17. scl=0;
  18. delay();
  19. }
  20. void start()
  21. {
  22. sda=1;
  23. scl=1;
  24. delay();
  25. sda=0;
  26. delay();
  27. }
  28. void stop()
  29. {
  30. sda=0;
  31. scl=1;
  32. delay();
  33. sda=1;
  34. delay();
  35. }
  36. void ack()
  37. {
  38. uchar i;
  39. scl=1;
  40. delay();
  41. while((sda==1)&&i<520)
  42. i++;
  43. scl=0;
  44. delay();
  45. }
  46. void write_byte(uchar date)
  47. {
  48. uchar i,temp;
  49. temp=date;
  50. for(i=0;i<8;i++)
  51. {
  52. temp=temp<<1;
  53. sda=CY;
  54. delay();
  55. scl=1;
  56. delay();
  57. }
  58. scl=0;
  59. delay();
  60. sda=1;
  61. }
  62. uchar read_byte()
  63. {
  64. uchar i,j,k;
  65. scl=0;
  66. delay();
  67. for(i=0;i<8;i++)
  68. {
  69. scl=1;
  70. delay();
  71. j=sda;
  72. k=(k<<1)|j;
  73. scl=0;
  74. delay();
  75. }
  76. return k;
  77. }
  78. void write_at24c32(uchar address,uchar date)
  79. {
  80. start();
  81. write_byte(0x57);
  82. ack();
  83. write_byte(address);
  84. ack();
  85. write_byte(date);
  86. ack();
  87. stop();
  88. }

  89. uchar read_at24c32(uchar address)
  90. {
  91. uchar date;
  92. write_byte(0x56);
  93. ack();
  94. write_byte(address);
  95. ack();
  96. start();
  97. write_byte(0x57);
  98. ack();
  99. date=read_byte();
  100. nack();
  101. stop();
  102. return date;
  103. }
复制代码
回复

使用道具 举报

板凳
ID:443404 发表于 2018-12-10 17:05 | 只看该作者
#include "iic.h"
void delay()
{
;;
}
void delay10ms()
{
int a,b;
for(a=50;a>0;a--)
for(b=200;b>0;b--);
}
void nack()
{
scl=1;
delay();
sda=1;
scl=0;
delay();
}
void start()
{
sda=1;
scl=1;
delay();
sda=0;
delay();
}
void stop()
{
sda=0;
scl=1;
delay();
sda=1;
delay();
}
void ack()
{
uchar i;
scl=1;
delay();
while((sda==1)&&i<520)
i++;
scl=0;
delay();
}
void write_byte(uchar date)
{
uchar i,temp;
temp=date;
for(i=0;i<8;i++)
{
temp=temp<<1;
sda=CY;
delay();
scl=1;
delay();
}
scl=0;
delay();
sda=1;
}
uchar read_byte()
{
uchar i,j,k;
scl=0;
delay();
for(i=0;i<8;i++)
{
scl=1;
delay();
j=sda;
k=(k<<1)|j;
scl=0;
delay();
}
return k;
}
void write_at24c32(uchar address,uchar date)
{
start();
write_byte(0x57);
ack();
write_byte(address);
ack();
write_byte(date);
ack();
stop();
}

uchar read_at24c32(uchar address)
{
uchar date;
write_byte(0x56);
ack();
write_byte(address);
ack();
start();
write_byte(0x57);
ack();
date=read_byte();
nack();
stop();
return date;
}
回复

使用道具 举报

地板
ID:404720 发表于 2018-12-10 21:55 | 只看该作者
wang2 发表于 2018-12-10 17:05
#include "iic.h"
void delay()
{

你这是干什么??
回复

使用道具 举报

5#
ID:123289 发表于 2018-12-11 13:16 | 只看该作者
为何不看它的手册呢?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表