用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心解决方案电子通信

AT93C46/56/55串行EEPROM及单片机程序

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 22:50:55
,由于PL/M语言介于高级语言与汇编语言之间,故其对数据、地址位的处理比较繁琐。其中ADDR为指定的地址单元,DATA为写入的数据,在写数据、地址时均从高位开始。本程序已在仿真器上调试通过。且已被应用于电量测试仪中(如接触电阻测试仪)。

DECLARE SETCS LITERALLY ‘CALL BITSET. IO-PORT2,0′;

DECLARE CLRCS LITERALLY ‘CALL BITCLR. IOPORT2,0′;

DECLARE SETCLK LITERALLY ‘CALL BITSET. IOPORT2,5′;

DECLARE CLRCLK LITERALLY ‘CALL BITCLR. IOPORT2,5′;

DECLARE SETDI LITERALLY ‘CALL BITSET. IO-PORT1,5′;

DECLARE CLRDI LITERALLY ‘CALL BITCLR. IOPORT1,5′;

EWEN:PROCEDURE PUBLIC;

DECLARE I BYTE;

CLRCS; CLRDI; CLRCLK;

SETCS; SETDI; SETCLK;

DO I=1 TO 2;

CLRCLK; CLRDI; SETCLK;

END;

DO I=1 TO 2;

CLRCLK; SETDI; SETCLK;

END;

DO I = 0 TO 6;

CLRCLK; SETDI; SETCLK;

END;

CLRCLK; CLRCS; SETCS;

SETCLK; CLRCLK;

END EWEN;

READ:PROCEDURE(ADDR) PUBLIC;

DECLARE (ADDR,I,COUNT) BYTE;

CLRCS; CLRDI;

CLRCLK; SETCS;

DO I= 1 TO 2;

CLRCLK; SETDI; SETCLK;

END;

DO I =1 TO 2;

CLRCLK; CLRDI; SETCLK;

DO COUNT=1 TO 7;

BITOUT(COUNT)=SHR(BITOUT(COUNT),1);

END;

CLRCS; CLRDI; CLRCLK;

CALL TIME(100);

SETCS; CLRC;

END READ;

WRITE: PROCEDURE(ADDR,DATA) PUBLIC;

DECLARE (ADDR,DATA) BYTE;

CLRCS; CLRDI; CLRCLK;

SETCS; SETDI; SETCLK;

CLRDI; CLRCLK; SETCLK;

SETDI; CLRCLK; SETCLK;

END;

DO I =-1 TO 8;

X=ROL(ADDR,1);

ADDR=X; CLRCLK;

IF ((X AND 01H)=01H)THEN SETDI;

ELSE CLRDI;

SETCLK;

END;

DO I =1 TO 7;

CLRCLK; SETCLK;

END;

DO I =1 TO 8

CALL BITSET(.IOPORT1,7);

COUNT=COUNT-1;

CLRCLK; SETCLK;

BITOUT(COUNT)=IOPORT1;

END;

CLRCLK; SETCLK;

J=0;

AA: DO I= 1 TO 8;

J=J+1;

X=ROL(ADDR,1;

ADDR=X; CLRCLK;

IF((X AND 01H)=01H) THEN SETDI

ELSE CLRDI;

SETCLK;

END;

IF J<>16 THEN DO;

ADDR =DATA;

GOTO AA;

END;

CLRCS;SETCS;

CALL TIME(100);

END;



上一页  [1] [2] 

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:9,281.25000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号