《IC卡读写器项目》PPT课件

《IC卡读写器项目》PPT课件

ID:45088297

大小:601.50 KB

页数:52页

时间:2019-11-09

《IC卡读写器项目》PPT课件_第1页
《IC卡读写器项目》PPT课件_第2页
《IC卡读写器项目》PPT课件_第3页
《IC卡读写器项目》PPT课件_第4页
《IC卡读写器项目》PPT课件_第5页
资源描述:

《《IC卡读写器项目》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、IC卡读写器项目SLE4442第1部分实现读写卡功能第2部分 实现读出的数显示在LED一、创建项目1.把读写IC卡的C程序模块复制到ICCARD目录,并改名为ICRW.C2.把键盘显示的C程序模块复制到ICCARD目录,并改名为KeyScan.C3.用KEIL创建项目IC,并加入上面两文件二、修改KeyScan.c1.打开KeyScan.c,并把其main()函数改为KeyScan()三、修改ICRW.C1.注释掉函数DELAY_LED(uchari)的定义及声明2.注释掉ICRW.C中的显示部分代码,如图:三、修改ICRW.C3.新增七段LED显示的代码从卡片中读回

2、的数从数组的1号元素开始存放三、修改ICRW.C4.声明定义在外部的两个数组、一个函数三、修改ICRW.C5.可以注释掉原来的写卡部分的代码,如图:第3部分 实现消费金额的输入 (键盘输入数据)一、修改KeyScan.c1.增加一个输入缓存的数组定义,如图黑色背景部分因为从卡片读回的数据从数组的1号元素开始存放,为了对齐,键盘缓存也从1号元素开始存放,所以定义数组为7个元素2.修改KeyScan()函数思想:从键盘接收了按键的键码后,存入数组InBuf[],然后查出对应的LED段码,送入显示缓存LEDBuf[]3.修改ICRW.C.在ICRW.C中增加键盘输入缓存的定

3、义,如图黑色背景部分:.在ICRW.C中检测键盘,如有按键被按下,调用KeyScan(),如图黑色背景部分:第4部分 实现卡的余额减消费额一、完成BCD码减法运算模块的调试//实现BCD码格式的6位数相减@CopyrightJX//unsignedcharsource[7]={0,4,6,0,5,6,8};//存放被减数的数组,BCD码格式//unsignedchardec[7]={0,1,6,7,6,9,4};//存放减数的数组,BCD码格式voidvoidsave2arr(unsignedcharsource[],longsour)//减法结果存回被减数数组{so

4、urce[1]=sour/100000;sour=sour%100000;source[2]=sour/10000;sour=sour%10000;source[3]=sour/1000;sour=sour%1000;source[4]=sour/100;sour=sour%100;source[5]=sour/10;sour=sour%10;source[6]=sour;}longarr2long(unsignedchar*ptr)//将数组中BCD格式的数转为整数{longtemp;temp=ptr[1]*100000;temp+=ptr[2]*10000;tem

5、p+=ptr[3]*1000;temp+=ptr[4]*100;temp+=ptr[5]*10;temp+=ptr[6];returntemp;}main(){longminuend,subtrahend;minuend=arr2long(source);//把被减数转为整数subtrahend=arr2long(dec);//把减数转为整数if(minuend>=subtrahend){minuend-=subtrahend;save2arr(ICDATA_RX,minuend);//结果存回}//else余额不够,报警}二、把dec.加入项目三、修改dec.c1.

6、注销掉前面两个数组的定义,增加两个外部数组的声明1.注销掉前面两个数组的定义,增加两个外部数组的声明2.把主函数中的两个要转换的数组分别改为ICDATA_RX[](存放的是从卡片中读出的余额)、InBuf[](存放的是从键盘输入的消费额)3.把本模块的main()函数名改为dec()四、修改ICRW.C1.增加对BCD码减法运算函数的声明2.在主函数的后面加入减去消费额的函数调用3.修改主函数的显示部分3.修改KeyScan()函数思想:从键盘接收了按键的键码后,存入数组InBuf[],然后查出对应的LED段码,送入显示缓存LEDBuf[]第5部分 发音模块滴一声1

7、.在项目中增加一个发音模块1)新建一C语言文件,代码如下:2)把新建的发音模块加入项目3)修改ICRW.C文件2.编译,运行程序结果:LED上应能显示卡的余额,输入消费额并按下A键后,应能显示出余额减去余额后的结果,并能滴一声.问题:当余额<消费额时,应该报警,如何实现???第6部分 实现余额写回卡片第7部分 实现串口数据传送1.下位机的串口通讯程序1)新建一个Keil工程。。。。2)输入C51程序代码//程序清单:串口发送数据的keil例程//P3.0口接RSD口//p3.1口接TXD口//时钟频率12000000Hz#include"reg52.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。