设计秒表的实验报告.doc_第1页
设计秒表的实验报告.doc_第2页
设计秒表的实验报告.doc_第3页
设计秒表的实验报告.doc_第4页
设计秒表的实验报告.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

基于Freescale的秒表设计实验报告姓名: 车永发 学号: 0802040112 专业年级:资源勘查工程08级 学院(系):资源与环境学院 基于Freescale的秒表设计实验目的:1. 了解Freescale单片机使用。2. 熟悉开发环境,理解和掌握时钟中断、数码显示、键盘输入 等相关知识。3. 实现秒表精确显示百分之一秒,并且在千分之一秒进行显时更新。4. 秒表实现清零、暂停等功能。实验平台: Freescale(飞思卡尔)MS9S12XS128MAL单片机开发板一套,Freescale程序下载器一个,直流稳压电源一个,计算机一台。实验步骤:1、 查找并阅读Freescale的相关技术资料。2、 学习Freescale的学习课件。3、 明确实验目的,并确定、优化实验方案。4、 参阅Freescale的相关技术资料,编写最佳设计方案的程序代码。5、 结合已编写的程序,连接电路,再接通电源。6、 将程序下载到Freescale单片机中,并进行测试。7、 整理学习资料,撰写实验报告。设计思路: 本实验通过数码管的不断扫描显示秒表时间,单片机通过接收键盘输入清零与暂停指令,以实现相应的功能。但对于内部的准确计时方式主要有以下两种方案: 方案一:主要采用用户编写的延时函数,通过不同的循环方式,记录系统执行程序所需要的时间来实现秒表的计时。 方案二:主要采用单片机的时钟中断功能,通过设定时钟中断间隔,记录循环次数来实现秒表的准确计时。 方案比较:由于单片机的执行速度非常快,执行简单语句的时间远远小于秒,因此,方案一通过设定特定的循环次数,可以实现秒表的计时,但是,系统的运行速度会受到系统环境的影响,也即是说其时间的准确性极容易受到系统环境的影响。与方案一相比,尽管方案二也会受到系统环境的影响,但是,在采用时钟中断的情况下,相应程序的执行时间会大大减少,因此对时间准确性的影响程度远远低于方案一。 基于方案比较,我们采用方案二,由时钟中断程序控制时间的更新频率,以下为其设计思路的框图:时钟中断控制清零、暂停控制显示时间内部程序键盘数码管 电路原理图程序流程图:开始程序初始化执行中断程序判断SWITCH是否为0是否扫描数码管 依据以上设计,初步完成了相关程序的编写。实验测试:(一) 结合程序把单片机的扩充板上的相关接口用导线正确连接,并且连接好下载器,接通电源。(二) 把程序下载到单机中,进行测试。(三) 通过测试发现清零的实现有两种情况:1) 跑秒过程中即可以清零也可以暂停;2) 跑秒过程中不可以清零,只有暂停之后才可以清零。由于在跑秒过程中清零,不具有实际意义,因此,我们确定用第二种方法实现清零与暂停。实验结论: 本实验用单片机简单实现了秒表的精准计时,在人们对时间的准确性要求越来越高的当今世界具有重要的现实意义。尤其是在现代工业的精确定时领域和体育赛事过程中应用较为广泛。附录:程序代码#include Cpu.h#include Events.h#include TI1.h#include PE_Types.h#include PE_Error.h#include PE_Const.h#include IO_Map.h#define led_dat PTP#define led_1 PTT_PTT0#define led_2 PTT_PTT1#define led_3 PTT_PTT2#define led_4 PTT_PTT3const byte a16=0xC0,0xF9,0xA4,0xb0,0x99,0x92,0x82,0xF8,0x80,0x90, 0X08,0X03,0X46,0X21,0X06,0X0E;#define POT PTP_PTP7 extern byte sec=0,ms=0,dem=2; byte key=0; byte temp=0;void display(byte a1,byte a2,byte a3,byte a4,byte dem) PTT=0XFF; led_dat=aa1; led_1=0; if(dem=1)POT=0; else POT=1; Cpu_Delay100US(30); PTT=0XFF; led_dat=aa2; led_2=0; if(dem=2)POT=0; else POT=1; Cpu_Delay100US(30); PTT=0XFF; led_dat=aa3; led_3=0; if(dem=3)POT=0; else POT=1; Cpu_Delay100US(30); PTT=0XFF; led_dat=aa4; led_4=0; if(dem=4)POT=0; else POT=1; Cpu_Delay100US(30); void keyscan() byte i=0,temp=0;do switch (i) case 0:temp=0xFE;break; case 1:temp=0xFD;break; case 2:temp=0xFB;break; case 3:temp=0xF7;break; i+; DDRA=0XFF; PORTA=temp; Cpu_Delay100US(1); DDRA=0X0F; if(i=5) DDRA=0XFF; PORTA=temp; while(PORTA=temp); switch (PORTA) case 0x7E:key=12;break; case 0xBE:key=9;break; case 0xDE:key=5;break; case 0xEE:key=1;break; case 0x7D:key=13;break; case 0xBD:key=0;break; case 0xDD:key=6;break; case 0xED:key=2;break; case 0x7B:key=14;break; case 0xBB:key=10;break; case 0xDB:key=7;break; case 0xEB:key=3;break; case 0x77:key=15;break; case 0xB7:key=11;break; case 0xD7:key=8;break; case 0xE7:key=4;break; void main(void) PE_low_level_init(); DDRT=0XFF; DDRP=0XFF; for(;) DDRA=0XFF; Cpu_Delay100US(1); PORTA=0XF0; DDRA=0X0F; if(PORTA!=0XF0)k

温馨提示

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

评论

0/150

提交评论