- 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