(Bascom AVR) تراشه نویسی و کار با (card magnetic)کارت های مغناطیسی امنیتی در محیط بسکام(مهندسی برق _ الکترونیک)

پژوهشگر و نویسنده: دکتر (  افشین رشید )

نکته : آیا تاکنون کارت مغناطیسی دیده اید ،آنها را با کارت های اعتباری و کارت های تلفن که روی خود یک تراشه دارند. اشتباه نگیرید اشتباه نگیرید ، این کارت ها بدون تماس کار خود را انجام میدهند ، فقط کافی است شما ان را از شکاف یاروی دستگاه مرکزی (کارت خوان رد کنید ، دستگاه کارت خوان با میدانی که ایجاد میکند ، کارت را تغذیه کرده وکارت کد موجود در حافظه ی خود را برای دستگاه می فرستد.

ویژگی اصلی این کارت ها دارا یودن یک نوار سیاه رنگ است.کارت خوان این دستگاه که بانام ریدیر کارت مغناطیسی(reader card magnetic ) در بازار موجود است . دارای 5 سیم به شرح زیر است : 

1 -قرمز = تغذیه 5 ولت کارت ریدر

2 -مشکی = تغذیه گراند کارت

3 -زرد = انتخاب تراشه

4 -سبز = کلاک کارت ریدر

5 -آبی = خروجی دیتا برای میکرو

با دستورات زیر در محیطBascom avr میتوان کارت ریدر را برای میکرو معرفی کرد:

_mport Alias Piny 

_mdata Alias X

_mcs Alias X 

_mclock Alias X 

Config Porty = Input 

Porty = 255 

READMAGCARD var , count , coding 

Piny Alias mport:_با این دستور پورتی که کارت ریدر به ان متصل است مشخص میشود مانند : 

PinB Alias mport _

X Alias mdata:_نشان میدهد که پایه داده به کدام یک از پایه های میکرو متصل شده است ، X شماره پایه است که میتواند بین 0 تا 7 باشد (سیم آبی ) X Alias mcs :_نشان میدهد که پایه انتخاب به کدام یک از پایه های میکرو متصل شده است ، X شماره پایه است که میتواند بین 0تا 7 باشد (سیم زرد ) X Alias mclock :_نشان میدهد که پایه کلاک به کدام یک از پایه های میکرو متصل شده است ، X شماره پایه است که میتواند بین0 تا 7 باشد (سیم سبز ) Input = Porty Config : پورتی که کارت ریدر به ان متصل است حتما باید به عنوان ورودی تعریف شود 

255 = Porty : تمام وردی های پورت را یک میکند ( تا به فقط به صفر شدن واکنش نشان دهند) با دستور زیر میتوان خروجی کارت ریدر را خواند: 

READMAGCARD var , count , coding

Var:در این متغیر بایت خوانده شده قرار میگیرد 

Count:در این متغیر شماره بیت خوانده شده قرار میگیرد،شماره بیت طبق جدول روبرو است. داده های خوانده شده در کنار هم قرار میگیرند و یک رقم را به وجود میاورد ، این رقم ها میتواند رمز عبور، کد شناسایی ... باشد.

Coding:بر روی کارت های مغناطیسی دارای سه خط وجود دارد ، در صورتی که شما از خط اول استفاده کنید باید به جای Coding رقم 7 را قرار دهید و در صورتی که از خط دوم یا سوم استفاده کنید باید به جای Coding رقم 5 را قرار دهید.

مانند:

$regfile = "m16def.dat" : $crystal = 1000000 

Config Lcd = 16 * 2 

Config Lcdpin = Pin , Db4 = Pina.0 , Db5 = Pina.1 , Db6 = Pina.2 , Db7 = 

Pina.3 , Rs = Pina.4 , E = Pina.5 

Dim A As Byte , B As Byte 

_mport Alias Pinb 

_mdata Alias 0 

_mcs Alias 1 

_mclock Alias 2 

Config Portb = Input 

Portb = 255 : Do 

Reset Porta.0 : Locate 1 , 1 : Lcd "Insert your card" 

Readmagcard A , B , 5 

Select Case A 

Case 12 

Locate 1 , 1 : Lcd "welcome mr a" : Wait 2 : Cls 

Case 13: 

Locate 1 , 1 : Lcd "welcome mr b" : Set Porta.0 : Wait 5 : Cls 

Case 14 : 

Locate 1 , 1 : Lcd "welcome mr c" : Set Porta.0 : Wait 5 : Cls 

Case 15 : 

Locate 1 , 1 : Lcd "welcome mr d" : Set Porta.0 : Wait 5 : Cls

برنامه بالا مربوط به یک سیستم نگهبانی است ، فقط افرادی که دارای کارت میباشند و مقداریر حافظه کارت انها در دستگاه ثبت شده میتوانند وارد شود.

پژوهشگر و نویسنده: دکتر (  افشین رشید )