当前位置:首页 > 基于单片机的IC卡智能水表控制系统设计附程序+图
V_MONI OPEN D W IN T_F F KEY EQU P3.2 EQU P3.3 EQU P3.4 EQU P3.5 EQU P3.7 ;电池电压检测线。=1,说明电池电压正常,否 ;则说明过低 ;按钮按下,调用显示 ;0.1m3脉冲输入线(负跳变有效) ;4钟方式进入中断的检测线(低电平有效) ;作为防拆表输入线 ;******************************************************************** ;片内标志字节定义如下
;******************************************************************** F VL F OPEN C LOW EQU 31H EQU 32H EQU 33H ;电池电压过低标志位。=1,说明过低 ;阀门已开否标志。=1,说明阀已开 ;剩余水量过低标志位。=1,说明过低要报警,且 ;先关阀10秒后开阀 C NUL C_GAI EQU 34H EQU 35H ;已无剩水标志位。=1,说明已无剩水 ;拆卸标志 ;******************************************************************** ;片内文件寄存器定义
;******************************************************************** WQT H WQT M WQT L C DE1 EQU 36H EQU 37H EQU 38H EQU 39H ;总用水量存储单元,此为高字节 ;总用水量存储单元,此为中字节 ;总用水量存储单元,此为低字节 ;暂存片外EEPROM中用户信息,用户码3字节, ;此为高字节 C DE2 C DE3 C RD IC DE1 EQU 3AH EQU 3BH EQU 3CH EQU 3DH ;用户码3字节,此为中字节 ;用户码3字节,此为低字节 ;读卡条件 ;暂存IC中用户信息,用户码3字节,此为高字 ;节
IC DE2 IC DE3 IC RD W HI W LOW B HI B LOW M N EQU 3EH EQU 3FH EQU 40H EQU 41H EQU 42H EQU 43H EQU 44H EQU 45H EQU 46H ;用户码3字节,此为中字节 ;用户码3字节,此为低字节 ;读卡条件 ;剩余水量存储单元,此为高字节 ;剩余水量存储单元,此为低字节 ;本次暂存购买水量存储单元,此为高字节 ;本次暂存购买水量存储单元,此为低字节 ;测得脉冲数存储单元 ;设定的转数值 ;******************************************************************** ;显示储存单元定义
;******************************************************************** SFW GW SW BW QW WW EQU 47H EQU 48H EQU 49H EQU 4AH EQU 4BH EQU 4CH ;十分位 ;个位 ;十位 ;百位 ;千位 ;万位 ;******************************************************************** ;片外EEPROM分配
;******************************************************************** EE1Q L EE1Q H EE W H EE W M EE W L C 0DE1 C 0DE2
EQU 01H EQU 02H EQU 03H EQU 04H EQU 05H EQU 06H EQU 07H ;第一剩余水量存储单元,此为低字节 ;第一剩余水量存储单元,此为高字节 ;总用水量存储单元,此为高字节 ;总用水量存储单元,此为中字节 ;总用水量存储单元,此为低字节 ;用户码3字节, 高 ;用户码3字节, 中
C 0DE3 EEC RD EE2Q L EE2Q H E M E N C_0GAI EQU 08H EQU 09H EQU 10H EQU 11H EQU 12H EQU 13H EQU 14H ;用户码3字节, 低 ;原读卡条件标志单元 ;第二剩余水量存储单元,此为低字节 ;第二剩余水量存储单元,此为高字节 ;测得脉冲数存储单元 ;设定的转数值 ;拆盖标志 ;******************************************************************** ;下列各信息读自IC卡
;******************************************************************** READ F USER1 USER2 USER3 USER RD WQ H WQ L EQU 01H EQU 02H EQU 03H EQU 04H EQU 05H EQU 06H EQU 07H ;读IC卡标志,如不等于0,则说明IC卡未被 ;读过 ;用户码3字节,高 ;用户码3字节,中 ;用户码3字节,低 ;原读卡条件 ;购水总量,高字节 ;购水总量,低字节 ;******************************************************************** ;函数名:主程序
;功能:主要完成系统的初始化,水量判断及关阀操作,进入睡眠状态处理。 ;********************************************************************
ORG AJMP ORG AJMP ORG AJMP 0003H DO_INT0 0013H DO_INT1 0000H START ;INT0中断入口 ;INT1中断入口
START: ORG 0030H ;串行口初始化(方式0) ;定义中断优先级 ;一个为跳变触发;一个为电平触发 ;置P3.2,P3.3为输入状态 ;调用子程序,从EEPROM中读有关 ;信息 MOV MOV MOV SETB SETB SCON, #10H IP, #01H TCON, #04H P3.2 P3.3 ACALL R_EEP JZ JZ JZ JZ JZ MOV JNZ MOV JZ CLR SUBB JNC SETB F KEY, DO_F V_MONI, DO_V OPEN D, DIS_P SW T, DO_KA W IN, DO_INT0 A, W HI SLEEP A, W LOW G_FA C A,#50 SLEEP C LOW ;防拆卸 ;电池电压检测线 ;按钮按下,调用显示 ;有卡插入 ;有流量传感器信号 ;剩余水量高字节赋给A ;不等于0,则进入睡眠状态 ;剩余水量低字节赋给A ;剩余水量,关闭阀门 ;剩余水量大于5吨,则进入睡眠状态 ;置剩余水量过低标志 ;调用报警子程序 ;允许外部中断0和外部中断1 ;进入待机方式 ACALL ALARM MOV IE, #85H PCOM, #01H SLEEP: MOV ;******************************************************************** ;函数名:INT0中断子程序
共分享92篇相关文档