⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tvrem.plm

📁 多个C51的源代码,在KEIL C51上已调试通过
💻 PLM
字号:
/* filename: tvrem.plm */
start:do;
$include(reg51.dcl)
  declare (data1,data2,data4,ah,al,jihaopow,jihao,bjihao,dap3,ask,i) byte at (30h);
  declare (h,g) word;
receive:procedure interrupt 4 using 1;
		disable;
		jihao=sbuf;
		ri=0;
		;/* power control*/ 
		jihaopow=jihao;
		jihao=jihao and 7fh;
		jihaopow=jihaopow and 80h;                
		if jihaopow=80h and jihao=bjihao then p17=0;
		if jihaopow=00h and jihao=bjihao then p17=1;
		  if data4=0e2h then
		  do;
		    if jihao=bjihao then
		    do;
		     data4=0;
		     p33=1;
		     dap3=not(dap3); 
		     sbuf=dap3;      /* txd */
		     do while ti=0;
		     end;
		     ti=0;
		     p33=0;
		     do while ri=0;
		     end;
		     ask=sbuf; 
		     if ask=dap3 and dap3<>0 then 
		      do;
		       p34=0;
		       do i=0 to 7;
			call time(254);
		       end;
		      end;
		      p34=1;
		    end;
		  end;
	       ip=0;
	       enable;
end receive;

rem:procedure interrupt 0;/* int0 */
    declare k byte;
    DISABLE;
  if data4=02eh then goto int0end;  
    k=16;
    data1=0;
loop1: 
    call time(2);
    h=0;
    do while p32=0;
    h=h+1;
    if h>3000 then goto int0end;
    end;
    th0=0;
    tl0=0;
    tr0=1;
    call time(2);
    h=0;
    do while p32=1;
    h=h+1;
    if h>3000 then goto int0end;
    end;
    tr0=0;
    ah=th0;
    al=tl0;
    if ah>=4 then cy=1;
    else cy=0;
    data1=scl(data1,1);
    k=k-1;
    if k=8 then data2=data1;
    if k<>0 then goto loop1;
       if data2>0e0h then  
	do;
	 data4=data2;
	end;
	 if data2=0e2h then 
	   do;
	    data4=data2;
	    data2=0;
	    dap3=0;
	    if data1=00 then dap3=01h;
	    if data1=10h then dap3=02h;
	    if data1=08h then dap3=04h;
	    if data1=18h then dap3=08h;
	    if data1=80h then dap3=10h;
	    if data1=90h then dap3=20h;
	    if data1=88h then dap3=40h;
	    if data1=4ch then dap3=80h;
	   end;
int0end:    ip=0;
	  enable;
end rem;

main$program:
p1=0ffh;
p3=0ffh;
p33=0;
dap3=0ffh;
scon=50h;
pcon=00h;
tmod=21h;
tl1=0fdh;  /*  9600 baud rate for 11.0592Mhz */
th1=0fdh;
th0=0;
tl0=0;
tr1=1;
es=1;
ex0=1;
data2=0;
data4=0;
bjihao=01;
ie0=0;
enable;
LOOP:goto loop;
end start;



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -