数字转速表课程设计1_第1页
数字转速表课程设计1_第2页
数字转速表课程设计1_第3页
数字转速表课程设计1_第4页
数字转速表课程设计1_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

赋初值赋初值33→R20→R3((R0))→R4R2R4*10R2R4*10→R3R4(R0)+1→R0(R3R4)+((R0))→R3R4R2-1=0?NR2-1=0?返回Y返回图5-2二进制程序框图由于给定的转速上限值是以十进制的形式存在于44H47H单元中,而比较程序所需要的是二进制数,故把二进制数转换成十进制数。转换后十进制数存入在R3R4中。5.3脉冲个数的求取千位的求取是这样的,该数值先减去1000,这时标志位加1,如果差值还大于1000,则返回继续作差,直到差值小于1000为止,这时往下执行,由于在上述过程中多加了一个1,所以这时标志位还应当再减去一个1.百位及个位的求取按照同样的道理进行,这样所记标志位即我们计数器的读数.初值A初值AB=A-1000B=A-1000 标志位加1标志位加1B>1000?B>1000?YN标志位-1标志位-1返回返回图5-35.4键盘电路数字转速表的键盘操作应具有3个功能,即:启动、停止、复位。确定矩阵式键盘上那个按键被按下通常采用的是行扫描法,其过程如图5-4所示。。图5-4键盘扫描流程图第6章系统调试6.1软件模拟仿真试验所涉及的2个软件keil和proteus,以下是仿真步骤。程序调试部分keil:先新建一个工程,并保存在所建工程弹出的对话框中选择AT89C52处理器。新建一个文档以编辑程序,将所设计的程序输入到新建文档中,并保存文档.asm(汇编源文件)。将所保存的文档添加到工程中去,再进行工程配置,点击Project菜单下的OptionsforTarget,在弹出的对话框中设晶振为12MHZ,将CreateHEXFile打上勾,再编译文件。仿真部分proteus:运行proteus的ISIS后进入仿真界面将所需元件选择好,根据原理图画出仿真图,待仿真图换好后双击AT89C52写入由keil所产生的程序,按开始进行仿真。6.2硬件调试硬件调试的步骤如下:接通电源和数据线,通过软件将在keil中生成的HEX文件下载到单片机板子上,先对板子关电当显示请上电时按下单片机上的电源开关按钮上电下载程序到单片机中,通过按键和LED的显示进行调试。当程序下载完之后,按下电源开关,LED上显示初始状态,按下启动键显示接收数据的状态,按下停止键后显示当前所记录的数据,按下复位键则显示初始状态。第7章总结与体会课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。回顾起此次单片机课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说三极管PNP管脚不懂怎么放置,不懂分得二极管的正负极,对单片机汇编语言掌握得不好……通过这次课程设计之后,一定把以前所学过的知识重新温故。这次的课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在李老师的辛勤指导下,终于迎刃而解。同事,在李老师的身上我学得到很多实用的知识,在此我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示衷心的感谢。第8章参考文献1、刘国荣.单片微型计算机技术.机械工业出版社,19962、张迎新.单片微型计算机原理、应用及接口技术.国防工业出版社,19933、房小翠.编单片机实用系统设计技术.国防工业出版社,19994、何立民.编单片机应用系统设计.北航出版社,20055、曹琳琳.编单片机原理及接口技术.国防科技大学出版社,2000附录程序清单ORG0000HSJMPMAINORG0003HSJMPFWE0ORG000BHSJMPFWT0ORG0013HSJMPFWE1ORG001BHSJMPFET1ORG0030H;设置中断向量MAIN:MOVTMOD,#52H;写入工作方式字MOVTH1,#00HMOVTL1,#00H;写入计数初值MOVTH0,#56MOVTL0,#56MOVR1,#50H;初始化定时器:T1为计数方式1,T0为计数方式0MOVR4,#50;R4为辅助T0计时MOVR0,#40H;R0作为指针SETBET1SETBET0SETBEX0SETBEX1SETBIT0SETBIT1SETBEA;开放中断,并设置中断方式MOV50H,#08HMOV51H,#06HMOV52H,#02HMOV53H,#01H;用做显示时的片选SJMP$FWE0:SETBTR0SETBTR1;启动定时器0和1SETBP3.6;显示正常发光CLRIE0;启动完毕,关外部中断RET1FWE1:CLRTR0CLRTR1;停止定时器T0和T1CLRP3.6;不显示CLRIE1;停止后,停止信号无效RET1FWT0:DJNZR4,RETN0;1秒定时未到,继续CLRTR1;1秒定时到,关闭计数器MOVR4,#50;R4置数50,下次测量时再用ACALLJSH;计算每分钟的转数,其值为二进制存放到30H和31H中ACALLBTODACALLXSH;调用数据处理程序RET1FWT1:MOVTH1,#00HMOVTL1,#00H;重赋初值ACALLBJ;调用报警程序RET1BTOD:LOPQ:CLRC;清进位标志MOVA,30H16位数低8位放在A中SUBBA,#0E8H;A-0E8H放入A中MOV30H,A;保留差值MOVA,31H;高8位SUBBA,#03H;A-03H放入A中MOVA,31H;保留差值INC40H;千位加1JNCLOPQDEC40H;千位减1LOPB:CLRC;清进位标志MOVA,30H;16位数低8位放在A中SUBBA,#64H;A-64H放入A中MOV30H,A;保留差值INC41H;百位加1JNCLOPBDEC41H;求百位LOPS:CLRCMOVA,30HSUBBA,#10MOV30H,AINC42HJNCLOPSDEC42H;求十位LOPG:ADDA,#10MOV43H,ACLRCMOVA,#40HSUBBA,#2JNCRETNACALLBJRETN:RET;求个位DISP:MOVR0,#40H;赋值MOVR1,#50HXSH:MOVP1,@R0;P1口为50单元中的内容MOVP0,@R1;P0口为40单元中的内容INCR0;内存单元加1INCR1CJNER0,#44,NEXT;判断4位数是否显示完MOVR0,#40HMOVR1,#50H;重新赋值NEXT:JBP3.6,XSHRETBJ:MOVR1,#50HXS:MOVP1,#0FHMOVP0,@R1CJNER1,#54H,GOONMOVR1,#50H;使显示器显示FFFFGOON:CPL,P3.0;发声,报警JNBP3.6,XS;按下停止按扭,解除警报

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论