科威PLC芯片组开发实例 <5 > 点击:227 | 回复:0



gonKillua

    
  • 精华:5帖
  • 求助:0帖
  • 帖子:77帖 | 128回
  • 年度积分:0
  • 历史总积分:516
  • 注册:2007年8月04日
发表于:2008-08-02 09:32:24
楼主
这一讲里面将会讲解科威PLC芯片组开发用户驱动的具体格式。笔者始终认为,学编程,从看代码开始是捷径!所以,我们在PCLDR.ASM内添加以下一段代码。

$INCLUDE(C8051F040.INC) ; Register definition file. -------------------1
$INCLUDE(easycore.INC) ; easycore 符号定义------------------------2
$INCLUDE(EASYCORE.LIB) ; easycore 子程序---------------------------3
$INCLUDE(user_data.INC) ; 用户程序变量定义------------------------4
;================中断向量重定向地址=======================
ORG 0E000H
ORG 0E003H ;external interrupt0 vecter (INT0)------5
ORG 0E013H ;external interrupt1(INT1)---------------6
ORG 0E033H ;Serial Peripheral Interface(SPI)--------7
ORG 0E03BH ;SMBus interface-------------------------8
ORG 0E043H ;ADC0 Window Comparator;----------9
ORG 0E04BH ;Programmable Counter Array--------10
ORG 0E053H ;Comparator 0---------------------------11
ORG 0E05BH ;Comparator 1---------------------------12
ORG 0E063H ;Comparator 2 --------------------------13
ORG 0E07BH ;ADC0 end of Conversion-------------14
ORG 0E083H ;Timer 4-------------------------------15
ORG 0E08BH ;ADC2 end of Conversion-------------16
ORG 0E093H ;ADC2 Window Comparator-----------17
;===============用户应用程序调用入口====================
ORG 0E0A0H ;用户端口初始化
LJMP INIT_CONFIG ;----------------------- --------------------18
ORG 0E0A3H ;用户上电初始化
LJMP INIT_START ;----------------------- --------------------19
ORG 0E0A6H ;用户设置初始化
LJMP INIT_SET ;----------------------- --------------------20
ORG 0E0A9H ;用户运行初始化
LJMP INIT_RUN ;----------------------- --------------------21
ORG 0E0ACH ;演算周期扫描
LJMP SCAN ;----------------------- --------------------22
ORG 0E0B0H ;指令周期扫描
LJMP STEP ;----------------------- --------------------23
ORG 0E0B3H ;2.5MS周期扫描
LJMP TMS ;----------------------- --------------------24

ORG 0E100H ;----------------------- --------------------25


INIT_CONFIG:
RET

INIT_START:
RET

INIT_SET:
RET

INIT_RUN:
RET

STEP:
RET

TMS:
RET

SCAN:
RET

END ;-------------------------------------------------------------26

然后点击编译,如无意外,KEIL将会编译成功并生成“PLCDR.HEX”文件,该文件可以在项目路径下找到。

至此,你的第一个驱动程序已经编写完成。只不过这是一个简单的驱动程序,简单到什么也没有的驱动程序。嘿嘿,如果把这段HEX代码下到你的PLC内,PLC的IO口可能会乱跳的哦~不过,梯形图的解释倒是独立于驱动之外的,加载了一个什么也没有的驱动,PLC芯片组也是可以正常运行梯形图的。

在下一讲里,笔者将会逐句给你分析以上程序的每一条语句哦~其实从那些简短的注释里,相信不少读者已经看出了些许端倪了。

本帖首发中国工控网科威PLC论坛,转载请声明!



热门招聘
相关主题

官方公众号

智造工程师