This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

TTL interface of swipe card reader

HAI,
I would like to implement TTL interface to a swipe card reader. I want to read track 2 of a card .This contains alphanumeric characters and each character is of 5 bit size which includes one parity bit.
I designed a hardware circuit for this with AT89c2051.
The data is coming as a stream of bits from the readers magnetic head. So I have store this bit stream to a bit array. I used bdata variable for this purpose, but is not possible to write to the bit position.
How I can write these bits to my bit array? What is wrong with code below: I used the pin P1.6 as the input for the data from card reader's magnetic head. Please help me.

sbit dat=P1^6;
bdata unsigned char mydata[13];

for (i = 0; i < 13; i++)
{
for (mask = 0x01; mask != 0x00; mask <<= 1)
 {
  mydata[i] & mask = dat;
 }
}


Here the error I got is errorC141:syntax error near'=';

Please give a replay.

Parents
  • Hai Friend,
    My code get some compilation error as mentioned in my first post. So the problem I think is not in hardware, but in code itself. If I get a single bit from a card, then it is possible to store in a single bit. But if it is a stream of bits, then I have to store in a bit array. How can I define a bit array and how its bits can be accessed.
    Actually there is 8 bits in a char, but I am not able store a bit in its bit0 or bit1 etc.
    Is it possible using Keil to store a stream of bits to such a variable. Is it possible to use bdata variable for this purpose?
    Please help me with a sample code.

Reply
  • Hai Friend,
    My code get some compilation error as mentioned in my first post. So the problem I think is not in hardware, but in code itself. If I get a single bit from a card, then it is possible to store in a single bit. But if it is a stream of bits, then I have to store in a bit array. How can I define a bit array and how its bits can be accessed.
    Actually there is 8 bits in a char, but I am not able store a bit in its bit0 or bit1 etc.
    Is it possible using Keil to store a stream of bits to such a variable. Is it possible to use bdata variable for this purpose?
    Please help me with a sample code.

Children
No data