I2C總線接口和簡易IC卡讀寫器_第1頁
I2C總線接口和簡易IC卡讀寫器_第2頁
I2C總線接口和簡易IC卡讀寫器_第3頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、$regfile = "M16def.dat"$crystal = 11059200$baud = 9600Dim I As Byte , Temp As ByteDim Data1(8) As Byte , Data2(8) As ByteDim Card_ok As BitConfig Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portd.5 , Rs = Portd.3''定義LCD顯示屏接口''定義PPortc.

2、0為I2C總線的Scl''定義 PPortc.1為I2C總線的Dda''定義IC卡的寫地址指令字'定義IC卡的讀地址指令字'定義3個I/O 口為輸入開關(guān)接口''清LCD顯示Config Lcd = 16 * 4Config Scl = Portc.0Config Sda = Portc.1Con st Adresw = &HA0Const Adresr = &HA1Config Pin c.0 = In put , Pinc.1 = In put , Pinc.2 = In putPortc.0 = 1 : Por

3、tc.1 = 1 : Portc.2 = 1Cursor Off Nobli nkDoCls'顯示提示字符''檢測有無IC卡插入'無IC卡插入''有IC卡插入''檢測系統(tǒng)設(shè)置為寫卡方式?'寫卡方式,要求輸入密碼字Locate 1 , 1 : Lcd "Demo for IC_Card"If Pi nc.2 = 1 The nLocate 2,1 : Lcd "No IC_Card "Wait 1ElseIf Pi nc.0 = 0 The nClsLocate 1 , 1 : Lcd

4、 "Enter Password:"I = 1Locate 2,1Do由RS-232 口接收PC輸入Temp = In key()If Temp <> 0 The nData1(i) = Temp : I = I + 1 Led Chr(temp)Print Chr(temp);End IfLoop Un til I > 8PrintFor I = 1 To 8I2cstartI2cwbyte AdreswI2cwbyte II2cwbyte Data1(i)I2cstopWaitms 10NextIf Pi nc.1 = 0 The nFor I = 1

5、 To 8Writeeeprom Data1(i) , I NextEnd IfFor I = 1 To 8I2cstartI2cwbyte AdreswI2cwbyte II2cstartI2cwbyte AdresrI2crbyte Data2(i) , Nack I2cstopNext''的密碼字符,'長度為8個''同時在LCD上顯示密碼'將8個密碼字寫入IC卡中'寫入地址為1-8如果系統(tǒng)設(shè)置為修改系統(tǒng)密碼時'將密碼寫入 AVR的EEPROM中''寫入地址為1-8'讀IC卡剛寫入的密碼Card_ok

6、= 0For I = 1 To 8If Data1(i) <> Data2(i) ThenCard_ok = 1Exit ForEnd IfNextLocate 2 , 1If Card_ok = 0 The nLcd "Write Card ok!"ElseLed "No or Bad Card!?"End IfDoLoop Un til Pi nc.2 = 1ElseCls : Locate 1 , 1For I = 1 To 8I2cstartI2cwbyte AdreswI2cwbyte II2cstartI2cwbyte Adres

7、rI2crbyte Data1(i) , NackI2cstopLcd Chr(data1(i)NextFor I = 1 To 8Readeeprom Data2(i) , I''判別寫入密碼同用戶輸入的密碼'是否相同'相同,寫卡完成'不同,寫卡操作有誤或壞的IC卡'等待用戶抽出IC卡''系統(tǒng)為讀卡方式'讀IC卡上的密碼字8個'顯示在LCD上'讀系統(tǒng)密碼字8個NextCard_ok = 0For I = 1 To 8If Data1(i) <> Data2(i) ThenCard_ok = 1Exit ForEnd IfNextLocate 2,1If Card_ok = 1 The nLcd "Password not ok!"ElseLed "Password Ok!"End IfDoLoop U

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論