导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→[求助]我用MC14433AD转换器,8031芯片的P1脚,[guest]

 *第12199篇: [求助]我用MC14433AD转换器,8031芯片的P1脚,无法显示?

  
楼 主:guest 2003年5月18日19:24
 [求助]我用MC14433AD转换器,8031芯片的P1脚,无法显示?
我用MC14433AD转换器,8031芯片的P1脚,但是无论输入端值如何改变,输出端都是显示77(个位,十位)不知道是什么原因,有人说P1脚用法特殊,有人说程序可能有错,我得程序如下:
    ORG  4000H
DISPLAY    EQU  0170H
MAIN:    PUSH  PSW        ;中断保护
    PUSH  ACC
    SETB  EA           ;外部中断边沿触发
    SETB  EX1          ;允许外部IT1中断
    SETB  PX1          ;开外部中断
WB1:    MOV  A,P1         ;读P1脚数据到寄存器A
    JNB   ACC.3,WB1    ;DS1信号未到等待
           JB    ACC.0,ERR0    若为欠量程,转出错处理
           JNB   ACC.3,ERR0    若“千”位=1转出错处理(因为温度值0--100)
WB2:    MOV  A,P1
    JNB  ACC.5,WB2    DS2信号未到等待    
    ANL  A,#0FH        取出百位数
    MOV  79H,A        送显示缓冲区
WB3:    MOV  A,P1
    JNB  ACC.6,WB3    DS2信号未到等待  
    ANL  A,#0FH       取出十位数
    MOV  78H,A         送显示区
WB4:    MOV  A,P1
    JNB  ACC.7,WB4      取出个位数
    ANL  A,#0FH        送显示区
    MOV  77H,A
    LCALL DISPLAY       调用监控程序显示
    LJMP  WBEND
ERR0:    SETB  00H
LJMP    MAIN
WBEND:    POP  ACC
    POP  PSW
    AJMP  MAIN         循环采集
           END
注明:14433输出为4位BCD码,另外四位是位选信号(DS0—DS3)
因为是毕业设计,很急,请求帮助,我得QQ是120517720
  
2楼:APEARLIU 2003年5月19日09:38
 WB2:    MOV  A,P1
 

WB2:    MOV  A,P1
    JNB  ACC.5,WB2    DS2信号未到等待    
   nop
  nop
  mov  a,p1
 ANL  A,#0FH        取出百位数
    MOV  79H,A        送显示缓冲区
试验一下:要不就是你的显示程序有关,P1口做输入是没有问题的,也许在读P1口时先执行MOV     P1,#0FFH  会好些(没什么特别的道理)。祝你好运,

>>>>>>对该主题发表你的看法

本主题贴数2,分页: [第1页]


[上一篇主题]:那位大虾知道在proteus中如可使用8255a?我试了都不行。。。

[下一篇主题]:有没有关于24级分频器4521芯片的资料?demon_7@eyou.com