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

正文內(nèi)容

基于51單片機(jī)的接觸式ic卡設(shè)計相關(guān)資料(文件)

2025-07-16 00:17 上一頁面

下一頁面
 

【正文】 處理鍵入數(shù)據(jù)的過程中,CPU不再響應(yīng)鍵入要求,直到CPU返回重新掃描鍵盤為止。2) 取出鍵抖動及重鍵的影響。這些需要采取一定的措施加以消除。再查詢一次看是否有鍵按下。3) 掃描鍵盤,得到按下的鍵的鍵值。當(dāng)用戶需要查詢IC卡的運行狀態(tài)時,只需按動顯示按鈕,即可顯示用戶的帳號信息、帳號余額、計數(shù)值等信息。該命令的執(zhí)行流程見下圖55所示。如果比較成功,則擦除操作執(zhí)行有效,這時只要不斷電,對整個芯片各存儲器的各區(qū)域的寫入/擦除處理都可以進(jìn)行,如果比較不成功,擦除操作執(zhí)行無效,密碼錯誤計數(shù)器將不會恢復(fù)為“111”。這樣在使用時,要打開卡片就必須合法得到一個代碼,這也是防止非法竊用或偽造卡片的重要手段。,完成了相應(yīng)的軟件設(shè)計,達(dá)到了預(yù)期的效果。盧恒煒老師嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度、敏銳的洞察力和實事求是的工作作風(fēng)使我受益匪淺,盧老師廣博的學(xué)識和嚴(yán)于律己、寬以待人的生活作風(fēng)使我終身難忘。大家一起研究硬件的選取、程序的設(shè)計,一起提出問題,一起解決問題,使我感到學(xué)習(xí)的快樂和同學(xué)之間的深厚友誼,這將給我留下最美好的回憶。Sbit CLK=P1^5。_nop_()。delay()。delay()。CLK=1。A=0。i){a=a﹥﹥l。CLK=O。for(i=8。delay()。ch=ch﹥﹥l。CLK=1。delay()。pt++。RST=1。 }void Procee_Mod(void){uint i。IO=0。 delay()。 }}入口: a=命令字,b=地址,c=數(shù)據(jù)void SendComm(uchar a,uchar b,uchar c){starto。stop()。 //讀入一個字節(jié)Pt++。ic_break()。ReadeMod(pt,4)。uchar*tpt,i。 //發(fā)送讀保密存儲區(qū)的命令字,第2,3個參數(shù)被忽略Read_Mod(tpt,4)。 else if((temp[O]amp。 //將其中的一位為1的改寫成0SendComm(USM_COMM,O,i)。i++,Pt++) //核對3字節(jié)的密碼{ SendComm(CVDseCOMM,i,*pt)。 //處理SendComm(RSM_COMM,1,1)。 //讀出if((temp[O]amp。for(。temp){}}}void i2cStart(){ SDA=1。}void i2cStop(){SCL=O。void Ack(){SDA=O。}void NoAck(){SDA=1。SDA=1。return(ErrorBit)。temp){SDA=(bit)(inputamp。input=inputl。Write8Bit(RomAddress)。number){Write8Bit(*Wdata)。DelayMs(10)。rbyte=rbytel。}void Read24cO2(unsigned char *RamAddress,unsigned char RomAdderss,unsigned char bytes){//unsignedchar。SCL=O。for(temp=8。Wdata++。for(。Write8Bit(WriteDeviceAddress)。SCL=1。for(temp=8。Error Bit=SDA。SCL=O。SCL=O。SCL=1。 SDA=O。number){for(temp=112。}erturn(O)。temp[0]。 //處理}SendComm(USM_COMM,O,Oxff)。 //處理for(i=l。else if((temp[0]amp。OxO7)!=O) //第一個字節(jié)是重試計數(shù)器,如果重試計數(shù)器為0,直接推出{if((temp[O]amp。temp[O]。Proce_Mod()。Proce_Mod()。 //計數(shù)器減一,判斷}void Rmm(uchar cardAdd,uchar*pt,uchar i){SendComm(RMM_COMM,cardAdd,O)。 delay()。OutByte(b)。 delay()。iO。delayQ。delay()。}void ic_break(){CLK=O。i=4。delay()。RST=1。delay()。i){I0=(bit)(champ。}return(a)。CLK=1。for(i=8。delay()。}Void stop(){IO=0。delay()。_nop_()。deifne uchar unsigned chardefine uint unsigned intVoid delay(){_nop_()。感謝我的父母,是他們的關(guān)心和支持,使我能順利完成畢業(yè)設(shè)計,感謝所有關(guān)心和幫助我的人們。同時在畢業(yè)論文期間,我還得到了電子信息科學(xué)與技術(shù)教研室實驗室全體老師的關(guān)心和支持,也在此表示由衷的感謝。在此期間,我得到了我的導(dǎo)師盧恒煒老師的細(xì)心指導(dǎo),本論文也是在盧老師的極大幫助下完成的。 實現(xiàn)了IC卡與單片機(jī)的通信,有51單片機(jī)控制數(shù)據(jù)傳輸過程,實現(xiàn)讀卡和寫卡操作。另外,在軟件設(shè)計過程中,主要程序代碼使用C編寫,大大加快了開發(fā)進(jìn)程與后期的可維護(hù)性提升。當(dāng)校驗數(shù)據(jù)比較成功,加密存儲器也同樣被打開,其單元中的參數(shù)數(shù)據(jù)也可以象主存儲器中的其他單元一樣進(jìn)行修改變換。比較從參照數(shù)據(jù)的字節(jié)1開始。圖54 顯示子程序流程圖 比較校驗數(shù)據(jù)程序該程序把輸入的“校驗數(shù)據(jù)”的各個字節(jié)與相對應(yīng)的參照數(shù)據(jù)(存放在加密存儲器中)進(jìn)行比較。鍵值與鍵號的對應(yīng)關(guān)系如表51所示。當(dāng)閉合按鍵地鍵碼確定之后,再去查詢按鍵是否釋放,待按鍵釋放后再進(jìn)行處理,這樣既可消除釋放抖動的干擾。通過延時來等待信號穩(wěn)定,在信號穩(wěn)定后查詢鍵碼。但由于在按動按鍵時總有一些抖動,因此在負(fù)脈沖的開始和末尾部位總要出現(xiàn)一些毛齒波,毛齒波的長短與開關(guān)的機(jī)械特性有關(guān),一般為5~10ms。圖中可見,鍵盤掃描子程序要完成以下的功能:1) 判斷鍵盤上有無鍵按下。此讀寫系統(tǒng)中,鍵盤采用編程掃描方式。單片機(jī)分別從EEPROM和IC卡中讀出IC卡的卡號,兩者加以比較來判斷是否為本功能所對應(yīng)的卡。然后判斷插入的卡是否短路,如果短路則給IC卡下電。 //CPU開中斷IDL=1。Read24c02(p,addrl,2); //從24c02中讀出掉電時保存的數(shù)據(jù)consl=OxOOOF。主程序的流程圖如圖51所示。圖49 顯示器與單片機(jī)接口電路第五章 系統(tǒng)軟件設(shè)計本章主要介紹接觸式IC卡讀寫器的程序設(shè)計。 上面所述是LED顯示的基本原理,根據(jù)這些基本原理,選擇不同的軟硬件方法都可以實現(xiàn)LED顯示。而各位的共陽極或共陰極分別由相應(yīng)的I/O口線控制,實現(xiàn)各位的分時選通。靜態(tài)顯示時顯示器中的各位相互獨立,而且各位顯示字符一經(jīng)確定,相應(yīng)鎖存器的輸出將維持不變,直到顯示另一個字符為止。l LED顯示器LED顯示塊由發(fā)光二極管顯示字段組成,有7段和“米”字段之分,顯示塊有共陽極和共陰極兩種。掃描信號通過74LS164移位,實現(xiàn)逐列置低電平,達(dá)到掃描各鍵的目的。圖48為鍵盤與單片機(jī)的接口電路。 工作狀態(tài)提示電路 若插入系統(tǒng)的IC卡是可操作卡,讀寫系統(tǒng)能進(jìn)行正常的讀寫,則圖46中的L1指示燈點亮。圖45 掉電檢測電路 R8為LM336提供合適的工作電流,LM336上端作為電壓基準(zhǔn),RR11對5V電壓分壓,與VZ 做比較。在串行時鐘和數(shù)據(jù)端接了上拉電路R14和R15。 串行通信電路由于PC機(jī)的串口電壓為177。以后每向卡發(fā)一個節(jié)拍的時鐘,都將使IC卡的地址計數(shù)器加“1”,這一時鐘頻率上限為50kHz或280kHz。,使端口邏輯信號穩(wěn)定 SETB POWER 。下電控制CLR RST 。使CLK二LLCALL DELAY_500us 。下面是上下電程序控制過程:POWERON: 。再次判斷,若無卡輸入等待RET …… 。IC卡插入識別程序如下所示:RE_ DETECT:SETB IC_SWMOV C,IC_SW 。IC卡的控制與讀寫是IC卡接口設(shè)備中的核心操作部分,各種IC卡的實際操作有較大的不同,(ISO7816標(biāo)準(zhǔn)只定義了一個最小操作,因而符合這一標(biāo)準(zhǔn)的卡亦不能保證其他操作的一致性),這里先選擇其中較具共性的部分介紹,后面會針對SLE4442芯片的具體操作做詳細(xì)說明。 圖42 IC卡接口電路 RVDVT1組成卡上下電電路。IC卡接口設(shè)備中的IC卡供電電路應(yīng)是一個相對獨立于其他回路,并提供完善的過流保護(hù)措施的穩(wěn)壓電路,這是由于IC卡接口設(shè)備是一個獨立于IC卡的設(shè)備,當(dāng)有卡插入時,接口設(shè)備便開始向IC卡提供其所需的電力。很多讀寫設(shè)備除了對卡的基本操作外,還設(shè)計了其他一些重要功能:l 必要的控制界面和顯示界面。l 向IC卡提供其所需的穩(wěn)定的電源與時鐘信號。第四章 硬件電路設(shè)計所設(shè)計的讀寫器以8051單片機(jī)為核心,配以IC卡接口電路、串行通信電路、存儲電路、掉電檢測電路、鍵盤顯示電路等部分。在本設(shè)計中,根據(jù)IC卡讀寫器的輸入需要,選擇采用一個44的16按鍵矩陣式鍵盤接口,分別作為0~9的數(shù)字輸入, 6個功能按鍵輸入。主要特點 l 單5V電源工作;l 兩個驅(qū)動器及兩個接收器;l 177。該產(chǎn)品是由德州儀器公司(TI)推出的一款兼容RS232標(biāo)準(zhǔn)的芯片。l A0、AA2:器件地址輸入端。圖35 AT24C02管腳圖l SCL:串行時鐘輸入線。因此,本系統(tǒng)選用美國Microchip公司生產(chǎn)的AT24C02芯片,不但能最大限度地利用其容量,且不用地址譯碼,不占用外存空間。 存儲芯片的選擇在此讀寫系統(tǒng)中,單片機(jī)必須擴(kuò)展片外E178。在確認(rèn)一致的情況下,保護(hù)字位被寫0。在處理模式期間,可能有幾種情況:——擦除和寫入至少需要5ms——只寫入不擦除,——只擦除不寫入,l 修改加密存儲器:該命令是根據(jù)所傳送的字節(jié)數(shù)和要修改的數(shù)據(jù),將加密存儲器中相應(yīng)字節(jié)的內(nèi)容進(jìn)行修改。其后再附加一個時鐘脈沖將I/O線置成高狀態(tài)。最后一個附加時鐘將I/O線置為H狀態(tài)。在該命令輸入以后,接口設(shè)備IFD必須提供足夠的時鐘脈沖。SLE4442芯片具有七種命令,其格式和功能見下表32表32命令格式及功能字節(jié)1(控制)字節(jié)2(地址)字節(jié)3(數(shù)據(jù))功能命令模式30H38 H34 H3B H31 H39 H33 H地址數(shù)地址數(shù)無效地址數(shù)無效地址數(shù)地址數(shù)無效輸入數(shù)據(jù)無效輸入數(shù)據(jù)無效輸入數(shù)據(jù)輸入數(shù)據(jù)讀存儲器修改存儲器讀保護(hù)存儲器寫保護(hù)存儲器讀加密存儲器修改加密存儲器比較校驗數(shù)據(jù)輸出數(shù)據(jù)模式處理模式輸出數(shù)據(jù)模式處理模式輸出數(shù)據(jù)模式處理模式處理模式2)有關(guān)命令的說明:l 讀主存儲器:該命令是指讀出主存儲器的內(nèi)容。圖34處理數(shù)據(jù)模式的時序關(guān)系 芯片的操作命令 1)命令的格式:每條命令包含三個字節(jié),其順序如下:MSB控制字 LSBMSB地址字 LSBMSB數(shù)據(jù)字 LSBB7 B6 B5 B4 B3 B2 B1 B0A7 A6A5 A4 A3 A2 A1 A0D7 D6 D5 D4 D3 D2 D1D0命令的傳送總是從控制字節(jié)開始。圖34為處理數(shù)據(jù)模式的時序關(guān)系。其輸出的順序是從每個字節(jié)的最低位開始。圖32命令模式的時序關(guān)系3) 輸出數(shù)據(jù)模式:這種模式是將IC卡芯片中的數(shù)據(jù)傳送給外部接口設(shè)備的一種操作。圖32為命令模式時序關(guān)系。圖31芯片復(fù)位及復(fù)位響應(yīng)的時序關(guān)系2)命令模式:復(fù)位響應(yīng)之后,芯片等待著命令。若連續(xù)輸入32個時鐘脈沖,主存儲器中的前4個字節(jié)地址單元中的內(nèi)容被讀出。I/O線上數(shù)據(jù)變化只在CLK信號的下降沿才有效。值得注意的是:這3個字節(jié)的內(nèi)容在PSC比較成功前是不可讀的,只能進(jìn)行比較操作。只要計數(shù)器的內(nèi)容不全為0,則芯片的比較“校驗字”操作還允許進(jìn)行。每次比較密碼時,先判斷計數(shù)器中是否還有“1”。在這個存儲器中,第0字節(jié)為“密碼輸入錯誤計數(shù)器”(EC)。但對其寫入操作仍然受到加密存儲器比較校驗操作結(jié)果的控制。從控制方面來說,保護(hù)存儲器的內(nèi)容只能從“1寫成“0”而不能從“0”擦除成“1”。它是按字位方式尋址和寫入。如果在連續(xù)三次比較失敗之后,芯片的錯誤計數(shù)器計數(shù)到“0”,并將鎖死主存儲器,禁止隨后的任何比較操作和寫入擦除操作。當(dāng)需要修改應(yīng)用數(shù)據(jù)區(qū)的內(nèi)容時,必須首先輸入
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1