历史上的今天
今天是:2025年03月17日(星期一)
2021年03月17日 | 基于MSP430单片机的CPU卡模板程序(四)
2021-03-17 来源:eefocus
;********************************************************************
1.;接收一个字符,C=0接收正确,C=1接收出错,容错次数为3
;********************************************************************
recchar://接收字符
MOV.B#3,ERRCNT
RECCHAR1:
clr.bicflag1
MOV.B#8,CNTREG
CLR.BTRDATA
MOV.W#40000,DELAYCNT
RECC_WAIT:
BIT.B#ICSAM//判断对卡还是对ESAM操作
JNZRECC_IC
bit.b#samio,&pinb//对SAM操作
jzRECC_WAITSAM05
JMPRECC_DEL
RECC_WAITSAM05:
call#delay05etu
bit.b#samio,&pinb
JZRECC_BEGIN
JMPRECC_DEL
RECC_IC:
BIT.B#ICIO,&PINA//判起始位,不超过40000个CLK
JZRECC_WAITIC05
JMPRECC_DEL
RECC_WAITIC05:
CALL#DELAY05ETU
BIT.B#ICIO,&PINA
JZRECC_BEGIN
RECC_DEL:
DEC.WDELAYCNT
JNZRECC_WAIT
BIS.B#C,SR//超时,置C=1
RET
RECC_BEGIN:
call#reconebyte//
BIT.B#ICXOR
JNZRECC_CMP1
BIT.B#MXOR
JZRECC_OK
JMPRECC_CMPERR
RECC_CMP1:
BIT.B#MXOR//MXOR=1?
JZRECC_CMPERR//=0,ERR
RECC_OK:
call#delay1etu
clrc
ret
RECC_CMPERR:
BIT.B#ICSAM
JNZRECC_IC2
BIS.B#SAMIO,&PDIRB
BIC.B#SAMIO,&POUTB
CALL#DELAY1ETU
BIS.B#SAMIO,&POUTB
JMPRECC_AGAIN
RECC_IC2:
BIS.B#ICIO,&PDIRA
BIC.B#ICIO,&POUTA
CALL#DELAY1ETU
BIS.B#ICIO,&POUTA
RECC_AGAIN:
CALL#DELAY1ETU
DEC.BERRCNT
CMP.B#0,ERRCNT
JNZRECCHAR1
SETC
RET
;********************************************************************
2.;开始接收数据位,并计算校验位
;********************************************************************
reconebyte:
BIT.B#ICSAM
JNZROB_IC
rob_next:
call#delay1etu
bit.b#samio,&pinb
jzrob_1
xor.b#80h,icflag1
setc
jmprob_2
rob_1:
clrc
rob_2:
rrc.btrdata
sub.b#1,cntreg
jnzrob_next
call#delay1etu
bit.b#samio,&pinb
jzrob_out
bis.b#icxor
JMPROB_OUT
ROB_IC:
call#delay1etu
bit.b#ICio,&pinA
jzrob_IC1
xor.b#80h,icflag1
setc
jmprob_IC2
rob_IC1:
clrc
rob_IC2:
rrc.btrdata
sub.b#1,cntreg
jnzROB_IC
call#delay1etu
bit.b#ICio,&pinA
jzrob_out
bis.b#icxor
rob_out:
call#delay05etu
ret
史海拾趣
|
(求助,在线等)UCLINUX下开机自动运行HELLOWORLD 刚开始接触ARM,现在用的是S3C44B0的开发板,不知道在uclinux下的rc里该修改哪些东西。 在网上看到应该修改如下第一个地址的rc,而且我照做了,make之后没有报错. uClinux-dist/vendors/Samsung/44B0/rc uClinux-dist/romfs/etc/rc 下面是我uCl ...… 查看全部问答> |
|
楼宇对讲在中国的历史,可以追溯到上世纪80年代末期,彼时楼宇对讲功能单一,市场容量很小。但现在楼宇对讲产品或系统已呈集成化、网络化、个性化的发展趋势,不同国家,不同的建筑结构、不同的应用环境和不同的安防管理需求存在着很大的差异,尤其 ...… 查看全部问答> |
|
CE下重新绑定网卡,下面的代码老是出错,麻烦高手帮我查看一下.谢谢 LPCTSTR NDISUIO_DEVICE_NAME = _T(\"NDS0:\"); WCHAR strAdapterName[] = L\"PCI\\\\RTL81391\"; &nb ...… 查看全部问答> |
|
请问能否在AVR中使用“#define SCL PORTC.1 ” 在一个例程里看到的如下语句(同样是ATmega128单片机):#define SCL PORTC.1 //定义串行时钟…………SCL=1;………………SCL = 0;我自己建立文件用了上述语句,编译却出现如下错误:syntax error; found `.1\' e ...… 查看全部问答> |




