单片机秒表课程设计_第1页
单片机秒表课程设计_第2页
单片机秒表课程设计_第3页
单片机秒表课程设计_第4页
单片机秒表课程设计_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、1 实验内容及要求1.1 实验内容用AT89C51设计一个2位LED数码显示“秒表”,显示时间为0099秒,每秒自动加一。另设计一个“开始”按键和一个“复位”按键。再增加一个“暂停”按键和一个“快加”按键(每10ms快速加一)。按键说明:按“开始”按键,开始计数,数码管显示从00开始每秒自动加一;按“复位”按键,系统清零,数码管显示00;按“暂停”按键,系统暂停计数,数码管显示当时的计数;按“快加”按键,系统每10ms快速加一,即数码显示管在原先的计数上快速加一。1.2 实验要求了解8051芯片的的工作原理和工作方式 ,使用该芯片对LED数码管进行显示控制,实现用单片机的端口控制数码管,显示分

2、、秒,并能用按钮实现秒表起动、停止、清零功能,精确到0.1秒。要求选用定时器的工作方式,画出使用单片机控制LED数码管显示的电路图,并在实验箱实现其硬件电路,并编程完成软件部分,最后调试秒表起动、停止、清零功能。2 单片机的选用及主机系统电路的设计2.1单片机的选用:Atmel89C51单片机的主要特点:·4K字节可编程闪烁存储器 ·寿命:1000写/擦循环·数据保留时间:10年·全静态工作:0Hz-24Hz·三级程序存储器锁定·128*8位内部RAM·32可编程I/O线·两个16位定时器/计数器·5个中

3、断源 ·可编程串行通道2.2单片机主机系统电路的设计图4 单片机主机系统电路3 软件设计分析3.1 程序流程图:(1)定时器1程序用定时器0实现定时1秒,定时器1实现定时10毫秒,定时初值都是0D8F0H,这里只写定时1秒的流程图,如下所示:图5 定时1秒流程图(2) 主程序:采用分支结构,通过对按键的扫描,判断要实现什么功能,然后通过调用子程序来实现所需要的功能。图6 系统总流程图3.2子程序模块设计:(1) 延时功能的函数根据选用芯片的内部晶振周期与程序的执行周期推算出程序执行的经验延时。void delay() unsigned char i,j; for(i=90;i>

4、0;i-) for(j=200;j>0;j-);(2) 时间进位函数从毫秒记起,每次自加满10进入下一循环即进一位。void setTime() second10+; if(second10=10) /*当十分之一秒计数到十后从零重新计时*/ second10=0; /*同时秒计时个位加一*/second1+;if(second1=10) /*当秒计数个位到十后从零重新计时*/second1=0;second2+; /*同时秒计时十位加一*/if(second2=6)second2=0; (3) LED管输数据并使之显示子程序通过给P3送入不同值,给十秒与秒显示LED送入显示值。P2为单

5、独LED显示毫秒。void dispact()P3=0xfe;P0=table1second1;delay();P3=0xfd;P0=table1second2;delay();P2=table0second10;4系统调试及结果 利用51单片机设计一个1/100秒表,最大能显示99.99秒,具有置位,复位,启停等功能。用C语言编程,数码管显示。图7 调试运行结果5系统设计总结通过这次的秒表设计,我对一些专业知识和电子设计有了更深的了解,同时也尝试着去应用自己的所掌握的知识。本次设计主要是对已学习的模拟电子技术、数字电子技术和单片机的综合应用,同时加上电路等知识,设计完成了利用软件模拟的秒表。

6、经过几天的奋战,我感受很深。在设计过程中深感自己在培养动手能力这方面还需很大的努力。单片机课程设计不仅给我提供了一个很好的展现应用自己所掌握的知识的平台,又是检验自己所学知识的一次考核。在设计的过程中我也不可避免的遇到了很多的问题。尤其是在调试过程中,会因为某些原因出不来结果,但通过老师对我的帮助最后还是成功的完成了这次的设计。经过过这次的系统设计,我也发现了不少自己不会的知识,通过查询各方面资料,我也进步了很多,也学会了很多上课时没掌握的东西,最后在调试结果出来后,我更是无比的兴奋,无比的自豪。总之,通过这次电子课程设计,我对自己的知识有了更好的掌握和应用,这使我在以后的学习和生活中受用终身

7、。6课程设计体会经过一个星期的课程设计,过程曲折可谓一语难尽。在此期间我也失落过,也曾一度热情高涨。从开始时激情高涨到最后汗水背后的复杂心情,点点滴滴无不令我回味无长。在胡立夫老师的指导下,我顺利完成了课程设计。让我学到了以下几点:1、将学习的理论知识通过实验融会贯通,让我对它的理解更加深刻。对程序的编译过程了解透彻。2、本次课程设计以自己设计为主,因此培养了学习的积极性,让我能够独立去分析问题、发现问题、解决问题,更增强我与老师同学交流沟通和合作完成任务的能力。3、由于这次课程设计不仅设计编程方面的知识,还涉及了其它学科的知识,例如PROTEUS和Keil等的基本知识。程序是用汇编语言来编写

8、的,这次课程设计让我在编程能力方面得到了提高。4、由于水平有限,实验程序运行有一定的限制,以后会加强改进。总之,通过这次课程设计,不仅加深了我对单片机理论方面的理解,将理论更好的运用的实践方面,而且锻炼了我们各方面的能力,培养了坚强的毅力和做事的耐心和细心,认识合作的重要性,虽然程序可能有一定的浪费资源,且较罗嗦,但这需要在实践中慢慢提高,还希望老师能够多多指导,促进我不断的进步。最后再一次感谢胡老师对我的悉心指导和无私帮助。7参考文献1单片机课程设计指导书 皮大能 北京理工大学出版社2012.728051单片机实践与应用 吴金戎 清华大学出版社2003.83单片机技术基础教程与实践 夏路易

9、电子工业出版社2008.14单片机原理及应用张毅刚 高等教育出版社 2012.115基于Proteus的单片机系统设计与仿真实例 蒋辉平 机械工业出版社 2007.7附录1 系统电路图附录2 源程序#include <reg51.H>sbit sta_end=P34;sbit reset=P37;unsigned char code table0=0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f;unsigned char code table1=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x

10、80,0x90; /*共阳极段码*/*声明second10用于计数十分之一秒变化,second1用于记录秒的个*/ /*位,second2用于记录秒的十位*/unsigned int second10,second1,second2;bit bdata flag;/*以下是设置延时功能的函数*/void delay() unsigned char i,j; for(i=90;i>0;i-) for(j=200;j>0;j-);/*以下是设置时间的函数*/void setTime() second10+; if(second10=10) /*当十分之一秒计数到十后从零重新计时*/ s

11、econd10=0; /*同时秒计时个位加一*/second1+;if(second1=10) /*当秒计数个位到十后从零重新计时*/second1=0;second2+; /*同时秒计时十位加一*/if(second2=6) second2=0; /*以下是向LED管输数据并使之显示的函数*/void dispact() P3=0xfe; P0=table1second1; delay();P3=0xfd;P0=table1second2;delay();P2=table0second10;/*以下是设置时间函数和输数据函数被此函数调用实现,利用定时器中断*/*十分之一秒刷新一次,实现十分之

12、一秒进一*/Timer0 () interrupt 1 using 1 TH0 = (65535 - 50000)/256;TL0 = (65535 - 50000)%256;if(flag)setTime();dispact();void main() TMOD = 0x01;TH0 = (65535 - 50000)/256; /*定时器赋初值*/TL0 = (65535 - 50000)%256;flag = 0; EA = 1; /*cpu开中断*/ TR0 = 1; /*利用定时器0*/ ET0 = 1; /*外部中断允许*/do if(!sta_end)if(flag = 0)flag = 1;else flag = 0; if(!reset) /*复位设置,全部清零*/flag = 0;second10 = 0;second1 = 0;se

温馨提示

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

评论

0/150

提交评论