用PIC单片机实现的IC卡读写器
SSPSTAT,CKE;将SSPSTAT寄存器的CLK位置1
BCFTRISC,3;将端口C的第3位设置为输出
BCFTRISC,5;将端口C的第5位设置为输出
其中,上述第1、2行程序是配置控制寄存器,将SPI方式配置为主控模式,时钟频率为单片机时钟频率的1/4,并将时钟的高电平设置为空闲状态。第3行程序为换页指令,将指针转到第1页。因为PIC16F877单片机的数据存储器是分页的,而所要操作的寄存器在第1页,因此要用换页指令将指针到第1页。第4、5行程序是配置状态寄存器,将SPI方式设置为数据输出时钟的中间采样,时钟SCK的上升沿触发。第6、7行程序则是将RC口的RC3和RC5设置为输出。
2USART方式
通用同步异步接收发送模块(USART)是两个串行通信接口之一,USART又称为SCI(SerialCommunicationInterface)。USART可以设置为全双工异步串行通信系统,这种方式可以与个人计算机PC或串行接口CRT等外围设备进行串行通信:也可以设置为半双工异步串行通信系统,与串行接口的A/D或D/A集成电路、串行EEPROM等器件连接。USART是二线制串行通信接口,它可以被定义如下三种工作方式:全双工异步方式、半双工同步主控方式、半双工同步从动方式。
为了把RC6和RC7分别设置成串行通信接口的发送/时钟(TX/CK)线和接收/数据(TX/DT)线,必须首先把SPEN位(TCSTAT的RD7)和方向寄存器TRISC的D7:D6置1。
USART功能模块含有两个8位可读/写的状态/控制寄存器,它们是发送状态/控制寄存器TXSTA和接收状态/控制寄存器TCSTA。
USART带有一个8位波特率发生器BRG(BaudRatoGenerator),这个BRG支持USART的同步和异步工作方式。用SPBRG寄存器控制一个独立的8位定时器的周期。在异步方式下,发送状态/控制寄存器TXSTA的BRGH位(即D2)也被用来控制波特率(在同步方式下忽略BRGH位)。
向波特率寄存器SPBRG写入一个新的初值时,都会使BRG定时器复位清零,由此可以保证BRG不需要等到定时器溢出后就可以输出新的波特率。
对USART方式进行初始化的程序如下:
BSFSTATUS,RP0;将指针指向数据存储器的第1页
MOVLW0x19
MOVWFSPBRG;设置波特率为9600
BCFSTATUS,RP0;将指针指向数据存储器的第0页
CLRFRCSTA;将接收控制和状态寄存器清零
BSFRCSTA,SPEN;串口允许
CLRFPIR1;清除中断标志
BSFSTATUS,RP0;将指针指向数据存储器的第1页
CLRFTXSTA;将发送控制和状态寄存器清零
BSFTXSTA,BRGH;设置为异步、高速波特率
BSFTXSTA,TXEN;允许发送
BCFSTATUS,RP0;将指针指向数据存储器的第0页
BSFRCSTA,CREN;允许接收
初始化完成后,即可发送或接收数据。在发送或接收数据时,通过查询发送/接收中断标志位即可判断是否发送完一个数据/接收到一个数据。发送/接收中断标地不需要也不有用软件复位。
在异步串行发送的过程中,只要TXREG寄存器为空,中断标志TXIF就置位。因此,TXIF为1并不是发送完毕的标志,但仍可以用TXIF标志来判断。因此当TXREG为空时,将数据送入后,数据会保留在TXREG寄存器中,直到前一个数据从发送移位寄存器中移出,即前一个数据发送完。
3IC卡
IC卡是集成电路卡(Integra
tedCircuitCard)的简称,有些国家和地址称其为智能卡(SmartCard)、芯片卡(ChipCard)。国际标准化组织(ISO)在ISO7816标准中规定,IC卡是指在由聚氯乙烯(PVC)或聚氯乙烯酸脂(PVCA)材料制成的塑料卡内嵌入式处理器和存储器等IC芯片的数据卡。近年来,由于导半体技术的进步,集成化程度和存储器容量有了很大提高,并使CPU和存储器集成在一个芯片上,从而提高了 《用PIC单片机实现的IC卡读写器(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/167092.html
BCFTRISC,3;将端口C的第3位设置为输出
BCFTRISC,5;将端口C的第5位设置为输出
其中,上述第1、2行程序是配置控制寄存器,将SPI方式配置为主控模式,时钟频率为单片机时钟频率的1/4,并将时钟的高电平设置为空闲状态。第3行程序为换页指令,将指针转到第1页。因为PIC16F877单片机的数据存储器是分页的,而所要操作的寄存器在第1页,因此要用换页指令将指针到第1页。第4、5行程序是配置状态寄存器,将SPI方式设置为数据输出时钟的中间采样,时钟SCK的上升沿触发。第6、7行程序则是将RC口的RC3和RC5设置为输出。
2USART方式
通用同步异步接收发送模块(USART)是两个串行通信接口之一,USART又称为SCI(SerialCommunicationInterface)。USART可以设置为全双工异步串行通信系统,这种方式可以与个人计算机PC或串行接口CRT等外围设备进行串行通信:也可以设置为半双工异步串行通信系统,与串行接口的A/D或D/A集成电路、串行EEPROM等器件连接。USART是二线制串行通信接口,它可以被定义如下三种工作方式:全双工异步方式、半双工同步主控方式、半双工同步从动方式。
为了把RC6和RC7分别设置成串行通信接口的发送/时钟(TX/CK)线和接收/数据(TX/DT)线,必须首先把SPEN位(TCSTAT的RD7)和方向寄存器TRISC的D7:D6置1。
USART功能模块含有两个8位可读/写的状态/控制寄存器,它们是发送状态/控制寄存器TXSTA和接收状态/控制寄存器TCSTA。
USART带有一个8位波特率发生器BRG(BaudRatoGenerator),这个BRG支持USART的同步和异步工作方式。用SPBRG寄存器控制一个独立的8位定时器的周期。在异步方式下,发送状态/控制寄存器TXSTA的BRGH位(即D2)也被用来控制波特率(在同步方式下忽略BRGH位)。
向波特率寄存器SPBRG写入一个新的初值时,都会使BRG定时器复位清零,由此可以保证BRG不需要等到定时器溢出后就可以输出新的波特率。
对USART方式进行初始化的程序如下:
BSFSTATUS,RP0;将指针指向数据存储器的第1页
MOVLW0x19
MOVWFSPBRG;设置波特率为9600
BCFSTATUS,RP0;将指针指向数据存储器的第0页
CLRFRCSTA;将接收控制和状态寄存器清零
BSFRCSTA,SPEN;串口允许
CLRFPIR1;清除中断标志
BSFSTATUS,RP0;将指针指向数据存储器的第1页
CLRFTXSTA;将发送控制和状态寄存器清零
BSFTXSTA,BRGH;设置为异步、高速波特率
BSFTXSTA,TXEN;允许发送
BCFSTATUS,RP0;将指针指向数据存储器的第0页
BSFRCSTA,CREN;允许接收
初始化完成后,即可发送或接收数据。在发送或接收数据时,通过查询发送/接收中断标志位即可判断是否发送完一个数据/接收到一个数据。发送/接收中断标地不需要也不有用软件复位。
在异步串行发送的过程中,只要TXREG寄存器为空,中断标志TXIF就置位。因此,TXIF为1并不是发送完毕的标志,但仍可以用TXIF标志来判断。因此当TXREG为空时,将数据送入后,数据会保留在TXREG寄存器中,直到前一个数据从发送移位寄存器中移出,即前一个数据发送完。
3IC卡
IC卡是集成电路卡(Integra
tedCircuitCard)的简称,有些国家和地址称其为智能卡(SmartCard)、芯片卡(ChipCard)。国际标准化组织(ISO)在ISO7816标准中规定,IC卡是指在由聚氯乙烯(PVC)或聚氯乙烯酸脂(PVCA)材料制成的塑料卡内嵌入式处理器和存储器等IC芯片的数据卡。近年来,由于导半体技术的进步,集成化程度和存储器容量有了很大提高,并使CPU和存储器集成在一个芯片上,从而提高了 《用PIC单片机实现的IC卡读写器(第2页)》