按照公安部規定,我國從 2004 年開始換發第二代居民身份證,預計到 2008 年基本完成第二代居民身份證的換發工作。第二代身份證與第一代身份證最大的區別在于:它的內部嵌入了一枚指甲蓋大小的非接觸式 IC 芯片,該芯片內存儲有姓名、性別等9項信息。本課題設計出一款基于 ARM 和 GPRS 技術的第二代身份證無線手持閱讀器,該閱讀器能讀出第二代身份證內 IC 卡信息,并可通過 GPRS 網絡將信息進行無線傳輸。 本文以該閱讀器的設計為主線,論述的主要內容如下: 1.介紹了課題背景及意義。全國 9 億第二代身份證的換發,必然帶來各行業對閱讀器的大量需求,而現有閱讀器的弊端促使了對閱讀器做更深入的研究。 2.介紹了相關概念及技術,包括:無線射頻識別技術、ISO/IEC14443 協議、嵌入式系統、ARM、GPRS技術等。 3.詳細介紹了該閱讀器的硬件設計方法,并給出主要硬件模塊電路原理圖及其 PCB 板設計方法,同時也簡單介紹了硬件的焊接和調試過程。 4.詳細介紹了該閱讀器的軟件設計方法,包括:讀卡模塊驅動程序、GPRS 模塊驅動程序、人機對話模塊驅動程序、I/O 口驅動程序的流程圖和部分代碼。 5.為使該閱讀器安全可靠地運行,對閱讀器進行了各種功能測試,包括:讀卡功能、GPRS 數據傳輸功能、人機接口功能。 通過功能測試,該閱讀器能準確讀取第二代身份證內信息并通過GPRS 網絡成功將信息發送出去。該閱讀器與市面上現有的閱讀器相比,具有可脫機操作、無線傳輸、小巧靈便的優點。由于該閱讀器軟件采用模塊化的設計方法,可以方便移植到其他非接觸卡閱讀器中,因此本閱讀器具有非常廣泛的應用前景。
上傳時間: 2013-06-10
上傳用戶:爺的氣質
隨著計算機和網絡技術應用的擴展,電能的遠程自動監測、計算與收費的方案逐步被采用,能源計量儀表的數據自動抄收及遠傳系統的建設成為智能化住宅的基本配置之一。 本文針對校園的學生宿舍的電表收費進行了探討,到目前為止、按照收費方式電子式電能表可以分為:接觸式和非接觸式的IC卡預付費電表、復費率電表、和分時預付費的復費率電表。針對這幾種電表的抄表方式也各不相同,預付費電表主要是應用IC卡充值的方法付費、而復費率的電表主要是采用人工抄表和布線抄表的方法、而分時預付費復費率的電表主要是使用IC卡充值之后,利用實時時鐘在用電峰谷時對存儲在電表能的金額進行扣除。文中設計的自動抄表系統可以實現對上述三種電表的抄錄工作,尤其是針對校園學生宿舍等應用場所具用重要的意義。 文章提出了整體的方案設計,三級網絡分別應用了無線傳輸和網絡傳輸的方案,解決了遠程電能計量計費系統的由集中器和采集器(采集終端)以及通信信道與抄表軟件組成的部分即:集中器到抄表中心的上行信道、集中器至采集器(采集終端)或水電氣表間的下行信道。在整體設計思路介紹之后,文章花主要篇幅分章節介紹了復費率電能計量儀表、基于arm和uclinux的無線收發集中控制器的軟硬件,上位機的主控界面的設計。其中電能表的開發分塊介紹了軟硬件的各個部分,集中控制器由于嵌入了實時操作系統uclinux,著重講述了基于操作系統的應用程序的開發,主站界面介紹了簡單的測試程序。然后通過測試的結果說明了課題設計的系統實現了數據的基本采集和控制的情況,最后本文總結了研究的成果,并提出了改進的方向。
上傳時間: 2013-07-04
上傳用戶:咔樂塢
本文介紹了一種非接觸式IC卡節水控制器的設計方案,首先給出了基于AT89C51單片機的水控器的總體設計方案,接著對基于MFRC500芯片的射頻讀寫模塊進行了較詳細的設計,然后給出了系統的軟件設計流程,最后對讀寫器與IC卡通訊的流程進行了說明。
上傳時間: 2013-04-24
上傳用戶:Ten_Gallon_Head
TinySwitch II系列產品可廣泛用于23W 以下小功率、低成本的高效開關電源。例如,IC 卡付費電度表中的小型化開關電源模塊,手機電池恒壓/恒流充電器,電源適配器 (Powersupplyadapter),微機、彩電、激光打印機、錄像機、攝錄像機等高檔家用電器中的待機電源(Standbypowersupply),還適用于ISDN及DSL 網絡終端設備。
上傳時間: 2013-04-24
上傳用戶:jlyaccounts
特點: 精確度0.1%滿刻度 可作各式數學演算式功能如:A+B/A-B/AxB/A/B/A&B(Hi or Lo)/|A|/ 16 BIT類比輸出功能 輸入與輸出絕緣耐壓2仟伏特/1分鐘(input/output/power) 寬范圍交直流兩用電源設計 尺寸小,穩定性高
上傳時間: 2014-12-23
上傳用戶:ydd3625
特點(FEATURES) 精確度0.1%滿刻度 (Accuracy 0.1%F.S.) 可作各式數學演算式功能如:A+B/A-B/AxB/A/B/A&B(Hi or Lo)/|A| (Math functioA+B/A-B/AxB/A/B/A&B(Hi&Lo)/|A|/etc.....) 16 BIT 類比輸出功能(16 bit DAC isolating analog output function) 輸入/輸出1/輸出2絕緣耐壓2仟伏特/1分鐘(Dielectric strength 2KVac/1min. (input/output1/output2/power)) 寬范圍交直流兩用電源設計(Wide input range for auxiliary power) 尺寸小,穩定性高(Dimension small and High stability)
上傳時間: 2013-11-24
上傳用戶:541657925
/*--------- 8051內核特殊功能寄存器 -------------*/ sfr ACC = 0xE0; //累加器 sfr B = 0xF0; //B 寄存器 sfr PSW = 0xD0; //程序狀態字寄存器 sbit CY = PSW^7; //進位標志位 sbit AC = PSW^6; //輔助進位標志位 sbit F0 = PSW^5; //用戶標志位0 sbit RS1 = PSW^4; //工作寄存器組選擇控制位 sbit RS0 = PSW^3; //工作寄存器組選擇控制位 sbit OV = PSW^2; //溢出標志位 sbit F1 = PSW^1; //用戶標志位1 sbit P = PSW^0; //奇偶標志位 sfr SP = 0x81; //堆棧指針寄存器 sfr DPL = 0x82; //數據指針0低字節 sfr DPH = 0x83; //數據指針0高字節 /*------------ 系統管理特殊功能寄存器 -------------*/ sfr PCON = 0x87; //電源控制寄存器 sfr AUXR = 0x8E; //輔助寄存器 sfr AUXR1 = 0xA2; //輔助寄存器1 sfr WAKE_CLKO = 0x8F; //時鐘輸出和喚醒控制寄存器 sfr CLK_DIV = 0x97; //時鐘分頻控制寄存器 sfr BUS_SPEED = 0xA1; //總線速度控制寄存器 /*----------- 中斷控制特殊功能寄存器 --------------*/ sfr IE = 0xA8; //中斷允許寄存器 sbit EA = IE^7; //總中斷允許位 sbit ELVD = IE^6; //低電壓檢測中斷控制位 8051
上傳時間: 2013-10-30
上傳用戶:yxgi5
首次介紹EPSON公司EOC88系列8位單片機的技術書籍。全書對近十種單片機的多功能接口、應用及其開發技術作了系統及詳細地闡述:包括CPU及其指令、工作方式與存儲器擴展,各類定時/計數器,聲音發生器,LCD驅動控制器,串行口及紅外收發控制器,觸摸屏控制器,A/D、D/A轉換器,SVD電路及其操作流程;在應用中介紹了交通管理IC卡讀寫器、電子門鎖及高檔股票機等;最后對EOC88系列單片機的開發工具與開發技術作了詳細地描述。<br>本書可作為大專院校有關專業師生的教學參考,也是從事單片機應用與開發的廣大工程技術人員必備的參考資料。 第一章EOC88系列單片機CPU結構及其指令系統 1.1單片機概述 1.2EOC88系列單片機CPU結構 1.2.1運算器與寄存器結構 1.2.2CPU工作方式單片機工作方式 1.3單片機的存儲器結構 1.3.1程序存儲器 1.3.2數據存儲器 1.3.3存儲器映象I/O尋址 1.4CPU操作及其時序 1.4.1時序發生器與總線控制 1.4.2單片機的操作時序 1.5總線方式及其擴展 1.5.1總線方式 1.5.2單片機總線擴展 1.5.3系統控制與總線控制 1.6單片機指令系統 1.6.1單片機尋址方式 1.6.2指令格式 1.6.3指令系統 第二章EOC88系列單征機制接口技術 2.1電源 2.2初始化復位 2.3接口電路及其操作 2.3.1系統控制器與總線控制 2.3.2振蕩電路及其操作 2.3.3監測定時器 2.3.4輸入口 2.3.5輸出口 2.3.6I/O口 2.3.7串行口 2.3.8紅外通訊接口 2.3.9時鐘計時器 2.3.10秒表計時器 2.3.11可編程定時/計數器 2.3.12LCD驅動器與控制器 2.3.13聲音發生器 2.3.14模擬比較器 2.3.15模擬比較器 2.3.16A/D轉換器 2.3.17D/A轉換器 2.3.18電源電壓檢測電路 2.3.19中斷系統 第三章應用 3.1電子門鎖 3.1.1電子門鎖 3.1.2EOC88104單片機的控制信號 3.1.3程序流程 3.2手持式"交通卡"讀寫器 3.2.1結構 3.2.2操作流程與編程注意事項 3.3高檔股票信息機 3.3.1性能 3.3.2EOC88系列單片機開發系統組成及開發過程 第四章系統組成概述 4.1系統組成概述 4.2主計算機位置 4.3硬件開發工具概述 4.3.1內電路仿真器 4.3.2外圍電路板 4.3.3內電路仿真器操作軟件在Windows上的安裝 4.4軟件開發工具 4.4.1EOC88系列"結構匯編器"軟件包 4.4.2EOC88XXX開發工具軟件包 4.5開發過程概述 4.6匯編語言源文件的編制 4.6.1EOC88系列單片機 4.6.2偽指令 4.6.3宏指令 4.6.4條件匯編 4.6.5輸出表格控制 4.7各軟件工具在開發過程中的使用 4.7.1結構預處理器 4.7.2交叉匯編器 4.7.3連接器 4.7.4連接命令參數文件的生成 4.7.5二進制/十六進制轉換器 4.7.6符號信息生成器 4.7.7符號表文件生成器 4.7.8程序未使用區填充器 4.7.9功能選擇生成器 4.7.10掩模數據檢查器 4.7.11批處理文件 4.8仿真調試 4.8.1調試功能概述 4.8.2開發系統仿真調試命令 4.8.3開發系統仿真調試操作 4.8.4開發系統運行注意事項
上傳時間: 2013-10-24
上傳用戶:鳳臨西北
TLC2543是TI公司的12位串行模數轉換器,使用開關電容逐次逼近技術完成A/D轉換過程。由于是串行輸入結構,能夠節省51系列單片機I/O資源;且價格適中,分辨率較高,因此在儀器儀表中有較為廣泛的應用。 TLC2543的特點 (1)12位分辯率A/D轉換器; (2)在工作溫度范圍內10μs轉換時間; (3)11個模擬輸入通道; (4)3路內置自測試方式; (5)采樣率為66kbps; (6)線性誤差±1LSBmax; (7)有轉換結束輸出EOC; (8)具有單、雙極性輸出; (9)可編程的MSB或LSB前導; (10)可編程輸出數據長度。 TLC2543的引腳排列及說明 TLC2543有兩種封裝形式:DB、DW或N封裝以及FN封裝,這兩種封裝的引腳排列如圖1,引腳說明見表1 TLC2543電路圖和程序欣賞 #include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit clock=P1^0; sbit d_in=P1^1; sbit d_out=P1^2; sbit _cs=P1^3; uchar a1,b1,c1,d1; float sum,sum1; double sum_final1; double sum_final; uchar duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar wei[]={0xf7,0xfb,0xfd,0xfe}; void delay(unsigned char b) //50us { unsigned char a; for(;b>0;b--) for(a=22;a>0;a--); } void display(uchar a,uchar b,uchar c,uchar d) { P0=duan[a]|0x80; P2=wei[0]; delay(5); P2=0xff; P0=duan[b]; P2=wei[1]; delay(5); P2=0xff; P0=duan[c]; P2=wei[2]; delay(5); P2=0xff; P0=duan[d]; P2=wei[3]; delay(5); P2=0xff; } uint read(uchar port) { uchar i,al=0,ah=0; unsigned long ad; clock=0; _cs=0; port<<=4; for(i=0;i<4;i++) { d_in=port&0x80; clock=1; clock=0; port<<=1; } d_in=0; for(i=0;i<8;i++) { clock=1; clock=0; } _cs=1; delay(5); _cs=0; for(i=0;i<4;i++) { clock=1; ah<<=1; if(d_out)ah|=0x01; clock=0; } for(i=0;i<8;i++) { clock=1; al<<=1; if(d_out) al|=0x01; clock=0; } _cs=1; ad=(uint)ah; ad<<=8; ad|=al; return(ad); } void main() { uchar j; sum=0;sum1=0; sum_final=0; sum_final1=0; while(1) { for(j=0;j<128;j++) { sum1+=read(1); display(a1,b1,c1,d1); } sum=sum1/128; sum1=0; sum_final1=(sum/4095)*5; sum_final=sum_final1*1000; a1=(int)sum_final/1000; b1=(int)sum_final%1000/100; c1=(int)sum_final%1000%100/10; d1=(int)sum_final%10; display(a1,b1,c1,d1); } }
上傳時間: 2013-11-19
上傳用戶:shen1230
#include<iom16v.h> #include<macros.h> #define uint unsigned int #define uchar unsigned char uint a,b,c,d=0; void delay(c) { for for(a=0;a<c;a++) for(b=0;b<12;b++); }; uchar tab[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,
上傳時間: 2013-10-21
上傳用戶:13788529953