电子时钟课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学号成绩
‘
沈阳城市建设学院
基于51单片机的电子时钟系统设计
课程名称《单片机原理及应用》
专业
班级 16- 1 班
姓名
2017 年 12 月18日
目录
一、方案设计 (3)
1.1、单片机的选择方案 (3)
1.2、数码管的选择方案 (3)
1.3、上拉电阻的选择方案 (3)
1.4、总体设计框图 (4)
二、程序 (5)
三、硬件模块程序设计 (6)
3.1、单片机最小系统 (6)
3.2数码管显示模块 (6)
四、软件模块设计 (6)
五、系统硬件电路的设计 (7)
六、课程设计总结 (8)
七、参考资料 (8)
摘要
数字钟已成为人们日常生活中不可少的必需品,给人们的生活,学习,工作带来极大的方便。本文介绍的数字钟是一种利用数字电路来显示时、分、秒的装置,与传统的机械钟相比,它具有走时准确,性能稳定,显示直观,无机械传动装置等特点。
数字电子钟由秒信号发生器、“时、分、秒”计数器、译码器及显示器、校时电路等组成。秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,将标准秒脉冲信号送入“秒计数器”,该计数器采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。“分计数器”也采用60进制计数器,每累计60分,发出一个“时脉冲”信号,该信号将被送到“时计数器”。“时计数器”采用24进制计数器,可以实现一天24h 的累计。电路是来对“时、分、秒”显示数字进行校对调整。
关键词:计数器;单片机;数码管;上拉电阻
一、方案设计
1.1、单片机的选择方案
1.2、数码管的选择方案
1.3、上拉电阻的选择方案
1.4、总体设计框图
1.1、AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4k bytes的可反复擦写的只读程序存储器(PEROM)和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。如图1.1.1:
图 1.1.1
1.2、共阴极数码管是一类数字形式的显示屏,通过对其不同的管脚输入相对的电流,会使其发亮,从而显示出数字能够显示时间、日期、温度等所有可用数字表示的参数。由于它的价格便宜、使用简单、在电器,特别是家电领域应用极为广泛,空调、热水器、冰箱等等。绝大多数热水器用的都是数码管,其他家电也用液晶屏与荧光屏。如图1.
2.1:
图1.2.1
1.3、上拉电阻(排阻,上拉就是将不确定的信号通过一个电阻嵌位在高电平,电阻同时起限流作用。上拉是对器件注入电流,下拉是输出电流;弱强只是上拉电阻的阻值不同,没有什么严格区分;对于非集电极(或漏极)开路输出型电路(如普通门电路)提升电流和电压的能力是有限的,上拉电阻的功能主要是为集电极开路输出型电路输出电流通道。所以根据本次课设设计选择上拉电阻。如图1.3.1:
图1.3.1
二、程序
见附页1
三、硬件模块程序设计
3.1、单片机最小系统
51单片机最小系统复位电路的极性电容C1的大小直接影响单片机的复位时间,一般采用10~30uF,51单片机最小系统容值越大需要的复位时间越短。51单片机最小系统起振电容C2、C3一般采用15~33pF,并且电容离晶振越近越好,晶振离单片机越近越好,P0口为开漏输出,作为输出口时需加上拉电阻,阻值一般为10k。其他接口内部有上拉电阻,作为输出口时不需外加上拉电阻。
3.2数码管显示模块
1.3、6位共阴数码管显示所示
四、软件模块设计
本次设计使用的软件是Keil软件,它能够使用简单易懂的高级C 语言对单片机进行软件开发,还是C52系列兼容单片机C语言软件开发系统。
五、系统硬件电路的设计
系统的硬件主要包括单片机芯片,数码管显示,按键开关电路,它的硬件电路如下图所示,单片机采用广泛使用的AT89C51,系统采用12MHz的晶振,采用6位共阴数码管显示。
操作方法:对照原理图,按下SW2按键第一次设置小时数据,SW3按键加,SW4按键减,按下SW2按键第二次设置分钟,SW3按键加,SW4按键减,SW2按键第三次设置秒,SW3按键加,SW4按键减,SW2第四次退出设置。单独的一个按键SW1是复位按键
硬件电路图如图所示图5.1
图5.1
六、课程设计总结
经过一周的时间以及对整本教材的知识总结,把课程设计分成了硬件和软件两大模块。总的来说,硬件部分很好入手,电路也教简单,主要涉及的是简单的按键、电容、电阻、晶振和数码管。在软件部分,细分为了按键模块、显示模块、定时/计数模块,最后把几个模块整合在主程序模块中,使得程序简单明了。整个设计过程中遇到的最大问题是软件的编写,由于采用的是汇编语言,其间使用到的各种寄存器、存储器地址、变量很多,很难对程序的整体把握。通过电子钟的设计,对单片机的原理、结构、外围电路进一步的了解。在整个设计过程中学到了团体精神和独立解决问题的重要性。为以后的求职之路打下了基础。
七、参考资料
[1]《单片机原理与应用》谢维成杨加国编著
[2] 《单片机应用与仿真调试》严天峰编著
[3]《模拟电子技术(第三版)》胡宴如耿苏燕编著
[4]《数字电子技术(第三版)》杨志忠卫桦林编著
附页1
#include
#define uchar unsigned char //宏定义缩写成uchar
#define uint unsigned int//宏定义缩写成uint //数码管位端口定义
sbit w1=P2^2;
sbit w2=P2^3;
sbit w3=P2^4;
sbit w4=P2^5;
sbit w5=P2^6;
sbit w6=P2^7;
////////按键/////////////////////
sbit key1=P3^5;//设置时间
sbit key2=P3^6;//加
sbit key3=P3^7;//减
/////共阴数码管段信号编码////////
uchar code table[10]=//0---9
{0xFC,0x60,0xDA,0xF2,0x66,
0xB6,0xBE,0xE0,0xFE,0xF6};//
uchar num,miao,fen,shi;//计时时分秒变量