英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流

标题: 用PIC16F716仿真开发MDT2051,PIC16C711 [打印本页]

作者: admin    时间: 2009-5-19 16:41
标题: 用PIC16F716仿真开发MDT2051,PIC16C711
因为PIC16F716是FALSH工艺,且MDT2051又是完全兼容PIC16C711
PIC16F716资源又在PIC16C711上升级.所以
用PIC16F716开发MDT2051
PIC16F716比MDT2051多一些模块,所以在716复位后跳转到ROM的1024位置将不使用的模块关闭(方便于转成MDT2051时将其越过并去除),然后转到主程序执行。在RAM够用的情况下最好使用20H-4FH部分的空间,这样写好后的程序在转换过程中就不用移RAM;如果RAM不够用尽量使用10P716的5CH-6FH的部分代替2051的0CH-1FH部分。在使用A/D模块时,注意与A/D有关的标识位的不同,尽量用自己定义的量来写,以方便从716改到2051。
举例:
;//716 code
#define HAVED_AD PIR1,6
#define START_AD ADCON0,GO
ORG 0000H
GOTO CLOSE_NO_USED
ORG 04H
RETFIE
MAIN:
NOP
BSF STATUS,RP0
MOVLW 01H
MOVWF ADCON1
BCF STATUS,RP0
MOVWF ADCON0
NOP
LOOP:
NOP
BSF START_AD
BTFSS HAVED_AD
GOTO $-1
BCF HAVED_AD
NOP
NOP
GOTO LOOP

ORG 400H
CLOSE_NO_USED:
CLRF CCP1CON
CLRF T1CON
CLRF T2CON
GOTO MAIN

;//2051 code
;//716 code
#define HAVED_AD ADCON0,1
#define START_AD ADCON0,GO
ORG 0000H
GOTO MAIN
ORG 04H
RETFIE
MAIN:
NOP
BSF STATUS,RP0
MOVLW 01H
MOVWF ADCON1
BCF STATUS,RP0
MOVWF ADCON0
NOP
LOOP:
NOP
BSF START_AD
BTFSS HAVED_AD
GOTO $-1
BCF HAVED_AD
NOP
NOP
GOTO LOOP

ORG 400H
;CLOSE_NO_USED:
; CLRF CCP1CON
; CLRF T1CON
; CLRF T2CON
; GOTO MAIN
以上代码没有实测和使用,只是举个例子,以助理解。




欢迎光临 英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流 (http://www.enroobbs.com/) Powered by Discuz! X3.2