基于单片机的IC卡智能水表源代码

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于单片机的IC卡智能水表源代码

作者:清华大学杨家沛

;**************************************************************************

;本系统所用CPU:PIC16F84

;采用外接RC经济阻容振荡方式:R=100K C=100P

;时钟频率约72KHz

;机器周期约56us

;************************************************************************** INCLUDE “PIC 84.H”;PIC84头文件

;**************************************************************************

;液晶显示命令字定义

;************************************************************************** SYSDIS EQU B'00000000' ;关闭液晶系统振荡和偏振命令字SYSEN EQU B'00000001' ;打开液晶系统振荡

LCD ON EQU B'00000011' ;打开液晶偏振发生器

BIAS 1 EQU B'00100000' ;液晶显示方式命令字

;**************************************************************************

;PIC I/O口线输入输出方式定义字

;**************************************************************************

O RB EQU B'01000110' ;RB口输出状态定义字

;输出状态:RB0,RB3,RB4,RB5,RB7均为输出,RB1,RB2,RB6为输入;

I RB EQU B'01100110' ;RB口输入状态定义字

;输入状态:RB0,RB3,RB4,RB7为输出,RB1,RB2,RB5,RB6为输入;

0 RA EQU B'11110000' ;RA口定义字

;RA4为输入,低4位均为输出

;**************************************************************************

;各口线作用定义

;**************************************************************************

SWCH1 EQU RA2 ;开阀控制,低电平有效

SWCH2 EQU RB0 ;关阀控制,低电平有效

S VOLT EQU RB7 ;IC卡电源地控制(即控制IC卡座电源),低电平有效SDA EQU RA4 ;IC卡串行数据线(双向)

SCL EQU RB4 ;IC卡时钟线

S T EQU RB6 ;IC卡插卡检测线.=1 表明IC卡已插入

SPK EQU RB3 ;蜂鸣器控制,高电平蜂鸣

V_MONI EQU RB2 ;电池电压检测线.=1,说明电池电压正常,否则说明过低WR EQU RA1 ;液晶显示时钟输出,正跳变有效

DATA EQU RA0 ;液晶串行数据输出,=1,为0;=0,为1

CS EQU RA3 ;液晶片选控制,高电平有效(同时控制水脉冲,和IC卡)W IN EQU RB1 ;0.1m3脉冲输入线(负跳变有效)

F KEY EQU RB5 ;作为防拆表输入线

;**************************************************************************

;IC84通用寄存器定义(共有68个):地址为0CH—4FH

;**************************************************************************

XDATA EQU 0CH ;通用数据暂存单元

CON1 EQU 0DH ;循环条件暂存单元

CON2 EQU 0EH ;循环条件暂存单元

CON3 EQU 0FH ;循环条件暂存单元

CON4 EQU 10H ;循环条件暂存单元

FLAG EQU 11H ;通用标志字节(各位意义见后)

DFLG EQU 12H ;液晶显示标志字节(各位意义见后)

DA1 DSP EQU 13H ;液晶显示高2位(BCD码)

DA2 DSP EQU 14H ;液晶显示低2位(BCD码)

L CON EQU 15H ;循环控制,如果=10 则读卡

SW DL EQU 16H ;关阀延时数

T CON EQU 17H ;FUNCTION KEY TEST COUNT(NO USE)

ST FLG EQU 18H ;W CRC EQU 18H

S0 EQU 2FH ;十六进制->十进制(BCD)中十六进制数暂存

S1 EQU 2EH ;

R0 EQU 13H ;转换后的BCD(4位)暂存

R1 EQU 14H

XDATA1 EQU 1AH

XDATA2 EQU 1BH

CON5 EQU 19H

XDAT EQU 1CH

F ST1 EQU 35H ;机器开始标志单元(正确的开始标志值为55H

F ST2 EQU 36H ;以及0AAH)

RANDHI EQU 4AH ;加密用随机数高字节

RANDL0 EQU 4BH ;加密用随机数低字节

;**************************************************************************;下列文件寄存器用来比较用户码及M1码

;**************************************************************************

F VAL EQU 37H ;电磁阀开关标志

WQT H EQU 27H ;以下3单元为用水总量存储单元,此为高字节WQT M EQU 38H ;中字节

WQT L EQU 39H ;低字节

C R

D EQU 3AH ;读卡条件

W HI EQU 3BH ;以下2单元是剩水总量存储单元,此为高字节

W LOW EQU 3CH ;低字节

EFLG EQU 3DH ;写片内EEPROM剩水单元选择标志. 0选EEQ1,

;否则选EEQ2

;**************************************************************************;读IC卡标志

;**************************************************************************

相关文档
最新文档