芯片对照
    PIC其中一些单片机与EM78系列单片机管脚相兼容,对照如下:
·
PIC12C508/509       EM78P152/153
·
PIC16C54/56/84      EM78P156/256/456
·
PIC16C55/57         EM78P447
以上单片机转换可不改动PCB便可完成,具体硬件资源对照如表1所示;指令对照表如表2所示。
转换软件使用说明
    现有转换软件X156M.EXE可以将PIC编写的程序目标码转成EM78单片机可用的源代码。  
  1.文件名:X156M.EXE
    说明:PIC程序文件名后缀一定是(.OBJ)
    文件格式是16进制(HEX)或二进制(BIN)
    执行X156M(以5XDEMO.OBJ为例、HEX格式)
  2.提示输入文件5XDEMO.OBJ
    询问是何种文件输出方式(H/B)?选H
    询问文件大小(单位是512字节)?输入1(16C54、12C508)或2(16C56)或4(16C57)
    询问文件输出方式(0/1)?选1
    询问WDT开/关否?(视情况而定)
    至此,可输出名为5XDEMO.DT文件(即EM78XX的源程序)
经过上述转换的程序仍可能存在下列问题,需要修正
  1.针对EMC内部RAM地址比PIC高10H,转换程序对RAM地址硬性加10H,如此时R4则转为R14,如果R4
    作间接址用,此时应--恢复R14转换R4;在间接寻址中,在赋给R4立即数的值转到EMC时该立即
    数也应加10H;相关的BANK选择位对应如(前为PIC,后为EMC)∶R3.5à R3.6,R3.6à R3.7.
  2.PIC和EMC个别寄存器如标志寄存器R3.7、R4不一样,有些PIC程序中用了其中闲置的bit做标志
    位,到EMC程序中要检查有没有冲突;
  3.PIC和EMC读入RA或口5,闲置位赋值不一样:如PIC16C54读RA.时RA的高四位为0,但EM78×56
    就不是0,所以 EM78X56读出口5数据时要屏蔽高位,否则容易出错。
    针对PIC16C57程序转换的问题(1)R7转换后会变成17H,应恢复为07H;(2)为了避免程序跳
    转、R3的重定义而出现的错误,最好将16C57对应的4个PAGES映射到78P447的4个PAGES里去,方法
    是重定义转换程序的每页起始地址,200Hà400H,400Hà 800H,600Hà C00H。
表1 PIC和EMC单片机硬件资源对照表

Device

EM78P152
EM78P153

PIC12C508
PIC12C509

EM78P156

PIC16C54
PIC16C56

EM78P447A
EM78P447B

PIC16C57

  Pins

8/14

8

18

18

28/32

28

  Process

CMOS

CMOS

CMOS

CMOS

CMOS

CMOS

  Architecture

RISC

RISC

RISC

RISC

RISC

RISC

  Mask Version

Yes

N/A

Yes

N/A

Yes

N/A

  Working Voltage

2.5~5.5

2.5~5.5

2.5~5.5

2.5~6.25

2.3~5.5

2.5~6.25

  Program Memory

512x13

512/1Kx12

1Kx13

512/1Kx12

4Kx13

2Kx12

  User Memory RAM

32x8

25/41x8

48x8

25x8

148x8

72x8

  I/O pins

6/12

5

12

12

20/24

20

  Instruction Clock

2

4

2

4

2

4

  Oscillation Mode

5

4

4,(5)

4

4

4

  Instruction Set

57

33

57

33

57

33

  Max.Operating

 XT

16(4 clks)

8(4 clks)

18(2clks)
36(4clks)

20(4 clks)

36(4 clks)

20(4 clks)

 RC

4(4 clks)

4(4 clks)

4(4 clks)

4(4 clks)

4(4 clks)

8(4 clks)

  Page Size

1K

512

1K

512

1K

512

  Available for CALL

1K

256

1K

256

1K

256

  Option Code

13

N/A

6

N/A

7(13)

N/A

  Interrupt(In/Ex)

31/2

N/A

3(1/2)

N/A

3(1/2)

N/A

  Pull-High Pins

6/8

N/A

8

N/A

10

N/A

  Pull-Low Pins

3/7

N/A

7

N/A

0

N/A

  Wake-Up Pins

6/8

N/A

8

N/A

10

N/A

  Open-Drain Pins

6/8

N/A

8

N/A

2

N/A

  R-Option Pins

0

N/A

2

N/A

2

N/A

  Stack

5

2

5

2

5

2

  POVD

Yes

N/A

Yes

N/A

Yes

N/A

  Timer Modules

8-bitx1

8-bitx1

8-bitx1

8-bitx1

8-bitx1

8-bitx1

  WDT

Yes

Yes

Yes

Yes

Yes

Yes

 
表2  PIC和EMC指令对照表
PIC
EMC
    
PIC
EMC
字 节 操 作 指 令
位 操 作 指 令
NOP
NOP
BCF
f,b
BC
R,b
NOVWF
f
MOV
R,A
BSF
f,b
BS
R,b

CLRW

   

CLRA

 
BTFSC
f,b
JBC
R,b

CLRF

f

CLR

R
BTFSS
f,b
JBS
R,B

SUBWF

f,0

SUB

A,R
控 制 指 令

SUBWF

f,1

SUB

R,A
OPTION
CONTW

DECF

f,0

DECA

R
SLEED
SLEP

DECF

f,1

DEC

R
CLRWDF
f
WDTC
R

IORWF

f,0

OR

A,R
TRIS
K
IOW

IORWF

f,1

OR

R,A
RETLW
K
RETL
K

ANDWF

f,0

AND

A,R
CALL
K
CALL
K

ANDWF

f,1

AND

R,A
GOTO
K
JMP
K

XORWF

f,0

XOR

A,R
MOVLW
K
MOV
A,K

XORWF

f,1

XOR

R,A
IORLW
K
OR
A,K

ADDWF

f,0

ADD

A,R
ANDLW
K
AND
A,K

ADDWF

f,1

ADD

R,A
XORLW
K
XOR
A,K

MOVF

f,0

MOV

A,R
其 它

MOVF

f,1

MOV

R,R
DAA

COMF

f,0

COMA

R
ENI

COMF

f,1

COM

R
DISI

INCF

f,0

INCA

R
RET

INCF

f,1

INC

R
RETI

DECFSZ

f,0

DJZA

R
CONTR

DECFSZ

f,1

DJZ

R
IOR
R

RRF

f,0

RRCA

R
SUB
A,K

RRF

f,1

RRC

R
INT

RLF

f,0

RLCA

R
ADD
A,K

RLF

f,1

RLC

R

SWAPF

f,0

SWAPA

R

SWAPF

f,1

SWAP

R

INCFSZ

f,0

JZA

R

INCFSZ

f,1

JA

R
 
  CopyRight© 2005 上进电子 版权所有