您现在所在的是:

单片机论坛

回帖:0个,阅读:826 [上一页] [1] [下一页]
2222
kwplc
文章数:61
年度积分:50
历史总积分:2222
注册时间:2005/2/18
发站内信
发表于:2008/8/2 9:39:00
#0楼
这一讲里面将会讲解科威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论坛,转载请声明!

诚实守信,携手奋进。

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

31.2002