按照公安部规定,我国从 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