单键实现单片机开关机

1,控制流程,按下按键,Q1导通.单片机通电复位,进入工作.

2,检测 K-IN 是否低电平,否 不处理.是 单片机输出 K-OUT 为高电平,Q2导通,相当于按键长按.LED指示灯亮.

3,放开按键,K-IN 经过上拉电阻,为高电平.单片机可以正常工作.

4,在工作期间,按键按下,K-IN 为低电平,单片机检测到长按1秒,K-OUT 输出低电平,Q2截止.LED指示灯熄灭.放开按键,Q1截止,单片机断电.

5,通过软件处理,可以实现短按开机,长按关机.

单片机用PIC16F84A,通过简单的程序演示,证实此电路的可行性。

源程序:

LIST P=16F84A

#include&ltp16f84A.inc&gt

;PORTB,0=K_IN

;PORTB,1=K_OUT

;PORTB,2=LED

ORG 000H

;...........................

............................

RESET

BSF STATUS,5; //初始化程序

MOVLW 00H ; //定义脚位

MOVWF TRISA ;

MOVLW 01H ;

MOVWF TRISB ;

BCF STATUS,5 ; //初始化程序

MOVLW OFFH ; //定义脚位

MOVWF PORTA ;

MOVLW O1H ;

MOVWF PORTB ;

MOVLW 18H ; //分配比值

OPTION

;......................................

;......................................

LOOP

CLRWDT ; //短按开机

BTFSC PORTB,0 ; //按键检测

GOTO LOOP ;

CALL DELAY ; //防误处理

BTFSC PORTB,0 ;

GOTO LOOP ;

BSF PORTB,1 ; //正常开机

BSF PORTB,2 ; //LED ON

CALL DELAY

BTFSS PORTB,0 ; //按键长按

GOTO $-2 ; //原地打转

;......................................

;......................................

LOOS

CLRWDT ; //长按关机

MOVLW 64H ;

MOVWF 22H ;

BTFSC PORTB,0 ;

GOTO LOOS ;

CALL DELAY ;

BTFSC PORTB,0 ; //等待长按

GOTO LOOS ;

DECFSZ 22H,1 ;

GOTO $-4 ;

BCF PORTB,2 ; //LED OFF

;....................................

;....................................

LOOD

CALL DELAY ;

BTFSS BORTB,0 ; //等待放开

GOTO $-2 ;

MOVLW 01H ; //关机退出

MOVWF PO

应广单片机长按开关机_单键实现单片机开关机相关推荐

  1. 物联网空开价格_智慧物联网远程空开断路器

    智慧物联网远程空开断路器基本介绍 一.曼顿智慧物联网空开是全****台智慧物联网空开,是硬件与软件的**组合.曼顿产品用在电路中可以全数据(电流,温度,电压,功率,电量)实时监控,全故障(打火,漏电, ...

  2. 单片机搭建环境烧录方法_万物互联-stm32单片机简介、烧录、编程及其项目环境搭建...

    万物互联-stm32单片机简介.烧录.编程 前言:stm32单片机这里给出简单介绍,给不了解的朋友普及下硬件端的基本知识,叙述的较为简单,想深入研究的朋友可以去一些官方网站.论坛.博客汲取知识.最下端 ...

  3. c51单片机矩阵键盘1602计算器_【Proteus】单片机配合矩阵键盘LCD1602制作简易计算器...

    前言 想出一个关于Protues仿真的系列,回想起在大学时做课程设计,大多数是用这个来做,这个系列就围绕一些常用的外设或者说课程设计题目来进行对以前知识的回顾,温故而知新,同时也希望能对新手读者的学习 ...

  4. python 开运算_形态学去噪python(开运算,闭运算)

    形态学梯度调用 import cv2 import numpy as np # 读图 # img = cv2.imread('./output2/2.jpg', 0) # # 设置核 # kernel ...

  5. 电脑微信多开方法_微信电脑端多开方法

    白菜哥每天都能收到很多网友留言其中比较多的是微信怎么多开今天白菜哥就给大家展示一下手机版白菜哥没有很好的方法,现在很多安卓手机都支持应用双开,所以直接用双开就好,苹果手机的话不建议使用多开软件,会出现 ...

  6. 我的世界拿java开服务器_我的世界如何开服务器

    展开全部 我来教你 你首先来要下载一个服自务器2113 之后5261打开 之后 之后打开 你就开好一个4102服务器了1653 如果你不能下载,那也可以手动开服. 方法: 新建一个记事本文件,在里面输 ...

  7. 51单片机50个实例代码_常用的51单片机代码

    51单片机实验板原理图 1.流水灯实验 #include void delay(unsigned int Cnt){unsigned int t;while(Cnt--){t = 120;while( ...

  8. 51单片机怎么显示当前时间_(进阶篇)51单片机之按键控制蜂鸣器、数码管、按键值移位显示...

    一.实操演示- 按键控制蜂鸣器 1.图文详细 独立按键硬件电路 蜂鸣器硬件电路 2.连接方式: J20的第3号引脚连接到J7引脚,即P15连接J7. J29的第7.8号引脚连接到JP1的第1.2号引脚 ...

  9. 笔记本电脑如何强制关机_笔记本按电源按钮不能关机只是关闭屏幕的解决办法...

    笔记本电脑按电源按钮后,无法关机是怎么回事?近日有用户笔记本死机了,但是按下电源按钮却不能关机,只是关闭屏幕而已,该如何解决呢?下面就给大家介绍笔记本电脑按电源按钮后无法关机的解决办法. 解决办法: ...

  10. stm32单片机实现多个闹钟_基于STM32F103系列单片机的11个定时器解析

    STM32F103系列的单片机一共有11个定时器,其中: 2个高级定时器 4个普通定时器 2个基本定时器 2个看门狗定时器 1个系统嘀嗒定时器 除去看门狗定时器和系统滴答定时器的八个定时器列表; 8个 ...

最新文章

  1. 浅谈 PHP 神盾的解密过程
  2. 7-5 顺序存储的二叉树的最近的公共祖先问题(25 分)
  3. IDEA代码生成插件CodeMaker
  4. moldflow2016安装教程
  5. Asp.net(asp,jsp)+JavaScript动态实现添加数据行
  6. 程序员过关斩将--真的可以用版本号的方式来保证MQ消费消息的幂等性?
  7. linux 如何赋值目录,Linux文件系统之目录的建立
  8. ASP.NET 4.0尚未在Web服务器上注册。您需要手动将Web服务器配置为使用ASP.NET,这样您的网站才能正确运行。...
  9. c语言人事管理系统,c语言人事管理系统
  10. 四轴锁付程序,三菱FX5U发脉冲控制主轴,与好伙伴伺服电批进行MODBUS485通讯
  11. Git 如何撤回某一次提交
  12. 于的繁体字有几种写法_“人”字繁体字有几种写法?
  13. 亚马逊资源名称 (ARN) 和 AWS 服务命名空间
  14. 安防摄像头RTSP/Onvif协议网页无插件直播视频流媒体服务器EasyNVR之按需直播如何有效利用最大上行带宽
  15. iOS 打开AppStore指定app下载页
  16. Oracle创建同义词及赋权
  17. Arcpy批量导出shp文件属性表——使用arcpy.da.SearchCursor函数
  18. ModuleNotFoundError:No module named ‘googlemaps‘
  19. 「Java」- 八大排序
  20. 【Android 插件化】VirtualApp 编译运行 ( VirtualApp 简介 | 配置 VirtualApp 编译环境 | 编译运行 VirtualApp 官方示例 )

热门文章

  1. Spring Cloud 与 Dubbo 功能对比
  2. javascript回调函数详解
  3. 柱、锥、台、球的体积公式推导(不用积分)
  4. [ZT]新点子,就在空气中飘荡着...
  5. 贴片晶振的焊接方法和注意事项
  6. big类型和double类型
  7. EIQ分析法_配送中心
  8. Activiti6在Springboot下的使用 6 并行网关的处理
  9. linux 进程 线程 优先级,Linux编程-线程优先级的设定
  10. textbox提示文字属性_《我来自江湖》MUD类武侠题材多样性玩法的单机文字游戏...