找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机通过24c02设置产品的使用次数

[复制链接]
跳转到指定楼层
楼主
设计产品的使用次数+程序源码


单片机源程序如下:
  1. #include <reg52.H>

  2. /****************************************************************************
  3.                                         24C08 读写驱动程序        开始
  4. *****************************************************************************/
  5. #include <reg52.H>
  6. #include <stdio.h>
  7. #include <absacc.h>
  8. #define uchar unsigned char
  9. #define uint unsigned int

  10. sbit scl=P3^3;  //24c02 SCL
  11. sbit sda=P3^4;  //24c02 SDA

  12. uchar x24c02_read(uchar address); //从24c02的地址address中读取一个字节数据
  13. void x24c02_write(uchar address,uchar info);
  14.   //向24c02的address地址中写入一字节数据info
  15. void x24c02_init();   //24c02初始化子程序
  16. void delay1(uchar x);
  17. void flash();
  18. void x24c01_init();
  19. void start();
  20. void stop();
  21. void writex(uchar j);
  22. uchar readx();
  23. void clock();
  24. void delay1(uchar x)
  25. {
  26.    uint i;
  27.    for(i=0;i<x;i++);
  28. }
  29. void flash()
  30. {}
  31. void x24c02_init()
  32. {
  33.    scl=1; flash(); sda=1; flash();
  34. }
  35. void start()
  36. {
  37.    sda=1; flash(); scl=1; flash(); sda=0; flash(); scl=0; flash();
  38. }
  39. void stop()
  40. {
  41.    sda=0; flash(); scl=1; flash(); sda=1; flash();
  42. }
  43. void writex(uchar j)
  44. {
  45.    uchar i,temp;
  46.    temp=j;
  47.    for (i=0;i<8;i++){
  48.       temp=temp<<1; scl=0; flash(); sda=CY; flash(); scl=1; flash();
  49.    }
  50.    scl=0; flash(); sda=1; flash();
  51. }
  52. uchar readx()
  53. {
  54.    uchar i,j,k=0;
  55.    scl=0; flash(); sda=1;
  56.    for (i=0;i<8;i++){
  57.       flash(); scl=1; flash();
  58.       if (sda==1) j=1;
  59.       else j=0;
  60.       k=(k<<1)|j; scl=0;
  61.    }
  62.    flash(); return(k);
  63. }
  64. void clock()
  65. {
  66.    uchar i=0;
  67.    scl=1; flash();
  68.    while ((sda==1)&&(i<255))i++;
  69.    scl=0; flash();
  70. }
  71. uchar x24c02_read(uchar address)
  72. {
  73.    uchar i;
  74.    start(); writex(0xa0);
  75.    clock(); writex(address);
  76.    clock(); start();
  77.    writex(0xa1); clock();
  78.    i=readx(); stop();
  79.    delay1(10);
  80.    return(i);
  81. }
  82. void x24c02_write(uchar address,uchar info)
  83. {
  84.    EA=0;
  85.    start(); writex(0xa0);
  86.    clock(); writex(address);
  87.    clock(); writex(info);
  88.    clock(); stop();
  89.    EA=1;
  90.    delay1(50);
  91. }


  92. //====================================================================//
  93. main()
  94. {
  95. signed char sec; //定义数值
  96. ……………………

  97. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
设置产品的使用次数.zip (231.69 KB, 下载次数: 18)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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