X

搜索

发布需求


项目信息

基于STC12C5A单片机的输入输出控制板软件

  

预算:¥3000.00

竞标中剩余0天

累计成交3
项目成交次数越多说明
雇主的项目越真实可靠
  • 竞标

  • ---------------
  • 选中

  • ---------------
  • 托管

  • ---------------
  • 完成

项目需求描述

项目任务是在一块由STC12C5A控制的,带有12个继电器输出和18个输入的控制板上, 开发:

  1. 通过485通信的协议控制继电器吸合和断开的软件(需求和协议已规划和整理好)

  2. 通过485通信的协议可以修改12个继电器输出和18个输入的对应关系,例如1对1或者1对1、2、18,2对2、17,这样原本按1对应1输出可以修改为1、2、18输出


具体需求稍后上传

开发目标

在发包方提供的基于STC12C5A16S2的继电器板上开发软件

发包方提供材料清单

STC12C5A16S2单片机资料

继电器板

继电器板的原理图

大致功能要求

1. 通过485接口发送私有协议可以读取输入(开关量和触点输入)和输出(继电器)的状态.

2. 输入支持开关量和触点输入

3. 有输入时可以根据对应关系在输出端输出

4. 通过485接口发送私有协议可以更改输入对应输出的对应关系

5. 要求全面引入STC的加密功能, 使烧入的程序不能被破解

6. 发包方可以发布某一个或一串STC ID适用的烧入目标程序或包含目标程序的EXE发布给客户使用而不被破解. 而且这个可以让发包方选择这个EXE是否可以仅在首次运行的这一台PC上运行还是可以在任意多台PC机上运行.

实现方式

    通过一张链表来实现, 这张表是一张二维表, 最上面横向是输入序列,最左边纵向是输出序列, 准备通过它们的对应关系来控制输入和输出的对应.

所有的输入和输出状态,以及端口的配置数据全部存在这张表中.

输入和输出的对应关系需要条件和参数传递,应此通过这个表的IF(条件)Select(参数)链接到另2个表中

表的具体内容请看目录下文件:链表.xlsx”

程序的模块组成

计划将该程序分为:

1. 输入输出状态读取和控制模块

这个模块负责处理通过485接口发送和接收的输入输出状态读取和控制相关的协议,以及根据协议读取输入和输出状态控制输出的功能.

2. 输入检测模块

这个模块负责处理输入, 它根据一个可以调整检测周期的协议修改后的周期参数,来周期性的检测输入

具体实现:

1.定义一个InterfaceCheckTime变量,用于提供输入处理模块用于检测外部接口的循环周期,InterfaceCheckTime变量的值来源于表的2JKLM

2.为每一个输入定义二个变量,一个叫InxN一个叫InxP,其中X是输入号,InxN用于存储输入的当前值,InxP用于存储输入之前一个监测周期监测的值,InxNInxP的初始值来源于表的4JKLM,表的初始值始终为00,程序运行中InxNInxP变量的值存在RAM中断电丢失,而不是和表一样放在EPROM.

3.为每一个输入定义一个变量:InxED,它只有两个值0/1表示打开和关闭,其中X是输入号。

DEL

6.为每一个输入设置一个变量:InXsc,它只有两个值0/1表示开关量输入和触点输入,其中X是输入号。

7.为每一个输入设置一个变量:InXs,它只有两个值0/1表示开关量输入是低电平触发还是高电平触发。

8.为每一个输入设置一个变量:InXc,它只有两个值0/1表示触点输入是前沿触发还是后沿触发。

DEL

程序流程:

1.InputCheckTime变量定义的定时器到时了吗?到了开始读端口高低电平0/1,同时将InputCheckTime重置为2JKLM的值开始递减;没到时不执行继续跳到外部让其他程序执行.

2.进入读取18个输入端口的循环,首先看这个端口的InxED值是否为1(x是端口号),1说明端口打开,那么就将该端口InXn的值赋予InXp,将这个周期读取的输入寄存器数据赋予InXn,InxED值是否为0(x是端口号)的说明端口关闭了,不用读取它的值

3.直到把全部18个输入端口的值读取完毕跳出循环

3. 输入确认和对应输出执行模块

这个模块根据输入检测模块提供的数据判断是否有输入, 再根据输入的条件判断是否满足, 然后执行select选择的输出,并根据参数执行相应的延迟和延迟关闭.

具体实现:

1.设置一个循环来处理所有18个输入的处理

2.检查每个输入的InxNInxP是否不同,不同说明于之前的状态不同意味着该输入端口有输入

3.然后读取InxST的值,看接口是被定义为开关还是触点输入类型

4.如果是开关量的,取出InxN的值,看它是1=高电频还是0=低电频,如果是1就执行J这一列的操作,如果是0就执行K这一列的操作

5.操作步骤:1.首先读取IF里的条件要求,看看是否满足条件(IF条件的处理方式请看IF表单),如果不满足就不执行,如果满足执行表格中对应的左边的输出项目,并携带Select参数执行,执行前判断相应行的IF条件是否满足.

4. 链表

见目录

5. 链表配置协议

再议

查看全部 请登录
服务商投标记录
  • L****n

    VIP

    承接项目数:0个

    好评率:0%

    投标时间:2016-07-14

  • x****3

    VIP

    承接项目数:0个

    好评率:0%

    投标时间:2016-07-13

  • d****3

    VIP

    承接项目数:0个

    好评率:0%

    投标时间:2016-07-13

  • B****技

    VIP

    承接项目数:0个

    好评率:0%

    投标时间:2016-07-13

  • d****y

    VIP

    承接项目数:0个

    好评率:0%

    投标时间:2016-07-13

  • l****7

    VIP

    承接项目数:0个

    好评率:0%

    投标时间:2016-07-12

  • z****m

    VIP

    承接项目数:0个

    好评率:0%

    投标时间:2016-07-12

  • 我****单

    VIP

    承接项目数:0个

    好评率:0%

    投标时间:2016-07-11

  • 1****m

    VIP

    承接项目数:0个

    好评率:0%

    投标时间:2016-07-11

  • 时****子

    VIP

    承接项目数:0个

    好评率:0%

    投标时间:2016-07-11

  • j****1

    VIP

    承接项目数:0个

    好评率:0%

    投标时间:2016-07-11

  • b****g

    VIP

    承接项目数:0个

    好评率:0%

    投标时间:2016-07-11

  • z****u

    VIP

    承接项目数:11个

    好评率:0%

    投标时间:2016-07-11

  • 游****文

    VIP

    承接项目数:0个

    好评率:0%

    投标时间:2016-07-11

  • 1****5

    VIP

    承接项目数:1个

    好评率:0%

    投标时间:2016-07-11

  • y****g

    VIP

    承接项目数:0个

    好评率:0%

    投标时间:2016-07-10

  • 1****7

    VIP

    承接项目数:0个

    好评率:0%

    投标时间:2016-07-10

  • 黄****坡

    VIP

    承接项目数:0个

    好评率:0%

    投标时间:2016-07-10

  • w****3

    VIP

    承接项目数:0个

    好评率:0%

    投标时间:2016-07-10

  • l****6

    VIP

    承接项目数:4个

    好评率:0%

    投标时间:2016-07-10

  • l****n

    VIP

    承接项目数:1个

    好评率:0%

    投标时间:2016-07-10

  • z****2

    VIP

    承接项目数:0个

    好评率:0%

    投标时间:2016-07-09

  • s****k

    VIP

    承接项目数:6个

    好评率:0%

    投标时间:2016-07-09

  • 我****轻

    VIP

    承接项目数:0个

    好评率:0%

    投标时间:2016-07-09

相关服务商
相关任务

工业电子

已完成

自动吸引器

广东 广州
发布时间:2018-01-18
结束时间:2018-02-17

项目预算:¥3,000.00
竞标数:5人

查看详情


围观人数:1843

工业电子

已完成

im.x6 平台串口开发

上海 上海
发布时间:2018-05-18
结束时间:2018-05-25

项目预算:¥5,000.00
竞标数:0人

查看详情


围观人数:840

雇主信息

投标后查看联系方式
查看雇主详情

客服热线:400-085-2125

联系
客服