单片机PIC16C7X在低功耗识别抄表的应用
醒,接受到33H命令后读iButton1990程序如下:
readbyte:
movlw 08h
movwf r2
bit_loop:
rrf r1,1
bcf porta,1
bsf rp0
bcf trisa,1
bcf rp0
bcf porta,1 ;为iButton1990A送低电平
nop
nop
nop
bsf rp0
bsf trisa,1 ;准备读数据位
bcf rp0
nop
nop
nop
nop
nop
nop
bcf c
btfsc porta,1 ;取数据位放入进位位
bsf c
nop
movlw d'15' ;延时等待下一次读
movwf r3
decfsz r3,1
decfsz r2,1
nop
goto bit_loop
rrf r1,1
nop
movlw d'15' ;延时等待下一次读
movwf r3
decfsz r3,1
goto $-1
return
3.2 读感应型TK5550
TK5550 是由美国TEMIC公司开发的非接触式读/写识别IC,其无线载频范围RF为100~150kHz。该芯片上有264位EEPROM,分成8个区,每区 33位,可以从基站按区读和写。每个区的第0位为LOCK位,该位被置1时这个区的数据不能再修改,且LOCK位无法恢复。LOCK位不随其它位一起动射到基站,用户实际使用的数据是每区的后32位,共256位。0区是为设置IC的操作模式而保留的。7区是口令区,在口令加密功能启动时这里存放IC的读写控制密码,当加密功能没有使用时该区也可以存放用户数据。其它6个区用户可以存放数据[3]。EEPROM结构如图1。
感应型TK5550可以从基站按区读和写。TK5550可以设置成多种工作模式,所以TK5550操作非常方便,使用时可任选一种。另外,因TK5550可以写,在设计时可以根据用户要求把用户信息编为特殊的码,让用户看到信息就能够确认信息所表示的含义。
下面给出在设置为曼切斯特码时,读TK5550的子程序:
tll equ 0x0e
tlh equ 0x19
thl equ 0x1c
thh equ 0x33
tdl equ 0x32
tdl 1 equ 0c0e
read_ok
movlw 08h
movwf r5
btfsc port_d,0 ;首先判断是1,0?
goto read_3
movlw 00h
movwf r4
read_1
movlw tdl 1
xorwf r4,0
btfss status,z
goto read_2
goto trad_mo
read_2
btfsc port_d,0 ;确认0
goto reqd_6
incf r4,1
goto read_1
read_3
movlw 00h
movwf r4
read_4
movlw tdl 1
xorwf r4,0
btfss status,z
goto read_5
goto read_mo
read_5
btfss port_d,0 ;确认1
goto read_7
incf r4,1
goto read_4
read_6
bcf status,c
goto $+2
read_7
bsf status,c
rlf r0,1 ;读出位暂存储R0
movlw tdl ;延时等待
movwf r3
decfsz r3,1
goto $-1
bsf no_ok
return
read_mo:
bcf no_ok ;时序不对,退出
return
在磁场干扰比较大的环境下,用接触型信息钮比较合适,如电厂;因感应型信息钮可以完全封装起来,在潮湿、腐蚀性比较大的环境下,用感应型信息钮比较合适,如水厂、化工作等。
本系统中,由于采用了先进的冗余技术,实际使用中也经过多次改进,具有较高的可靠性;只读器配有液晶显示,能信座有指示灯显示通信过程,管理系统使用汉字处理操作系统,界面清晰明了,使用非常方便、简单。
- 数字信号处理(DSP)应用系统中的低功耗设计(05-02)
- SHARC引领第四代通用DSP高端应用潮流(09-27)
- 在应用可编程测控网络设计(03-15)
- 基于dsPIC33F系列单片机的应用程序升级方法(04-03)
- 采用混合时钟模式提高Linux时钟精度的方法(05-10)
- MSP430低功耗原理及其在海温测量中的应用(06-06)