基于51单片机电子表设计

上传人:第*** 文档编号:61115517 上传时间:2018-11-24 格式:DOCX 页数:32 大小:291.38KB
返回 下载 相关 举报
基于51单片机电子表设计_第1页
第1页 / 共32页
基于51单片机电子表设计_第2页
第2页 / 共32页
基于51单片机电子表设计_第3页
第3页 / 共32页
基于51单片机电子表设计_第4页
第4页 / 共32页
基于51单片机电子表设计_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《基于51单片机电子表设计》由会员分享,可在线阅读,更多相关《基于51单片机电子表设计(32页珍藏版)》请在金锄头文库上搜索。

1、目录目录1第1章 概述11.1实验原理1第2章 设计思路及框图12.1设计思路12.2设计框图2第3章系统的硬件设计23.1主控制部件23.2显示模块33.3晶振模块33.4按键模块33.5驱动模块4第4章电路设计原理图44.1电路原理图4第5章 程序设计55.1程序流程图55.2源程序6第6章系统的验证及调试266.1日期设置显示测试266.2秒表测试266.3倒计时测试27第7章 总结28第8章 参考文献28第1章 概述1.1实验原理单片机集成度高、功能强、可靠性高、体积小、功耗地、使用方便、价格低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎“无处不在,无所不为”。单片机的

2、应用领域已从面向工业控制、通讯、交通、智能仪表等迅速发展到家用消费产品、办公自动化、汽车电子、PC机外围以及网络通讯等广大领域。 单片机有两种基本结构形式:一种是在通用微型计算机中广泛采用的,将程序存储器和数据存储器合用一个存储器空间的结构,称为普林斯顿结构。另一种是将程序存储器和数据存储器截然分开,分别寻址的结构,一般需要较大的程序存储器,目前的单片机以采用程序存储器和数据存储器截然分开的结构为多。 本课题讨论的方波发生器的核心是目前应用极为广泛的 51系列单片机。 利用AT89C51单片机定时器完成计时功能,定时器0计时中断程序每隔0.01s中断一次并当作一个计数,设定定时1秒的中断计数初

3、值为0,每中断一次中断计数初值加1,当加到100时,则表示1s到了,秒变量加1,同理再判断是否1min钟到了,再判断是否1h到了。为了将时间在6位LED数码管上显示,可采用静态显示法和动态显示法,由于静态显示法需要译码器,数据锁存器等较多硬件,可采用动态显示法实现LED显示,通过对每位数码管的依次扫描,使对应数码管亮,同时向该数码管送对应的字码,使其显示数字。由于数码管扫描周期很短,由于人眼的视觉暂留效应,使数码管看起来总是亮的,从而实现了各种显示。第2章 设计思路及框图2.1设计思路针对要实现的功能,采用AT89S51单片机进行设计,AT89S51 单片 机是一款低功耗,高性能CMOS8位单

4、片机,第一,熟悉AT89S51单片机,在编程之前必须了解硬件结构尤其是各引脚的用法,以及内部寄存器、存储单元的用法,否则,编程无从下手,电路也无法设计。这是前期准备工作。第二,设计硬件部分:依据想要的功能分块设计设计,比如输入需要开关电路,输出需要显示驱动电路和数码管电路等。第三,画图部分:设计好电路后进行画图。第四,软件部分:先学习理解汇编语言的编程方法再根据设计的硬件电路进行分块的编程调试,最终完成程序设计。第五部分是软件仿真部分:软硬件设计好后将软件载入芯片中进行仿真,仿真无法完成时检查软件程序和硬件电路并进行修改直到仿真成功。第六部分是硬件实现部分:连接电路并导入程序检查电路,实现想要

5、的功能。2.2设计框图此次设计主要是应用单片机来设计电子时钟,硬件部分主要分以下电路模块:显示电路用8个共阴极数码显示管、按键模块、晶振模块。显示管分别显示:小时、分钟和秒,通过动态扫描进行显示。电路的总体设计框架如下:单片机模块晶振模块 图1 LCD显示模块 时钟模块 驱动模块按键模块 第3章系统的硬件设计3.1主控制部件 89C51是一个8位单片机,片内ROM全部采用FLASH ROM技术,晶振时钟为12MHz。89C51是标准的40引脚双列直插式集成电路芯片,有4个八位的并行双向I/O端口,分别记作P0、P1、P2、P3。第31引脚需要接高电位使单片机选用内部程序存储器;第40脚为电源端

6、VCC,接+5V电源,第20引脚为接地端VSS,通常在VCC和VSS引脚之间接0.1F高频滤波电容。硬件原理图如图2所示: 图23.2显示模块 方案一:静态显示。静态显示,即当显示器显示某一字符时,相应的发光二极管恒定导通或截至。该方式每一位都需要一个8位输出口控制。静态显示时较小电流能获得较高的亮度,且字符不闪烁。但因当所需显示的位数较多时,静态显示所需的I/O口数较大,造成资源的浪费。 方案二:动态显示。动态显示,即各位数码管轮流点亮,对于显示器各位数码管,每隔一段延时时间循环点亮一次。利用人的视觉暂留功能可以看到整个显示,但必须保证扫描速度足够快,人的视觉暂留功能才可以察觉不到字符闪烁。

7、显示器的亮度与导通电流、点亮时间及间隔时间的比例有关。调整参数可实现较高稳定度的显示。动态显示节省了I/O口,降低了能耗。从节省单片机I/O口和降低能耗角度出发,本电子表显示选择采用方案二。3.3晶振模块单片机芯片可使用内部时钟电路和外部时钟电路两种方式产生电路所需的时钟脉冲,内部时钟电路实现可用石英晶体和微调电容外接即可达到,外部时钟电路实现需要一个外部脉冲源引入脉冲信号以保证个单片机之间时钟信号的同步。从硬件实现难易角度考虑,内部时钟电路的实现比外部时钟电路的实现更简易。既本数字电子钟设计所需的时钟源采用内部时钟电路实现。3.4按键模块本数字电子钟设计所需按键用于进行显示时间的调整与设置扩

8、展的小键盘。单片机芯片4个I/O口可与按键直接相连,通过编程,单片机芯片即可控制按键接口电平的高低,即按键的开与关,以达到用按键进行显示时间的调整与设置扩展的小键盘的设计要求,本电路采用P1口与按键相连。3.5驱动模块从实物制作简易程度与驱动数码管段码能力角度出发,本数字电子钟设计采用数码管段码与AT89C51P0口相连,单片机AT89C51的P2口控制数码管的片选信号,通过编程,单片机芯片即可控制段码电平的高低的方式实现数码管段码控制。第4章电路设计原理图4.1电路原理图 图3第5章 程序设计5.1程序流程图 在主程序的开始定义了一组固定单元用来存储计数的分、秒、时的存储单元。在主程序中,对

9、不同的按键进行扫描,实现秒表,时间调整。系统总体流程图如图4所示。 开始 T0中断入口 通过查表方式显示数据 位选数值=0 秒计数加1 秒计数=1000 秒计数=0 Seconds+1 中断返回 图4系统子程序流程图如图5所示: 图55.2源程序#include #include ds1302.h#include lcd1602.h#include key.h/sbit wela=P27;/sbit dula=P26;uchar tab_date14=2012-11-16 TUE;/表示年月日星期uchar tab_time8=00:00:00;/表示时分秒uchar tab_time18=0

10、0:00:00;/表示时分秒uchar tiao;uchar msecond;uchar hour,min,sec,key,sition;/uchar kong= ;uchar flag;/时间秒表选择标志/-/ 数据转换/-void trans() tab_date2=tab_13026/10+0; /年十位 tab_date3=tab_13026%10+0; /年个位 tab_date5=tab_13024/10+0; /月十位 tab_date6=tab_13024%10+0; /月个位 tab_date8=tab_13023/10+0; /日十位 tab_date9=tab_13023

11、%10+0; /日个位 tab_time0=tab_13022/10+0; /小时十位 tab_time1=tab_13022%10+0; /小时个位 tab_time3=tab_13021/10+0; /分十位 tab_time4=tab_13021%10+0; /分个位 tab_time6=tab_13020/10+0; /秒十位 tab_time7=tab_13020%10+0; /秒个位/-/ 星期显示/-void week() uchar i; if(tab_13025=1) i=7; else i=tab_13025-1; /*实时时钟里的值是6,但是2008/08/08是星期五,所以减1, Proteus的问题? */ switch(i) case 1: tab_date11=M;tab_date12=O;tab_date13=N; break; case 2: tab_date11=T;tab_date12=U;tab_date13=E; break; case 3: tab_da

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

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

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