freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于51單片機的接觸式ic卡設(shè)計相關(guān)資料-閱讀頁

2025-07-13 00:17本頁面
  

【正文】 據(jù)RETPOWER_OFF: 。使RST=LCLR CLK 。使I/O=L LCALL DELAY_500us 。給卡下電RET2)IC卡的讀寫技術(shù)不同類型的IC卡其讀寫方式或數(shù)據(jù)協(xié)議方式是不同的,ISO7816標(biāo)準(zhǔn)對異步型IC卡的讀寫協(xié)議做了較充分的定義,而對于同步型IC卡,則只定義了其復(fù)位響應(yīng)過程的協(xié)議標(biāo)準(zhǔn),這使得各廠家設(shè)計的同步型IC卡的讀寫方式不盡相同,而且同步型IC卡接口協(xié)議是面向操作而進(jìn)行的,因此,其操作協(xié)議方式也各不相同。大多數(shù)符合ISO7816標(biāo)準(zhǔn)的同步型IC卡的地址計數(shù)器是與時鐘緊密相關(guān)的,當(dāng)卡復(fù)位時,地址計數(shù)器置0。復(fù)位之后的頭32個時鐘周期內(nèi),是卡的復(fù)位響應(yīng)過程,該過程中,廠家的產(chǎn)品編碼以位編碼方式逐一在數(shù)據(jù)線上送出,以后的字段則根據(jù)廠家及用戶所定義的含義不同而各不相同。數(shù)據(jù)的讀出過程可分為三個基本過程:復(fù)位,數(shù)據(jù)字段的定位和數(shù)據(jù)讀出。12V,而單片機的工作電壓為5V,所以需要MAX232接口芯片實現(xiàn)TTL與RS232電平轉(zhuǎn)換,采用簡單的3線制通信方式。圖43 串行通信電路 關(guān)鍵信息存儲電路此電路有串行EEPROM和上拉電阻組成,電路如圖44所示。串行EEPROM選用AT24C02。圖44 關(guān)鍵信息存儲電路 掉電檢測電路掉電檢測電路由比較器(運放LM393)、電壓基準(zhǔn)LM336()、RRRR1R1R13和二極管VD3組成,電路如圖45所示。電源電壓正常時,V–V+,比較器輸出高電平;當(dāng)電源掉電時,V–跟隨電源電壓下降,而VZ 。VDR12為施密特電路,是為了避免電壓在閾值作用波動時引起反復(fù)的寫操作(對EEPROM)。若插入系統(tǒng)的是廢卡、非法卡,或者系統(tǒng)不能正常讀寫,則圖47中的蜂鳴器報警,增加系統(tǒng)的使用性。16個按鍵構(gòu)成了讀寫系統(tǒng)的鍵盤電路部分。圖48 8051與鍵盤接口電路圖中,接有上拉電阻 R=5V/1 mA=5kΩ。通過移位寄存器74LS164輸出端QA~QH接至鍵盤作為鍵盤列線。 顯示電路 應(yīng)用系統(tǒng)中常用的顯示器有:發(fā)光二極管顯示器,簡稱LED;液晶顯示器,簡稱LCD。前面兩種顯示器使用最多,下面就這兩種顯示器的基木原理和使用方法做簡要說明。把每個顯示字段對應(yīng)于一個二進(jìn)制位,這些二進(jìn)制位組成字型編碼,這樣不同的顯示字符就對應(yīng)于不同的字型碼,顯示字符時,在顯示I/O驅(qū)動線輸出相應(yīng)的字型碼,就可以顯示不同的字符。LED顯示方式分靜態(tài)顯示和動態(tài)顯示。這種顯示方式接口編程容易,管理簡單,但占用口線資源較多。LED動態(tài)顯示時,為了簡化硬件電路,通常將所有的段選線并聯(lián)在一起,由一個(C7段LED)或兩個(“米”字段LED)8 位I/O控制,形成段選線的多路復(fù)用。若要各位LED能夠顯示出與本位相應(yīng)的顯示字符,就必須采用掃描顯示方式,即在某一時刻只讓某一位的位選線處于選通狀態(tài),而其他各位的位選線處于關(guān)閉狀態(tài),同時,段選線上輸出相應(yīng)位要顯示字符的字形碼,這樣同一時刻只有一位顯示出字符。由于人眼的視覺暫留,只要每位顯示間隔足夠短,如此循壞就可以使各位顯示出將要顯示的字符,達(dá)到顯示目的。l 液晶顯示器LCDLCD是一種極低功耗顯示器,目前,高分辨率的LCD點陣式顯示器有顯示靈活,顯示圖型字符美觀等優(yōu)點,在很多系統(tǒng)中應(yīng)用非常廣泛。圖49是單片機與顯示器的接口電路。本設(shè)計的所有程序用C51語言編寫,由主程序和子程序組成。 主程序主程序主要完成初始化并檢測系統(tǒng)的狀態(tài),如果是剛上電狀態(tài),則恢復(fù)掉電瞬間保存的數(shù)據(jù)。主程序如下:include //頭文件define uint unsigned intdefine uchar unsigned chardefine addrl 0x40uint data consl。 //指針定義if(consl==0) //判斷是否剛上電狀態(tài){ p=cons2。 //修改標(biāo)志位}ITO=1。 //外部中斷0開中斷EA=1。 //設(shè)置節(jié)電工作方式do{ }while(1)。在單片機的控制下給IC卡供電,并且指示燈亮。單片機從卡中讀出卡標(biāo)識,判斷是用戶卡是否合法,并調(diào)跳到相應(yīng)的子程序。圖52 插卡子程序流程圖當(dāng)單片機系統(tǒng)檢測到插入的卡是合法的用戶卡,單片機進(jìn)入讀寫子程序。比較通過后,然后進(jìn)行密碼校驗。 鍵盤掃描子程序16個按鍵的鍵盤電路分別為:數(shù)字鍵0~9及小數(shù)點“.”,可以設(shè)定用戶信息及余額;此外還有5個功能鍵,分別為:(1) 修改/確認(rèn)鍵,用來控制信息的改寫及確認(rèn);(2) 賬號顯示鍵,用來控制用戶賬號信息的顯示;(3) 余額/總數(shù)顯示鍵,用來控制余額或總數(shù)的顯示;(4) 計數(shù)開始/停止鍵,用來控制計數(shù)系統(tǒng)的計數(shù);(5) 備用鍵;(6) 備用鍵。所謂編程掃描就是CPU對鍵盤的掃描采取程序控制方式,一旦進(jìn)入鍵盤掃描狀態(tài)則反復(fù)地掃描鍵盤,等待用戶從鍵盤上輸入命令或數(shù)據(jù)。鍵盤掃描子程序流程圖如圖53所示。“0”電平時,若行電平全為“1”電平,則鍵盤無鍵按下,若不為“1”電平,則有鍵按下。在鍵盤電路中,按鍵按下閉合后,將產(chǎn)生一個一個負(fù)的矩形脈沖。除了抖動之外還有重鍵,即一個鍵按下后緊接著由按下另一鍵,或者兩個鍵同時按下。本系統(tǒng)采用軟件延時的方法來解決。其過程是在查詢到有按鍵按下后延時一段時間,一般為10ms。若這次查詢不到,則說明前一次查詢結(jié)果為干擾或抖動,若這次查詢到有鍵按下,則說明信號已經(jīng)穩(wěn)定,然后判斷閉合按鍵的鍵碼。對于重鍵則以后一次查詢?yōu)樽詈蠼Y(jié)果。“1”電平,然后輸出一次“0”電平,同時進(jìn)行計數(shù)為00H,“1”電平,則繼續(xù)連續(xù)輸出“1”電平進(jìn)行移位,并同時計數(shù),“0”電平,表明此時的鍵即為按下的鍵,對應(yīng)的計數(shù)值即為鍵值,然后調(diào)用對應(yīng)的鍵處理子程序。4) 表51 鍵值與鍵號對應(yīng)表鍵值00H01H02H03H04H05H鍵號012345鍵值06H07H08H09H0AH鍵號6789.鍵值0BH0CH0DH鍵號修改/確認(rèn)賬號顯示余額/總數(shù)鍵值0EH0FH10H鍵號開始/停止備用備用圖53 鍵盤掃描流程圖 顯示子程序讀卡器在運行過程中,對用戶的信息進(jìn)行不斷改變,并寫入EEPROM中。流程圖如圖54所示。如果比較不成功(即兩組數(shù)據(jù)不相同),則密碼錯誤數(shù)器的一個字位將只會被從“1寫成“0,并且不能被擦除。圖55 比較校驗數(shù)據(jù)的流程圖首先用一個修改命令將密碼錯誤計數(shù)器中的一位寫0,然后緊跟著三條比較校驗數(shù)據(jù)命令。整個比較過程成功與否是用能否擦除密碼錯誤計數(shù)器來證實。但只要(EC)不全為0,就允許外部接口設(shè)備IFD對芯片進(jìn)行重試:如果(EC)全為0,則比較被封鎖,IC卡不能再做修改數(shù)據(jù)的操作。芯片在出廠時,根據(jù)用戶的專門安排,常常將可編程加密代碼(PSC)中編入一個專門代碼。總結(jié)在了解研究8051單片機的結(jié)構(gòu)特點及其相關(guān)的設(shè)計實例后,本次設(shè)計充分利用其相關(guān)的功能,開發(fā)設(shè)計了IC卡讀寫器。設(shè)計主要完成了以下工作:、開發(fā)工具和應(yīng)用領(lǐng)域2. 使用PROTEL軟件繪制完成了系統(tǒng)完整的電路圖,實現(xiàn)了基于51單片機的IC卡讀寫器的設(shè)計。:以51單片機為核心,結(jié)合AT24C02作為外部存儲器,存放關(guān)鍵信息,液晶SMG12232B2作為顯示系統(tǒng)。存在的問題及今后的改進(jìn):。致謝本來對51單片機了解甚少,但是通過本次設(shè)計,加深了我對51單片機知識的了解,使我學(xué)到了許多原來所未涉及的東西,并且學(xué)會了一些軟件的使用。盧老師除了親自面授輔導(dǎo),還通過電子郵件、電話等各種通信方式給予我各方面的指導(dǎo),并且無私的提供各種相關(guān)的資料,幫助我解決許多問題。對盧老師的精心指導(dǎo)再次表示我衷心的感謝。感謝我的同組同學(xué)何智鋒、宋鵬飛、宋超、薛巖、陳健鋒等幾位同學(xué),在此次設(shè)計中他們給了我很大幫助。感謝審閱此論文的各位老師,感謝你們的寶貴意見。 附錄 部分程序清單一、SLE4442卡操作程序清單:includeincludeincludeincludedefine RMM_COMM 0x30 //讀主存命令字define UMM_COMM 0x38 //寫密碼存儲區(qū)define CVD_COMM 0x33 //校驗密碼define RSM_COMM 0x31 //讀密碼存儲區(qū)define USM_COMM 0x39 //寫密碼存儲區(qū) deifne RPM_COMM 0x34 //讀保護(hù)存儲區(qū) deifne WPM_COMM Ox3c //寫保護(hù)存儲區(qū)Sbit RST=P1^4。Sbit IO=P1^6。_nop_()。_nop_()。}void start(){IO=1。CLK=1。IO=0。CLK=O。delay()。delay(}:IO=1。}uchar InByte(void){uchar a,i。IO=1。iO。if((uchar)IO) a=0x80。 delay()。 delay()。} void OutByte(uchar ch){uchar i。iO。0x01)。 CLK=1。 CLK=O。}}void reset(uchar data*pt){uchar i。 delay()。 delay()。 CLK=O。 RST=0。do{*pt=InByte()。}while(i)。 delay()。 delay()。 RST=O。CLK=O。IO=1。for(i=620。i){ CLK=1。CLK=O。if(IO) break。 OutByte(a)。OutByte(c)。}入口:pt=起始地址,i=數(shù)據(jù)個數(shù)Void Read_Mod(uchar data*pt,uchar i){ CLK=O。do{ *pt=InByte()。 //指針加一}while(i)。Read_Mod(pt,i)。}void Utmm(ucharCardAdd,uchar data*pt){SendComm(UMM_COMM,CardAdd,*pt)。}void Rpm(uchar data*pt){SendComm(RPM_COMM,1,1)。}void P_Byte(uchar CardAdd,uchar data*pt){SendComm(WPM_COMM,CardAdd,*pt)。}入口:指向存放密碼的內(nèi)部RAM地址出口:成功返回1,失敗返回0,卡片己鎖也返回0bit Verify(uchar data*pt){ ucher data temp[4]。tpt=amp。SendComm(RSM_COMM,1,1)。 //讀出if((temp[O]amp。OxO7)==OxO7)i=0x06。0x07)==0x06)i=0x04。0x07)=0x04)i=0x00。 //重寫計數(shù)器Proce_Mod()。i4。 //發(fā)出校對命令Proce_Mod()。 //發(fā)出擦寫計數(shù)器命令PorceseMod()。 //發(fā)送讀保密存儲區(qū)的命令字,第2,3個參數(shù)被忽略tpt=amp。Read_Mod(tpt,4)。0x07)==OxO7) //如果沒有被成功擦寫,表明校對失敗return(1)。}二、24C02操作程序清單,void DelayMs(unsigned int number){unsigned char temp。number!=O。temp!=0。 SCL=1。 SCL=O。SDA=O。SDA=1。SCL=1。SDA=1。SCL=1。}bit TestAck(){bit ErrorBit。SCL=1。SCL=O。}void Write8Bit(unsigned char input){unsigned char temp。temp!=0。0x80)。SCL=O。}}void Write24cO2(unsigned char*Wdata,unsigned charRomAddress,Unsignedchar number){i2cStart()。TestAck()。TestAck()。number!=O。TestAck()。}i2cStop()。Unsigned char Read8Bit(){unsigned char temp,rbyte=0。temp!=O,temp){SCL=1。rbyte=byte((unsigned char)(SDA))。}return(rbyte
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1