基于单片机的数字时钟设计课件

上传人:F****n 文档编号:88148077 上传时间:2019-04-20 格式:PPT 页数:23 大小:982.50KB
返回 下载 相关 举报
基于单片机的数字时钟设计课件_第1页
第1页 / 共23页
基于单片机的数字时钟设计课件_第2页
第2页 / 共23页
基于单片机的数字时钟设计课件_第3页
第3页 / 共23页
基于单片机的数字时钟设计课件_第4页
第4页 / 共23页
基于单片机的数字时钟设计课件_第5页
第5页 / 共23页
点击查看更多>>
资源描述

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

1、基于单片机的数字时钟设计,设计简介,本设计选择的是以STC90C51单片机为控制核 心。配备其他外围电路构成了一个具有时间显示、按键调时、闹铃定时功能的数字时钟。系统采用七段式数码管作为显示器,软件程序采用均采用C语言编写,便于移植与升级。报告详细介绍了整个系统的硬件组成结构、工作原理和系统的软件程序设计。,系统设计 系统框图,硬件设计 系统仿真电路图,系统硬件组成及其功能 一、电源电路,二、时钟电路,其输入引脚为18(XTA2)、19 (XTAL1).电路有2个电容(C1/C2)其容量约为30pF还有一个晶体振荡器 (1.212mHz)。时钟电路用于产生单片机工作所需要的时钟信号,三、按键电

2、路,单片机引脚默认输出为高电平,当开关按下时引脚与地相连,引脚电平为低电平,单片机采集到低电平做出反应。,四、复位电路,a、上电复位,b、按键复位,五、显示电路,六、报时电路,74HC573,OE:三态允许控制端低电平有效 LE :数据锁存使能, 1D8D为数据输入端 1Q8Q为数据输出端 功能:芯片74HC573是8位三态锁存器.可锁存地址,数据,可作缓冲器用。在本设计中采用74HC573提高对数码管的驱动能力。,软件设计 一、主程序流程图,二、按键程序流程图,三、程序及其功能,#include unsigned char Seg=0X3f,0X06,0X5b,0X4f,0X66,0X6d,

3、0X7d,0X07,0X7f,0X6f,0x40; /数码管显示1-9和的断码 unsigned char Com=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff; /数码管亮灭的数组 /* 定义全局变量 */ unsigned int counter=0; /定义计数数据 unsigned char mode; /定义模式 unsigned char second=0,minute=0,hour=0; /定义秒分时的初值 unsigned char ADD_bit=0,DEC_bit=0,flag=0; /加标志位和减标志位赋初值0,,/* 定义按键

4、 */,sbit ms=P10; /按键P0调节模式变化 sbit ADD=P11; /按键P11实现加一 sbit DEC=P12; /按键P12实现减一 sbit SPK=P17; /按键P17实现报时,/* 延时函数 */ void delay(unsigned int t) while(t-); ,/* 数码管扫描 */ void Segplay() P0=Segsecond%10; P3=Com7;delay(100);P3=Com8; P0=Segsecond/10; P3=Com6;delay(100);P3=Com8; P0=Seg10; P3=Com5;delay(100);

5、P3=Com8; P0=Segminute%10; P3=Com4;delay(100);P3=Com8; P0=Segminute/10; P3=Com3;delay(100);P3=Com8; P0=Seg10; P3=Com2;delay(100);P3=Com8; P0=Seghour%10; P3=Com1;delay(100);P3=Com8; P0=Seghour/10; P3=Com0;delay(100);P3=Com8; ,/* 按键扫描 */ void Keyget() /通过标志位来控制模式 if(ms=0)flag=1; if(ms),/* 报时扫描 */ void

6、didi() if(second=0 ,/* 中断初始化 */ void time0() TMOD=0x01; /设置定时器模式1 TH0=(65536-50000)/256; /高八位赋初值 TL0=(65536-50000)%256; /低八位赋初值 TR0=1; /启动定时器0计数 ET0=1; /使能定时器中断 EA=1; /使能总中断 ,/* 主函数 */ void main() time0(); while(1) Keyget(); /加减控制 Segplay(); /数码管显示 didi(); /报时控制 ,/* 中断服务程序 */ void timer0() interrupt

7、 1 TH0=(65536-50000)/256; /高八位赋初值 TL0=(65536-50000)%256; /低八位赋初值 counter+; if(counter=20) counter=0;second+; if(second=60) second=0;minute+; /秒进位 if(minute=60) minute=0;hour+; /分进位 if(hour=24) hour=0; ,结 论,利用单片机来控制共阴极数码管显示时钟(时、分、秒),并且用三个按键(第一个开关控制调整时和分,第二个按键控制时或分的加一,第三个按键控制时或分的减一),同时用蜂鸣器来产生整点报时的功能。从而进一步加强了对单片机的认识和了解,和对数码管的结构进行更深一步的认识。利用单片机仿真软件初步实现了可调数字钟整点报时电路的功能。,

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

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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