导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→[求助]P0端口问题

* 58135: [求助]P0端口问题

   CHITIE 
CHITIE发表的帖子 

 [求助]P0端口问题
ORG 0010H
      AJMP INIT
      ORG 0023H
      AJMP JIESHOU
INIT: MOV SP,#80H;栈底
      MOV IP,#08H;定义中断级别
      MOV TMOD,#20H;定时器T1为方式二
      MOV SCON,#50H;串行口为方式一
      MOV PCON,#00H;令SMOD=0
      MOV TH1,#0F4H;给TH1重装初值
      MOV TL1,#0F4H;波特率为2400(11.0592晶振)
      SETB TR1;启动T1
      SETB ES
      SETB EA


        AJMP $;等待

JIESHOU:PUSH PSW;可以连续接收上位机发来的数据
        PUSH DPH
        PUSH DPL
        PUSH ACC
        CLR ES;关中断不引起连续触发
        CLR RI

        MOV A,SBUF;保存收到的数据
        CJNE A,#32H,KEY1;如果单片机收到32H则将P0状态送回计算机
        MOV A,P0
        LJMP KEY
        
   KEY1:CJNE A,#33H,KEY2;如果单片机收到33H则将P0状态送回计算机
        MOV A,P1
        LJMP KEY
        
   KEY2:CJNE A,#34H,KEY3 ;如果单片机收到34H则将P0状态送回计算机   
        MOV A,P2
        LJMP KEY
        
   KEY3:CJNE A,#1H,KEY4 ;如果单片机收到1H,P0状态=FEH并送回计算机
        MOV P0,#0FEH
        LJMP KEY
        
   KEY4:CJNE A,#2H,KEY5;如果单片机收到1H,P0状态=FDH并送回计算机
        MOV P0,#0FDH
        LJMP KEY
        
   KEY5:CJNE A,#3H,KEY;如果单片机收到1H,P0状态=FBH并送回计算机
        MOV P0,#0FBH
        LJMP KEY
             
       
   KEY:MOV SBUF,A
       


 WAIT:JNB   TI,WAIT ;等待发送完
      CLR TI
      CLR A


KEY7:SETB ES;恢复中断

        POP ACC
        POP DPL
        POP DPH
        POP PSW

        RETI
        END


现在可以实现通信,但是P0端口不能锁存,整了好几天了,还不见好
我真的糊涂了,是硬件的问题还是软件的问题?故障表现为向P0端口送数,
一闪就灭(端口接的指示灯)如果换成向P1或者P2送数则可以锁存,注:P0口
接10K上拉电阻,换过2K,4.7K,20K均不见效,求高手指教,

向提供帮助的人致敬,谢谢你们。


发表时间:2004年7月14日12:32:54

  
回复该帖

本主题共有 7 帖,分页:>>>>>该主题的所有内容[7]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

  58153.[详细]尽管你的程序结构有重大问题,但在逻辑上是没问题的!出现你说的现象有可能你上下位机的波特率不一致或者..
摘要:尽管你的程序结构有重大问题,但在逻辑上是没问题的!出现你说的现象有可能你上下位机的波特率不一致或者是你的上位机在不停的发1,2,3这其中的两个以上值。我认为你最好是手工单字节调试。......(177字)
- [justrong][778次] 2004年7月14日

  58176.[详细]首先要谢谢你提供帮助,才学习单片机不久,还有很多不了解的东西要学习,在这里也有人说过我的程序有结构..
摘要:首先要谢谢你提供帮助,才学习单片机不久,还有很多不了解的东西要学习,在这里也有人说过我的程序有结构上的问题,但这是我能想到的唯一办法了,  上下位机的波特率应该没问题,明天换个晶振式式看,另外连续发送的不是1H,2H,3......(2057字)
- [CHITIE][1000次] 2004年7月14日

  58200.[详细]你的程序逻辑如下图所示,你看一下与你的初衷是否相符。程序中ACC的值除了在接受到32H,33H,3..
摘要:你的程序逻辑如下图所示,你看一下与你的初衷是否相符。程序中ACC的值除了在接受到32H,33H,34H时分别为P0,P1,P2口的值,其他任何时候都为零,所以你看一下PC机接收到的值是否为零。 另外在初学51编程时应该多画画流程图......(300字)
- [justrong][982次] 2004年7月15日

[上一篇帖子]:急急!!求助如把PCF8563的分报警寄存器写入BCD码15,并置中断允许!请问是每过15分钟中断一
[下一篇帖子]:是不是这样?你用的是什么型号的单片机?若内部RAM 仅128 单元,而又没有外部