当前位置:文档之家› (完整word版)51单片机数字时钟(带闹钟)

(完整word版)51单片机数字时钟(带闹钟)

(完整word版)51单片机数字时钟(带闹钟)
(完整word版)51单片机数字时钟(带闹钟)

计算机硬件综合课程

设计报告

课目:

学院:

班级:

姓名:

指导教师:

目录1 设计要求

1.1 功能需求

1.2 设计要求

2 硬件设计及描述

2.1 总体描述

2.2 系统总体框图

2.3 Proteus仿真电路图

3 软件设计流程及描述

3.1 程序流程图

3.2 函数模块及功能

4 心得体会

附:源程序

1设计要求

1.1功能需求

(1)实现数字时钟准确实时的计时与显示功能;

(2)实现闹钟功能,即系统时间到达闹钟时间时闹铃响;

(3)实现时间和闹钟时间的调时功能;

(4)刚启动系统的时候在数码管上滚动显示数字串(学号)。

1.2设计要求

(1)应用MCS-51单片机设计实现数字时钟电路;

(2)使用定时器/计数器中断实现计时;

(3)选用8个数码管显示时间;

(4)使用3个按钮实现调时间和闹钟时间的功能。按钮1:更换模式(模式0:正常显示时间;模式1:调当前时间的小时;模式2;调当前

时间的分钟;模式3:调闹钟时间的小时;模式4:调闹钟时间的分

钟);按钮2:在非模式0下给需要调节的时间数加一,但不溢出;

按钮3:在非模式0下给需要调节的时间数减一,但不小于零;

(5)在非0模式下,给正在调节的时间闪烁提示;

(6)使用扬声器实现闹钟功能;

(7)采用C语言编写程序并调试。

2 硬件设计及描述

2.1总体描述

(1)单片机采用AT89C51型;

(2)时间显示电路:采用8个共阴极数码管,P1口驱动显示数字,P2口作为扫描信号;

(3)时间设置电路:P3.0、P3.1、P3.2分别连接3个按键,实现调模式,时间加和时间减;

(4)闹钟:P3.3口接扬声器。

2.2系统总体框图

2.3Proteus仿真电路图

3 软件设计流程及描述

3.1 程序流程图

键盘功能函数,实现3个按键有关的模式转换以及数字加一减一;

(4) void init()

初始化设置中断;

(5) void time1() interrupt 3

定时器1中断函数,实现计时功能。

4 心得体会

首先在做本次课程设计的过程中,我感触最深的当属查阅大量的设计资料了。为了让自己的设计更加完善,查阅这方面的设计资料是十分必要的,同时也是必不可少的。我们是在做单片机实习,我们一切都要有据可依,有理可寻,不切实际的构想永远只能是构想,永远无法升级为设计。

其次,在这次课程设计中,我们运用到了以前所学的专业课知识,如:C语言、模拟和数字电路知识等。虽然过去从未独立应用过它们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获。

最后,在设计之前,我们要对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在实习过程中遇到问题是很正常的,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题。但是从中学到的知识会让我受益终身。发现、提出、分析、解决问题和实践能力提高都会受益于我在以后的学习、工作和生活中。

附:源程序

#include

unsigned char led[12]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0x00}; //用一维数组定义-9、横杠、全灭

unsigned char num[10]={2,0,0,8,0,1,1,6,6,8} ;

unsigned char a[8];

unsigned char second=0,minute=0,hour=0;

unsigned char minute1=0,hour1=0;

unsigned char b[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //扫描

unsigned char k=0;

unsigned int temp; // 记录毫秒为秒的变量

unsigned char M,S_flag; //M是模式,更新时间的种模式加上正常模式S_flag闪烁标志

sbit K1=P3^0;

sbit K2=P3^1;

sbit K3=P3^2;

sbit BEEP=P3^3;

void delay(unsigned n) //0.2毫秒

{

int x,y;

for(x=0;x

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

}

void init()

{

M=0;

S_flag=0; //闪烁标志位

TMOD=0x10; //定时器以方式定时

TH1=0xfc;

TL1=0x18;

EA=1; //打开总中断

ET1=1; //允许定时器中断

TR1=1; //开启定时器(开始定时计数)

}

void display_led()

{

int x;

char l,a,m;

for(a=0;a<26;a++)

{

x=a-8;

for(l=0;l<50;l++)

{

for(m=0;m<8;m++)

{

P2=b[m];

if(x>=0&&x<10) P1=led[num[x]];

else P1=led[11];

delay(10);

x++;

}

x-=8;

}

}

}

void time1() interrupt 3 //定时器中断函数

{

TH1=0xfc; //定时ms

TL1=0x18;

temp++;

if(temp==1000) //配合定时器定时s

{ temp=0;

second++;

}

if(second==59)

{ second=0;

if(minute<59)

minute++;

else { minute=0;

hour++;

hour%=24;

}

}

if(hour1==hour&&minute1==minute&&second<10) //闹钟时间到 {

BEEP=!BEEP;

}

if(temp%250==0) //每ms

S_flag=!S_flag; //闪烁标志位取反

if(k==8) k=0;

P1=a[k];

P2=b[k++];

delay(1);

P2=0xff;

}

void display()

{

switch(M)

{

case 0:

{

a[0]=led[hour/10];

a[1]=led[hour%10];

a[2]=led[10];

a[3]=led[minute/10];

a[4]=led[minute%10];

a[5]=led[10];

a[6]=led[second/10];

a[7]=led[second%10];

}break;

case 1:

{

if(S_flag==1)

{

a[0]=led[hour/10];

a[1]=led[hour%10];

}

else

{

a[0]=led[11];

a[1]=led[11];

}

a[2]=led[10];

a[3]=led[minute/10];

a[4]=led[minute%10];

a[5]=led[10];

a[6]=led[second/10];

a[7]=led[second%10];

}break;

case 2:

{

a[0]=led[hour/10];

a[1]=led[hour%10];

a[2]=led[10];

if(S_flag==1)

{

a[3]=led[minute/10];

a[4]=led[minute%10];

}

else

{

a[3]=led[11];

a[4]=led[11];

}

a[5]=led[10];

a[6]=led[second/10];

a[7]=led[second%10];

}break;

case 3:

{

if(S_flag==1)

{

a[0]=led[hour1/10];

a[1]=led[hour1%10];

}

else

{

a[0]=led[11];

a[1]=led[11];

}

a[2]=led[10];

a[3]=led[minute1/10];

a[4]=led[minute1%10];

a[5]=led[10];

a[6]=led[11];

a[7]=led[11];

}break;

case 4:

{

a[0]=led[hour1/10];

a[1]=led[hour1%10];

a[2]=led[10];

if(S_flag==1)

{

a[3]=led[minute1/10];

a[4]=led[minute1%10];

}

else

{

a[3]=led[11];

a[4]=led[11];

}

a[5]=led[10];

a[6]=led[11];

a[7]=led[11];

}

}

}

void key_prc()

{

if(K1==0)

{

delay(10); //延时去抖

if(K1==0) //按K1进行模式切换

{ M++;

if(M==5)

M=0;

}

while(!K1);//等待按键释放

}

if(M!=0)

{

switch(M)

{

case 1: //模式——调时

{

if(K2==0)

{

delay(10); //延时去抖

if(K2==0) //加键按下

{

if(hour<23) hour++;

else hour=0;

}

while(!K2); //等待按键释放

}

if(K3==0)

{

delay(10);

if(K3==0)

{

if(hour> 0) hour--;

else hour=23;

}

while(!K3);

}

} break;

case 2: //模式——调分

{

if(K2==0)

{

delay(10);

if(K2==0)

{

if(minute<59) minute++;

else minute=0;

}

while(!K2);

}

if(K3==0)

{

delay(10);

if(K3==0)

{

if(minute>0) minute--;

else minute=59;

}

while(!K3);

}

} break;

case 3: //模式——闹钟调时

{

if(K2==0)

{

delay(10);

if(K2==0)

{

if(hour1<23)

hour1++;

else hour1=0;

}

while(!K2);

}

if(K3==0)

{

delay(10);

if(K3==0)

{ if(hour1>0)

hour1--;

else hour1=23;

}

while(!K3);

}

} break;

case 4: //模式——闹钟调分 {

if(K2==0)

{

delay(10);

if(K2==0)

{

if(minute1<59)

minute1++;

else minute1=0;

}

while(!K2);

}

if(K3==0)

{

delay(10); //延时去抖

if(K3==0) //减键按下

{ if(minute1>0)

minute1--;

else minute1=59;

}

while(!K3);

}

} break;

}

}

}

void main()

{

display_led();

init();

while(1)

{

key_prc();

display();

}

}

简单51单片机数字时钟设计

题目:简单51单片机数字时钟设计 院系: 物理与电气工程学院 专业:自动化专业 班级:10级自动化 姓名:苏吉振 学号:2 老师:李艾华

引言 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。 目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS 化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。下面是单片机的主要发展趋势。 单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。 单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。 数字钟是采用数字电路实现对时,分,秒数字显示的计时装置,广泛用于个 人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。

基于51单片机的数字钟

专业课程设计报告 专业班级 课程 题目基于51单片机的数字钟的设计报告学号 学生姓名 指导教师 成绩 2013年6月20日

基于A T89C51的数字钟总体设计说明书 目录 1. 51单片机设计数字钟设计的现实意义 (2) 2. 总体设计 (2) 2.1.开发与运行环境 (2) 2.2.硬件功能描述 (2) 2.3.硬件结构 (3) 3. 硬件模块设计 (3) 3.1.描述 (3) 3.1.1. AT89C51单片机简介 (3) 3.1.2. 键盘电路的设计 (4) 3.1.3. 显示器的选择 (5) 3.1.4. 蜂鸣器驱动电路 (5) 3.1.5. 各部分功能 (6) 4. 嵌入式软件设计 (7) 4.1.流程逻辑 (7) 4.2.算法 (7) 4.2.1. 中断定时器的设置 (27) 4.2.2. 闹钟子函数 (28) 4.2.3. 计时函数 (29) 4.2.4. 键盘扫描函数 (31) 4.2.5. 时间和闹钟的设置 (32) 5. 实验器材清单 (33) 6. 测试与性能分析 (33) 6.1.测试结果 (33) 6.2.优点 (33) 6.3.结论 (34) 7. 心得体会 (36) 8. 致谢 (36) 9. 参考文献 (37)

1.51单片机设计数字钟设计的现实意义 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。例如,许多火灾都是由于人们一时忘记了关闭煤气或是忘记充电时间等造成的。而钟表的数字化给人们生产生活带来了极大的方便。数字钟是通过数字电路实现时,分,秒数字显示的计时装置,广泛用于个人家庭、车站、码头办公室等公共场所,成为人们日常生活中不可少的必需品。由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能,诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烤箱、通断动力设备、甚至各种定时电气的自动启用等。所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。 2.总体设计 2.1.开发与运行环境 在硬件方面,除了CPU外,使用八个七段LED数码管来进行显示,LED采用的是动态扫描显示。通过LED能够较为准确地显示时、分、秒。四个简单的按键实现对时间的调整。软件方面采用C语言编程。使用Keil单片机模拟调试软件,测试程序的可行性并用Proteus进行仿真。 2.2.硬件功能描述 硬件部分设置了的三个按键S1、S2、S3、S4。当按键S1第一次按下时,停止计时进

51单片机数字时钟

计算机硬件综合课程 设计报告 课目: 学院: 班级: 姓名: 指导教师: 目录 1 设计要求 功能需求 设计要求

2 硬件设计及描述 总体描述 系统总体框图 Proteus仿真电路图 3 软件设计流程及描述 程序流程图 函数模块及功能 4 心得体会 附:源程序 设计要求 功能需求 实现数字时钟准确实时的计时与显示功能; 实现闹钟功能,即系统时间到达闹钟时间时闹铃响; 实现时间和闹钟时间的调时功能; 刚启动系统的时候在数码管上滚动显示数字串(学号)。设计要求 应用MCS-51单片机设计实现数字时钟电路; 使用定时器/计数器中断实现计时; 选用8个数码管显示时间;

使用3个按钮实现调时间和闹钟时间的功能。按钮1:更换模式(模式0:正常显示时间;模式1:调当前时间的小时;模式2;调当前时间的分钟;模式3:调闹钟时间的小时;模式4:调闹钟时间的分钟);按钮2:在非模式0下给需要调节的时间数加一,但不溢出;按钮3:在非模式0下给需要调节的时间数减一,但不小于零; 在非0模式下,给正在调节的时间闪烁提示; 使用扬声器实现闹钟功能; 采用C语言编写程序并调试。 2 硬件设计及描述 总体描述 单片机采用AT89C51型; 时间显示电路:采用8个共阴极数码管,P1口驱动显示数字,P2口作为扫描信号; 时间设置电路:、、分别连接3个按键,实现调模式,时间加和时间减; 闹钟:口接扬声器。 系统总体框图 Proteus仿真电路图

3 软件设计流程及描述 程序流程图

函数模块及功能 void display_led() 学号的滚动显示函数; void display() 显示时间以及显示调节时间和闹钟时间的闪烁; void key_prc() 键盘功能函数,实现3个按键有关的模式转换以及数字加一减一; void init() 初始化设置中断;

51单片机电子时钟课程设计报告

第一部分设计任务和要求 1.1 单片机课程设计内容 利用STC89C51单片机和LCD1602电子显示屏实现电子时钟,可由按键进行调时和12/24小时切换。 1.2 单片机课程设计要求 1.能实现年、月、日、星期、时、分、秒的显示; 2.能实现调时功能; 3.能实现12/24小时制切换; 4.能实现8:00—22:00整点报时功能。 1.3 系统运行流程 程序首先进行初始化,在主程序的循环程序中首先调用数据处理程序,然后调用显示程序,在判断是否有按键按下。若有按键按下则转到相应的功能程序执行,没有按键按下则调用时间程序。若没到则循环执行。计时中断服务程序完成秒的计时及向分钟、小时的进位和星期、年、月、日的进位。调时闪烁中断服务程序用于被调单元的闪烁显示。调时程序用于调整分钟、小时、星期、日、月、年,主要由主函数组成通过对相关子程序的调用,如图所示。实现了对时间的设置和修改、LCD显示数值等主要功能。相关的调整是靠对功能键的判断来实现的。 第二部分设计方案 2.1 总体设计方案说明 1.程序设计及调试 根据单片机课程设计内容和要求,完成Protues仿真电路的设计和用Keil软件编写程序,并进行仿真模拟调试。 2.硬件焊接及调试 根据仿真电路图完成电路板的焊接,并进行软、硬件的调试,只到达到预期目的。

3.后期处理 对设计过程进行总结,完成设计报告。 2.2 单片机系统方框图 2.2 单片机系统流程图 主流程图键盘扫描流程图

时钟流程图 第三部分主要器件及简介 3.1 主要器件 1. STC89C51单片机; 2.LCD1602液晶显示屏; 3.2 主要器件简介 1.STC89C51单片机简介 STC89C51是采用8051核的ISP(In System Programming)在系统可编程芯片,最高工作时钟频率 为80MHz,片内含8K Bytes的可反复擦写1000次的 Flash只读程序存储器,器件兼容标准MCS-51指令系 统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,具有在系统可编程(ISP)特性,配合PC端的控制程序即可将用户的程序代码下载进单片机内部,省去了购买通用编程器,而且速度更快。 2.LCD1602液晶显示屏简介

基于51单片机的LCD1602简单数字时钟

原理图: 源程序: /*************************************************************** 标题:LCD1602时钟 效果:在LCD1602屏上显示时分秒,能调节时间 作者:皖绩小挺 说明:RS:P1.0 RW:P1.1 E:P1.3 数据端口:P0 key1:P3.7 key2:P3.6 key3:P3.5 key4:P3.6 key5;P3.3 ******************************************************************/ #include #define uchar unsigned char //宏定义 #define uint unsigned int sbit lcdrs=P1^0; //定义LCD1602端口 sbit lcdrw=P1^1; sbit lcden=P1^2; sbit key1=P3^7; //定义按键端口 sbit key2=P3^6; sbit key3=P3^5; sbit key4=P3^4;

sbit key5=P3^3; uchar tt; //设置全局变量 uchar hour,minute,second; uchar table[]="HELLO WORLD" ; //第一行字符(11个) uchar table1[]="00:00:00"; //第二行字符(8个) /******************************************************* 延时函数 *******************************************************/ void delay(uint z) //delay(1)约1ms { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } /******************************************************* LCD1602写命令 *******************************************************/ void write_lcdcom(uchar lcd_com) { lcdrs=0; //rs低电平为选择指令寄存器 lcdrw=0; //rw低电平进行写操作 P0=lcd_com; delay(5); lcden=1; delay(5); lcden=0; } /******************************************************* LCD1602写数据 *******************************************************/ void write_lcddata(uchar lcd_data) { lcdrs=1; //rs高电平为选择数据寄存器 lcdrw=0; P0=lcd_data; delay(5); lcden=1; delay(5); lcden=0; } /*******************************************************

AT89C51单片机电子时钟设计

AT89C51单片机电子时钟设计 学院: 专业: 学号: 学生:

目录 1 电子时钟 (4) 1.1 电子时钟简介 (4) 1.2 电子时钟的基本特点 (4) 1.3 电子时钟的原理 (4) 2 单片机识的相关知识 (4) 2.1单片机简介 (4) 2.2 单片机的特点 (5) 2.3 AT89C51单片机介绍 (5) 3 设计方案的选择 (7) 3.1计时方案 (7) 3.2 显示方案 (7) 3.3 数码管显示工作原理 (8) 3.4 键盘电路设计 (9) 3.5 主控模块AT89C51 (9) 4 系统软件设计 (9) 附录 (12)

摘要:单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。由于具有上述优点,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,而51单片机是各单片机中最为典型和最有代表性的一种。这次设计通过对它的学习、应用,以AT89C51芯片为核心,辅以必要的电路,设计了一个简易的电子时钟,它由4.5V直流电源供电,通过数码管能够准确显示时间,调整时间,从而到达学习、设计、开发软、硬件的能力。 关键词:单片机;电子时钟;AT89C51

1 电子时钟 1.1 电子时钟简介 本设计采用AT89C51单片机,以汇编语言为程序设计的基础,设计一个用六位数码管显示时、分、秒的时钟。现代的电子时钟是基于单片机的一种计时工具,采用延时程序产生一定的时间中断,用于一秒的定义,通过计数方式进行满六十秒分钟进一,满六十分小时进一,满二十四小时小时清零,从而达到计时的功能,是人民日常生活不可缺少的工具。 1.2 电子时钟的基本特点 现在高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、石英表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调试,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。 1.3 电子时钟的原理 该电子时钟由AT89C51,键盘,八段数码管等构成,采用晶振电路作为驱动电路,由延时程序和循环程序产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天。而电路中唯一的一个控制键却拥有多种不同的功能,按下又松开,可以实现屏蔽数码管显示的功能,达到省电的目的;直接按下不松开,则可以通过按键实现分钟的累加,每按一次分钟加一;而连续两次按下按键不放松,则可实现小时的调节,同样每按一次小时加一。 2 单片机识的相关知识 2.1单片机简介 单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。

基于51单片机的数字时钟设计的毕业设计概要

摘要 (2) Abstract .......................................................................................................................... 错误!未定义书签。第一章绪论 .. (2) 1.1多功能数字钟设计的背景 (2) 第二章AT89C51单片机简介 (2) 2.1 单片机介绍 (2) 2.2 单片机的应用特点 (3) 2.3 单片机的应用领域 (3) 2.4 单片机的中断与定时系统.............................................................................. 错误!未定义书签。 2.4.1 MCS-51单片机中断系统................................................................... 错误!未定义书签。 2.4.2 MCS-51 单片机的定时器/计数器.................................................... 错误!未定义书签。 2.4.3 MCS-51定时器/计数器的四种工作方式........................................... 错误!未定义书签。 2.5 AT89C51引脚功能介绍 (3) 第三章设计方案 (4) 3.1 主程序 (4) 3.2 数码管显示模块 (5) 3.3 定时器计数器T0中断服务程序.................................................................... 错误!未定义书签。 3.4按键处理模块 (5) 第四章硬件电路设计 (5) 4.1 复位电路 (5) 4.2 时钟电路 (6) 4.3 按键电路 (6) 4.4 数码管显示电路 (7) 4.5 电源电路设计.................................................................................................. 错误!未定义书签。第五章软件设计与程序代码 . (8) 5.1 软件选择与介绍 (8) 5.1.1 软件介绍.............................................................................................. 错误!未定义书签。 5.1.2 Proteus7.8的特点............................................................................. 错误!未定义书签。 5.2 软件仿真电路全图 (9) 5.3 源程序代码 (9) 第六章结论 (16) 参考文献 (17) 致谢 (18)

基于AT89C51单片机的电子时钟设计

科学技术学院 SCIENCE & TECHNOLOGY COLLEGE OF NANCHANG UNIVERSITY 《工程训练》报告 REPORT ON ENGINEERING TRAINING 题目基于AT89C51单片机的电子时钟设计 学科部、系: 专业班级: 学号: 学生姓名: 指导教师: 起讫日期:

目录 前言 (2) 第一章基于AT89C51单片机的电子时钟设计的概述 (3) 第二章各硬件介绍 (4) 2.1 AT89S51的引脚说明 (4) 2.2 发光二极管指示电路设计 (5) 2.3 LCD1602简介 (5) 2.4 DS1302 简介 (6) 2.4.1 引脚功能表及内部结构图 (6) 2.4.2 DS1302 的控制字节说明 (6) 2.4.3 复位 (7) 2.4.4 数据输入输出 (7) 2.4.5 DS1302 的寄存器 (7) 2.5 DS1302 简介 (8) 2.5.1.温度传感器DS18B20 (8) 2.5.2 DS18B20时序 (11) 第三章系统原理 (12) 系统设计 (12) 3.1 晶体振荡器电路 (12) 3.2分频器电路 (13) 3.3 时间计数器电路 (13) 3.4 时钟电路 (13) 3.5 复位电路 3.6复位电路的可靠性设计 (14) 3.7 按键部分 (14) 第四章PCB制作与性能测试分析 (16) 第五章总结 (17) 参考文献 (18)

前言 电子时钟是实现对年,月,日,时,分,秒数字显示的计时装置,广泛用于个人家庭,车站,码头,办公室,银行大厅等场所,成为人们日常生活中的必需品。数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度远远超过老式钟表。钟表的数字化给人们生产生活带来了极大的方便,在此基础上完成的电子时钟精度高,功能易于扩展。可扩展成为诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等电路。所有这些,都是以钟表数字化为基础的。因此,研究数字时钟及扩大其应用有着非常现实的意义。本设计就是数字时钟简单的扩展应用。

基于51单片机制作电子时钟实训报告

绪论 单片机使用简述.................................... 电子时钟简介...................................... 电子时钟的基本特点................................ 任务要求......................................... 设计方案......................................... 控制系统的硬件设计................................ 芯片的选择....................................... AT89S51的功能概述............................... AT89S51引脚功能说明(附引脚图)................... LED数码管显示电路................................ 硬件设计及元器件技术说明电子元器件技术说明………. 控制系统的软件设计................................ 程序编程......................................... 流程图........................................... 测试调试........................................... 总结............................................... 单片机使用简述 目前,单片机正朝着高性能和多品种方向发展趋势是进一步向着CMOS化、低功耗、小体积,大容量、高性能、低价格和外围电路内装化等几个方面发展。 单片机使用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。在以前,是必须由模拟或是数字电路实现的大部分功能的,而现在

单片机课程设计 (51单片机实现电子时钟)

湖北文理学院 单片机课程设计 题目:用51单片机实现电子时钟 院部物理与电子信息工程学院 专业名称电子信息科学与技术 班级 1111 姓名杨庆月 学号 2011111136 指导教师李刚 2013年12月09日

目录 摘要-------------------------------------------------------------1 1 单片机的相关知识-------------------------------------------1 1.1 单片机的简介---------------------------------------------------1 1.2 单片机的特点---------------------------------------------------1 1.3 89C52单片机的基本特点-------------------------------------------2 2 电子时钟--------------------------------------------------- 3 2.1电子时钟的基本特点-----------------------------------------------3 2.2电子时钟的原理--------------------------------------------------4 3 控制系统的硬件设计----------------------------------------4 3.1单片机型号的选择------------------------------------------------4 3.2 lcd1602工作的原理----------------------------------------------4 3.3 键盘电路的设计-------------------------------------------------6 3.4 复位电路设计--------------------------------------------------------6 3.5 时钟电路设计--------------------------------------------------7 3.6 整体电路原理图------------------------------------------------7 4 控制系统的软件的设计-------------------------------------8 4.1程序的设计-----------------------------------------------------8 4.2程序源代码-----------------------------------------------------8 5 仿真结果和实物图----------------------------------------------19 5.1仿真结果-------------------------------------------------------------19 5.2实物图---------------------------------------------------------------19 6 总结-----------------------------------------------------------------------------------------------20 参考文献-------------------------------------------------------21

51单片机数字时钟(带闹钟)(优选.)

最新文件---------------- 仅供参考--------------------已改成-----------word文本 --------------------- 方便更改 赠人玫瑰,手留余香。 计算机硬件综合课程 设计报告 课目: 学院: 班级: 姓名: 指导教师:

目录1 设计要求 1.1 功能需求 1.2 设计要求 2 硬件设计及描述 2.1 总体描述 2.2 系统总体框图 2.3 Proteus仿真电路图

3 软件设计流程及描述 3.1 程序流程图 3.2 函数模块及功能 4 心得体会 附:源程序

1设计要求 1.1功能需求 (1)实现数字时钟准确实时的计时与显示功能; (2)实现闹钟功能,即系统时间到达闹钟时间时闹铃响; (3)实现时间和闹钟时间的调时功能; (4)刚启动系统的时候在数码管上滚动显示数字串(学号)。 1.2设计要求 (1)应用MCS-51单片机设计实现数字时钟电路; (2)使用定时器/计数器中断实现计时; (3)选用8个数码管显示时间; (4)使用3个按钮实现调时间和闹钟时间的功能。按钮1:更换模式(模式0:正常显示时间;模式1:调当前时间的小时;模式2;调 当前时间的分钟;模式3:调闹钟时间的小时;模式4:调闹钟时 间的分钟);按钮2:在非模式0下给需要调节的时间数加一,但

不溢出;按钮3:在非模式0下给需要调节的时间数减一,但不小 于零; (5)在非0模式下,给正在调节的时间闪烁提示; (6)使用扬声器实现闹钟功能; (7)采用C语言编写程序并调试。 2 硬件设计及描述 2.1总体描述 (1)单片机采用AT89C51型; (2)时间显示电路:采用8个共阴极数码管,P1口驱动显示数字,P2口作为扫描信号; (3)时间设置电路:P3.0、P3.1、P3.2分别连接3个按键,实现调模式,时间加和时间减; (4)闹钟:P3.3口接扬声器。 2.2系统总体框图

51单片机电子时钟设计报告

电子时钟实验报告 全部代码在文档末尾:51单片机,LCD1602液晶显示屏平台下编程实现,可直接编译运行 目录: 一,实验目的 (1) 二,实验要求 (2) 三,实验基本原理 (2) 四,实验设计分析 (2) 五,实验要现 (3) A.电路设计 (3) 1. 整体设计 (3) 2. 分块设计 (4) 2.1 输入部分 (4) 2.2 输出部分 (5) 2.3 晶振与复位电路 (6) B.程序设计 (6) B.1 程序总体设计 (6) B.2 程序主要模块 (7) 五.实验总结及感想 (9) 一,实验目的 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 现代生活的人们越来越重视起了时间观念,可以说是时间和金钱划上了等号。对于那些对时间把握非常严格和准确的人或事来说,时间的不准确会带来

非常大的麻烦,所以电子钟是以其小巧,价格低廉,走时精度高,使用方便,功能多,便于集成化而受广大消费的喜爱,得到了广泛的使用。 1. 学习8051定时器时间计时处理、按键扫描及LCD液晶显示的设计方法。 2. 设计任务及要求利用实验平台上LCD1602液晶显示屏,设计带有闹铃功能的数字时钟 二,实验要求 A.基本要求: 1. 在LCD1602液晶显示屏上显示当前日期,时间。 2. 利用按键可对时间及闹玲进行设置,并可显示设置闹玲的时间。闹玲时间到蜂鸣器发出 声响,一分钟后闹铃停止。 B.扩展部分: 1.日历功能(能对年,月,日,星期进行显示,分辨平年,闰年以及各月天数,并调整)实现年月日时分秒的调整,星期准确的随着日期改变而改变进行显示。 2.定时功能(设定一段时间长度,定时到后,闹铃提示) C.可扩展部分: 1.闹铃重响功能(闹铃被停止后,以停止时刻开始,一段时间后闹铃重响,且重响时间的间隔可调) 2.可进行备忘录提示,按照年月日,可在设定的某年某月进行闹铃提示。 三,实验基本原理 利用单片机定时器完成计时功能,定时器0计时中断程序每隔0.05s中断一次并当作一个计数,设定定时1秒的中断计数初值为20,每中断一次中断计数初值加1,当减到20时,则表示1s到了,秒变量加1,同理再判断是否1min钟到了,再判断是否1h到了,是否一天到了,是否一个月到了,是否一年到了。 将时间在LCD液晶屏上显示,降低了程序的编写难度。LCD的固定显示特性是我们省去了数码管的动态扫描显示。 四,实验设计分析 针对要实现的功能,采用AT89S52单片机进行设计,AT89S52 单片机是一款低功耗,高性能CMOS8位单片机,片含4KB在线可编程(ISP)的可反复擦写1000次的Flash只读程序存储

单片机数字时钟设计_时分

河南交通职业技术学院 交通信息工程系 单片机数字时钟设计 专业电子11301姓名单德过学号1104060115 专业电子11301姓名楚洋坪学号1104060121

目录 摘要 (2) 第一章电子时钟的设计 (3) 1.1电子时钟简介 (3) 1.2电子时钟的工作原理 (3) 第二章硬件设计方案 (4) 2.1硬件电路的设计方案 (4) 2.2硬件电路的原理图 (4) 2.3硬件电路说明 (5) 第三章电子时钟的程序设计 (8) 3.1程序流程图 (8) 3.2程序设计 (11) 总结 (15)

摘要 随着现代生活的推进,电子时钟在人们的生活中已经普及,本课题的主要内容就是结合单片机的强大功能,在一块普通的电子时钟集成多种功能,方便人们的日常生活,该功能是通过单片机、8段数码管以及一些简单辅助电路实现的。由于之前没有独立做过单片机实现多功能电子时钟方面的内容,所以在做设计时总会遇见很多问题,本次设计是在结合老师的指导及同学的帮助下完成的,并通过本人在网上所查的大量资料及单片机设计中常见的电路而构思出来的。单片计算机即单片微型计算机。由RAM ,ROM,CPU构成,定时,计数和多种接口于一体的微控制器。它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。而51系列单片机是各单片机中最为典型和最有代表性的一种。这次课程设计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。 本设计主要设计了一个基于AT89C51单片机的电子时钟。并在数码管上显示相应的时间。并通过一个控制键用来实现时间的调节和是否进入省电模式的转换。该方法仿真效果真实、准确,节省了硬件资源。 关键字:单片机、电子时钟、程序

基于51单片机的电子时钟的设计

目录 0 前言…………………………………………………………………错误!未定义书签。 1 总体方案设计………………………………………………………错误!未定义书签。 2 硬件电路设计………………………………………………………错误!未定义书签。 3 软件设计……………………………………………………………错误!未定义书签。 4 调试分析及说明……………………………………………………错误!未定义书签。 5 结论…………………………………………………………………错误!未定义书签。 参考文献……………………………………………………………错误!未定义书签。 课设体会……………………………………………………………错误!未定义书签。 附录1 电路原理………………………………………………………错误!未定义书签。 附录2 程序清单……………………………………………………错误!未定义书签。 电子时钟的设计 许山沈阳航空航天大学自动化学院 摘要:传统的数字电子时钟采用了较多的分立元器件,不仅占用了很大的空间而且利用率也比很低,随着系统设计复杂度的不断提高,用传统时钟系统设计方法很难满足设计需求。 单片机是集CPU、RAM、ROM、定时器/计数器和多种接口于一体的微控制器。它体积小、成本低、功能强,广泛应用于智能产品和工业自动化上。而51系列的单片机是各单片机中最为典型和最有代表性的一种。,本次设计提出了系统总体设计方案,并设计了各部分硬件模块和软件流程,在用C语言设计了具体软件程序后,将各个模块完全编译通过过后,结果证明了该设计系统的可行性。该设计给出了以AT89C2051为核心,利用单片机的运算和控制功能,并采用系统化LED 显示模块实时显示数字的设计方案,适当地解决了实际生产和日常生活中对计时高精确度的要求,因此该设计在现代社会中具有广泛的应用性。 关键字:AT89C2051,C语言程序,电子钟。

基于51单片机的数字钟的设计

自动化专业综合设计报告 设计题目:基于51单片机的数字钟的设计所在实验室:单片机仿真模拟实验室 指导教师: 学生姓名 班级学号 撰写时间:成绩评定:

一、设计目的 电子钟是一种用数字电路技术实现时、分、秒计时的装置,与机械时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命。电子钟已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及车站、码头、剧院、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大地方便。本设计主要采用AT89C2051单片机作为主控核心,LED动态扫描显示屏显示。数字钟是一种用数字电路技术实现时、分、秒计时的装置,另外应有校时功能和闹钟等附加功能。与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。 AT89C2051是美国Atmel公司生产的低电压、高性能CMOS 8位单片机,片内含2KB的可反复擦写的只读程序存储器(PEROM)和128B的随机数据存储器(RAM),器件采用Atmel 公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C2051单片机在电子类产品中有广泛的应用。AT89C2051单片机电压可选用4-6V电压供电;显示器采用LED数码管来显示,数码管成本低廉,系统不但接口设计简单、便于控制,而且具有很好的人机界面,可以对当前的时间进行调整。 二、设计内容 用PROTEUS画出原理图,并完成下列任务: ⑴用4只LED数码管输出显示时和分。 ⑵可通过按键设置闹钟功能,且停闹无须手工操作。 ⑶可通过按键设置分校时。 (4) 写出详细的设计报告。 (5)给出电路的原理图、源程序,仿真实现。 三、设计步骤 利用以AT89C2051为核心的芯片来实现多功能的数字钟。本次设计的多功能数字钟采用按钮方式对时间进行控制设置,采用七段数码管显示当前的时间,且时间以24小时的计时方式,在本次设计中,电路不仅具有显示时间,还可以实现对它们的调整。 该系统是利用单片机最小系统再加上数码管、时钟芯片等电路组成。基于单片机作为主控芯片很容易控制操作,况且输入输出能很好的扩展,以便于修改更正。 1 系统主要功能 电子钟的主要功能有:整点报时;四只LED数码管显示当前时分;并且具有闹钟功能。 2 系统的硬件构成及功能 电脑钟的原理框图如图1所示。它由以下几个部件组成:单片机89C2051、电源、时分显示部件。 时分显示采用动态扫描,以降低对单片机端口数的要求,同时也降低系统的功耗。时分显示模块以及显示驱动都通过89C2051的I/O口控制。 电源部分:电源部分有二部分组成。一部分是由220V的市电通过变压、整流稳压来得到+5V 电压,维持系统的正常工作。

课程设计51单片机数字时钟

必齊威鼻求*摩 Har bi n I nst i t ut e of Technol ogy 课程设计说明书(论文) 课程名称:_____________ 设计题目:数字日历钟表的设计 院系:电信学院通信工程 班级: 设计者: 学号: 指导教师: 设计时间:2013612-3013618 哈尔滨工业大学

哈尔滨工业大学课程设计任务书 院(系): 班 号: 年 月 日至 课程设计题目 数字日历钟的设计 已知技术参数和设计要求: 1. 数码管显示:秒、分、时(可同时显示,也可轮换显示) 2. 能够设置时间,“设置按键”数量不限,以简单合理易用为好。 3. 误差:1秒/天(报告中要论述分析是否满足要求) 扩展(优秀必作) 1 .设置校准键:当数字钟显示在“整点土 30秒”范围时,按动“校准键”,数字钟即刻被调整到整 点,消除了土 30秒的误差。 2. 加上“星期”显示(可以预置),并可以对其进行设置。 其他要求: 1. 按动员老师的要求、课程设计报告规范进行设计 2. 不允许使用时数字钟表、日历专用 IC 电路。 3. 可以使用通用器件:模拟、数字、单片机、 EPLD 模块电路等。 4. 设计方法不限。 工作量: 1. 查找资料 2. 设计论证方案 3. 具体各个电路选择、元器件选择和数值计算 4. 具体说明各部分电路图的工作原理 5. 绘制电路原理图 6. 绘制印刷电路图 7. 元器件列表 8. 编写调试操作 9. 打印论文 姓 名: 专 业: 任务起至日期:

工作计划安排: 1. 查阅资料: 2. 方案论证 3. 设计、分析、计算、模拟调试、仿真、设计原理 4. 撰写报告:课程设计要求、方案论证、原理论述(原理框图、原理图)、分析、计算、仿真, PCB图的设计,误差分析、总结,参考文献等 5. 上交课程设计论文2013-6-19 同组设计者及分工: 指导教师签字______________________ 年月日 教研室主任意见: 教研室主任签字 年月日 *注:此任务书由课程设计指导教师填写

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