当前位置: 代码迷 >> 汇编语言 >> 汇编怎么 取到8051的P0口的内容呢
  详细解决方案

汇编怎么 取到8051的P0口的内容呢

热度:4265   发布时间:2013-02-26 00:00:00.0
汇编如何 取到8051的P0口的内容呢?
Assembly code
ORG 0000H    AJMP STARTORG 0030H      START:    MOV P0,#00H    LOOP:   LCALL DELAY            MOV P0,[color=#FF0000]P0+1[/color]            AJMP LOOP        DELAY:    MOV R7,#200    DL1:    MOV R6,#100    DL2:    MOV R5,#10            DJNZ R5,$            DJNZ R6,DL2            DJNZ R7,DL1            RET      END

我想我的问题主要出在这里 我想要把P0的内容取出来加一 再放回到P0里面去
应该怎么写呢?如何取内容?谢谢!!!!

------解决方案--------------------------------------------------------
单片机方面的不太会做,帮楼主在网上找了一个例子,楼主可以参考下,比较类似:

Assembly code
auxr  equ   8eh;main:mov  sp, #60h;lcall  comrest;调用串口初始子程序start:mov p0, #0ffh;读取P0口数据之前,应先将P0口置高在读取,保证读数的正确性mov a, p0;读取数据送到Alcall com_out;调用串口发送子程序ljmp start;进入下一个读取、发送周期comrest:;串口初始化子程序,设晶振频率为11.0592M,波特率为9600mov scon, #50h;设置数据格式为8位,无奇偶校验mov tmod, #21h;设置定时器1为8位自动重装mov th1, #0fdh;定时器1自动重装数,改变它可达到改变串口波特率的目的,这里取mov tl1, #0fdh;晶振频率为11.0592M,则波特率为9600anl auxr, #10111111b;setb tr1;setb es;setb ea;retcom_out:clr  es;clr  ti;mov sbuf, a;com_out1:jnb ti,com_out1;clr  ti;steb es;retend
------解决方案--------------------------------------------------------
MOV P0, 0xff ;需要置一,说明此刻用作输入口。
MOV A, P0;
;long time has passed away
MOV P0, A;
------解决方案--------------------------------------------------------
mov p0,0ffh
mov A,p0
INC A
mov p0,A