微机系统课程设计基于单片机的数字时钟设计

上传人:桔**** 文档编号:504611058 上传时间:2023-04-03 格式:DOC 页数:16 大小:794.52KB
返回 下载 相关 举报
微机系统课程设计基于单片机的数字时钟设计_第1页
第1页 / 共16页
微机系统课程设计基于单片机的数字时钟设计_第2页
第2页 / 共16页
微机系统课程设计基于单片机的数字时钟设计_第3页
第3页 / 共16页
微机系统课程设计基于单片机的数字时钟设计_第4页
第4页 / 共16页
微机系统课程设计基于单片机的数字时钟设计_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《微机系统课程设计基于单片机的数字时钟设计》由会员分享,可在线阅读,更多相关《微机系统课程设计基于单片机的数字时钟设计(16页珍藏版)》请在金锄头文库上搜索。

1、微 机 系 统 课 程 设 计 题目: 数字时钟 班级: 小组: 指导教师: 设计日期: 目录摘要 04引言05设计方案论证及选择-05硬件设计061 系统框图 062 控制部分电路 07 3 原件清单 09软件设计 10设计数字钟13 1 数字钟的操作如下 132 流程图 13结束语 21主要参考文献 21 附录 实物图 23 摘要 :近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家

2、用电器等各个领域,单片机往往是作为一个核心部件来使用,在根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。本文介绍了基于单片机的数字钟的设计,详细讨论了它从软件上实现的过程,重点在时钟调整的方式:查询和中断的比较,然后,对数字钟的稳定性和精确性作了相关的讨论。在文章的最后,给出了采用中断方式实现的数字钟的源程序。 关键字:单片机,数字钟,数据缓冲区,中断,定时,消抖引言1.基于单片机的数字钟电路的设计 本系统采用单片机STC89C52控制,以STC89C52为核心,它完成整个系统的信息处理及协调功能,本次设计我们选用宏晶公司的STC89C52芯片,其功能强大,兼容性好,还支持软件

3、选择的空间和掉电两种节电方式。本设计的软件,硬件都采用模块化的设计方法,提高了设计的效率。 本次设计通过对一个实现定时、时钟显示、串口通信等功能的时间系统的设计,其中结合了数据转换显示、数码管显示、动态扫描、单片机定时中断等技术。系统由STC89C52、LED数码管、按键、三极管、HD74lS244P、MAX2020PE、电阻等组成。能实现时钟时、分、秒的显示,同时具有时间设置功能。文章后附有电路图、原件清单,程序清单。设计方案论证及选择该课题主要有两种方案:一种是用数字电路通过硬件实现,另一种是用单片机通过软件编程实现。在以上两种方案中:第一种是直接采用的是数字电路,但是在外围电路和控制比较

4、麻烦,需要比较多的器件来控制;第二种是采用软件来实现一些特定功能,硬件电路只需要一些显示部件和控制部件,其他的都是由软件来实现。第一种一切都由硬件实现,几乎没有软件编程,但电路复杂、芯片多、后续制板及硬件调试麻烦而且成本高;第二种虽电路简单、芯片少、成本低,但编写程序相当复杂。经过一番利弊的权衡及对今后电子业发展趋势的考量,最后敲定用单片机方案实现。另外用单片机实现本设计也有两种可选的子方案:第一种,用软件编程实现 设计中的钟控功能;另一种则选用单片机加时钟芯片实现钟控功能。在本次主要的是时间的设计,因此对时间的精度要求是比较高的,竟量是误差减少到最小值,但是为了更好的练习复习自己在以前所学习

5、的编程能力,所以不采用单片机加时钟芯片的方案,直接用软件编程实现钟控功能。总的来看,单片机已成为工控领域、尖端武器、日常生活中最广泛使用的计 算机,且将进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格方向发展,因此敲定用单片机加软编程方案符合今后电子业发展趋势;另外运用此方案既能将自己以前学过的模拟电路、数字电路、单片机、汇编语言、Protel99等知识结合实践进行一次全面的检测,又能为将来实际制作电路积累宝贵的经验。 硬件设计 1. 系统框图 如图1:2. 控制部分电路 STC89C52单片机概述:STC89C52单片机是国宏晶公司生产的采用 高性能的静态STC89C52设计,是

6、一个低电压,高性能CHMOS 8位单片 机,片内含4kbytes的可反复擦写的只读Flash程序存储器和128 bytes 的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失 性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理 器和Flash存储单元。STC89C52是一个功能强大的单片机,但它只有40引脚,32个双向输入 /输出(I/O)端口,其中P1是一个完整的8位双向I/O口,两个外中断 口,两个16位可编程定时计数器,两个全双向串行通信口,一个模拟比 较放大器。此外,由于器件采用了动态设计,可提供很宽的操作频率范 围(频率0HZ24MHZ)。即具备

7、可用软件设置的睡眠省电功能,系统的唤 醒方式式RAM、定时/计数器、串行口和外中断口,系统唤醒后即进入继 续工作状态。省电模式中,片内RAM将被冻结,时钟停止振荡,所有功 能停止工作,直至系统被硬件复位方可继续运行。在本设计中STC89C52的时钟电路采用内部时钟方式,此方式是在XTAL1 和XTAL2两端跨接晶体或陶瓷谐振器。在本设计中XTAL1和XTAL2两端跨接11.0592MHz晶体振荡器,其发出的脉冲直接送入内部时钟电路。手动复位的按键电平复位本设计中采用LCD液晶显示屏MAX232CPE串口转并口3. 原件清单 USB端口 1 个六引脚开关 1个四引脚按键 4个九针串口 1 个发光

8、二极管 1 个、瓷片电容0.1U F 4个瓷片电容 33PF 2个电解电容10UF 1个MAX232CPE芯片 1个晶振11.0592 1 个AT89C51 芯片 1 个LCD1602液晶显示 1 个MHDR1X9排阻 1 个滑动电阻10K 1个电阻:1K 1 个10K 1个4.7K 2个 5.1K 3 个软件设计程序代码:#include #define uchar unsigned char#define uint unsigned intuint num,k1num,count;uchar hour,min,sec;sbit lcde = P27;sbit lcdrs = P26;sbi

9、t lcdrw = P25;sbit k1 = P10;sbit k2 = P11;sbit k3 = P12;uchar code table = 2011-03-29 TUE;uchar code table1 = 00:00:00;void delay (unsigned int i) uchar j;for (i;i0;i-)for (j=110;j0;j-);void write_com(uchar com) lcdrs = 0;lcdrw = 0;P0 = com;delay(5);lcde = 1;delay(5);lcde = 0;void write_data(uchar d

10、)lcdrs = 1;lcdrw = 0;P0 = d;delay(5);lcde = 1;delay(5);lcde = 0;void write_hms(uchar da,uchar add)uchar shi,ge;shi = da/10;ge = da%10;write_com(0x80+0x40+add);write_data(0x30+shi);write_data(0x30+ge);void keyscan() if (k1 = 0)delay(5);if (k1 = 0)k1num+;while(!k1);if (k1num = 1)TR0 = 0;write_com(0x80

11、+0x40+10);write_com(0x0f);if (k1num = 2)write_com(0x80+0x40+7);write_com(0x0f);if (k1num = 3)write_com(0x80+0x40+4);write_com(0x0f);if (k1num = 4)k1num = 0;write_com(0x0c);TR0 = 1;if (k1num != 0)if (k2 = 0)delay(5);if (k2 = 0)while(!k2);if (k1num = 1)sec+;if (sec = 60)sec = 0;write_hms(sec,10);write_com(0x80+0x40+10);if (k1num = 2)min+;if (min = 60)min = 0;write_hms(min,7);write_com(0x80+0x40+7);if (k1num = 3)hour+;if (hour = 24)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号