找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3588|回复: 12
收起左侧

请教一个非常简单的起保停电路

[复制链接]
ID:113626 发表于 2020-3-3 09:56 | 显示全部楼层 |阅读模式
初学单片机想写一个起保停电路,开始觉得很简单(因为以前写过PLC的),后来自己写了发现单片机的扫描和PLC的不一样不能像PLC的去写,就是我写了一个按键去置位一个位M0,while(M0)然后像让下面的程序在这个WHILE里面一直循环,,然后我在用另一个按键去复位M0就可以这样,但是现实中单片机去了执行WHILE里面的程序就不会跳出来执行扫描我另外一个按键了,,所以停不了这样
回复

使用道具 举报

ID:679425 发表于 2020-3-3 13:59 | 显示全部楼层
下面的程序????没有程序啊,你仔细看看中断位置。设置合理不,我也不会
回复

使用道具 举报

ID:113626 发表于 2020-3-3 16:37 | 显示全部楼层
haierzaifei11 发表于 2020-3-3 13:59
下面的程序????没有程序啊,你仔细看看中断位置。设置合理不,我也不会

有啊,里面还有几个根据输入再去相应输出的程序,中断我也想过,,但是如果需要多个起保停的话,很明显中断是不行的
回复

使用道具 举报

ID:282850 发表于 2020-3-3 17:31 | 显示全部楼层
好象是程序思路问题,这样行不:
while(1)
{
   监测key0;  M0=1;
    while(M0)
    {
       处理key0;
     监测key1;  M0=0;
         while(M1)
               {  
                 处理key1;
           }

   }
回复

使用道具 举报

ID:407089 发表于 2020-3-3 18:28 | 显示全部楼层
你如果把while(M0)和按键判断程序都放在主循环while(1)里,当用按键设置M0为1后,程序会永远卡在while(M0)那,不会再响应其它代码了。可以考虑把按键判断放在中断里面试试,或者在while(M0)里加入判断使其能退出。
回复

使用道具 举报

ID:97813 发表于 2020-3-3 19:41 | 显示全部楼层
单片机好多人被挡住被难住的入门条件就是这类的。
回复

使用道具 举报

ID:97813 发表于 2020-3-3 19:49 | 显示全部楼层
这个问题难住了好多刚入门的!
你要反逻辑去写;就是IF判断停止按钮是不是被按下,按下就复位M0。
没有按下再判断停止按钮没有按下与启动按钮被按下置位M0.
回复

使用道具 举报

ID:113626 发表于 2020-3-4 08:03 | 显示全部楼层
f556 发表于 2020-3-3 17:31
好象是程序思路问题,这样行不:
while(1)
{

检测哪里是IF语句吗,
回复

使用道具 举报

ID:113626 发表于 2020-3-4 08:04 | 显示全部楼层
brew9 发表于 2020-3-3 18:28
你如果把while(M0)和按键判断程序都放在主循环while(1)里,当用按键设置M0为1后,程序会永远卡在while(M0) ...

中断不行,如果需要多个这样的程序就不太现实了
回复

使用道具 举报

ID:113626 发表于 2020-3-4 08:05 | 显示全部楼层
sunxxxx3321 发表于 2020-3-3 19:49
这个问题难住了好多刚入门的!
你要反逻辑去写;就是IF判断停止按钮是不是被按下,按下就复位M0。
没有按 ...

我就是新手
回复

使用道具 举报

ID:282850 发表于 2020-3-4 10:48 | 显示全部楼层
孤独行者 发表于 2020-3-4 08:03
检测哪里是IF语句吗,

是的,除了if判断,可能还要消抖,我主要想说明的逻辑思路
回复

使用道具 举报

ID:314246 发表于 2020-3-4 11:31 | 显示全部楼层
不懂你的具体需求,起保停就两个按键,一个开按钮和一个关按钮,一个输出端口,
回复

使用道具 举报

ID:97813 发表于 2020-3-7 09:23 | 显示全部楼层
while(1)
{   
};这个语句再程序里面最好只在主程序里用一次,做大循化用。一般你写程序是要一遍一遍的执行的。这条就是让你开启程序一直循环,不然程序一遍就停了。就是像PLC里面程序是从上到下一边一边连续不停的扫描,却没有让你写这条程序段。是因为PLC已经默认写好这条了。一般你要用到的多次循环或实时(就是你要一直判断的条件)就要放到这里。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表