基于51单片机的接触式IC卡设计相关资料(8)

2019-08-31 00:15

第四章 硬件电路设计

p2.3p2.2R165.1KS16VCC+5S1S2S3S4S5S6S7S8S9S10S12S11U5S13S15S14U61234567AVccBQHQAQGQBQEQCQFQDCLRGNDCLK74LS1641413121110981234567AVccBQHQAQGQBQEQCQFQDCLRGNDCLK74LS164141312111098p2.4GND

图4-8 8051与键盘接口电路

图中,P2.2为行线,接有上拉电阻 R=5V/1 mA=5kΩ。 因而选用5.1KΩ的电阻,上拉电阻保证了没有键输入时,I/O口线上有确定的高电平输入。由P2.3端输出列扫描信号,通过移位寄存器74LS164输出端QA~QH接至键盘作为键盘列线。扫描信号通过74LS164移位,实现逐列置低电平,达到扫描各键的目的。

4.7 显示电路

应用系统中常用的显示器有:发光二极管显示器,简称LED;液晶显示器,简称LCD;荧光显示器。前面两种显示器使用最多,下面就这两种显示器的基木原理和使用方法做简要说明。

? LED显示器

LED显示块由发光二极管显示字段组成,有7段和“米”字段之分,显示块有共阳极和共阴极两种。把每个显示字段对应于一个二进制位,这些二进制位组成字型编码,这样不同的显示字符就对应于不同的字型码,显示字符时,在显示I/O驱动线输出相应的字型码,就可以显示不同的字符。N位LED显示器需要N片LED显示块拼接。

LED显示方式分静态显示和动态显示。静态显示时显示器中的各位相互独

- 31 -

第四章 硬件电路设计

立,而且各位显示字符一经确定,相应锁存器的输出将维持不变,直到显示另一个字符为止。这种显示方式接口编程容易,管理简单,但占用口线资源较多。在显示位较多时,一般都采用动态显示方式。LED动态显示时,为了简化硬件电路,通常将所有的段选线并联在一起,由一个(C7段LED)或两个(“米”字段LED)8 位I/O控制,形成段选线的多路复用。而各位的共阳极或共阴极分别由相应的I/O口线控制,实现各位的分时选通。若要各位LED能够显示出与本位相应的显示字符,就必须采用扫描显示方式,即在某一时刻只让某一位的位选线处于选通状态,而其他各位的位选线处于关闭状态,同时,段选线上输出相应位要显示字符的字形码,这样同一时刻只有一位显示出字符。在下一时刻,只让下一位的位选线处于选通状态,同时,在段选线上输出相应位将要显示字符的字符码。由于人眼的视觉暂留,只要每位显示间隔足够短,如此循坏就可以使各位显示出将要显示的字符,达到显示目的。

上面所述是LED显示的基本原理,根据这些基本原理,选择不同的软硬件方法都可以实现LED显示。

? 液晶显示器LCD

LCD是一种极低功耗显示器,目前,高分辨率的LCD点阵式显示器有显示灵活,显示图型字符美观等优点,在很多系统中应用非常广泛。

显示设计使用现有的液晶显示功能模块SMG12232B-2,该模块能提供122*22的分辨率,带中文字库,更重要的是它可以有并行和串行两种输入方式,接口方便,这样我们可以使用单片机的异步通讯口驱动显示模块,软硬件实现都非常简单,外围电路非常简洁。

图4-9是单片机与显示器的接口电路。

- 32 -

第四章 硬件电路设计

VCCR17R18R19R20R21R22R23R2410K10K10K10K10K10K10K10KU11234567891011121314151617181920P10/T2P11/T2EXP12P13P14P15P16P17RST/VPDRXDTXDINT0INT1T0T1WRRDX2X1Vss8051VCCP00P01P02P03P04P05P06P07EA/VPPALE/PROGPSENP27P26P25P24P23P22P21P2040393837363534333231302928272625242322212109876543151416U7VCCDB0DB1DB2DB3DB4DB5DB6DB7CS2CS1A0WRRDRSTGND1213111SMG12232B-2GND

图4-9 显示器与单片机接口电路

- 33 -

第五章 系统软件设计

第五章 系统软件设计

本章主要介绍接触式IC卡读写器的程序设计。本设计的所有程序用C51语言编写,由主程序和子程序组成。其中子程序包括比较校验数据子程序、插卡子程序、显示中断子程序。

5.1 主程序

主程序主要完成初始化并检测系统的状态,如果是刚上电状态,则恢复掉电瞬间保存的数据。主程序的流程图如图5-1所示。

主程序如下:

#include< at8051.h> //头文件 #define uint unsigned int #define uchar unsigned char #define addrl 0x40

uint data consl; //全局变量定义 uchar data cons2[2]={0,0}; main ( )

{ uchar data *p; //指针定义

if(consl==0) //判断是否刚上电状态

{ p=cons2;

Read24c02(p,addrl,2); //从24c02中读出掉电时保存的数据 consl=OxOOOF; //修改标志位 }

ITO=1; //外部中断0下降沿触发 EXO=1; //外部中断0开中断 EA=1; //CPU开中断 IDL=1; //设置节电工作方式 do{ }while(1);

- 34 -

第五章 系统软件设计

}

图5-1主程序流程图

5.2 插卡子程序

当系统检测到有卡插入时,这时进入插卡子程序。在单片机的控制下给IC 卡供电,并且指示灯亮。然后判断插入的卡是否短路,如果短路则给IC卡下电。单片机从卡中读出卡标识,判断是用户卡是否合法,并调跳到相应的子程序。插卡子程序流程图如图5-2所示。

- 35 -


基于51单片机的接触式IC卡设计相关资料(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:西工大16秋《助剂化学》在线作业

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: