片机实验报告_第1页
片机实验报告_第2页
片机实验报告_第3页
片机实验报告_第4页
片机实验报告_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

PAGE25/NUMPAGES26系别:电力工程系班别:姓名:学号:指导老师:2009年12月25日目录实习目的3

二、实习内容3

基本要求3

强化要求3

五、实习器材3

六、设计方案4设计的程序6八、实习小结13实习目的通过实习,使学生进一步弄懂所学到的课本知识,巩固和深化对单片机的结构、指令系统、中断系统、键盘/显示系统、接口技术、系统扩展、定时/控制、程序设计、应用开发、等基本理论知识的理解,提高单片机应用于技术的实践操作技能,掌握单片机应用系统设计、研制的方法,培养利用单片机进行科技革新、开发和创新的基本能力,为毕业后从事与单片机相关的工作打下一定的基础。

二、实习内容

利用软件MAVE2007在V51-S型实验板上设计键盘扫描+流水灯显示。

三、基本要求

要求所设计的键盘扫描+流水灯显示具有如下功能:

1、流水灯不停地工作。

2、按键从K0到KF显示对应的数字,同时流水灯速度越来越慢,并且交替显示学号。

四、强化要求

在以上效果不变的同时加入按键控制流水灯方向的功能五、实习器材V51-S型实验板六、设计方案1、分析该程序可分为四个模块,分别是流水灯模块、显示模块、矩阵扫描显示模块、中断模块分别画出各模块的程序框图,如下所示:流水灯模块:显示模块:程序框图程序框图矩阵扫描模块:中断模块:程序分析程序分析方案以流水灯模块为主程序,其他模块为子程序。本实习提供了一个4×4小键盘,向P2口的低四位逐个输出高电平,如果有键按下,则相应输出高,如果没有键按下,则输出为低,通过输出的列码和读取的行码来判断按下什么键,在有键按下后要有一定的延时,防止抖动.七、程序设计;将4个7段数码显示器显示的内容放在4个显存中,4个显存空间定义如下LED0EQU30HLED1EQU31HLED2EQU32HLED3EQU33HDEL17EQU34HAKBIT30HDELEQU35HORG0000HLJMPMAINORG0023H;;;;中断程序入口LJMPXQORG0040HMAIN:MOVSP,#60HSTART:MOVP0,#00H;使显示器不显示MOVP1,#00HMOVP3,#00HMOVLED0,#0;初始界面'-''-''-''0'MOVLED1,#16MOVLED2,#16MOVLED3,#16MOVDEL17,#1;流水灯切换速度(值越大,速度越慢)MOVDEL,#10;显示管切换速度(值越大,速度越慢)MOVTMOD,#01H;设T0为工作方式1MOVTH0,#00HMOVTL0,#00H;22.1184M晶振?SETBEASETBET0SETBTR0CLRAKMOVA,#01H;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;主程序XM:MOVP1,ARLA;流水灯方向由上至下PUSHAMOVR1,DEL17;用DEL17来控制流水灯速度D31: MOVR2,#10D21: MOVR3,#100D11:LCALLSKLOOPDJNZR3,D11 DJNZR2,D21 DJNZR1,D31POPALJMPXM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;扫描键盘子程序SKLOOP:MOVP0,#00HMOVP2,#11110111B;P2.3口输出低电平,扫描K0,K1,K2,K3LCALLDISLED3SK0:JBP2.4,SK1;P2.4为高电平扫描K0LCALLDELAY;延时去除抖动LCALLOPRK0;P2.4为低电平执行K0对应子程序RETSK1:JBP2.5,SK2LCALLDELAY;延时去除抖动LCALLOPRK1RETSK2:JBP2.6,SK3LCALLDELAY;延时去除抖动LCALLOPRK2RETSK3:JBP2.7,NP2;换一次输出位LCALLDELAY;延时去除抖动LCALLOPRK3RETNP2:MOVP0,#00HMOVP2,#11111011B;P2.2口输出低电平,扫描K4,K5,K6,K7LCALLDISLED2SK4:JBP2.4,SK5;P2.4为高电平扫描K5LCALLDELAY;延时去除抖动LCALLOPRK4;P2.4为低电平执行K5对应子程序RETSK5:JBP2.5,SK6LCALLDELAY;延时去除抖动LCALLOPRK5RETSK6:JBP2.6,SK7LCALLDELAY;延时去除抖动LCALLOPRK6RETSK7:JBP2.7,NP3;换一次输出位LCALLDELAY;延时去除抖动LCALLOPRK7RETNP3:MOVP0,#00HMOVP2,#11111101B;P2.1口输出低电平,扫描K8,K9,KA,KBLCALLDISLED1SK8:JBP2.4,SK9;P2.4为高电平扫描K8LCALLDELAY;延时去除抖动LCALLOPRK8;P2.4为低电平执行K8对应子程序RETSK9:JBP2.5,SKALCALLDELAY;延时去除抖动LCALLOPRK9RETSKA:JBP2.6,SKBLCALLDELAY;延时去除抖动LCALLOPRKARETSKB:JBP2.7,NP4;换一次输出位LCALLDELAY;延时去除抖动LCALLOPRKBRETNP4:MOVP0,#00HMOVP2,#11111110B;P2.0口输出低电平,扫描KC,KD,KE,KFLCALLDISLED0SKC:JBP2.4,SKD;P2.4为高电平扫描KCLCALLDELAY;延时去除抖动LCALLOPRKC;P2.7为低电平执行KC对应子程序RETSKD:JBP2.5,SKELCALLDELAY;延时去除抖动LCALLOPRKDRETSKE:JBP2.6,SKFLCALLDELAY;延时去除抖动LCALLOPRKERETSKF:JBP2.7,NP5;换一次输出位LCALLDELAY;延时去除抖动LCALLOPRKFRETNP5:RET;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;按键值,改变显示数据和流水灯速度OPRK0:MOVLED0,#0;显示管切换速度(值越大,速度越慢)MOVDEL17,#1;流水灯切换速度(值越大,速度越慢)RETOPRK1:MOVLED0,#1;显示管切换速度(值越大,速度越慢)MOVDEL17,#1;流水灯切换速度(值越大,速度越慢)RETOPRK2:MOVLED0,#2;显示管切换速度(值越大,速度越慢)MOVDEL17,#2;流水灯切换速度(值越大,速度越慢)RETOPRK3:MOVLED0,#3;显示管切换速度(值越大,速度越慢)MOVDEL17,#3;流水灯切换速度(值越大,速度越慢)RETOPRK4:MOVLED0,#4;显示管切换速度(值越大,速度越慢)MOVDEL17,#4;流水灯切换速度(值越大,速度越慢)RETOPRK5:MOVLED0,#5;显示管切换速度(值越大,速度越慢)MOVDEL17,#5;流水灯切换速度(值越大,速度越慢)RETOPRK6:MOVLED0,#6;显示管切换速度(值越大,速度越慢)MOVDEL17,#6;流水灯切换速度(值越大,速度越慢)RETOPRK7:MOVLED0,#7;显示管切换速度(值越大,速度越慢)MOVDEL17,#7;流水灯切换速度(值越大,速度越慢)RETOPRK8:MOVLED0,#8;显示管切换速度(值越大,速度越慢)MOVDEL17,#8;流水灯切换速度(值越大,速度越慢)RETOPRK9:MOVLED0,#9;显示管切换速度(值越大,速度越慢)MOVDEL17,#9;流水灯切换速度(值越大,速度越慢)RETOPRKA:MOVLED0,#10;显示管切换速度(值越大,速度越慢)MOVDEL17,#10;流水灯切换速度(值越大,速度越慢)RETOPRKB:MOVLED0,#11;显示管切换速度(值越大,速度越慢)MOVDEL17,#11;流水灯切换速度(值越大,速度越慢)RETOPRKC:MOVLED0,#12;显示管切换速度(值越大,速度越慢)MOVDEL17,#12;流水灯切换速度(值越大,速度越慢)RETOPRKD:MOVLED0,#13;显示管切换速度(值越大,速度越慢)MOVDEL17,#13;流水灯切换速度(值越大,速度越慢)RETOPRKE:MOVLED0,#14;显示管切换速度(值越大,速度越慢)MOVDEL17,#14;流水灯切换速度(值越大,速度越慢)RETOPRKF:MOVLED0,#15;显示管切换速度(值越大,速度越慢)MOVDEL17,#15;流水灯切换速度(值越大,速度越慢)RET;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;显示子程序DISLED0:MOVDPTR,#TABMOVA,LED0MOVCA,@A+DPTRMOVP0,ANOPRETDISLED1:MOVDPTR,#TABMOVA,LED1MOVCA,@A+DPTRMOVP0,ANOPRETDISLED2:MOVDPTR,#TABMOVA,LED2MOVCA,@A+DPTRMOVP0,ANOPRETDISLED3:MOVDPTR,#TABMOVA,LED3MOVCA,@A+DPTRMOVP0,ANOPRET;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;中断改变前三位显示子程序XQ:MOVTH0,#00HMOVTL0,#00HMOVR4,DELDECR4MOVDEL,R4CJNER4,#0,ENDREMOVDEL,#10JBAK,APPMOVLED3,#16;最高三位分别显示'-''4''2'MOVLED2,#4MOVLED1,#2CPLAKRETIAPP:MOVLED3,#3;最高三位分别显示'3''8''-'MOVLED2,#8MOVLED1,#16CPLAKENDRE:RETI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;廷时子程序DELAY:MOVR5,#1;D1:MOVR6,#200;D2:MOVR7,#200;DJNZR7,$;DJNZR6,D2;DJNZR5,D1;RET;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;段码表TAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H,40H,;'0''1''2''3''4''5''6''7''8''9''A''B''C''D''E''F''-';01234567891011121314151680H,73H,00H'.''P'''171819END;结束程序程序改进:增加按键改变流水灯方向的功能,要实现这个功能,我们利用进出栈来延时,程序如下:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;主程序LOOP2:POPACCLOOP:MOVP1,ARLAPUSHACCMOVR1,DEL17;用DEL17来控制流水灯速度D31: MOVR2,#10D21: MOVR3,#100D11:LCALLSKLOOPDJNZR3,D11 DJNZR2,D21 DJNZR1,D31;将A寄存器中的数从P1端口输出JNBP3.2,LOOP1POPACC;将A寄存器中的数向左移动一位SJMPLOOP;跳转到LP标号循环LOOP1:POPACCLOOP3:MOVP1,ARRAPUSHACCMOVR1,DEL17;用DEL17来控制流水灯速度D61: MOVR2,#10D51: MOVR3,#100D41:LCALLSKLOOPDJNZR3,D41 DJNZR2,D51 DJNZR1,D61JNBP3.3,LOOP2POPACC;调用延时子程序ALJMPLOOP3实习小结单片机应用实习小结随着电子技术的发展,特别是随着大规模集成电路的产生,给人们的生活带来了根本性的变化,如果说微型计算机的出现使现代的科学研究得到了质的飞跃,那么可编程控制器的出现则是给现代工业控制测控领域带来了一次新的革命。在现代社会中,温度控制不仅应用在工厂生产方面,其作用也体现到了各个方面。本学期我们就学习了单片机这门课程,感觉是有点难呢。也不知道整个学习过程是怎么过来得,可是时间不等人。

时光飞逝,一转眼,一个学期又进尾声了,本学期的单片机实习课题也在一周内完成了。俗话说“好的开始是成功的一半”。说这次实习,我认为最重要的就是做好程序调试,认真的研究老师给的题目。其次,老师对实验的讲解要一丝不苟的去听去想,因为只有都明白了,做起产品就会事半功倍,如果没弄明白,就迷迷糊糊的去做,到头来一点收获也没有。最后,要重视程序的模块化,修改的方便,也要注重程序的调试,掌握其方法。

虽然这次的实习算起来在实验室的时间只有几天,不过因为我们都有自己的实验板,所以在宿舍里做实验的时间一定不止三天。硬件的设计跟焊接都要我们自己动手去焊,软件的编程也要我们不断的调试,最终一个能完成课程设计的劳动成果出来了,很高兴它能按着设计的思想与要求运动起来。

当然,这其中也有很多问题,第一、不够细心比如由于粗心大意焊错了线,由于对课本理论的不熟悉导致编程出现错误。第二,是在学习态度上,这次课设是对我的学习态度的一次检验。对于这次单片机综合课程实习,我的第一大心得体会就是作为一名工程技术人员,要求具备的首要素质绝对应该是严谨。我们这次实习所遇到的多半问题多数都是由于我们不够严谨。第三,在做人上,我认识到,无

温馨提示

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

评论

0/150

提交评论