找回密码
 注册
关于网站域名变更的通知
查看: 165|回复: 2
打印 上一主题 下一主题

PIC单片机读内部EEPROM的读写操作子程序

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-7-21 10:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
//********************************************************************************0 a' W( W6 _# q2 m$ c9 S
//********************************************************************************/ k# h6 n9 d) ?/ Y6 y; Y2 j
//     pic16f917  [7 U& n2 d9 g2 ~
//********************************************************************************
/ H# U( Y: v: F/ V4 L% r2 y unsigned char read_eeprom(unsigned char);9 z# A9 X8 w1 I6 G3 A
void write_eeprom(unsigned char,unsigned char);
  R0 B' x" `$ ~, n: m! j void write_work();3 n7 `4 Z/ `" c' F2 O2 ?, R
//********************************************************************************3 u8 f6 s' {5 z( K' [9 y

6 M, V4 W4 k& p //********************************************************************************  j3 o/ |, o" m9 D* f: G# S, Z- n
unsigned char read_eeprom(unsigned char addr)
  B! P9 h0 k: l0 a+ b% M {( B0 g' t* P+ \( P, g$ p
      unsigned char num;
! y9 U* h; l  Q* a7 v8 `      do{;}
6 i5 C  e+ u1 Q+ M; @      while(RD==1);                        //上一次读操作是否完成+ A) W& }* O+ ]  Z$ V, t% ~
      EEADR=addr;                            //EEPROM地址为00H- `) F: k: v. @1 m9 `1 r) B* N% @
      EEPGD=0;                            //指向EEPROM数据储存器3 ?4 |! {; q$ n9 x5 a
      RD=1;                                //开始读- ], @3 x( N/ d. N& Q: t4 z
      do{;}
- B7 u# N. P7 S  Y9 O      while(RD==1);                        //等待读操作完成
" O1 W+ ]- n8 r$ [8 G      num=EEDATA;                            //读出
6 E* i/ ]# j9 u  e& D6 d" [      return(num);                        //返回读出的数
: l) O# h- X1 H. U }, |. ~1 O  l) p* @2 w
//********************************************************************************% F; V6 e, m- n: x8 q
void write_work()1 h/ ~! `: P4 s+ t. o/ g
{
* V0 [2 Z( o8 T8 G      IF((write_dt&0x1) == 0x1)
! O( o9 c2 V8 r1 D      {- ~! A9 p% w( [, w5 f- ~; l6 x, q
           write_eeprom(0,sdy_dt);
/ ]; M, t# C+ Q5 {  z% y      }
" R  \) j* y( I& X( L$ a& g3 G      if((write_dt&0x2) == 0x2)+ q  c5 }5 j) _3 O. i; h' \: V
      {
  e* n5 r; Y9 A/ i! K5 j8 q           write_eeprom(1,sdy_set);3 T0 B; r; @$ A
      }
7 ~) c3 v7 q; ]! f; x( l9 [      if((write_dt&0x4) == 0x4)$ A, @) d5 D! F4 C
      {
, D8 O8 D. ?' E* T6 F: Y           write_eeprom(2,power_dt);
# U4 r# M3 Z# Y; K  [  g      }
4 l5 M( W4 l) ]% H      write_dt=0;6 N/ |- O/ @3 t5 f
}
" H  S$ @/ o/ I, ^" g& b. i //********************************************************************************+ \, F# t' B+ e" m/ d9 i, Y
void write_eeprom(unsigned char addr,unsigned char data); F) ?6 v" A1 W- \( i0 F
{
9 w( S4 y; `" ^8 ]6 V# V! Q* E      do{;}
( y" j# k% x" F      while(WR==1);                        //上一次写操作是否完成
, u! W) o# G0 p( P4 h/ y7 s      EEADR=addr;                            //EEPROM地址
& v& d0 f: d7 f- a* t* j" U      EEDATA=data;                        //准备写入EEPROM的数据1 h0 p8 h" c0 M8 J+ J" T( [) \
      EEPGD=0;                            //指向EEPROM数据储存器) C6 ?* l7 s4 f. [  B
      WREN=1;                                //使能写操作6 ~% n! i$ H$ A2 H6 Q5 Y" T
      EECON2=0x55;                        //设置通用参数
) G+ i+ h$ @! L7 P      EECON2=0xAA;                        //设置通用参数
1 s" ?# F% D/ j  Y' O3 c      WR=1;                                //开始写. K2 B' l' |" p" j; i" ?
      do{;}  r  j* W) K2 p& M/ t
      while(WR==1);                        //等待写操作完成5 I! z  o" i( J0 D
      WREN=0;                                //禁止写操作
- x' z+ F3 R3 J }
0 ?( r5 V; R  M0 m% ]% ] //********************************************************************************
0 e: P  G) B9 e1 A9 s: F: n1 ?* v, T //********************************************************************************
# F) ?# z# F9 Y# v% \! r0 B% J0 p

该用户从未签到

2#
发表于 2022-7-21 11:26 | 只看该作者
大佬发表的帖子,感觉很厉害,很棒,

该用户从未签到

3#
发表于 2022-7-21 13:45 | 只看该作者
学习的道路上遇到的困难还有前辈大佬帮忙解决,真心感动
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-15 17:33 , Processed in 0.078125 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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