用IO检测方式判断交流220V与110V(松瀚汇编程序)

;-----------------------代码------------------------------------------

;---220V/110V检测--------------------
V_CH220NUM EQU 10 ;检测上半波的个数
;150V-0 180V-80  220V-120
V_220VNUM EQU 60 ;电压信号为高的总个数

//***************************************
// 函数名称: DLY500US
// 函数功能: 16MRC 下耗时500US
//***************************************
DLY500US:
 MOV A,#250
 MOV I,A
L_DLY500US:
 NOP
 NOP
 NOP
 NOP
 DECMS I
 JMP L_DLY500US
 RET
//***************************************
// 函数名称: CHECKAC220V
// 函数功能: 检测输出电压为110V 或 220V
//***************************************
CHECKAC220V:
/*
 // 测试用
 CALL DLY500US
 MOV A, #0X04
 XOR P2, A
 JMP CHECKAC220V
*/
;------------检测前延时 等待电压稳定-------------------
 MOV A, #200 ;1ms*200=200ms
 MOV X0, A
L_PWLDY:
 CALL DLY500US ;1ms
 CALL DLY500US
 MOV A, #0X5A
 B0MOV WDTR, A
 DECMS X0
 JMP L_PWLDY
;-------------------------------------------------------

 MOV A, #V_CH220NUM ;检测上半波的个数
 MOV X0, A
 CLR X1
L_CHACVOG:
 B0BTS1 P_ZERO
 JMP L_CHACVOG
 JMP $+1
 JMP $+1
 JMP $+1
 B0BTS1 P_ZERO
 JMP L_CHACVOG
 JMP $+1
 JMP $+1
 JMP $+1
 MOV A, #0X5A
 B0MOV WDTR, A
L_CHACVOG2:
 B0BTS0 P_ACV
 INCMS X1
 NOP
 CALL DLY500US

 B0BTS0 P_ZERO
 JMP L_CHACVOG2
 JMP $+1
 JMP $+1
 B0BTS0 P_ZERO
 JMP L_CHACVOG2
 ;上半波结束
 DECMS X0
 JMP L_CHACVOG
 MOV A, X1
 SUB A, #V_220VNUM
 BSET F_220V
 B0BTS1 FC
 BCLR F_220V
 RET

用IO检测方式判断交流220V与110V(松瀚汇编程序),布布扣,bubuko.com

时间: 2024-09-29 12:29:41

用IO检测方式判断交流220V与110V(松瀚汇编程序)的相关文章

浅谈webshell检测方式

一  什么是webshell "web"的含义是显然需要服务器开放web服务,"shell"的含义是取得对服务器某种程度上操作权限.webshell常常被称为匿名用户(入侵者)通过网站端口对网站服务器的某种程度上操作的权限.简单理解:webshell就是一个web的页面,但是它的功能非常强大可以获得一些管理员不希望你获得的权限,比如执行系统命令.删除web页面.修改主页等.webshell中由于需要完成一些特殊的功能就不可避免的用到一些特殊的函数,我们也就可以对着特

JavaScript中四种不同的属性检测方式比较

JavaScript中四种不同的属性检测方式比较 1. 用in方法 var o = {x:1}; "x" in o; //true "y" in o; //false "toString" in o; //true,继承属性可以被检测到 "toString" in Object.prototype; //true,不可枚举的属性可以被检测到 2. hasOwnProperty()方法 var o = {x:1}; o.hasO

用IO的方式生成dbf

最近在生成一个dbf文件,是dbase III格式,用olddb和odbc以ado.net的思维解决通过不了,所以就转成用IO的方式处理,在negut中找到一个dotnetdbf的三方类库,用了还不错,见图如下: 但在写数据(DBFWriter的AppRecord时)时发现一个bug,所有汉字,写进去都是一半,看来在写数据时作者用的是 字符串.Length来获取长度的,于是就把所有的汉字内容加空格长度,来保证切取正确,但问题来了,增加后的长度有可能超过定义字段的长度,所以过个方法不靠谱,于是到g

利用循环遍历的方式判断某个对象是否属于这个数组

<!doctype html><html > <head> <title>利用循环遍历的方式判断某个对象是否属于这个数组</title> <meta charset="UTF-8"> </head> <body> <!-- 利用循环遍历的方式判断某个对象是否属于这个数组; 不属于这个数组时,把这个对象填充到数组里面去: --> </body></html>

用普通io检测水箱是否有水电路

最近接触一个新项目,是关于检测水箱是否有水的,挺不错,在此与各位一起分享下. 主要操作是:输入1KHZ的方波型号,在P43检测翻转即可.有翻转信号即为有水,否则视为无水. 用普通io检测水箱是否有水电路,布布扣,bubuko.com

什么才是正确的javascript数组检测方式

前面的话 对于确定某个对象是不是数组,一直是数组的一个经典问题.本文专门将该问题择出来,介绍什么才是正确的javascript数组检测方式 typeof 首先,使用最常用的类型检测工具--typeof运算符 var arr = [1,2,3]; console.log(typeof arr);//'object' 前面已经介绍过,数组的本质是一种特殊的对象,所以返回'object'.typeof运算符只能用来区分原始类型和对象类型,对于更具体的对象类型是无法鉴别出来的 instanceof 这时

JavaScript方式判断是否为移动端浏览器

<script type="text/javascript">              if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini|Opera Mobi|Windows CE|Symbian|Windows Phone|POLARIS|lgtelecom|nokia|SonyEricsson|LG|SAMSUNG|Samsung/i                      .tes

两种方式判断移动运营商

2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 /**  * @author Stay  *      判断移动运营商  */ public class NetworkOperater extends Activity {     private static fina

java采用3种方式判断用户输入的字符串是否为回文

一.描述 回文的定义:"回文数" 就是正读倒读都一样的整数.如奇数个数字:98789, 这个数字正读是98789,倒读也是98789:偶数个数字3223也是回文数. 我们今天将回文数扩展为字母和数字组合回文,如adgu6776ugda也是回文,我们采用三种方式判断这种类型的字符串是否为回文: 1.调用StringBuffer类对象的reverse()方法,将字符串翻转后与之前的字符串比较,如果相等则为回文,反之亦然: 2.采用low和high两个变量分别对应字符串对称位置的index,