下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机总结报告IC卡实验设备实验原理如硬件连接图所示, 本系统可分为如下几个模块:单片机80C196模块(复位、晶振电路,电源电路)显示模块键位模块IC卡(24C01 )模块80C196单片机的外围电路:复位P2280196内部的振荡电路是一个单级非门电路,它与石英晶体配合时,可以组成一个振荡器,构成 单片机所需要的时钟。显示见预习键位见预习IC卡见预习及资料三、设计框图 四、程序 五、调试过程虽然最后还是做出来了,但做的过程还是挺复杂的。(1)将wave6000仿真软件复位后有如下没注意到的语法错误20HEQU错误提示:“行:1,错误334:重复定义:AXv>'错误原因是AX寄
2、存器在仿真软件里的设置汇编预定义符号里已经定义过了。解决办法一是去 掉相对应的伟福预定义寄存器,二是将源程序里的寄存器定义去掉。AX,OEH错误原因将寄存器地址单元 0E写成了 OEH,应将大写字母 O改为0(2)分步调试单步执行,断点3. 首先检查程序运行后4个显示数码管是否都有显示,再看其显示是否 合乎要求。按地址键时,发现低两位数据每次在加 1,说明控制四个字位的寄存器的顺序不对,控制数码管从高到低依次应是4.源程序运行后,发现数码管的高两位数据一直在加1。错误原因:当任意一个按键按下去后,给P0 口送的是低电平,而我们编的程序恰恰相反,应该是让-检测到低电平时跳转到相应的子程序。5.每
3、按下一次地址键或数据键时,有时要跳好几个数,不能连续地变化。源程序如下:DATA:LCALLJBS0EH,0,SCANDL1:LDB25H,#80H1:NOPNOPH2:LDBAX,#200NOPNOPDJNZAX,H2DJNZ25H,H1RETDL1错误原因是设置按键的延时时间不够长, 而且当一次长时间按时,会出现数据直往前跳的情况。要消除此种现象,我们运用了如下的程序:DAT: LCALL DL1JBC 0EH,0,DAT6 当按下数据键后,显示的数据会往下加,但当按下写键后,数据又变为写之前的数据。说明WR子程序,改变了 DATABUS面的数据。经过我们的仔细检查后发现在写子程序里有如下
4、两句语句:LCALL READLDDATABUF,READDATA它们的作用是将IC卡当前地址中的数据读到数码管中,但此时更改后的数据还 没被写入到IC卡中。应该将它们去掉或放在调用写子程序的后面。6.每次读出来的数据都是FF。而且将更改后的数据写入当前的地址时, 当程序复 位后再找到该地址时,没有显示之前写入的数据,而仍然是FF。说明无法对I c卡进行读/写操作。此时我们耐心地从每个与读和写有关的子程序查起,发现数据子程序,地址子程序,写子程序,还有发送起始信号,结束信号,SDA及SCK信号均无异常。此时我们想到了先单步执行,然后到写和读子程序时跟踪执行, 注意到了当 前更改后的数据确实是存
5、到了 DATABUF而当前的数据却没有进入到READDATA 说明数据没能够进入到IC卡中, 也没有从IC卡中读出来。而读时序和写时序 我们也都检查了几遍了,也都符合2 4C0 1的规定。此时,我们只有找到指导老师,老师帮我们看了一下程序后,发现也没什么地方有问题,就觉得应该是IC卡有问题。所以给我们换了一张卡,然后我们试了一下,发现果然能对IC卡进行读写了,而且每次读出来的数据都是随机的。到此,已能对IC进行正常地读/写了,调试完毕了!六、设计心得俗话说“好的开始是成功的一半”。我认为最重要的就是做好设计的预习,我们首先搜索到了 IC卡的相关资料,弄清楚了单片机对该IC卡进行读和写的工 作过
6、程。明白了读写器件寻址地址、起始信号和结束信号在读和写的过程中所发 挥的作用。然后通过编写程序,知道了硬件的接口是如何进行连接的,进而使我 加深了对整个系统工作原理的理解。其次,老师对实验的讲解要一丝不苟的去听去想,因为只有都明白了,做起 设计就会事半功倍,如果没弄明白,就迷迷糊糊的去调试,到头来所做的工作都是白费。最后,要重视程序的模块化,修改的方便,也要注重程序的调试,掌握 其方法。另外,我也学到了一些调试程序的小技巧。比如,如何设置断点进行调试程序。还有在“单步运行”、“跟踪执行”时观察单片机内各寄存器内容和状态用以检验目标程序是否正确、以及硬件系统的连线及功能是否正确。软件的编程要我们
7、不断的调试,最终一个能完成课程设计的劳动成果出来了,很高兴它能按着设计的思想与要求工作起来。当然,这其中也有很多问题,第一、不够细心比如对课本理论的不熟悉导致编程出现错误。第二,是在学习态度上,这次课设是对我的学习态度的一次 检验。对于这次单片机课程设计,我的第一大心得体会就是作为一名工程技术人 员,要求具备的首要素质绝对应该是严谨。 我们这次实习所遇到的多半问题多数 都是由于我们不够严谨。第三,是知识学得比较死,不会灵活地运用,不会举一 反三。第四,在做人上,我认识到,无论做什么事情,只要你足够坚强,有足够 的毅力与决心,有足够的挑战困难的勇气,就没有什么办不到的。实践证明,通过该课程设计,
8、不仅提高了学生学习的兴趣,加深了对专业知识的理解,开阔了视野,也为以后毕业设计打下良好的基础。单片机课程设计 这一实践教学环节的有效开展, 有助于学生有效地掌握所学知识, 缩短从理论知 识到实际应用的过程,很好地培养了我们对专业的兴趣,增强了学生的创新意识, 提高了学生的动手能力和实际应用能力。我认为,学编程读别人的程序非常重要,每个人都有不同的思维,相同的任 务却有很多不同的方法,在每个程序里都能找到些经典的段子,让人回味。从中 可以学到很多的方法,并且有些可以直接的引用。一个出色的程序员在编程时, 并不是从零开始,而应该是先找出类似的例子进行分析,参考,看看有没有值得 引用和借鉴的地方,加
9、以修改,为自己所用。实践证明,这样做是对的。当然,努力归努力,方法也很重要。在这里,我总结一下,与大家共勉:1、基本功要杂实,要有一定的数模电基础。学单片机首先要搞清楚它的基本结构和存储单元的分配。4、多读有代表性的程序,读得多了自然就会学到很多的好方法。可买本单片机子程序集看看,也可网上下载程序分析。5、多泡泡单片机相关的论坛,与大家多交流交流,单片机完全可以自学的。我觉得以上几点相当重要,因为它对我帮助很大,算是将我领进了单片机的大门,以至于我学起来不那么吃力,没有感觉到像大家说的那样的难。我看过很多的程序,也调试过很多的程序,每一次收获都不小。我的实验室就是KEIL和PROTEUS这使我做实验很方便。虽是虚拟的,但调试程序还是可以的, 省去了很多的时间提高了效率。最近我在学 CX51,因为学单片机掌握C语言是 非常重要的,C语言的通用性对学习其它类型的单片机有很大的帮助。今后,我 想做嵌入式系统工程师,想学 ARM,想搞操作系统。所以我现在必须打好基础, 这样才能进步。通过这种途径的实践教学活动,我们将前几年所学的知识综合起来了,将所学的知识应用于实践中去了。这样,到了社会上我们就更有竞争力了。实践证明,通过该课程设计,不仅提高了学生学习的兴趣,加深了对专业知识
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 共有个人担保合作保证金协议
- 环保项目合作框架
- 授权经销合同的签订流程
- 无担保贷款担保合同
- 劳务分包班组的合同
- 购销合同的履行与监管要点
- 中医医院药材采购合同
- 房屋买卖合同格式市场趋势
- 生产车间承包技术成果成果保护
- 钢筋模板安装分包协议
- (新版)高级考评员职业技能鉴定考试题库(含答案)
- 《人工智能基础》课件-AI的前世今生:她从哪里来
- 食品工业技术经济学智慧树知到期末考试答案章节答案2024年西华大学
- 正确使用网络流行语+课件-2022-2023学年主题班会
- POLYSIUS公司第四代篦冷机操作优化及维护经验介绍
- GB 1886.64-2015 食品安全国家标准 食品添加剂 焦糖色(高清版)
- 中职学校《金属加工与实训》全套电子教案(含教学进度计划)(配套教材:高教版中职统编)云天课件
- 核专业英语词汇(共9页)
- 【英语】英语过去将来时练习题及答案
- ISO9001-2015&ISO14001-2015质量和环境管理体系各部门内审检查表
- 开料工序作业指导书
评论
0/150
提交评论