登录
|
注册会员
开启辅助访问
设为首页
收藏本站
扫一扫关注官方微信
论坛
BBS
M币充值
M currency prepaid phone
M币获取
附件中心
搜索
search
全新论坛MCU智学网上线,欢迎访问新论坛!稀缺资源、技术干货、参考设计、原厂资料尽在MCU智学网
MCU资讯论坛
»
论坛
›
单片机论坛
›
51单片机论坛
›
科威PLC芯片组开发实例(四)
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版
科威PLC芯片组开发实例(四)
[复制链接]
1487
0
ad***
管理员
发表于 2012-9-3 02:26:59
|
查看全部
|
阅读模式
本文包含原理图、PCB、源代码、封装库、中英文PDF等资源
您需要
登录
才可以下载或查看,没有帐号?
注册会员
x
到底我该怎么编写一个用户驱动呢?
上一讲我们配置了用户驱动在KEIL3中的工程环境,下面我们来谈谈PLCDR项目在KEIL中应该设置哪些参数。
首先,你得找到一个名为“Options For Target”的图标,就是那个“LAOD”图标旁边那个象个魔法棒的图案,点击弹出“Options For Target Target1”对话框。当然你也可以选择菜单的Project→Options For Target Target1来把此对话框调出。
找到OutPut选项,勾上下面的“Create HEX File ”的单选框,前面我们曾经说过,驱动加载到科威PLC芯片组中是要以HEX形式的文件通过DOWNHEX软件下载来实现的。所以得让KEIL给你生成一个HEX才行。
然后找到A51选项,将“Define 8051 SFR Names”前面的勾去掉。如果启用这个功能,KEIL就会在编译你的项目的时候,自动调用51默认的寄存器定义,那么就会和前面我们所提到的c8051F040.inc这个头文件所定义的寄存器相冲突。结果会在你编译项目的过程中,会出现一大堆的“redefined”错误。
除此之外,都默认就好,点击确认完成参数配置。
接下来,将你找到的c8051F040.inc,easycore.inc以及easycore.lib这3个文件都复制到D:\PLC_DRIVE路径下,并在此路径下新建一个“USER_DATA.inc”的文件。
下面我们说说,这几个文件的含义:
1. c8051F040.inc,这个笔者前面讲过,不再重复;
2. easycore.inc,你可以打开它来看看,会发现这里面定义了用户所可以用到的寄存器组还有相关的变量地址。F040中共定义了4个R0~R7寄存器组,用户只能使用0区,其他的对不起,内核(我们习惯把芯片组内的实时操作系统称之为内核,很形象,不是吗?)都给占用了~然后是BRAM_USER,这个是用户可用的位变量寻址,采用的是直接位寻址方式,一共可以定义32个位,也就是4个字节。少了点,可是没办法,内核占了大头…DRAM_USER,这个是用户可用的字节变量寻址,采用的是直接寻址方式,可以定义16个,还是少了点,但是还是没办法…-_-!最后是XRAM_USER,这个用户能用的倒是多啊,有几千个,但是可惜的是它是间接字节寻址。系统读取这个区域的数据,那效率是刷刷往下降啊!但是还是得用,要不然变量不够啊,呵呵。F040要是直接寻址的存储空间再大些就好了,可是这是笔者的一相情愿,残念……最后面就是有关梯形图的变量地址空间了,你可以看到D,M,S等梯形图内所用的这些寄存器在内核里面所占的地址。中间的那一块暂时跳过不讲,以后找机会给大家说明,不过可能有的读者已经了解那些定义大概是什么意思了,不管了解不了解,让我们继续GO ON!
3. easycore.lib,这个库直接从KEIL里面是看不了的,你想要看它,就从记事本里面看吧。里面是为了方便用户所定义的一些系统函数,比如双字节乘除,浮点数运算等等,如果你要调用这些函数,注意出口入口要设置对哦。
4. USER_DATA.inc,这个文件暂时是空白的,留给你自己发挥创造的,你可以在里面定义自己的位变量啦,字节变量啦,还有变量重定义等。比如你在里面写一句“MODE_DATA EQU DRAM_USER ;模式选择”,意思就是你将直接字节寻址的第一个单元赋予了MODE_ONOFF这个名字,那么你在驱动中就可以直接调用MODE_DATA这个变量啦。
后面那个分号以及分号以后的文字,是这条语句的注释。在KEIL给51汇编加注释有2中方法,一个是“;”,相当于C里面的“//”,另外一个和C相同,是“/* */”。
下一讲,笔者将讲述科威PLC芯片组开发用户驱动的具体格式。
本帖首发中国工控网科威PLC
论坛
,转载请声明!
工程
,
用户
相关帖子
科动工业以太网在现代电力产业的解决方案
研祥EIP在大型搅拌站自动配料中的解决方案
桐庐丝绸染整总厂水泵节能改造方案
节能技术在采暖系统中的应用
FANUCCNC系统与机床的连接与调整
DVR高性价比解决方案
PLC与变频器控制的自动恒压供水系统
MCGS双机备份实现方案2
MCGS双机备份实现方案1
4412嵌入式开发平台Android系统开发环境搭建以及编译
举报
回复
返回列表
*
滑块验证:
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册会员
本版积分规则
发表回复
回帖后跳转到最后一页
回复
转播
评分
分享
打开支付宝扫一扫,最高立得1212元红包
搜索
本版
帖子
用户
热搜:
传感器
51串口程序
电子管放大器
夾式電表
夾式電流
Mentor论坛
打印机
版块推荐
百宝箱
My 布拉格
无边框Z9
Z9Max
Z9mini
nubia动态
问题 & 建议
资源分享
爱拍
同城会
牛仔生活
查看论坛所有版块>>
每日签到
论坛任务
摄影技巧
跳蚤市场
互助问答
论坛导读
申请内测
红包中心
每日摇一摇
活动中心
网站地图
官方旗舰店
图文热点
抗干扰LED数码管显示屏驱动芯片/3线串行接
VK1Q68D是一种带键盘扫描接口的数码管或点阵LED驱动控制专用芯片。内部集成有3线
抗干扰能力强/点阵数显LED屏驱动/数码管驱
VK1S68C是一种带键盘扫描接口的数码管或点阵LED驱动控制专用芯片,内部集成有3 线串
可支持14×4的点阵LED显示面板数码管LED驱
VK1624是一种数码管或点阵LED驱动控制专用芯片,内部集成有3线串行接口、数据锁 存
数显驱动器原厂-数显LED显示驱动芯片VK1620
VK1620B是一种数码管或点阵LED驱动控制专用芯片,内部集成有3线串行接口、 数据锁
抗干扰数显驱动数码管LED驱动芯片VK1618 SO
产品品牌:永嘉微电/VINKA 产品型号:VK1618 封装形式:SOP18/DIP18 概述 VK161
更多
精华推荐
抗干扰LED数码管显示屏驱动芯片/3线串行接
抗干扰能力强/点阵数显LED屏驱动/数码管驱
可支持14×4的点阵LED显示面板数码管LED驱
数显驱动器原厂-数显LED显示驱动芯片VK1620
抗干扰数显驱动数码管LED驱动芯片VK1618 SO
VK1616 SOP16/DIP16点阵LED数显驱动芯片/数
点阵数显驱动芯片/LED数码管显示屏驱动VK16
数显驱动电路LED显示驱动芯片VK1650 SOP16/
更多
社区学堂
抗干扰LED数码管显示屏驱动芯片/3线串
抗干扰能力强/点阵数显LED屏驱动/数码
抗干扰LED数码管显示屏驱动芯片/3线串行接
VK1Q68D是一种带键盘扫描接口的数码管或点阵LED驱动控制专用芯片。内部集成有3线
抗干扰能力强/点阵数显LED屏驱动/数码管驱
VK1S68C是一种带键盘扫描接口的数码管或点阵LED驱动控制专用芯片,内部集成有3 线串
可支持14×4的点阵LED显示面板数码管LED驱
VK1624是一种数码管或点阵LED驱动控制专用芯片,内部集成有3线串行接口、数据锁 存
更多
客服中心
QQ:187196467
服务时间:周一至周日 8:30-20:30
在线客服
客服微博
产品咨询
售后中心
关注我们
关于我们
关于我们
友情链接
联系我们
帮助中心
网友中心
购买须知
支付方式
服务支持
资源下载
售后服务
定制流程
关注我们
官方微博
官方空间
官方微信
QQ:187196467
周一到周日 8:30-22:00 (全年无休)
7 x 24小时在线客服
手机版
Powered by
MCUZX!
X3.4 © 2008-2015
MCU资讯论坛
版权所有
京ICP备18035221号-2
客服QQ: 187196467
技术支持:
MCU资讯论坛
|
网站地图
快速回复
返回顶部
返回列表