当前位置:文档之家› 基于郭天祥单片机数码管的电子钟(含闹钟、整点报时)

基于郭天祥单片机数码管的电子钟(含闹钟、整点报时)

基于郭天祥单片机数码管的电子钟(含闹钟、整点报时)
基于郭天祥单片机数码管的电子钟(含闹钟、整点报时)

基于单片机数码管的电子钟(郭天祥系列单片机)

1、功能说明

(1)本电子钟可以显示当前时刻、年月日和闹钟时刻。不同

时间的显示可以用key4来切换。

(2)、独立键盘key1-key4(左到右)调节不同功能,7段数

码管显示。

(3) 整点提示功能:当时间为整点时,蜂鸣器会滴滴滴响,响20秒;

(4) 闹铃功能:本程序有闹铃功能,当定时时间到时,闹铃会滴滴滴报警,报警30秒;

(5)附加功能:当在闹铃和整点时,8个发光二极管会闪亮;

(6)时、分、秒之间和年、月、日之间也是用“.”分割。

2、键盘控制

(1)key1-键移动调整单位,每按一次移动一个单位,可调整时分秒、年月日和闹钟时间。比如:在显示时分秒时,按下key1键,可通过key2和key3对‘秒’加减;再按一下key1,可对‘分’加减;再按一下key1,可对‘时’加减;再按key1,时间开始走动(2)key2-加1;key3-减1;

(3)key4-键切换时分秒、年月日和闹铃时间的显示。比如:当前为时分秒,按一下key4,则显示年月;再按一下,则显示闹铃时间;再按一下,则显示时分秒时间。

附录:C语言程序

//设计项目:带闹铃的电子钟

//功能: key1-键:开始/调时分秒/调年月日/调定时

// key2-键:加1

// key3-键:减1

// key4-键:切换页面

#include

#define uchar unsigned char

#define uint unsigned int

sbit dula=P2^6;

sbit wela=P2^7;

sbit key1=P3^4;

sbit key2=P3^5;

sbit key3=P3^6;

sbit key4=P3^7;

sbit bear=P2^3;

uchar code table[]={0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,

0x79,0x71};

uchar sec1,min1,hour1,year1,mon1,day1,temp1,temp2,sec2,min2,hour2; void keyscan();

void display(uchar hour,uchar min,uchar sec);

void delay(uint z)

{

uint x,y;

for(x=0;x

for(y=0;y<110;y++);

}

void init()

{

TMOD=0X02;

TH0=6;

TL0=6;

EA=1;

ET0=1;

TR0=1;

hour1=00;

min1=00;

sec1=00;

year1=12;

mon1=03;

day1=10;

}

void display(uchar hour,uchar min,uchar sec) {

uchar s1,s2,m1,m2,h1,h2;

s2=sec/10;

s1=sec%10;

m2=min/10;

m1=min%10;

h2=hour/10;

h1=hour%10;

dula=1;

P0=table[h2];

dula=0;

P0=0XFF;

wela=1;

P0=0XFE;

delay(1);

dula=1;

P0=table[h1]+0x80;

dula=0;

P0=0XFF;

wela=1;

P0=0XFd;

delay(1);

dula=1;

P0=table[m2];

dula=0;

P0=0XFF;

wela=1;

P0=0XFb;

delay(1);

dula=1;

P0=table[m1]+0x80;

dula=0;

P0=0XFF;

wela=1;

P0=0XF7;

delay(1);

dula=1;

P0=table[s2];

dula=0;

P0=0XFf;

wela=1;

P0=0Xef;

delay(1);

dula=1;

P0=table[s1];

dula=0;

P0=0XFF;

wela=1;

P0=0Xdf;

delay(1);

}

void keyscan()

{

if(key1==0)

{

delay(10);

if(key1==0)

{

//TR0=0;

temp1++;

if(temp1==4)

{

temp1=0;

TR0=1;

}

while(!key1)

switch(temp2)

{

case 0:display(hour1,min1,sec1);break;

case 1:display(year1,mon1,day1);break;

case 2:display(hour2,min2,sec2);break;

}

}

}

if(key2==0)

{

delay(10);

if(key2==0)

{

if(temp2==0)

{ TR0=0;

switch(temp1)

{

case 1:sec1++;if(sec1==60)sec1=0;break;

case 2:min1++;if(min1==60)min1=0;break;

case 3:hour1++;if(hour1==24)hour1=0;break;

}

while(!key2)

display(hour1,min1,sec1);

}

if(temp2==1)

{ TR0=1;

switch(temp1)

{

case 1:day1++;if(day1==31)day1=1;break;

case 2:mon1++;if(mon1==13)mon1=1;break;

case 3:year1++;if(year1==100)year1=0;break;

}

while(!key2)

display(year1,mon1,day1);

}

if(temp2==2)

{ TR0=1;

switch(temp1)

{

case 1:sec2++;if(sec2==60)sec2=0;break;

case 2:min2++;if(min2==60)min2=0;break;

case 3:hour2++;if(hour2==24)hour2=0;break;

}

while(!key2)

display(hour2,min2,sec2);

}

}

}

if(key3==0)

{

delay(10);

if(key3==0)

{

if(temp2==0)

{ TR0=0;

switch(temp1)

{

case 1:if(sec1==0)sec1=60;sec1--;break;

case 2:if(min1==0)min1=60;min1--;break;

case 3:if(hour1==0)hour1=24;hour1--;break;

}

while(!key3)

display(hour1,min1,sec1);

}

if(temp2==1)

{ TR0=1;

switch(temp1)

{

case 1:if(day1==1)day1=31;day1--;break;

case 2:if(mon1==1)mon1=13;mon1--;break;

case 3:if(year1==0)year1=100;year1--;break;

}

while(!key3)

display(year1,mon1,day1);

}

if(temp2==2)

{ TR0=1;

switch(temp1)

{

case 1:if(sec2==0)sec2=60;sec2--;break;

case 2:if(min2==0)min2=60;min2--;break;

case 3:if(hour2==0)hour2=24;hour2--;break;

}

while(!key3)

display(hour2,min2,sec2);

}

}

}

if(key4==0)

{

delay(10);

if(key4==0)

{

temp1=0;

temp2++;

if(temp2==3)

temp2=0;

while(!key4)

switch(temp2)

{

case 0:display(hour1,min1,sec1);break;

case 1:display(year1,mon1,day1);break;

case 2:display(hour2,min2,sec2);break;

}

}

}

switch(temp2)

{

case 0:display(hour1,min1,sec1);break;

case 1:display(year1,mon1,day1);break;

case 2:display(hour2,min2,sec2);break;

}

}

void alarm()

{

uint i;

if((hour1==hour2&&min1==min2&&(sec1>=sec2&&sec1

{ for(i=0;i<20;i++)

{

bear=~bear;

P1=~P1;

switch(temp2)

{

case 0:display(hour1,min1,sec1);break;

case 1:display(year1,mon1,day1);break;

case 2:display(hour2,min2,sec2);break;

}

delay(30);

}

bear=1;

P1=0xff;

}

}

void main()

{

init();

while(1)

{

keyscan();

{

if(key1==0 || key2==0 || key3==0 || key4==0 ) Bear=0

}

alarm();

}

}

void time1()interrupt 1

{

uint m;

m++;

if(m==3686)

{

m=0;

sec1++;

if(sec1==60)

{

sec1=0;

min1++;

if(min1==60)

{

min1=0;

hour1++;

if(hour1==24)

{

hour1=0;

day1++;

if(day1==31)

{

day1=1;

mon1++;

if(mon1==13)

{

mon1=1;

year1++;

if(year1==100)

year1=0;

}

}

}

}

}

} }

基于DS1302的数码管显示数字钟

单片机原理课程设计 课题名称:基于DS1302的数码管显示数字钟 专业班级:电子信息工程 学生学号: 学生姓名: 指导教师: 设计时间:2010年6月21日--2010年6月25日

目录 摘要........................................................................................................................................................................ 1 设计任务和要求............................................................................................................................................ 2 方案论证........................................................................................................................................................ 3 系统硬件设计................................................................................................................................................ 3.1 系统总原理图 ................................................................................................................................ 3.2 元器件清单...................................................................................................................................... 3.3 PCB板图....................................................................................................................................... 3.4 Proteus仿真图 ............................................................................................................................... 3.5 分电路图及原理说明................................................................................................................... 3.5.1 主控部分(单片机MCS-51).............................................................................. 3.5.2 计时部分(实时时钟芯片DS1302).................................................................. 3.5.3 显示部分(共阳极数码管)................................................................................ 3.5.4 调时部分(按键)................................................................................................ 4系统软件设计................................................................................................................................................ 4.1 程序流程图..................................................................................................................................... 4.2 程序源代码........................................................................................................................................ 5心得体会........................................................................................................................................................ 6参考文献........................................................................................................................................................ 7结束语............................................................................................................................................................

LED数码管显示电子钟设计

《单片机原理及应用》 课程设计说明书 题目LED数码管显示电子钟设计系(部) 专业(班级) 姓名 学号 指导教师 起止日期 课程设计任务书

系(部): 专业:

目录 一、摘要 单片机全称为单片机微型计算机(Single Chip Microsoftcomputer).从应用领域来看,单片机主要用来控制,所以又称为微控制器(Microcontroller Unit)或嵌入式控制器。单片机是将计算机的基本部件微型化并集成在一块芯片上的微型计算机。 单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容

易。由于具有上述优点,在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,而51单片机是各单片机中最为典型和最有代表性的一种。 时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础.在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法,典型的时钟芯片有:DS1302,DS12887,X1203等都可以满足高精度的要求。 二、设计内容 2.1、任务要求 本次设计时钟电路,使用了A TC89C51单片机芯片控制电路,单片机控制电路简单且省去了很多复杂的线路,使得电路简明易懂,使用键盘键上的按键来调整时钟的年、月、日、时、分、秒,还有设定闹钟,用一扬声器来进行定时提醒,同时使用汇编语言程序来控制整个时钟显示,使得编程变得更容易,这样通过四个模块:键盘、芯片、扬声器、LED显示即可满足设计要求. 2。2、设计程序方案 设计程序思路: 1.实现8位数码管动态扫描显示 void Display_1Code(unsigned char pos,unsigned char code1); void Display_2Num(unsigned char pos,unsigned char num,unsigned char point); 数码管动态扫描就是: 段显位选延时显示消影 因为我们用的是共阳数码管,而段码表用的共阴的,所以对code1取反 共阳数码管高电平点亮,所以P2移位后不用取反,从高位开始是第1个数码管 掩饰显示1ms,P2给全0全部熄灭,消影作用. 2。时间显示 采用实时时钟芯片DS1302,读芯片的datasheet,根据时序等说明编写驱动程序。 1)初始化 void DS1302_Init(void) 2)底层基本读写函数 void DS1302_WriteByte(unsigned char byte) unsigned char DS1302_ReadByte(void) 3)对芯片寄存器的读写函数 void DS1302_WriteData(unsigned char addr,unsigned char mdata) unsigned char DS1302_ReadData(unsigned char addr) 4)修改时间函数

8-电子时钟的设计与实现

课程设计 题目电子时钟的设计与实现学院自动化学院 专业电气工程及其自动化班级 姓名 指导教师 2014 年 1 月9 日

课程设计任务书 学生姓名:专业班级: 指导教师:工作单位:自动化学院 题目:电子时钟的设计与实现 初始条件: 掌握8086汇编语言程序设计方法,设计一个电子时钟,实现分、秒、时的显示与刷新功能。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 1. 定义显示界面。 2. 调用系统时间,并将调用的用二进制表示的时间数转换成ASCII码,并将时间数存入内存区。 3. 将存在系统内存区的时间数用数字式或指针式钟表的形式显示出来。 4. 获取键盘的按键值,判断键值并退出系统。 5. 撰写课程设计说明书。内容包括:摘要、目录、正文、参考文献、附录(程序清单)。正文部分包括:设计任务及要求、方案比较及论证、软件设计说明(软件思想,流程,源程序设计及说明等)、程序调试说明和结果分析、课程设计收获及心得体会。 时间安排: 12月26日----- 12月28日查阅资料及方案设计 12月29日----- 1月2日编程 1月3日----- 1月7日调试程序 1月8日----- 1月9日撰写课程设计报告 指导教师签名:年月日 系主任(或责任教师)签名:年月日

目录 摘要 (1) 1 设计任务及要求 (2) 1.1 设计题目 (2) 1.2 设计要求 (2) 1.3 设计过程 (2) 1.4 设计目的 (2) 2 设计方案论述 (3) 2.1 设计方案概括 (3) 2.2 设计方案具体说明 (3) 2.2 设计思路介绍 (3) 3 软件设计说明 (5) 3.1. 理论知识介绍 (5) 3.1.1 DOS中断与BIOS中断的功能及调用 (5) 3.1.2 子程序的设计 (7) 3.1.3 中断概述 (7) 3.2 设计流程 (8) 3.2.1 主流程图及说明 (9) 3.2.2.显示系统时间子流程图及说明 (9) 3.3. 程序设计 (10) 3.3.1 清屏程序 (10) 3.3.2. 光标定位程序 (10) 3.3.3 多字符显示程序 (11) 3.3.4 读取键盘状态程序 (12) 3.3.5 读取键盘值程序 (12) 3.3.6 调用系统时间显示程序 (12) 3.3.7 将二进制数转换为ASCII码程序 (13) 3.4 软硬件环境要求 (14) 4 调试结果及分析 (15) 5 收获与体会 (17) 参考文献 (18) 附录:设计源程序 (19) 本科生课程设计成绩评定表 (25)

简易电子时钟的设计

单片机课程设计报告设计题目:简易电子时钟的设计 院别: 专业班级: 学号:

姓名: 指导教师: 摘要 通过一学期单片机的学习,对其已经有了初步的了解,但是随着社会的不断发展,单片机的应用正在不断地走向深入,它特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,单片机往往是作为一个核心部件来使用,在根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。我们也借此课程设计的机会,对单片机有更深一步的了解与学习。 本次课程课程设计的目的是设计一个简易的电子时钟,通过一个8位共阴极数码管进行时、分、秒的显示,另外设置7个按键,一个用来调整小时,一个用来调整分钟,一个开关控制是否调整时间。 关键词:AT89C51,数码管,按键,DS1303时钟芯片

1.概述 本设计是锻炼我们的自学能力合作能力,依靠团队的力量去完成一项具体的任务系统的训练了所学知识,设计的过程必将是难忘的,这也将是大学向社会工作过度的一个重要阶段。 本阶段过后要去能够熟练的运用单片机中的计数器、定时器、中断、数码管显示等参考教材或者相关资料,采用C语言实现数字时钟功能,在数码管上实时显示,并运用Protues软件绘制电路原理图,并进行仿真验证和误差分析。 2.系统总体方案设计 2.1系统方案的确定 用6位数码管,可以显示出时、分、秒;用P2端口控制位选,由定时器进行时间的控制(秒);当总按键按下时可以进行时间调整; 2.2方案分析 2.3系统总框图 图2.1

3.系统硬件系统设计 3.1复位电路 单片机复位电路就好比电脑的重启部分,当电脑在使用中出现死机,按下重启按钮电脑内部的程序从头开始执行。单片机也一样,当单片机系统在运行中,受到环境干扰出现程跑飞的时候,按下复位按钮内部的程序自动从头开始执行。 复位电路的工作原理: 在单片机系统中,系统上电启动的时候复位一次,当按键按下的时候系统再次复位,如果释放后再按下,系统还会复位。所以可以通过按键的断开和闭合在运行的系统中控制其复位。单片机复位电路如下图 图3.1 3.2时钟电路 单片机运行需要时钟支持——就像计算机的CPU一样,如果没有时钟电路来产生时钟驱动单片机,那单片机就不能执行程序。 单片机可以看成是在时钟驱动下的时序逻辑电路。 以5l单片机为例随明:51单片机为l2个时钟周期执行一条指令。也就是说单片机运行一条指令,必须要用r2个时钟周期。没有这个时钟,单片机就跑不起来了,也没有办法定时和进行和时间有关的操作。 时钟电路是微型计算机的心脏,它控制着计算机的二个节奏。CPU就是通过复杂的时序电路完成不同的指令功能的。51的时钟信号可以由两种方式产生:一种是内部方式,利用芯片内部的振荡电路,产生时钟信号:另一种为外部方式,时钟信号由外部引入。

多功能数字电子钟的设计

学号20103010342 毕业设计说明书 设计题目多功能数字电子钟的设计 系部机械电子系 专业机电一体化 班级机电103 班 姓名关付玲 指导教师肖玉玲 2012年 10月 13日

摘要 摘要:数字钟是一个将“时”,“分”,“秒”显示于人的视觉器官的计时装置。它的计时周期为24小时,显示满刻度为23时59分59秒。一个基本的数字钟电路主要由秒信号发生器、“时、分、秒、”计数器、译码器及显示器组成。由于采用纯数字硬件设计制作,与传统的机械表相比,它具有走时准,显示直观,无机械传动装置等特点。本设计中的数字时钟采用数字电路实现对“时”、“分”、“秒”的显示和调整。通过采用各种集成数字芯片搭建电路来实现相应的功能。具体用到了555震荡器,74LS90及与非,异或等门集成芯片等。该电路具有计时,整点报时和校时的功能。在对整个模块进行分析和画出总体电路图后,对各模块进行仿真并记录仿真所观察到的结果。实验证明该设计电路基本上能够符合设计要求! 关键词:计数器;译码显示器;校时电路;

Abstract Abstract:Digital clock is a "time", "Sub", "second" displays the organ in human visual mechanism. Its time for a period of 24 hours, show full scale 23:59 for 59 seconds. A basic digital clock circuits consists of second signal generator, "hours, minutes, seconds," counters, decoders and display components. Because of its pure digital hardware design, compared with the traditional mechanical watch, it has left, presents an intuitive, non-mechanical transmission device and so on. This digital clock used in the design of digital circuits on the "time" and "min", "second" display and adjustment. Through the use of integrated digital chip circuit structures to achieve appropriate functionality. Specific use of 555 oscillator, 74LS90 and non-, exclusive-or gate integrated circuits and so on. The circuits with timing, the whole point of time and error correction capabilities. In the analysis of the entire module and overall circuit diagram is painted, simulation to emulation and modules record the observed results. Experimental proof of the design circuit can basically meet the design requirement! Key words:Counter ,ten decoding display , citcuit Shool

51单片机数码管时钟电路的设计_AT89C51

广东石油化工学院 《51单片机原理与实践》课程设计报告 学院计算机与电子信息学院 专业 班级 学号 姓名 指导教师 课程成绩 完成日期 2010年12月27日

数码管时钟电路的设计 一、设计目的: 通过这次课程设计掌握单片机系统的基本设计步骤及设计思路,掌握汇编语言的用法及各种指令的含义,比较熟练的运用指令进行单片机系统的设计的,熟悉用KEIL软件进行汇编语言的汇编,以及把代码写入实验板中,观测代码结合实际的运行结果后进行调整,体会到编程的分析问题、确定算法、画程序流程图、编写程序、程序功能模块化的优点的各各步骤。 二、设计要求: LED数码管时钟电路采用24h计时方式,时、分、秒用六位数码管显示。该电路采用AT89C2051单片机,使用3V电池供电,只使用一个按键开关即可进入调时、省电(不显示LED数码管)和正常显示三种状态。 三、设计实验内容: 1. 硬件的设计 其采用AT89C51单片机应用设计,LED显示采用动态扫描方式实现,P0口输出段码数据,P2口输出位码数据,P1.1、P1.2接按钮开关。为了提供LED数码管的驱动电流,采用6MHz晶振。 2. 系统总体分析 系统主要包含四大模块:显示模块、时间计时模块、模式切换模块和模式设置模块。 显示模块:主要由主循环负责。内存中开辟了一段8字节的内存空间,

用作数据显示的字符缓冲区。主循环不断将缓冲区中的字符呈现至数码管。 ● 时间计时模块:电子钟的核心模块,记录了时间的时、分、秒信息。 ● 模式切换模块(MODE ):切换电子钟的设置模式,包括时设置、分设置、秒设置、闹铃开关设置、闹铃时设置和闹铃分设置。相关数据被设置时将闪烁显示。 ● 模式设置模块(CONFIG ):通过判断设置模式(MODE ),执行相应的设置。如时、分、秒的增1以及闹铃开关的变换。 另外,主循环还负责扫描键盘,检测相应键是否被按下,若MODE 键被按下则在特定单元中登记该功能,并启动定时器1,然后返回继续执行显示功能。在定时器1中断时,被登记的功能正式执行。期间用时约10ms ,用以消除机械抖动。 主循环流程图大致如下: 图(一)主循环流程图 定时器1中断服务程序流程图如下: 开始 键被按下 登记相应功能 数码管显示 是 否

vhdl数字电子钟的设计与实现

基于VHDL数字电子钟的设计与实现 摘要:本课程设计完成了数字电子钟的设计,数字电子钟是一种用数字显示秒、分、时的计时装置,由于数字集成电路技术的发展和采用了先进的石英技术,它使数字钟具有走时准确、性能稳定、携带方便等优点。数字钟已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及办公室等公共场所,给人们的生活带来极大的方便。在这里我们将已学过的比较零散的数字电路的知识有机的、系统的联系起来用于实际,来培养我们的综合分析和设计电路的能力。 关键词:电子钟;门电路及单次按键;琴键开关

目录 第一章引言----------------------------------------------------------------1 1.1 课题的背景、目的------------------------------------------1 1.2 课程设计的内容------------------------------------------1 第二章EDA与VHDL简介--------------------------------------------------2 2.1 EDA的介绍---------------------------------------------2 2.2 VHDL的介绍--------------------------------------------3 2.2.1 VHDL的用途与优点-----------------------------------------------------------------3 2.2.2 VHDL的主要特点---------------------------------------------------------------------- 2.2.3 用VHDL语言开发的流程------------------------------------------------------------ 第三章数字电子钟的设计方案------------------------------------------6 3.1秒脉冲发生器--------------------------------------------7 3.2可调时钟模块--------------------------------------------8 3.3校正电路------------------------------------------------8 3.4闹铃功能------------------------------------------------10 3.5日历系统------------------------------------------------11 第四章结束语---------------------------------------------------------------13 4.1致谢----------------------------------------------------14 4.2参考文献------------------------------------------------15

数字电子钟设计说明

华南农业大学 电子线路综合设计 数字电子钟 班级:14电气类8班组别:4 指导教师: 2016年月

电子数字钟是一种用数字电路技术实现时、分、秒计时的装置,比机械式时钟具有更高的精确性。本次课程设计的电子数字钟,具有以下功能:用24进制,从00开始到23后再回到00,各用2位数码管显示时、分、秒(如23:52:45);可实现手动或自动的对时、分进行校正;计时过程具有报时功能,当时间到达整点前10秒进行报时,蜂鸣器响1秒停1秒地响5次。整个电路设计主要包括秒信号产生电路、时分秒计数电路、译码显示电路、时分的校正电路以及整点报时电路。 秒信号产生电路由石英晶体振荡器和分频器实现,将此信号接到秒计数器的信号输入端,在秒信号的驱动下,秒计数器向分计数器进位,分计数器向时计数器进位,最后通过译码器将计数器中的状态以时间的形式显示在数码管。整点报时电路由计时电路的输出状态产生脉冲信号送至蜂鸣器实现报时。校时电路加上一个脉冲送到时分计时器电路从而实现时和分的校整。 为了更好的完成本次课程设计,我们对题目进行了分析讨论,参考了很多相关的资料,同时考虑到实验室能提供的设备仪器及元件,确定了初步的设计方案;经过多次软件仿真,确定并完善了最终的设计方案。根据设计方案进行焊接、电子仪表检查、调试并测量电路的工作状态,排除电路故障,调整元件参数,改进电路性能,使之达到设计的指标和要求,做出成品。 关键词:晶体振荡器CD4060 CD4511 74LS90

1系统概述 (1) 1.1 设计任务和目的 (1) 1.2系统设计思路与总体方案 (1) 1.3设计方案选择 (1) 1.4总体工作过程 (2) 1.5各功能模块的划分和组成 (2) 2电路系统设计与分析 (4) 2.1秒信号的发生电路 (4) 2.2时、分、秒计数电路 (5) 2.3译码显示电路 (6) 2.4时、分校正电路 (7) 2.5整点报时电路 (8) 3电路的安装与调试 (9) 3.1安装调试的步骤 (9) 3.2电路软件仿真调式 (9) 3.3电路焊接及实物调式 (10) 3.4实验过程可能存在的问题 (10) 4实验数据和误差分析 (11) 5实验结论及分析 (11) 6实验收获、体会和建议 (12) 参考文献 (13) 附录1元器件清单明细表 (14) 附录2总原理接线图 (15) 附录3 电路焊接实物图 (16) 致 (17)

8位数码管显示电子时钟c51单片机程序

8位数码管显示电子时钟c51单片机程序 时间:2012-09-10 13:52:26 来源:作者: /* 8位数码管显示时间格式 05—50—00 标示05点50分00秒 S1 用于小时加1操作 S2 用于小时减1操作 S3 用于分钟加1操作 S4 用于分钟减1操作 */ #include sbit KEY1=P3^0; //定义端口参数 sbit KEY2=P3^1; sbit KEY3=P3^2; sbit KEY4=P3^3; sbit LED=P1^2; //定义指示灯参数 code unsigned char tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //共阴极数码管0—9 unsigned char StrTab[8]; //定义缓冲区 unsigned char minute=19,hour=23,second; //定义并初始化为 12:30:00 void delay(unsigned int cnt) { while(--cnt); } /******************************************************************/ /* 显示处理函数 */ /******************************************************************/ void Displaypro(void) { StrTab[0]=tab[hour/10]; //显示小时 StrTab[1]=tab[hour%10]; StrTab[2]=0x40; //显示"-" StrTab[3]=tab[minute/10]; //显示分钟 StrTab[4]=tab[minute%10]; StrTab[5]=0x40; //显示"-" StrTab[6]=tab[second/10]; //显示秒 StrTab[7]=tab[second%10]; } main()

基于单片机的电子时钟设计和实现

电子科技职业技术学院Shaanxi electronic science and technology vocational college 课程设计报告 题目基于单片机的电子时钟设计和实现 班级电子信息1507 姓名聪 指导教师聂弘颖 时间2017年10月30日

第一章系统设计要求1.1 基本功能 (1)能够显示时分秒 (2)能够调整时分秒 1.2 扩展功能 (1)能够任意设置定时时间 (2)定时时间到闹铃能够报警 (3)实现了秒表功能

第二章硬件总体设计方案 本次设计时钟电路,使用了AT89C51单片机芯片控制电路,单片机控制电路简单且省去了很多复杂的线路,使得电路简明易懂,使用键盘键上的按键来调整时钟的时、分、秒,用一扬声器来进行定时提醒,同时使用C语言程序来控制整个时钟显示,使得编程变得更容易,这样通过四个模块:键盘、芯片、扬声器、显示屏即可满足设计要求。 2.1系统功能实现总体设计思路 此设计原理框图如图2-1所示,此电路包括以下四个部分:单片机,键盘,闹铃电路及显示电路。

图2-1 设计原理框图 经多方论证硬件我个人采用AT89C51单片机和7SED 八位共阳极数码管等来实现单片机电子时钟的功能。 详细元器件列表如表2.1所示: 表2.1 详细元器件列表 2.2各部分功能实现 (1)单片机发送的信号通过程序控制最终在数码管上显示出来。 (2)单片机通过输出各种电脉冲信号来驱动控制各部分正常工作。

(3)为使时钟走时与标准时间一致,校时电路是必不可少的,键盘用来校正数码管上显示的时间。 (4)单片机通过控制闹铃电路来完成定时闹钟的功能。 2.3系统工作原理 设计的电路主要由四模块构成:单片机控制电路,显示电路、闹铃电路以及校正电路。 详细电路功能图如图2-2: 图2-2 详细电路功能图 本设计采用C语言程序设计,使单片机控制数码管显示时、分、秒,当秒计数计满60时就向分进位,分计数器计满60后向时计数器进位,小时计数器按“23翻0”规律计

智能电子钟设计与制作

小型智能系统设计与制作 学习情境一智能电子钟设计与制作 一、教学引导 学习目标: 1. 通过查阅资料,能分析电子钟的功能与技术要求,确定电子钟的基本结构; 2. 能根据功能与技术要求,进行显示器、键盘、时钟芯片等器件的选用; 3. 能根据小组成员的实际情况,合理分配学习性工作任务,制订实施计划; 4. 会制定任务设计方案及程序设计结构; 5. 会设计显示、键盘、时钟芯片等各种接口电路; 6. 能使用软件设计、仿真电路并进行PCB制作。 7. 能够整理设计文档,编写智能电子钟的使用说明书。 学习内容 1.接受智能电子钟的设计制作任务,阅读任务书 2.收集资料,了解相关知识 3.制订设计方案 4.显示、键盘等接口电路设计和PCB板设计、制作 5.智能电子钟硬件安装与调试 6.智能电子钟软件设计与调试 7.智能电子钟功能、技术指标测试 8.编写智能电子钟的使用说明书 9.文档资料归档 学习任务 1.完成智能电子钟的方案设计 2.完成智能电子钟的设计与制作 3.完成技术文档的编写 4.完成学习过程的自我评价表填写 二、任务分析 学习要求:在这一环节要求学生分组并结合一下引导问题查阅资料,在充分了解智能电子钟的种类以及各种智能电子钟的技术要求的情况下,确定本次设计的智能电子钟的用途,完成任务分析表、填写过程记录表。 1.任务书 任务:设计并制作一款智能电子钟。 基本要求: (1)以24h计时方式工作; (2)用数码管显示时间和日期; (3)通过按键可以选择显示内容、修改时间; (4)具有校时功能; (5)具有整点报时功能; (6)时间误差:≤0.02%。 可选要求: (1)可以设置闹钟时刻; (2)闹钟时刻到后,若不关闭闹铃,可以间隔5分钟闹一次;

数字电路电子时钟课程设计

数字电路电子时钟课程设计 整个数字钟由时间计数电路、晶体振荡电路、校正电路、整点报时电路组成。 其中以校正电路代替时间计数电路中的时、分、秒之间的进位,当校时电路处于正常输入信号时,时间计数电路正常计时,但当分校正时,其不会产生向时 进位,而分与时的校位是分开的,而校正电路也是一个独立的电路。电路的信 号输入由晶振电路产生,并输入各电路 方案论证:方案一数字电子钟由信号发生器、“时、分、秒”计数器、译码 器及显示器、校时电路、整点报时电路等组成。秒信号产生器是整个系统的时 基信号,它直接决定计时系统的精度,一般用555构成的振荡器加分频器来实现。 优点:数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械 式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。 方案二秒、分计数器为60进制计数器,小时计数器为24进制计数器。 实现这两种模数的计数器采用中规模集成计数器74LS90构成。 优点:简单易懂,比较好调试。 1 设计原理数字电子钟由信号发生器、“时、分、秒”计数器、译码器及显示器、校时电路、整点报时电路等组成。秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,一般用555构成的振荡器加分频器来实现。将标 准秒脉冲信号送入“秒计数器”,该计数器采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。“分计数器”也采用60进制计数器,每累计60分,发出一个“时脉冲”信号,该信号将被 送到“时计数器”。“时计数器”采用24进制计数器,可以实现一天24h的累计。译码显示电路将“时、分、秒”计数器的输出状态经七段显示译码器译码,通 过六位LED显示器显示出来。整点报时电路是根据计时系统的输出状态产生一

用数码管显示实时日历时钟的应用设计

(用数码管显示实时日历时钟的应用设计)

摘要 本课题通过MCS-51单片机来设计电子时钟,采用汇编语言进行编程,可以实现以下一些功能:小时,分,秒和年,月,日的显示。本次设计的电子时钟系统由时钟电路,LED显示电路三部分组成。51单片机通过软件编程,在LED数码管上实现小时,分,秒和年,月,日的显示;利用时钟芯片DS1302来实现计时。本文详细介绍了DS1302 芯片的基本工作原理及其软件设计过程,运用PROTEUS软件进行电路连接和仿真,同时还介绍了74LS164,通过它来实现I|O口的扩展。 关键词:时钟芯片,仿真软件,74LS164 目录 前言 0.1设计思路 (8) 0.2研究意义 (8)

一、时钟芯片 1.1 了解时钟芯片……………………………………………….8-9 1.2 掌握时钟芯片的工作原理………………………………….10-11二、74LS164 2.1 了解74LS164........................................................11-12 2.2 掌握的74LS164工作原理. (12) 三、数码管 3.1 熟悉常用的LED数码管...........................................12-13 3.2 了解动态显示与静态显示. (13) 四、程序设计 4.0 程序流程图 (14) 4.1 DS1392的驱动.......................................................15-16 4.2 PROTUES实现电路连接. (17) 4.3 数码管的显示:小时;分;秒 (18) 4.4 数码管显示:年;月;日 (19) 五、总结…………………………………………………………………..20-21 六、附页程序………………………………………………………………22-31前言

数码管时钟显示(含有原理图)

简单的共阴极数码管时钟显示程序(简单、易于理解,如果想定时只要再次基础上稍作修改即可) #include #define uint unsigned int #define uchar unsigned char uchar aa,shi1,shi0,fen1,fen0,miao1,miao0; uint temp; ucharshi,fen,miao; uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}; void delay(uint z) { uintx,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void display(uchar shi1,shi0,fen1,fen0,miao1,miao0) { P2=0xfe; P0=table[shi1]; delay(1); P2=0xfd; P0=table[shi0]; delay(1); P2=0xfb; P0=0x40;//"-" delay(1); P2=0xf7; P0=table[fen1]; delay(1); P2=0xef; P0=table[fen0]; delay(1); P2=0xdf;

P0=0x40;//"-" delay(1); P2=0xbf; P0=table[miao1]; delay(1); P2=0x7f; P0=table[miao0]; delay(1); } voidinit() { temp=41760; TMOD=0x01; TH0=(65536-46080)/256; TL0=(65536-46080)%256; EA=1; ET0=1; TCON=0x10; //TR0=1; } void main() { init();//初始化子程序 while(1) { if(aa==20) { aa=0; temp++; if(temp==86400) { temp=0; } shi1=temp/3600/10; shi0=temp/3600-(shi1*10); fen1=temp%3600/60/10; fen0=temp%3600/60-(fen1*10);

简易电子钟的设计与实现

简易电子钟的设计与仿真 一、设计要求和电路原理 1.1 设计要求 1)可以准确地显示北京时间。 2)时间显示选择24小时模式。 3)选用AT89C52单片机,将编写的程序下载到该单片机中,并能使数码管 显示。 4)采用Keil C51编译,Proteus软件进行仿真。 1.2 设计原理与思路 利用单片机的定时与中断系统功能实现电子钟的计数和调时。采用AT89C52定时中断方式实现24小时制时钟精确的计时。通过外部的12M(11.0529M)Hz 晶振产生稳定的谐振,在AT89C52的内部定时器电路实现定时,当定时器溢出时产生中断,累计定时器的定时时间达一秒时,数码管的秒显示加1,判断数码管的秒显示达60时,秒显示自动清零,分显示加1,判断分显示达60时,分显示自动清零,时显示加1,判断时显示达24时,时显示自动清零。从而实现 00:00:00—23:59:59 之间的任意时刻显示。 为了使时钟能够灵活的对时间进行调整、校对,通过增加外部的按键实现简单的复位、时调整、分调整的功能。形成一个具有复位和校时功能的简易电子时钟。 二、电子时钟设计方案 2.1电子钟设计的基本方法 2.1.1电子钟实现计时的方法 利用MCS-51系列单片机的可编程定时/计数器、中断系统来实现时钟计时。 (1) 计数初值计算: 把定时器T0设为工作方式2,产生0.25ms定时中断,计数溢出4000次即得时钟计时最小单位秒,而4000次计数可用软件方法实现。 假设使用T/C0,方式2,0.25ms定时,fosc=12MHz。 则初值a满足(256-a)×1/12MHz×12μs =250μs a=6 (6H) TH0=#6H; TL0=#6H (2) 采用中断方式进行溢出次数累计,计满4000次为秒计时(1秒);

数字钟的设计与制作过程

数字钟的设计与制作 一、设计指标 1. 显示时、分、秒。 2. 可以24 小时制或12 小时制。 3. 具有校时功能,可以对小时和分单独校时,对分校时的时候,停止分向小时进位。校时时钟源可以手动输入或借 用电路中的时钟。 4. 具有正点报时功能,正点前10 秒开始,蜂鸣器 1 秒响 1 秒停地响 5 次。(选做) 5. 为了保证计时准确、稳定,由晶体振荡器提供标准时间的基准信号。 二、设计要求 1. 画出总体设计框图,以说明数字钟由哪些相对独立的功能模块组成,标出各个模块之间互相联系,时钟信号传输 路径、方向和频率变化,并以文字对原理作辅助说明。 2. 设计各个功能模块的电路图,加上原理说明。 3. 选择合适的元器件,并选择合适的输入信号和输出方式,在面包板上接线验证、调试各个功能模块的电路。在确 保电路正确性的同时,输入信号和输出方式要便于电路的测试和故障排除。(也可选用Mutisim 仿真) 4. 在验证各个功能模块基础上,对整个电路的元器件和布线,进行合理布局,进行整个数字钟电路的接线调试。 三、制作要求自行在面包板上装配和调试电路,能根据原理、现象和测量的数据检查和发现问题,并加以解决。 四、设计报告要求 1. 格式要求(见附录 1 ) 2. 内容要求 ①设计指标。 ②画出设计的原理框图,并要求说明该框图的工作过程及每个模块的功能。 ③列出元器件清单,并画出管脚分配图和芯片引脚图。 ④画出各功能模块的电路图,加上原理说明(如 2 、 5 进制到10 进制转换,10 进制到 6 进制转换的原理,个 位到十位的进位信号选择和变换等)。 ⑥画出总布局接线图(集成块按实际布局位置画,关键的连接应单独画出,计数器到译码器的数据线、译码器到数 码管的数据线可以简化画法,但集成块的引脚须按实际位置画,并注明名称)。 ⑦数字钟的运行结果和使用说明。 ⑧设计总结:设计过程中遇到的问题及解决办法;设计过程中的心得体会;对课程设计的内容、方式等提出建议。 五、仪器与工具 1. 直流电源 1 台。 2. 四连面包板 1 块。 3. 数字示波器(每两人 1 台) 4. 万用表(每班 2 只)。

相关主题
文本预览
相关文档 最新文档