 |
| |
| |
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。 |
|
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) |
3(1/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 |
| 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 上进电子 版权所有 |
|
|
 |