导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→发表看法:[zhongqiu]先祝大家中秋团圆



No.63510
作者:zhongqiu
邮件:xsz8866@126.com
ID:26192
登陆:26次
文章数:10篇
最后登陆IP:221.215.99.85
最后登陆:2005/2/22 17:08:56
注册:2004/9/28 10:54:03
财富:161
发帖时间:2004/9/28 11:05:32
发贴者IP:221.215.99.80
标题:zhongqiu:先祝大家中秋团圆
摘要:No.63510先祝大家中秋团圆 归入正题,我有一道难题跟大家请教一下,关于24C02的写入问题,需要通过串口接收不确定数目字节的数据,我编了一下,却发觉该程序有个缺陷,仅仅能接收28个字节的数据,超过后就接收不正常了,经我反复测试,问题大概在串口24C02的写入上,串口接收应该是没有问题,大家有谁能给我指点一下,谢谢!
;该程序为N个字节的串口接收程序,串口采用方式1,并将接收到的数据写到24C02的00H起始的地址中
MAINSCON:MOV 40H,#0A0H
      MOV 41H,#00H
      MOV 42H,#30H;串口写入的内存地址首地址
      SLAW EQU 40H
      NUMBYT EQU 41H
      NWD EQU 42H
      VSDA EQU P0.4
      VSCL EQU P0.5
SDL1:MOV TMOD,#20H;定时器T1作波特率发生器,工作于方式2
     MOV TL1,#0F3H;设定T1的初值确定波特率为4800
     MOV TH1,#0F3H;
     CLR ET1;T1作波特率发生器时应禁止中断
     SETB TR1;启动TR1计数
     MOV SCON,#52H;串行口设置方式1
     ORL PCON,#80H;SMOD=1
     MOV R0,NWD;待接收数据首地址
               ;待接收数据字节数量
     MOV R5,#5
     MOV R3,#50
     MOV R7,NUMBYT
     CJNE R7,#00H,WAIT
WAIT0:JBC RI,SSS
      AJMP WAIT0
WAIT:
     JBC RI,SSS

     DJNZ R5,WAIT
     DJNZ R3,WAIT
     AJMP WAIT1

SSS: CLR RI
     MOV A,SBUF
     MOV @R0,A
     MOV R7,NUMBYT
     INC R7
     MOV NUMBYT,R7

;该程序为将RAM30H-37H中的内容写到24C02的00H
      WRADD:LCALL STA
      MOV A,SLAW
      LCALL WRBYT
      LCALL CACK
      JB F0,WRADD
      MOV A,R7;写入EEPROM单元地址
      LCALL WRBYT
      LCALL CACK
      JB F0,WRADD
      MOV R0,NWD

WRDA:MOV A,@R0
     LCALL WRBYT
     LCALL CACK
     JB F0,WRADD
     LCALL STOP;至此将数据0AAH写入了EEPROM地址单元00中
PROGRAM:LCALL SDL1
        JB RI,SSS
        AJMP WAIT1

W ......

>>返回讨论的主题



  发表回复
用户名   *您没有注册?
密码   *
验证码   * .
标题   *
心情
随便说说    我回答你    最新发现    得意的笑   
气死我了    真是没劲    坚决同意    表示反对   
大家过来    好奇怪哟    懒得理它    大家小心   
文件上传
内容


字体:      字体大小:    颜色:
粗体 斜体 下划线 居中 超级连接 Email连接 图片 Flash图片 Shockwave文件 realplay视频文件 Media Player视频文件 QuickTime视频文件 引用 飞行字 移动字 发光字 阴影字 查看更多的心情图标 背景音乐
点击加入表情
                         
选项
有回复时用短消息通知您?

   




老古网执行:18毫秒 最大:78531毫秒 查询6次