




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验九:M1卡数据块的值操作一、实验目的1、熟悉rf_increment(块加值)和rf_decrement(块减值)两个函数。2、理解M1卡数值存储格式。二、实验准备M1卡中数值块只能通过以数值块格式的写操作生成。数值:有符号4字节数值,数值的最低字节存储在最低地址字节。负值以标准的2的补码形式存储。出于数据完整性和安全原因,数值存储三次,两次不取反,一次取反。地址(Adr):1字节地址,当进行备份管理时,可用于保存块的地址。地址保存四次。两次取反,两次不取反。三、功能要求1、能够读取M1卡中某块的信息。2、能够进行加值/减值的操作。四、实验内容:1、用Microsoft Visual C+新建一个工程(MFC AppWizardexe),应用程序类型是基本对话框,应用程序向导创建完成之后,系统进入到对话框编译页面的主页面,用控件设计对话框,对话框的设计如下图所示:2、编写程序。(1)、由于本次试验没有用“连接设备”按钮,所以需要让定时器在程序启动时就开始工作,我把启动定时器、连接设备和装载密码的代码放在了初始化程序里面了,代码如下:BOOL CFpzDlg:OnInitDialog()CDialog:OnInitDialog();/ Add About. menu item to system menu.SetTimer(1,1000,NULL);/定义时钟1,时间间隔为1sicdev=rf_usbinit();/返回的设备描述符if (icdev0) /如果设备连接成功。m_list.AddString(设备连接成功!);/在列表框中显示设备连接成功rf_beep(icdev,50);/控制蜂鸣器, 蜂鸣时间50毫秒unsigned char status19;st=rf_get_status(icdev,status);/返回读写器版本信息,长度为18字节if (st=0) /如果设备连接成功。m_list.AddString(char*)status);/在列表框中显示版本号elsem_list.AddString(获取版本号失败!);/在列表框中显示获取版本号失败!unsigned char key6=0xff,0xff,0xff,0xff,0xff,0xff;st=rf_load_key(icdev,0,sector,key);/*向读写器装载指定扇区的新密码(不与卡片进行通讯),密码类型为 KEY A */if(st=0)m_list.AddString(load key right!);/在列表框中显示load key right!elsem_list.AddString(load key fail!);/在列表框中显示load key fail!elsem_list.AddString(连接失败!);/在列表框中显示连接失败!(2)、定时器执行的代码如下:void CCaikaDlg:OnTimer(UINT nIDEvent) / TODO: Add your message handler code here and/or call defaultswitch(nIDEvent)case 1: /1号定时器应该处理的事情unsigned long snr;st=rf_card(icdev,1,&snr);/发送读卡命令if (st=0)m_list.ResetContent();/显示数据之前先清空列表m_list.AddString(读卡成功!);/在显示区显示读卡成功!st=rf_authentication(icdev,0,sector);/*验证1扇区密码*/if (st=0)m_list.AddString(验证密码成功!);/显示扇区号和块号m_list1.ResetContent();/显示之前把列表框清空m_list1.AddString(1);/在扇区号 列表框显示1m_list2.ResetContent();/显示之前把列表框清空m_list2.AddString(2);/在块号列表框显示2/读取当前值m_list3.ResetContent();rf_readval(icdev,6,&value);/读取1扇区2块值操作块值CString str;str.Format(%d,value);/格式转换为10进制m_list3.AddString(str);/显示当前值else/清空所有列表,并在显示框显示请放卡!m_list.ResetContent();m_list.AddString(请放卡!);m_list1.ResetContent();m_list2.ResetContent();m_list3.ResetContent();break;(3)、初始化按钮执行的代码如下:void CCaikaDlg:OnButton15() rf_initval(icdev,6,0); /把1扇区2块初始化为零(4)、加值按钮执行代码如下:void CCaikaDlg:OnButton13() / TODO: Add your control notification handler code hereUpdateData();st=rf_increment(icdev,6,m_edit);/进行减值操作,减数为编辑框里的值m_editif(st=0)m_list.AddString(加值成功!);/在显示框显示加值成功!elsem_list.AddString(加值失败!);/在显示框显示加值失败!/读出并显示当前值rf_readval(icdev,6,&value);/读取1扇区2块值操作块值 CString str;str.Format(%d,value);/格式转换为10进制m_list3.ResetContent();/显示之前把当前值框清空m_list3.AddString(str);/在当前值框显示加值后的值m_edit=0;/编辑框初始化为0UpdateData(false);/把初始化后的m_edit显示在编辑框 (5)、减值按钮执行代码如下:void CCaikaDlg:OnButton14() / TODO: Add your control notification handler code hereUpdateData();st=rf_decrement(icdev,6,m_edit);/进行加值操作,加数为编辑框里的值m_editif(st=0)m_list.AddString(减值成功!);/在显示框显示减值成功!elsem_list.AddString(减值失败!);/在显示框显示减值失败!/读出并显示当前值rf_readval(icdev,6,&value);/读取1扇区2块值操作块值 CString str;str.Format(%d,value);/格式转换为10进制m_list3.ResetContent();/显示之前把当前值框清空m_list3.AddString(str);/在当前值框显示加值后的值m_edit=0;/编辑框初始化为0UpdateData(false);/把初始化后的m_edit显示在编辑框五、实验效果.(1)放卡后,运行程序并初始化后显示 (2)在编辑框输入50,点加值后显示效果
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年河北秦皇岛工业职业技术学院招聘专任教师3人模拟试卷及一套答案详解
- 2025年合肥肥西县中医院项目工作人员招聘2人考前自测高频考点模拟试题及一套完整答案详解
- 2025江苏南京六合科技创业投资发展有限公司招聘拟聘用人员考前自测高频考点模拟试题完整参考答案详解
- 2025江西省医疗器械检测中心招聘编制外工作人员2人模拟试卷附答案详解(典型题)
- 2025湖南长沙浏阳市审计局人员模拟试卷及答案详解(有一套)
- 2025福建福州长乐机场海关驾驶员招聘1人考前自测高频考点模拟试题带答案详解
- 2025江西省公路工程检测中心招聘2人考前自测高频考点模拟试题及答案详解(新)
- 广本安全培训课件
- 2025年配气机构:进排气门合作协议书
- 山西省【中职专业高考】2025年中职高考对口升学(理论考试)真题卷【交通运输大类】模拟练习
- 隧道施工应急预案方案
- 植物鉴赏课件
- 2025云南丽江市公安局警务辅助人员招聘29人考试参考题库及答案解析
- 压实度试验课件
- 配怀母猪饲养管理
- 2025-2026学年赣美版(2024)小学美术二年级上册(全册)教学设计(附目录P126)
- 林业调查安全培训
- 硬笔书法全册教案共20课时
- 故障录波器与故障波形分析PPT通用课件
- 《合理安排课余生活》(教案)综合实践活动三年级下册
- 最新北师大版100以内加减法口算和竖式计算
评论
0/150
提交评论