简易秒表.doc_第1页
简易秒表.doc_第2页
简易秒表.doc_第3页
简易秒表.doc_第4页
简易秒表.doc_第5页
免费预览已结束,剩余4页可下载查看

下载本文档

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

文档简介

本科学生设计性实验报告姓名:杨万萍 专业:光电子技术与科学学号:124090442 班级:12级光电子班实验课程名称:单片机原理与应用实验实验名称:简易秒表设计指导教师及职称:蔡武德老师开课时间 : 2014年至2014年下学期摘要:本设计是一个秒表计时器,采用51单片机实现。电路选用两个共阳型1位数码管组成时钟0059秒显示电路,简易秒表设计主要实现启动、停止、清零等基本功能,接通电源后,秒表计时器处于初始状态,两个1位数码管显示00。当摁下“开始”开关时,秒表开始计时,数码管显示当前状态的时间。当再摁下“暂停”开关时,数码管停止计时。摁下“清零”开关后,系统重新回到初始状态。关键词:AT89C51单片机 秒表 LED数码管一、实验设计方案实验名称基于51简易秒表设计系统实验时间2014.6.20实验室114实验室1.实验目的(1)学习掌握51单片机的工作原理及组成,结合软件画图仿真,通过本实验的学习,初步掌握秒表系统的工作原理和控制方式以及程序编写方法。(2)掌握用软件keil编程实现延时的方法、Proteus仿真软件等使用。(3)设计一个两位简易秒表控制电路,实现“启动”、“停止”、“清零”基本功能 。(4)通过该实验锻炼实践动手能力。2.简易秒表工作方案:设计一个秒表计时器,在51单片机的控制作用下,采用两个共阳型1位LED数码管连接显示时间,计时范围设置为00至59秒,即精确到1秒,用按键控制秒表的“启动”、“停止”、“清零”功能,按“开始”按键,开始计时;按“暂停”按键,系统暂停计时;按“清零”键,系统清零复位。定义开关:S1清零、 S2开始、 S3停止 两个1位LED数码管分别表示个位和十位开始实验流程图系统初始化S1清零While数码管显示S3停止S2开始选择开关3.简易秒表程序设计/功能:0059简易秒表程序#include unsigned char msec,sec;/定义msec为50ms计数变量,sec为秒变量sbit S1=P35;sbit S2=P33;sbit S3=P32;void delay(unsigned char i);/延时函数/函数名:T0_INT/函数功能:定时器0中断函数,定时50ms到,自动执行该函数,判断是否中断20次/形式参数:无/返回值:无void T0_INT(void) interrupt 1/定时器0中断类型号为1 TH0=0x3c;/50ms定时初值 TH0=(65536-50000)/256; TL0=0xb0; /TL0=(65536-50000)%256; msec+;/中断次数增1 if(msec=20)/中断次数到20次吗? msec=0;/是,1秒计时到,50ms计数单元清零 sec+; /秒单元加1 if(sec=60)/到60秒吗? sec=0; /是,秒单元清零 void main()/主函数 unsigned char led=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;/定义数字09字型显示码 /unsigned char temp; TMOD=0x01;/定时器0工作方式1 TH0=0x3c;/50ms定时初,50ms定时初值 TH0=(65536-50000)/256; TL0=0xb0; /TL0=(65536-50000)%256; EA=1;/开总中断 ET0=1;/开定时器0中断 P3=0xff;/P3口做输入 while(1) P2=0x01;/选中P2.0控制的数码管 P1=ledsec%10;/显示秒个位 delay(10); P2=0x02; /选中P2.1控制的数码管 P1=ledsec/10;/显示秒十位 delay(10); /temp=P3;/读入P3口引脚状态并取反 /temp=temp&0x2c;/屏蔽掉无关位,保留三位按键状态00x0xx00 /if(temp=0)/判断有无按键按下 / /if(temp=0x04)/按下停止键 if(S3=0)/按下停止键 TR0=0;/停止计数 /if(temp=0x08)/按下启动键 if(S2=0)/按下启动键 TR0=1;/启动计数 /if(temp=0x20)/按下复位键 if(S1=0)/按下复位键 TR0=0;sec=0;msec=0; /函数名:delay/函数功能:实现软件延时/形式参数:unsigned char i;/ i控制空循环的外循环次数,共循环i*255次/返回值:无void delay(unsigned char i)/延时函数,无符号字符型变量i为形式参数 unsigned char j,k;/定义无符号字符型变量j和k for(k=0;ki;k+)/双重for循环语句实现软件延时 for(j=0;j255;j+);3运行步骤 画出电路原理图(或仿真电路图); 软件编程与调试; 电路仿真与调试;(1)、在keil工作窗口中分别编写简易秒表控制程序,然后便已运行直至无错误为止。(2)、通过Proteus仿真软件将电路原理图绘制工作窗口,将简易秒表简化为下图所示的电路,把编写好的程序下载到下图单片机中,看仿真模拟电路图中看能否达到简易秒表设计预期的效果。(3)、开始时初始状态显示00。按下S2键,系统开始计时,数值加1s;按下S3键,系统暂停,数值不变;按下S1键,数值清零,系统复位。仿真图如下4实验设备及材料(1)装有keil软件、下载软件和Proteus仿真软件的电脑一台。(2)单片机开发板一块。5实验方法步骤及注意事项(1)根据题目要求思考方案,对实验有总体概念;(2)根据方案画出简易秒表的控制流程图;(3)根据简易秒表的控制流程图来设计程序;(4)通过仿真图来测试、修改、优化程序;(5)总结分析实验过程中出现的问题,在以后的实验中该如何避免类似的问题在发生,该实验还有那些可以优化的地方。6实验数据处理方法(1)仿真法(2)比较法(3)估计法。7参考文献1王东锋 陈园园 郭向阳,单片机C语言应用100例,电子工业出版社2胡汉才单片机及其接口技术北京:清华大学出版社,20003陈谊.编程和接口技术大全北京:机械工业出版社4谭浩强.C程序设计(第二版) M.北京:清华大学出版社,2004:87120.5 马家辰.MCS-51单片机原理及接口技术.哈尔滨工业大学出版社,1997 6 胡汉才.单片机原理与应用.清华大学出版社二实验总结1本次实验成败及其原因分析本次实验对单片机中断,延时系统的合理使用,制作了简易秒表。在此过程中很多都需要自己摸索,自己解决遇到的问题。上课时老师虽然给我们讲解了这个简易秒表系统的原理以及给我们源程序,但我们还是会遇到困难,课后还需自己重新思考分析修改程序使之达到目的,比如修改延时的时间等,还需考虑如何让其他人看懂该系统原理及操作过程,通过该实验熟悉程序编写软件keil及仿真软件Proteus的功能。在这次实训中,我得到了我们班其他同学的帮助,只

温馨提示

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

评论

0/150

提交评论