数字秒表课程设计报告.doc

上传人:文库蛋蛋多 文档编号:4149268 上传时间:2023-04-07 格式:DOC 页数:6 大小:71KB
返回 下载 相关 举报
数字秒表课程设计报告.doc_第1页
第1页 / 共6页
数字秒表课程设计报告.doc_第2页
第2页 / 共6页
数字秒表课程设计报告.doc_第3页
第3页 / 共6页
数字秒表课程设计报告.doc_第4页
第4页 / 共6页
数字秒表课程设计报告.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《数字秒表课程设计报告.doc》由会员分享,可在线阅读,更多相关《数字秒表课程设计报告.doc(6页珍藏版)》请在三一办公上搜索。

1、单片机课程设计报告数字秒表 学院:_ 班级:_ 组员:_ 数字秒表的设计一、 实验目的1.学习74HC573芯片的结构和工作原理。2.学习LED数码管显示的原理及编程方法。3.掌握74HC573扩展键盘和显示器的原理和编程方法。4.掌握AT89C52单片机定时器与中断的使用。5.掌握数字秒表的原理和实现方法。二、设计要求1.设计一个数字秒表,要求从00:00秒开始计时,最大计时时间为99:99秒。并且具有启动、暂停和清零(复位)等功能。2.画出硬件连接电路图,说明各个控制信号的作用。3.画出程序流程图,编写程序,硬件连接调试,直至正确。4编写课程设计报告。三、基本原理 数字秒表的工作过程为:初

2、始值为00:00,当启动键按下后,计时开始,以0.01秒为单位加1计时,当暂停键按下后,计时停止,当前值保持不变,直到清零(复位)键按下后,计数值清零,变为00:00,等待启动键再次按下。当计时到99:99时,再计0.01秒后变为00:00。数字秒表是以0.01S为最小定时单位的定时器,可以利用52单片机自身所具有的16位定时/计数器实现0.01S定时,每0.01S定时到,修改显示值,送4位LED显示。四、实验内容实验器材与电路图电容30pf的两个电阻10k的三个晶振一个AT89C52单片机一块排阻一个74HC573芯片一个导线与开关若干数码管一个运行图 复位图 程序#include unsi

3、gned char tab=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /共阴数码管 0-9 unsigned char tab_point=0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef;unsigned char sec_shiwei=0; /定义秒十位unsigned char sec_gewei=0; /定义秒个位unsigned char after_point_shiwei=0; /定义小数点后秒十位unsigned char after_point_gewei=0; /定

4、义i小数点后秒个位unsigned char second=0,after_second=0;/*/* 清零/复位函数声明 */*/void CLR(void);/*/* 扫描显示延时函数 */*/void delay(unsigned int count) while(-count);/*/* 主函数 */*/void main()TMOD=0X01; /定时器设置TH0=(65536-10000)/256; /TIME0赋初值,每10ms中断一次TL0=(65536-10000)%256; EA=1; /打开中断总开关TR0=0; /先禁止定时器工作EX0=1; /外部中断0设置IT0=1

5、;EX1=1; /外部中断1设置IT1=1;ET0=1; CLR(); /清零while(1) P0=0X00; P0=sec_shiwei; /显示秒十位 P2=0xf7; delay(200); /短暂延时 P0=0X00; P0=sec_gewei; /显示秒个位 P2=0xfb; delay(200); P0=0X00; P0=after_point_shiwei; /显示小数点后秒十位 P2=0xfd; delay(200); P0=0X00; P0=after_point_gewei; /显示小数点后秒个位 P2=0xfe; delay(200); /短暂延时 /*/* 定时器中断

6、函数 */*/void time0(void) interrupt 1 using 0TH0=(65536-10000)/256; /工作在方式1时,每次都要赋初值TL0=(65536-10000)%256;after_second+;if (after_second=100) after_second=0; second+; /秒加1if(second=100) second=0;sec_shiwei=tabsecond/10; /秒十位显示值处理 sec_gewei=tab_pointsecond%10; /秒个位显示处理after_point_shiwei=tabafter_second

7、/10; /秒后十位显示值处理after_point_gewei=tabafter_second%10; /秒后个位显示处理/*/* 外部中断函数 */*/void start_pause() interrupt 0 using 1 TR0=!TR0; /利用外部中断打开和关闭定时器0 用于开始和停止计时void reset() interrupt 2 using 2if(TR0=0) /停止时才可以清零 CLR();void CLR() second=0; /利用外部中断清零 after_second=0; sec_shiwei=tabafter_second/10; /秒十位显示值处理 s

8、ec_gewei=tab_pointafter_second%10; /秒个位显示处理 after_point_shiwei=tabsecond/10; /秒后十位显示值处理 after_point_gewei=tabsecond%10; /秒后个位显示处理五、实验心得 为期一周的课程设计使我们更进一步的熟悉了以前在课堂上所学到的知识,让我们对模数电以及编程知识得到了进一步的掌握,通过这次课程设计,让我们得到了一次理论与实践相结合的升华机会,让我们进一步加深了对以往所学知识的理解,同时也锻练了自己独立思考问题和团队合作的能力。刚开始拿到课程题目时,一度感到迷茫。但当我们选好题目并进行了一定深入

9、了解后,再结合以前所学到的一些相关知识,便觉得它不在那么困难。通过查找资料我们学习了74HC573芯片的结构和工作原理并且掌握了74HC573扩展键盘和显示器的原理和编程方法,掌握AT89C52单片机定时器与中断的使用,让我们对数字秒表的设计有了更直观清晰的认识。 虽然这次课程设计只有一周,但我们从这短短的几天中学到了不少的东西,每天都过得很充实。从拿到课程题目后,我们首先查找了一些相关的资料并进行了一定的整理,再根据题目要求进行分析设计,经过仿真确定方案。通过团队精诚合作,让我们这次课题得以顺利进行。实践出真知,真理的发现都是在实践中的。这样的课程设计以后应该多多安排,让学生亲手去设计去操作去创新,让我们更多的机会用来理论联系实际,将自己所学到的知识运用于实践当中,这样才能够更好的提高我们的专业技能,更能够培养我们的能力,提高我们的素质,使我们对自己所学的知识更感兴趣,从而使我们以更高的热情去学习去探究。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号