单片机数字钟设计报告

上传人:ji****n 文档编号:48135900 上传时间:2018-07-10 格式:DOC 页数:7 大小:149.50KB
返回 下载 相关 举报
单片机数字钟设计报告_第1页
第1页 / 共7页
单片机数字钟设计报告_第2页
第2页 / 共7页
单片机数字钟设计报告_第3页
第3页 / 共7页
单片机数字钟设计报告_第4页
第4页 / 共7页
单片机数字钟设计报告_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《单片机数字钟设计报告》由会员分享,可在线阅读,更多相关《单片机数字钟设计报告(7页珍藏版)》请在金锄头文库上搜索。

1、 重庆航天职业技术学院报告报告单片机单片机 数字钟设计数字钟设计专专 业业 机机 电电 一一 体体 化化 班班 级级 0 0 9 9 0 0 6 6 1 1 0 0 4 4 1 1 学学 号号 2 2 0 0 0 0 9 9 0 0 6 6 8 8 7 7 姓姓 名名 暗暗 送送 秋秋 波波 指导教师指导教师 汤汤 斌斌 机电信息工程系机电信息工程系一、数字钟原理说明:一、数字钟原理说明:1 1、单片机的介绍单片机的介绍单片机也被称为 微控制器(Microcontroller Unit) ,常用英文字母的 缩写 MCU 表示单片机,它最早是被用在工业控制领域。它不是完成某一个逻 辑功能的芯片

2、,而是把一个计算机系统集成到一个芯片上。相当于一个微型 的计算机,和计算机相比,单片机只缺少了I/O 设备。概括的讲:一块芯 片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开 发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳 选择。 (AT89C51 单片机芯片如下图所示 ) 单片机是靠程序运行的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50 年代开发的 74 系列,或者 60 年代的 CD4000 系列这些纯硬件来搞定的话,电路

3、一定是一块大 PCB 板!但是如果要是用美国 70 年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性! 2 2、数字钟的简介数字钟的简介数字钟(电子钟)是一种利用数字电路来显示秒、分、时的计时装置,与 传统的机械钟相比,它具有走时准确、显示直观、无机械传动装置等优点,因 而得到广泛应用。随着人们生活环境的不断改善和美化,在许多场合都用到电 子时钟。 很多单片机产品具有实时时钟的功能,例如智能化仪器仪表、工业过程系 统及家用电器等。这里要求实现一个具有实时时钟显示和闹钟控制功能的数字 钟。通过数字钟的设计与制作,将前面所学的单片

4、机内部定时资源、I/O 端口、键盘和显示接口等知识融会贯通,锻炼独立设计、制作和调试应用系统的能力, 深入领会单片机应用系统的硬件设计、模块化程序设计及软硬件调试方法等, 并掌握单片机应用系统的开发过程。3 3、电路组成及工作原理、电路组成及工作原理数字时钟设计原理主要利用 AT89C51 单片机,由单片机的 P2 口控制数码管的位显示, P0 口控制数码管的段显示,P1 口与按键相接用于时间的校正。在设计中引入电源电路,外部电源系统产生+5V 电压,用于给 CPU 及显示电路提供工作电压,这是数字时钟正常工作时的总电压。整个系统工作时,秒信号产生器是整个系统的时基信号,它直接决定计时系统的精

5、度,将标准秒信号送入“秒计数器”, “秒计数器”采用 60 进制计数器,每累计 60 秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。 “分计数器”也采用 60 进制计数器,每累计 60 分钟,发出一个“时脉冲”信号,该信号将被送到“时计数器”。 “时计数器”采用 24 进制计时器,可实现对一天 24 小时的累计。显示电路将“时”、 “分”、 “秒”计数器的输出,通过六个七段 LED 显示器显示出来。校时电路是直接加一个脉冲信号到时计数器或者分计数器或者秒计数器来对“时”、 “分”、 “秒”显示数字进行校对调整。 二、电路原理图二、电路原理图3、程序及实验结果程序及实验结果#in

6、clude #define SMG_Data P0 #define SMG_bit P2 #define switch_time 1 sbit Led=P10 ; unsigned int T0_counter,counter ; unsigned char code numtab11=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D, 0x07,0x7F,0x6F,0x40; unsigned char bit_select,second=55,miniute=59,hour=23; void interrupt_init () TMOD=0X01;. void time

7、r0()interrupt 1 .if(counter=1000)counter=0;second+; .if (hour=0else Led=1;switch (bit_select) case 0:SMG_bit =bittab7;SMG_Data=numtabsecond%10;break;. 实验显示结果实验显示结果4、总结总结通过这次设计使我更深刻地感受到Proteus的实用,完成对数字电子钟的设计与制作调试,使我对单片机应用系统的设计过程进行了掌握。单片机应用系统开发的一般工作流程包括:项目任务的需求分析,制作系统软、硬件方案,系统硬件设计与制作,系统软件模块划分与设计,系统软、硬

8、件联调,程序固化,脱机运行等。当我们接手一个课题或项目的时候,不是马上就动手做,而是先进行可行性论证。首先提出几套方案,然后对各个方案进行对比,最后找出最适合的设计方案。对于芯片的使用,我们应该在了解它的各项功能的前提条件下,灵活巧妙地运用。具体的芯片资料和图片我们通过查阅相关的书籍,在网上能够很方便的查找。电子制作不一定一次就能成功,总有个反复过程。因此碰到电路不正常工作的情况时,千万要冷静,不要慌乱。此时既不要埋怨自己,也不要责怪电路,应该集中精力去检查电路。首先应该检查电路的连线。电路越复杂,连线出现错误的几率也就越高,要按照电路图反复检查每一根连线和连接点,每检查一根连线和一个连接点,

9、都在电路图上作一个记录,特别要注意检查接触不好等情况。其次,要检查元件的极性,注意极性方向。经过努力终于找到了电路不正常工作的原因,此时我们的知识技能也一定有了很大的提高。这次大型作业虽然时间很短,但是从中学到很多东西,是自己对以前学的知识有了进一步得了解。同时也发现自对数电知识和电子设计软件掌握得不够。这次设计仿真我们用到了仿真软件Proteus和编译软件keilc,从软件的安装到使用,编程需要用c语言编辑,可是我c语言知识缺乏,所以同时我还得从网上和书籍上自学c语言。这次的设计最主要是单片机的应用,从控制到接口。技术是一个多学科的综合,要做到灵活应用需要自我学习各种辅助技术的应用。这次明显

10、体会到自己知识的匮乏,思考问题不全面,这激励我要学好基础知识的同时要拓展知识面,增强自己的综合能力,从而使得自己成为一个有综合能力的人才而更加适应社会。总之,通过这次课程设计我不仅将前期所学的单片机知识进行了一次检验。与此同时我还另外的学习了c语言并掌握了编程的基本指令。设计中不足的地方我会尽快去改正,好的地方我会继续发扬。附录:附录:1 1数字钟程序数字钟程序#include #define SMG_Data P0 #define SMG_bit P2 #define switch_time 1 sbit Led=P10 ; unsigned int T0_counter,counter ;

11、 unsigned char code numtab11=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D, 0x07,0x7F,0x6F,0x40; unsigned char code bittab8=0xfe,0xfd, 0xfb,0xf7,0xef,0xdf,0xbf,0x7f; unsigned char bit_select,second=55,miniute=59,hour=23; void interrupt_init () TMOD=0X01; TH0=(65536-50000)/256; TL0=(65536-50000)%256;TR0=1;ET0=1

12、;EA=1; void timer0()interrupt 1 TH0=(65536-1000)/256; TL0=(65536-1000)%256; T0_counter+; counter+; if(T0_counter=switch_time)T0_counter=0; bit_select+; if(bit_select=8) bit_select=0; void main (void) interrupt_init ();while (1)if(counter=1000)counter=0;second+;if(second59)second=0;miniute+;if(miniut

13、e59)miniute=0;hour+;if(hour23)hour=0;if (hour=0else Led=1;switch (bit_select) case 0:SMG_bit =bittab7;SMG_Data=numtabsecond%10;break;case 1:SMG_bit =bittab6;SMG_Data=numtabsecond/10;break;case 2:SMG_bit =bittab5;SMG_Data=numtab10;break;case 3:SMG_bit =bittab4;SMG_Data=numtabminiute%10; break;case 4:SMG_bit =bittab3;SMG_Data=numtabminiute/10; break;case 5:SMG_bit =bittab2;SMG_Data=numtab10; break;case 6:SMG_bit =bittab1;SMG_Data=numtabhour%10;break;case 7:SMG_bit =bittab0;SMG_Data=numtabhour/10;break;default:break;

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

当前位置:首页 > 中学教育 > 初中教育

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