注册名:

密码:

个人注册

企业注册

商务申请

商务管理平台

企业管理平台

个人管理平台

我的工控博客

中国工控网www.chinakong.com

首页 | 新闻中心 | 工控论坛 | 经验视点 | 工控商务 | 电气手册 | 工控博客 | 招聘求职 | 网上调查 | 企业中心 | 供求信息 | 资料中心 | 工控书店

所在位置:工控论坛 -- PLC论坛 -- PLC论坛(非专题) -- PLC应用

中国工控网搜索:

 自动化企业招聘

更多..

 登陆:密码:  注册  密码

搜索:

发表人:lyq_4652 发表时间:2008/8/6 9:27:00  

 

 本栏论题: 科威PLC芯片组开发实例(八)  [1511]

    实战攻坚!
   
    上一讲我们了解了EASY-M0806R的IO口分配情况以及各种LED的引脚情况,那么下面我们就要开始一步一步的编写我们的驱动代码了~
   
    首先是INIT_CONFIG用户驱动子程序,该程序里面,要添加的内容在前文中已有说明。那我们该如何配置这些IO口方式呢?
   
    INIT_CONFIG
    首先我们的第一句话便是:
    MOV SFRPAGE,#0FH
    那么SFRPAGE是什么意思呢?呵呵,这就要看你对以前看的F040说明书熟悉程度了,什么?你完全不知道??-_-!那就现翻吧~笔者当年也好不到哪去,嘿嘿。
    从说明书中可得知,这是一个选择SFR页数的功能寄存器,我们要调配IO端口的参数寄存器PnMDOUT,就首先得把SFR页数置为15,这个是F040规划的,就不再剥根问底了。值得提出的是,初学者常犯的一个错误就是在配置功能寄存器的时候,没有及时更改它所属的SFR页数,导致程序运行错误。比如,配置了P0MDOUT功能寄存器,这个时候你是把SFRPAGE置成15了。但是在调配TMR4CN功能寄存器的时候,却忘了把SFRPAGE改为2。这个时候错误便不可避免的出现了。
    其次,我们开始配置上面所涉及到的EASY-M0806R的IO口的配置寄存器了,也许有的朋友会问到了,怎么初始化没有延迟啊,选择系统时钟频率啊,调配交叉开关啊?这些步骤确实是一个操作系统运行初始化所必须要配置的部分,但是在我们的驱动里面就不用重新配置了,因为内核里面已经定义过了一次。当然,也许你做的PLC有特殊的用途需要重新配置这些,那么也可以,不过还是那句话,时刻记住以内核为主,所以在重新配置这些之前你要考虑清楚怎么配置才不会和内核的配置起冲突。
    科威PLC一般来说,输入端口要配置成漏极方式,输入端口要配置成推挽方式,LED也都是推挽方式。当然具体的要视其原理图决定。根据这个原则,我们配置了下面4条语句:
    ORL P0MDOUT,#0F0H ;1
    ORL P1MDOUT,#3FH ;2
    ORL P2MDOUT,#0FFH ;3
    ANL P3MDOUT,#00H ;4
    ORL P4MDOUT,#03H ;5
    也许细心的你会问:为什么都要用ORL和ANL指令而不是用MOV呢?这个就是笔者的习惯了,ORL和ANL指令的好处是只用改变你所需要的位,而其他的可以保持不变,以免引起不必要的错误。
    我们来分析这4句话的含义:
    1. 这句是配置P0端口的输出方式的,由上一讲我们得知,整个驱动用到P0口的有:
    OLED0→P0.4 OLED1→P0.5 OLED2→P0.6 OLED3→P0.7,由于LED需要配置成推挽输出方式,那么我们就将P0MDOUT的高4位都配置成1即可。
    2. 这句是配置P1端口的输出方式的,整个驱动用到P1口的有:
    OUT0→P1.0 OUT1→P1.1 OUT2→P1.2 OUT3→P1.3 OUT4→P1.4 OUT5→P1.5,由于输出端口需要配置成推挽输出方式,那么我们把P1MDOUT的低6位都配置成1即可。
    3. 这句是配置P2端口的输出方式的,整个驱动用到P2口的有:
    ILED0→P2.0 ILED1→P2.1 ILED2→P2.2 ILED3→P2.3 ILED4→P2.4 ILED5→P2.5 ILED6→P2.6 ILED7→P2.7,由于LED需要配置成推挽输出方式,那么我们就将P2MDOUT的所有8位都配置成1即可。
    4. 这句是配置P3端口的输出方式的,整个驱动用到P3口的有:
    I0→P3.7 I1→P3.6 I2→P3.5 I3→P3.4 I4→P3.3 I5→P3.2 I6→P3.1 I7→P3.0,由于输入端口需要配置成漏极输出方式,故我们把整个P3口输出都配置成0。
    5. 这句是配置P4端口的输出方式的,整个驱动用到P4口的有:
    OLED4→P4.1 OLED5→P4.0,同理,我们把P4MDOUT的低2位配置成1。
   
    这样,整个INIT_CONFIG便配置完成了。下一讲笔者将讲述其他用户驱动子程序在EASY-M0806R上的实现。
   
    本帖首发中国工控网科威PLC论坛,转载请声明!
   

以下是关于《科威PLC芯片组开发实例(八)》论题的回复(共1篇)

回复人:cn18show 

 回复时间:2009/9/24 12:25:00

支持(275) | 反对(266)

 

    送祝福,砸金蛋!易展五周年庆,50万回馈新老客户。填问卷,砸金蛋!赢取3000元!易展五周年庆典期间,50万感恩回馈。详情:http://www.18show.cn/5/?m=189

如果要回复本栏论题,请首先中国工控网www.chinakong.com

·如果你已经是中国工控网www.chinakong.com成员,请直接登录。

·如果你还不是中国工控网www.chinakong.com成员,请首先注册,注册为免费!

注册名:

密  码:

           注册中国工控网www.chinakong.com
           忘记密码

关闭该窗口

关于我们     免责声明     服务项目     广告联系     友情链接     联系方式     意见反馈     设为首页     加入收藏

 ©2023-2025 中国工控网(www.chinakong.com) 版权所有 豫ICP备17046657号

管理员信箱:chinakong98@163.com  服务热线:13525974529

洛阳博德工控自动化技术有限公司

中国    洛阳