pic單片機(jī)實(shí)際應(yīng)用,基于pic單片機(jī)實(shí)現(xiàn)IC卡讀寫器(下)
對(duì)于pic單片機(jī),大家都很熟悉,pic單片機(jī)是諸多類型單片機(jī)中最為受用的一款。本文是《pic單片機(jī)實(shí)際應(yīng)用,基于pic單片機(jī)實(shí)現(xiàn)IC卡讀寫器(上)》的余下內(nèi)容。如果你對(duì)pic單片機(jī)具有興趣,抑或?qū)ic單片機(jī)的應(yīng)用充滿好奇,不妨繼續(xù)往下閱讀哦。
1. IC卡
IC卡是集成電路卡(Integrated Circuit Card)的簡(jiǎn)稱,有些國(guó)家和地址稱其為智能卡(Smart Card)、芯片卡(Chip Card)。國(guó)際標(biāo)準(zhǔn)化組織(ISO)在ISO7816標(biāo)準(zhǔn)中規(guī)定,IC卡是指在由聚氯乙烯(PVC)或聚氯乙烯酸脂(PVCA)材料制成的塑料卡內(nèi)嵌入式處理器和存儲(chǔ)器等IC芯片的數(shù)據(jù)卡。近年來(lái),由于導(dǎo)半體技術(shù)的進(jìn)步,集成化程度和存儲(chǔ)器容量有了很大提高,并使CPU和存儲(chǔ)器集成在一個(gè)芯片上,從而提高了數(shù)據(jù)的安全性。
在本設(shè)計(jì)中,IC卡采用的是AT45DB041B-SC芯片,該芯片的特點(diǎn)如一下:
*單一的2.7V~3.6V電源;
*串行接口結(jié)構(gòu);
*頁(yè)面編程操作,單一的循環(huán)重復(fù)編程(擦除和編程,2048頁(yè)(每頁(yè)264字節(jié))主存;
*兩個(gè)264字節(jié)的SRAM數(shù)據(jù)緩存,允許在重編程非易失性存儲(chǔ)器時(shí)接收數(shù)據(jù);
*內(nèi)置的編程和控制定時(shí)器;
*低功耗,4mA有源讀取電流,2μA CMOS備用電流;
*15MHz的最大時(shí)鐘頻率;
*串行外圍接口方式(SPI)——模式0和3;
*CMOS的TTL兼容的輸入和輸出;
*5.0V可承受的輸入,SI、SCK、CS(低電平有效)、RESET(低電平有效)。
在本設(shè)計(jì)的調(diào)試過(guò)程中,曾測(cè)試過(guò)IC卡的輸入輸出電平,結(jié)果證明這種IC卡的輸入電平與TTL兼容,而輸出電平與TTL不兼容。
2. IC卡的電源提供電路
在本設(shè)計(jì)中,由于IC卡的電源電壓范圍為+2.7~+3.6V,而PIC單片機(jī)需要的電源為+5V,而且穩(wěn)壓源提供的電壓也是+5V,因此,要設(shè)計(jì)一個(gè)穩(wěn)壓模塊,給IC卡提供+3V左右的電壓。設(shè)計(jì)電路如圖3所示。
該電路的主要元件為L(zhǎng)M317芯片,它是三端可調(diào)集成穩(wěn)壓器,輸出電壓為1.25~37V范圍內(nèi)可調(diào)。當(dāng)其Vin端的輸入電壓在2~40V范圍內(nèi)變化時(shí),電路均能正常工作,輸出端Vout和調(diào)整端ADJ間的電壓等于基準(zhǔn)電壓1.25V。該芯片內(nèi)的基電路的工作電流IREF很小,約為50μA,由一個(gè)恒流性很好的恒流源提供,所以它的大小不受供電電壓的影響,非常穩(wěn)定。在圖3中,B點(diǎn)為電壓輸出端,為IC卡提供電壓。A點(diǎn)為控制端,與單片機(jī)的一個(gè)端口引腳相連,當(dāng)該引腳為低電平時(shí),三極管Q1不工作,B點(diǎn)輸出電壓約為3.15V;當(dāng)該引腳為高電平時(shí),三極管Q1工作,B點(diǎn)輸出電壓約為1.25V。在程序中查詢IC卡插座中是否有IC卡,當(dāng)有IC卡時(shí),將A點(diǎn)所連的單片機(jī)引腳設(shè)置為低電平,從而為IC卡提供電源;當(dāng)沒有IC卡或?qū)C卡的操作結(jié)束時(shí),將A點(diǎn)連的單片機(jī)引腳設(shè)置為高電平,從而不給IC卡提供電源。
IC卡的上電和下電程序如下。
IC卡上電子程序 IC卡下電子程序
POWERON POWEROOF
BSF STATUS,RP0 BSFSTATUS,RP0
BCF TRISE,0 BCF TRISE,0
BCF RTISE,1 BCF TRISE,1
BCF STATUS,RP0 BCF STATUS,RP0
BCF PORTE,0 BSF PORTE,0
BCF PORTE,1 BSF PORTE,1
CALL DLYTIM CALL DLYTIM
RETURN RETURN
在本設(shè)計(jì)中,單片機(jī)與IC卡通信的主程序流程圖如圖4所示。
3. 與PC機(jī)的通信
在本設(shè)計(jì)中,有PIC單片機(jī)與PC機(jī)串行通信的功能。由于本設(shè)計(jì)所用的單片機(jī)PIC16F877有USART方式,該方式可將C口的RC5和RC7設(shè)置成異步串行通信模式,因而在本設(shè)計(jì)中,與PC機(jī)的通信模塊電路就比較簡(jiǎn)單。將單片機(jī)C口的RC6和RC7設(shè)置為異步串行通信模式,經(jīng)過(guò)MAX232A芯片進(jìn)行電平轉(zhuǎn)換后,將TTL電平轉(zhuǎn)換為RS232電平,再與DB9接口相連,即可實(shí)現(xiàn)通信。在PC機(jī)端,可以用VC等編程工具根據(jù)通信協(xié)議編寫軟件來(lái)控制對(duì)IC卡的讀寫操作。
4. 結(jié)論
經(jīng)過(guò)調(diào)試,本設(shè)計(jì)能夠在脫離在線仿真器的情況下,上電后獨(dú)立的運(yùn)行程序,并能在PC機(jī)軟件的控制下,實(shí)現(xiàn)對(duì)IC卡中任意位置的讀寫,其中讀寫的起始地址、讀寫數(shù)據(jù)的個(gè)數(shù)以及數(shù)據(jù)內(nèi)容可以在PC機(jī)端輸入或選擇。
本設(shè)計(jì)已在實(shí)際應(yīng)用中測(cè)試過(guò),具有實(shí)用價(jià)值。由于本設(shè)計(jì)中所使用的PIC單片機(jī)的程序存儲(chǔ)器較大(8KB),因而可以編寫較大的程序,實(shí)現(xiàn)多合一該卡器并由PC機(jī)控制讀寫哪種芯片的IC卡。另外,由于本設(shè)計(jì)所使用單片機(jī)的程序存儲(chǔ)器是Flash存儲(chǔ)器,因而可以方便地實(shí)現(xiàn)程序的下載和升級(jí)。
以上便是此次小編帶來(lái)的“pic單片機(jī)”相關(guān)內(nèi)容,通過(guò)本文,希望大家對(duì)本文的設(shè)計(jì)具備一定的了解。如果你喜歡本文,不妨持續(xù)關(guān)注我們網(wǎng)站哦,小編將于后期帶來(lái)更多精彩內(nèi)容。最后,十分感謝大家的閱讀,have a nice day!