单片机电子钟设计

上传人:公**** 文档编号:485414214 上传时间:2023-10-03 格式:DOC 页数:28 大小:501.50KB
返回 下载 相关 举报
单片机电子钟设计_第1页
第1页 / 共28页
单片机电子钟设计_第2页
第2页 / 共28页
单片机电子钟设计_第3页
第3页 / 共28页
单片机电子钟设计_第4页
第4页 / 共28页
单片机电子钟设计_第5页
第5页 / 共28页
点击查看更多>>
资源描述

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

1、成绩 课程设计报告题 目 单片机八位口扩展成十六位 课 程 名 称 单片机原理及应用课程设计院 部 名 称 龙蟠学院 专 业 电气工程及其自动化 班 级 M11电气工程及其自动化 学 生 姓 名 王东 学 号 1121408013 课程设计地点 工科楼 B403 课程设计学时 指 导 教 师 高 峰 金陵科技学院教务处制摘 要单片机电子闹钟是集电子技术、数字显示技术为一体的产品,具有按时闹铃,使用方便等优点。本论文从电子闹钟系统的功能、软件设计、软件调试等方面论述这一系统。本设计以AT89C51芯片为核心,采用动态扫描方式显示,通过使用该单片机,加之在显示电路部分使用的驱动电路,实现在4个LE

2、D数码管上显示时间、定时、闹铃的功能,并通过4个按键实现设置日期、进行调时、设定闹铃等功能。在实现各功能时数码管进行相应显示,闹铃或定时时间到时蜂鸣器响,整点报时等功能。 关键词:定时闹钟、C52单片机、软件分析、软件设计目 录一 、设计任务与要求1二 、总体设计方案与说明1三 、系统硬件部分设计2 3.1 8086微处理器的工作原理2 3.2 8259A芯片的工作原理3 3.3 8253芯片的工作原理4 3.4 LED显示器5 3.5 系统原理图 6四 、系统软件部分设计 7 4.1 软件流程图74.2 软件程序9五 、系统调试 17六 、课程设计体会 17七 、参考文献 17 2一、设计任

3、务与要求设计一个可调时电子钟,要求:1)正确显示时钟时分2)可以利用按钮调整时间和设定闹钟时间3)当时间到达设定的闹钟时间时,蜂鸣器发出滴、滴、滴的报警声二、总体设计方案与说明 单片机通过T0产生的脉冲计时,并通过键盘或者串口来调整闹钟及时钟时间。 单片机发送的信号通过程序控制最终在数码管上显示出来。 单片机通过输出各种电脉冲信号来驱动控制各部分正常工作。系统工作框图如下:三、系统硬件部分设计 31、AT89C51单片机:该单片机功能强大,不仅能满足设计的需要,也可以在设计要求的基础上进行一些扩展。单片机的结构如下:图2 AT89C51在使用时VCC接电源电压,GND接地。P0,P1,P2,P

4、3可作为输入或输出端口,RST是复位输入,接复位电路。XTAL1和XTAL2接复位电路。这些可以在硬件设计部分体现出来。单片机为内含8K FLASH程序存储器的STC98C52RC,EA接高电平;各并行口都加了10K的上拉电阻;晶振为11.0592M。设置了上电复位和手动复位电路。3.2、ULN2003是大电流驱动阵列,多用于单片机、智能仪表、PLC、数字量输出卡等控制电路中。可直接驱动继电器等负载。 输入5VTTL电平,输出可达500mA/50V。 ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。 该电路的特点如下: ULN2003的每一对达林顿都串联一个2.7K的基极

5、电阻,在5V的工作电压下它能与TTL和CMOS电路 直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。 ULN2003 是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。 ULN2003芯片引脚图 ULN2003芯片引脚介绍引脚1:CPU脉冲输入端,端口对应一个信号输出端。 引脚2:CPU脉冲输入端。 引脚3:CPU脉冲输入端。 引脚4:CPU脉冲输入端。 引脚5:CPU脉冲输入端。 引脚6:CPU脉冲输入端。 引脚7:CPU脉冲输入端。 引脚8:接地。 引脚9:该脚是内部7个续流二极管负极的公共端,各

6、二极管的正极分别接各达林顿管的集电极。用于感性负载时,该脚接负载电源正极,实现续流作用。如果该脚接地,实际上就是达林顿管的集电极对地接通。 引脚10:脉冲信号输出端,对应7脚信号输入端。 引脚11:脉冲信号输出端,对应6脚信号输入端。 引脚12:脉冲信号输出端,对应5脚信号输入端。 引脚13:脉冲信号输出端,对应4脚信号输入端。 引脚14:脉冲信号输出端,对应3脚信号输入端。 引脚15:脉冲信号输出端,对应2脚信号输入端。 引脚16:脉冲信号输出端,对应1脚信号输入端。控制原理软件流程图说明 系统功能及使用方法: 步进电机,顾名思义,就是一步步走的电动机,所谓“步”指的是转动角度,一般每步为1

7、.8,若转一圈360,需要200步才能完成。有的每步为7.5,还有的每步为18,转一圈只需20步。 步进电机每走一步,就要加一个脉冲信号,也称激磁信号。无脉冲信号输入时,转子保持一定的位置,维持静止状态。软件程序#include /头文件#include#define uchar unsigned char/宏定义#define uint unsigned int/宏定义#define fmq RDsbit key1=P20; /位声明 /MODIFIEDsbit key2=P21;sbit key3=P22;sbit key4=P23;uchar code table=0x3f,0x06,0

8、x5b,/数码管显示的数值0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0xbf,0x86,0xdb,/带小数点的数值0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef;void plus(); /函数声明void minus();void sint();uchar table_16; /定义数组,数组内含有6个数值uchar table_26;uchar shi=1,fen=1,miao=30; /显示初始值uchar shi1,fen1,miao1,shi2,fen2,miao2,shi3,fen3,miao3;/定义全局变量uchar

9、flag,flag1,flag2,cnt,cnt1,count;/定义全局变量void delay(uchar i) /延时函数,用于动态扫描数码管 uchar x,y; for(x=i;x0;x-) for(y=110;y0;y-);void init() /初始化函数 TMOD=0X21; /使用T0和T1 TH0=(65536-50000)/256; /定时时间为:50ms TL0=(65536-50000)%256; ET0=1; /打开定时器 EA=1; /开总中断 TR0=1; /启动定时器 SCON = 0x50; /0101 0000 SM1SM2=10,方式二 REN=1允许

10、接受 (串口初始化) TH1 = 0xFD; TR1 = 1; /启动T/C1 ES = 1; void display() /显示子函数,用于显示时间数值 uchar i,j; table_10=miao%10; /分离秒的各位与十位 table_11=miao/10; table_12=fen%10+11; /分离分的各位与十位 table_13=fen/10; table_14=shi%10+11; /分离时的各位与十位 table_15=shi/10; j=0x7f; /从秒到时的扫描 for(i=2;i6;i+) P2=j; P0=tabletable_1i;/显示数值 delay(10); j=_cror_(j,1);/循环右移 void display_1() /显示子函数,用于显示定时时间 uchar i,j; table_20=miao2%10; /以下含义同上 table_21=miao2/10; table_22=fen2%10+11; table_23=fen2/10; table_24=shi2%10+11; table_25=shi2/10; j=0x7f; for(i=2;i=20) /判断是否到一秒 flag=0; /到了,则标志位清零 miao+; /秒加1 if(miao=60) /判断秒是否到60s miao=

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

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

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