接触式IC卡2.docx
- 文档编号:12593424
- 上传时间:2023-04-20
- 格式:DOCX
- 页数:13
- 大小:96.63KB
接触式IC卡2.docx
《接触式IC卡2.docx》由会员分享,可在线阅读,更多相关《接触式IC卡2.docx(13页珍藏版)》请在冰豆网上搜索。
接触式IC卡2
—接口技术实验报告
专业班级_计算机1406_姓名_宋世波_学号
实验题目_接触式IC卡日期_2016-1-6
实验六、接触式IC卡
一、实验目的
了解接触式IC卡的工作原理及其与CPU勺接口方式。
二、实验设备
1、DJ-86PCI微机实验箱
2、POD」C接触式IC卡模块
三、实验内容
将十六进制数“AB写入IC卡的7F地址单元,然后采用随机读取的方式将7F地址单元中的数据读入CPU
四、实验原理
(1)
AT24C01A卡是一种E2PR0存储卡,容量为128X8bit,采用I2C总线结构,其卡的结构及引脚排列见下图
AT24C01A卡的结构及引脚排列
(2)操作状态开始和停止的定义
(3)数据的有效性关系
1
1
;
tflk/
ix
f
1
1
I
1■
i
/J
亠飯楫唸定f;1+埶悄思建f
(4)数据传送确认
(5)写操作
器件吟£口;确认
开皓地址写宇地址数枢比■呼绘离位
sdalim丁lfBiI和rm⑴丨丨丨丨丨丨rv:
蠶齐无用
.LRAaA
sS^CCC
BBVEKK
IKs2乩qK、SKs16KS片扁宇节时序
(6)读操作
(7)
五、实验步骤
1、实验连线
将模块的SCI接CPU勺PC0SDA接PAQINS、L1接PB0
实验连线图
2、运行实验程序IC.ASM
3、程序中设置断点,查看显示的数据和写入IC卡的数据是否相等
六、实验结果
插入IC卡丄1二极管亮,同时AH显示的数据与写入的数据相同
七、实验程序
;SCL接PCO,SDA接PAO,INS接PBO、L0,5286K(NEW),测试成功
pa8255
equ
0FF28h
;8255A的A口地址
pb8255
equ
0FF29h
;8255A的B口地址
pc8255
equ
0FF2Ah
;8255A的C口地址
con8255
equ
0FF2Bh
;8255A的控制端口地址
setclk
equ
01h
clrclk
equ
00h
setpw
equ
03h
clrpw
equ
02h
add_w
equ
0a0h
;写卡地址
add」
equ
0a1h
;读卡地址
assume
cs:
code
sta比
startl:
code
segmentpublic
org
1000h
;规定程序的起始地址
mov
dx,con8255
;8255控制字,PB输入,PA.PC输出
mov
al,82h
;A组方式OA输出C高四位输出
;B组方式0B输入C低四位输出
out
dx,al
;将控制字压入寄存器
mov
al,clrpw
;C口第1位复位
out
dx,al
mov
dx,pb8255
in
al,dx
;将B口的内容送给AL
test
al,01h
;若al最低位不为0则跳转回START1
jnz
start1
;检查是否插卡
mov
dx,con8255
;给予8255A控制端口地址
mov
al,setpw
;C口第1位置1
out
dx,al
mov
bh,7fh
;写入地址7FH
mov
ah,0abh
;写入数据ABH
call
write_byte
;调用写入子程序
call
delay10
;调用延时程序
mov
bh,7fh
;写入地址7FH
call
read_byte
调用读取子程序
nop
;设断点处
jmp
start
;调回开始点
write_byte:
call
begin0
;开始信号
mov
bl,add_w
;写入器件地址
call
wr_byte
mov
bl,bh
;写入字节地址
call
wr_byte
mov
bl,ah
;写入数据
call
wr_byte
call
stop0
ret
read_byte:
call
begin0
mov
bl,add_w
;执行空字节写序列
call
wr_byte
mov
bl,bh
call
wr_byte
call
begin0
mov
bl,add」
;立即地址读取
call
wr_byte
mov
dx,con8255
mov
al,92h
;方式0A输入方式0B输入C输出
out
dx,al
mov
al,setpw
out
dx,al
call
rd_byte
call
stop0
ret
beginO:
mov
dx,con8255
;给予DX8255A的FF2BH端口地址
mov
al,clrclk
;C口第0位复位
out
dx,al
mov
dx,pa8255
mov
al,01h
out
dx,al
;将01H送入8255A的A数据接口
mov
dx,con8255
mov
al,setclk
;C口第0位置1
out
dx,al
mov
dx,pa8255
mov
al,00h
;将00H送入8255A的A数据接口
out
dx,al
mov
dx,con8255
mov
al,clrclk
;C口第0位复位
out
dx,al
ret
stopO:
mov
dx,con8255
mov
al,clrclk
;C口第0位复位,清空AL
out
dx,al
mov
dx,pa8255
;将00H送入8255A的A数据接口
;将00H送入IC卡
mov
al,00h
out
dx,al
mov
dx,con8255
;置空al
mov
al,setclk
;C口第0位置1
out
dx,al
mov
dx,pa8255
mov
al,01h
;将01H送入8255A的A数据接口
out
dx,al
mov
dx,con8255
mov
al,clrclk
;C口第0位复位
out
dx,al
mov
dx,pa8255
mov
al,00h
將00H送入8255A的A数据接口
out
dx,al
ret
wr_byte:
mov
cx,0008h
;循环次数为8
mov
dx,con8255
;给予8255A控制端口地址
mov
al,clrclk
;C口第0位复位,清空al
out
dx,al
wbytel:
rcl
bl,1
;BL循环左移1,将最高位移进入CF
mov
al,00h
rcl
al,1
;AL循环左移1,获取进位CF
mov
dx,pa8255
;将al送入A口
out
dx,al
;a口数据送入ic卡,SDA连接着a口
mov
dx,con8255
mov
al,setclk
;C口第0位置1
out
dx,al
;给al赋值01h
mov
dx,con8255
mov
al,clrclk
;C口第0位复位
out
dx,al
;将al清0
loop
wbyte1
;循环
mov
dx,con8255
mov
al,setclk
;C口第0位置1
out
dx,al
mov
cx,0005h
;设置循环次数为5
waitO:
nop
;设置断点
loop
wait0
mov
dx,con8255
mov
al,clrclk
;C口第0位复位
out
dx,al
ret
rd_byte:
mov
ah,00h
mov
cx,0008h
;给予cx08H
rbytel:
mov
dx,pa8255
;8255A端口
in
al,dx
;将DX端口内容送给AL
;读出IC卡数据一位
rcr
al,1
;al循环右移一位
mov
dx,con8255
mov
al,setclk
;C口第0位置1
out
dx,al
rcl
ah,1
;AL循环左移1位
mov
dx,con8255
mov
al,clrclk
;C口第0位复位
out
dx,al
loop
rbyte1
;进入循环
ret
delaylO:
mov
ex,1388h
;延时子程序
delayl:
nop
;延时断点子程序
loop
delay1
ret
codeends
endstart
c口高低位与SCL相连,SCL为高时可以写入数据,读出数据
八、思考题
1、分析程序并写出程序注释。
答:
已在程序部分写入好注释。
2、将写入IC卡的数据读出至发光二极管
答:
为完成实验,需要在代码中加入如下部分。
rd_byte:
mov
mov
ah,00h
ex,0008h
;给予cx08H
rbytel:
mov
dx,pa8255
;8255A端口
in
al,dx
;将DX端口内容送给AL
;读出IC卡数据一位
rcr
al,1
;al循环右移一位
mov
dx,con8255
mov
al,90H
;A口输入B口输出
out
dx,al
rcl
ah,1
;AL循环左移1位
mov
dx,pb8255
out
dx,al
;输出获取的al值
loop
rbytel
;进入循环
ret
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 接触 IC