DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1046|回复: 0
打印 上一主题 下一主题

[待整理] PIC程序转换至EM78XX

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-5 14:08:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
PIC程序转换至EM78XX

1、芯片对照
答:PIC其中一些单片机与EM78系列单片机管脚相兼容,对照如下:

  • PIC12C508/509 EM78P152/153
  • PIC16C54/56/84 EM78P156/256/456
  • PIC16C55/57 EM78P447
以上单片机转换可以在不用改动PCB情况便可完成,具体硬件资源对照如表1所示。
2、指令对照表
答:指令对照表如表2所示
3、转换软件使用说明
答:现有转换软件X156M.EXE可以将PIC编写的程序目标码转成EM78单片机可用的源代码。
    文件名:X156M.EXE
    说明:PIC程序文件名后缀一定是(.OBJ)
    文件格式是16进制(HEX)或二进制(BIN)
    执行X156M(以5XDEMO.OBJ为例、HEX格式)
    提示输入文件5XDEMO.OBJ
    询问是何种文件输出方式(H/B)?选H
    询问文件大小(单位是512字节)?输入1(16C54、12C508)或2(16C56)或4(16C57)
    询问文件输出方式(0/1)?选1
    询问WDT开/关否?(视情况而定)
  至此,可输出名为5XDEMO.DT文件(即EM78XX的源程序)
注:经过上述转换的程序仍可能存在下列问题,需要修正:

  • 针对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.
  • PIC和EMC个别寄存器如标志寄存器R3.7、R4不一样,有些PIC程序中用了其中闲置的bit做标志位,到EMC程序中要检查有没有冲突;
  • 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单片机硬件资源对照表

Devicc

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(2 clks)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

Iterrupt(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

字 节 操 作 指 令

NOP

   NOP
   
NOVWF

fMOV
R,A
CLRW

    CLRA
 
CLRF
fCLR
R
SUBWF
f,0SUB
A,R
SUBWF
f,1SUB
R,A
DECF
f,0DECA
R
DECF
f,1DEC
R
IORWF
f,0OR
A,R
IORWF
f,1OR
R,A
ANDWF
f,0AND
A,R
ANDWF
f,1AND
R,A
XORWF
f,0XOR
A,R
XORWF
f,1XOR
R,A
ADDWF
f,0ADD
A,R
ADDWF
f,1ADD
R,A
MOVF
f,0MOV
A,R
MOVF
f,1MOV
R,R
COMF
f,0COMA
R
COMF
f,1COM
R
INCF
f,0INCA
R
INCF
f,1INC
R
DECFSZ
f,0DJZA
R
DECFSZ
f,1DJZ
R
RRF
f,0RRCA
R
RRF
f,1RRC
R
RLF
f,0RLCA
R
RLF
f,1RLC
R
SWAPF
f,0SWAPA
R
SWAPF
f,1SWAP
R
INCFSZ
f,0JZA
R
INCFSZ
f,1JA
R
位 操 作 指 令

BCF
f,bBC
R,b
BSF
f,bBS
R,b
BTFSC
f,bJBC
R,b
BTFSS
f,bJBS
R,B
控 制 指 令

OPTION
  CONTW
  
SLEED
  SLEP
  
CLRWDF
  WDTC
  
TRIS
fIOW
R
RETLW
kRETL
K
CALL
kCALL
K
GOTO
kJMP
K
MOVLW
kMOV
A,K
IORLW
kOR
A,K
ANDLW
kAND
A,K
XORLW
kXOR
A,K
其它

  DAA
  
  ENI
  
  DISI
  
  RET
  
  RETI
  
  CONTR
  
  IOR
R
  SUB
A,K
  INT
  
  ADD
A,K
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-5-2 21:14 , 耗时 0.092305 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表