单片机总结报告——IC 卡 小组成员:刘绍凯 06291043 刘永欢 06291044 刘中芳 06291045一、 实验设备 ………
二、 实验原理 如硬件连接图所示,本系统可分为如下几个模块: 单片机 80C196 模块(复位、晶振电路,电源电路) 显示模块 键位模块 IC 卡(24C01)模块 80C196 单片机的外围电路:复位 P2280196 内部的振荡电路是一个单级非门电路,它与石英晶体配合时,可以组成一个振荡器,构成单片机所需要的时钟
显示见预习 键位见预习 IC 卡见预习及资料三、设计框图四、程序五、调试过程虽然最后还是做出来了,但做的过程还是挺复杂的
(1)将 wave6000 仿真软件复位后有如下没注意到的语法错误
AX EQU 20H错误提示:“行:1,错误 334:重复定义:AX”错误原因是 AX 寄存器在仿真软件里的设置汇编预定义符号里已经定义过了
解决办法一是去掉相对应的伟福预定义寄存器,二是将源程序里的寄存器定义去掉
LDB AX,OEH错误原因将寄存器地址单元 0E 写成了 OEH,应将大写字母 O 改为 0(2)分步调试单步执行,断点3
首先检查程序运行后 4 个显示数码管是否都有显示,再看其显示是否合乎要求
按地址键时,发现低两位数据每次在加 1,说明控制四个字位的寄存器的顺序不对,控制数码管从高到低依次应是 HSO
源程序运行后,发现数码管的高两位数据一直在加 1
错误原因:当任意一个按键按下去后,给 P0 口送的是低电平,而我们编的程序恰恰相反,应该是让 P0
3 检测到低电平常跳转到相应的子程序
每按下一次地址键或数据键时,有时要跳好几个数,不能连续地变化
源程序如下:DATA: LCALL DL1 JBS 0EH,0,SCANDL1: LDB 25H,#80H1: NOP NOP