搜档网
当前位置:搜档网 › 日历时钟(带闹钟、图)

日历时钟(带闹钟、图)

日历时钟(带闹钟、图)
日历时钟(带闹钟、图)

/*********************按键1用于切换时分秒年月日闹钟一闹钟二 ***************************/ /************按键2用于当前显示调节闪烁进入调节状态调节秒(日)分(月) 时(年)**************/ /******************按键3用于配合按键2调表两位闪烁一位不闪不闪位每次加1****************/ /************按键4用于中断闹钟1、2 闹钟响应20s内如不按1、2,一段时间后闹钟再想*************/ #include

#define uint unsigned int

#define uchar unsigned char

uchar miao=0,fen=0,shi=0,ri=20,yue=12,nian=13;//年月日时分秒定义

uchar i1=0,i2=0; //判断按键变量

uchar miao1,fen1,shi1,miao2,fen2,shi2,naofen[]={0,0};//调闹钟变量

uchar d1,d2,d3,d4,d5; //显示变量

uchar t1=1,t2=1,t3=1; //显示延时变量

uint n13,n12,n11,n21,n22,n23,nz1,nz2; //闹钟变量

void xianshi();

void init1();

void delayms(uchar ms);

void display(d1,d2,d3,d4,d5);

void naozhong();

int key();

void tiaobiao();

sbit nao1=P1^0; //定义闹钟1端

sbit nao2=P1^1; //定义闹钟2端

sbit key1=P1^4; //定义按键1

sbit key2=P1^5; //定义按键2

sbit key3=P1^6; //定义按键3

sbit key4=P1^7; //定义按键4

uint num[]={0x3F,0x06,0x5B,0x4F,

0x66,0x6D,0x7D,0x07,

0x7F,0x6F,0x40,0x80}; //用于显示的数组 0,1,2,3,4,5,6,7,8,9,-,.

void main() //主程序

{

init1();

while(1)

{

key();

xianshi();

tiaobiao();

naozhong();

}

}

void xianshi() //显示切换

{

if(i1==0)display(shi,11,fen,11,miao);

if(i1==1)display(nian,10,yue,10,ri);

if(i1==2)display(shi1,10,fen1,10,miao1);

if(i1==3)display(shi2,10,fen2,10,miao2);

}

void delayms(uchar ms) //延时

{

uint z;

for(ms;ms>0;ms--)

for(z=200;z>0;z--);

}

void init1() //定时器1初始化装初值

{

TMOD=0x10;

ET1=1;

TH1=(65535-50000)/256;

TL1=(65535-50000)%256;

TR1=1;

EA=1;

}

void timer1() interrupt 3 using 1 //定时器1方式1中断

{

uchar count;

count++;

if(count==20)

{

nz1++;

nz2++;

miao++;

count=0;

if(miao==60)

{

fen++;

miao=0;

if(fen==60)

{

shi++;

fen=0;

if(shi==24)

{

ri++;

shi=0;

if((yue==1||3||5||7||8||10||12)&&(ri==33))

{

yue++;

ri=1;

}

if((yue==4||6||9||11)&&(ri==32))

{

yue++;

ri=1;

}

if((nian%4==0)&&(yue==2)&&(ri==30))

{

yue++;

ri=1;

}

if((nian%4!=0)&&(yue==2)&&(ri==29))

{

yue++;

ri=1;

}

if(yue==13)

{

nian++;

yue=1;

if(nian==99)nian=0;

}

}

}

}

}

TH1=(65535-50000)/256;

TL1=(65535-50000)%256;

}

void naozhong() //闹钟

{

n13=miao1-miao;

n12=fen1-fen;

n11=shi1-shi;

n21=miao2-miao;

n22=fen2-fen;

n23=shi2-shi;

if(i1==2&&key()==3) //调闹钟1 {

if(i2==2)

{

miao1++;

if(miao1==60)miao1=0;

}

if(i2==3)

{

fen1++;

if(fen1==60)fen1=0;

naofen[0]=fen1;

}

if(i2==4)

{

shi1++;

if(shi1==24)shi1=0;

}

}

if(i1==3&&key()==3) //调闹钟2 {

if(i2==2)

{

miao2++;

if(miao2==60)miao2=0;

}

if(i2==3)

{

fen2++;

if(fen2==60)fen2=0;

naofen[1]=fen2;

}

if(i2==4)

{

shi2++;

if(shi2==24)shi2=0;

}

}

if((miao1!=0)||(fen1!=0)||(shi1!=0)) //闹钟1

{

if(n11==0&&n12==0&&n13==0)

{

nz1=0;

while(nz1<20)

{

nao1=0;

xianshi();

if(key()==4)

{

nao1=1;

fen1=naofen[0];

break;

}

if(key()!=4&&nz1==19)

{

fen1=fen1+5;

nao1=1;

nz1=20;

}

}

}

}

if((miao2!=0)||(fen2!=0)||(shi2!=0)) //闹钟2 {

if(n21==0&&n22==0&&n23==0)

{

nz2=0;

while(nz2<20)

{

nao2=0;

xianshi();

if(key()==4)

{

nao2=1;

fen2=naofen[1];

break;

}

if(key()!=4&&nz2==19)

{

fen2=fen2+5;

nao2=1;

nz2=20;

}

}

}

}

}

void display(d1,d2,d3,d4,d5) //显示

{

uchar a,b,c,d,e,f,g,h;

a=d5%10;

b=d5/10;

c=d4;

d=d3%10;

e=d3/10;

f=d2;

g=d1%10;

h=d1/10;

P2=0x7f;

P0=num[a];

delayms(t3);

P2=0xbf;

P0=num[b];

delayms(t3);

P2=0xdf;

P0=num[c];

delayms(1);

P2=0xef;

P0=num[d];

delayms(t2);

P2=0xf7;

P0=num[e];

delayms(t2);

P2=0xfb;

P0=num[f];

delayms(1);

P2=0xfd;

P0=num[g];

delayms(t1);

P2=0xfe;

P0=num[h];

delayms(t1);

}

int key() //判断按键程序{

if(key1==0)

{

i1++;

while(!key1);

if(i1==4)i1=0;

return 1;

}

else if(key2==0)

{

i2++;

while(!key2);

if(i2==5)i2=0;

return 2;

}

else if(key3==0)

{

while(!key3);

return 3;

}

else if(key4==0)

{

while(!key4)return 4;

}

else return 0;

}

void tiaobiao() //调表程序

{

if(i2==1)t1=t2=t3=15;

if(i2==2){t3=20;t1=t2=1;}

if(i2==3){t2=20;t3=t1=1;}

if(i2==4){t3=t2=1;t1=20;}

if(i2==0)t1=t2=t3=1;

if(i1==1&&key()==3)

{

if(i2==2)

{

ri++;

if((yue==1||3||5||7||8||10||12)&&(ri==33))ri=1;

else if((yue==4||6||9||11)&&(ri==32))ri=1;

else if((nian%4==0)&&(yue==2)&&(ri==30))ri=1;

else if((nian%4!=0)&&(yue==2)&&(ri==29))ri=1;

if(yue==13)yue=1;

}

if(i2==3)

{

yue++;

if(yue==13)yue=1;

}

if(i2==4)

{

nian++;

if(nian==99)nian=0;

}

}

if(i1==0&&key()==3)

{

if(i2==2)

{

miao++;

if(miao==60)miao=0;

}

if(i2==3)

{

fen++;

if(fen==60)fen=0;

}

if(i2==4)

{

shi++;

if(shi==24)shi=0;

}

}

}

lcd实时日历时钟评测报告

lcd实时日历时钟评测报告 部门: xxx 时间: xxx 制作人:xxx 整理范文,仅供参考,可下载自行修改

课程设计说明书 课程名称:单片机原理及应用 设计题目: LCD日历 院系: 学生姓名: 学号: 专业班级: 2018年3月 1日

目录摘要4 一.设计任务和要求4 二.方案论证4 三.核心元件的性能4 1.AT89C514 1.1 功能特性概括:5 1.2 管脚说明:5 2.DS13027 2.1DS1302引脚功能7 2.2DS1302的控制字8 2.3 DS1302的寄存器9

2.4 DS1302的数据输入输出10 四.理论分析与计算11 五.电路与程序设计11 1.系统硬件设计11 1.1系统总原理图11 1.2主控部分(单片机MCS-51>11 1.3 计时部分<实时时钟芯片DS1302)12 1.4Proteus仿真图12 2.系统软件设计13 2.1程序流程图12 2.2程序源代码12

六.结果分析23七.设计体会总结24参考文献25

摘要 此次课程设计的要求是通过LCD与单片机的连接模块能够显示数字<如时间)、字符<如英文)和图形等,这就需要专门的时钟芯片-----DS1302。DS1302是一种高性能、低功耗、带RAM的实时时钟芯片,它能够对时,分,秒进行精确计时,它与单片机的接口使用同步串行通信,仅用3条线与之相连接,就可以实现MCS-51单片机对其进行读写操作,把读出的时间数据送到LM044L上显示。程序运行时,必须先对LM044L进行初始设置,然后,通过单片机从DS1302中获取时间并通过LM044L显示。同时,进行循环赋值,使LCD 动态显示当前的时间。b5E2RGbCAP 关键字:AT89C51、DS1302,LM044L显示器 朗读显示对应的拉丁字符的拼音字典 - 查看字典详细内容 一.设计任务和要求 1. 利用DS1302实现年月日时分秒,并用LCD显示。 2.通过LCD模块与单片机的接口,能显示数字<如时间)、字符<如英文)。 3. 硬件设计部分,根据设计的任务选定合适的单片机,根据控制对象设计接口电路。设计的单元电路必须有工作原理,器件的作用,分析和计算过程;p1EanqFDPw 4. 软件设计部分,根据电路工作过程,画出软件流程图,根据流程图编写相应的程序,进行调试并打印程序清单;DXDiTa9E3d 5.原理图设计部分,根据所确定的设计电路,利用Protel工具软件绘制电路原理图,提供元器件清单。

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

#include #define uchar unsigned char #define uint unsigned int //----端口定义--- sbit ACC_7=ACC^7; sbit RST1=P2^5; sbit IO=P2^6; sbit SCLK=P2^7; sbit k1=P3^2; sbit k2=P3^3; sbit k3=P2^2; sbit k4=P2^3; //uchar wei[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; // 数码的位选,左到右 uchar tab_1302[7]={45,50,11,19,1,1,15}; uchar tab_time[8]={0,0,10,0,0,10,0,0}; //时间 uchar tab_day[8]={0,0,10,0,0,10,0,0,}; //年月日 uchar tab_num[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf}; //0 1 2 3 4 5 6 7 8 9 - {"0123456789-"} ////////////=============函数声明============//////////////// void display_time(); void delayms(uint); void display_day(); void ds1302(); //获取DS1302的时间 void ds1302_init(); //DS1302的初始化 void write1302(uchar,uchar); //指定地址向DS1302写数据 uchar read1302(uchar); //指定地址向DS1302读数据 void ds1302(); void int0_init(); /////////=======中断初始化=======/////////// void int0_init() { EX0=1;

钟表教学 课时计划(认识钟表、认识时钟、认识时间、认识钟点、钟表的认识、时钟认知、时间的认识)

钟表教学课时计划 (认识钟表、认识时钟、认识时间、认识钟点、钟表的认识、时钟认 知、时间的认识统称为钟表教学) 人教版《小学数学》(2012年6月第1版)从一年级上册第7单元(第84~87页)开始安排了“认识钟表”的教学内容,根据这个阶段学生的认识能力和特点,确定此部分教学计划适合采用较为生动的“课件”进行直观教学。 首先,应联系生活实际,让学生注意到时间在生活、学习中的常规应用,如早晨七点起床、九点半做眼保健操、中午十一点半吃午餐、下午三点半放学、晚上六点半看动画片……乃至一节课的长度为40分钟、课间休息10分钟、新闻联播30分钟(半小时)等。 然后,从认识钟表的外观,千奇百怪、各式各样的数字式、指针式钟表开始,接下来认识钟表上的时针、分针、秒针在外观、名称、运转方式、指示时间单位上的区别。重点让学生观察时间在指针式钟表上的表示方法,再看这些时间的书面表示方法如7:00表示7时(7点),同时让学生知道1天等于24时、1时等于60分、1分等于60秒。接着认识表盘,看表盘上的刻度,12个大刻度以及60个小刻度,同时认识时、分、秒及这三者的单位换算进率。然后要让学生知道12时计法和24时计时法的区别和联系,如4时表示早晨4点,16时表示下午4点等。可以联系到中国古代计时器“日晷”、“铜漏壶”图片进行教学,这部分教学内容计划为2课时完成。 《钟表助教1.6》的“自由拨钟”功能可很好地满足以上教学需要,可以隐藏任意指针。如下图:

用鼠标拖动指针即可随意拨钟,且三针联动,可演示时、分、秒三针在运转和指示时间上的区别。也可以点击其上方的天线一次进行摘钩再拨钟,此时三针不联动,可单独拨任意一针进行教学,建议拨钟教学时先摘钩三针不联动,再“挂钩”三针联动。教学中,不仅教师可以操作拨钟,也可以让学生上手拨钟,不仅加深印象,而且也能培养学生浓厚的学习兴趣。除此之外,“自由拨钟”功能还可用于较高年级学生学习钟表指针位置关系如重合、垂直、相背、60°夹角等。 接下来,就要由浅入深地来训练学生对钟表上指示的时间的认读。《钟表助教1.6》“综合”中的“出题”功能正是为这个需要而设计。下图为出题界面: 可以先从整点开始,然后加大难度至整点半点,再进一步加大难度至刻钟练习,然后整十分练习、五分练习、整分练习直至带秒练习,

实时日历/时钟系统的实现

山东科技大学信电学院07级大神的课程设计代码,实时日历/时钟的设计及实现825982538255仅供学弟学妹参考,课程设计还要自己做。 .386 Init macro op1,op2,op3,op4,op5,op6 mov cx,00h mov dh,op1 mov dl,op2 op6:mov ah,02h mov bh,00h int 10h push cx mov ah,0ah mov al,op3 mov bh,00h mov cx,01h int 10h pop cx inc cx inc op4 cmp cx,op5 jne op6 endm data segment shijian db 10 dup(':') ;存放时间 riqi db 20 dup(' ') ;存放日期 str1 db ' Welcome to use this clock ',0ah,0dh db '* show time--t ',0ah,0dh db '* set time--s ',0ah,0dh,'$' str2 db ' _ _ ',0ah,0dh db ' ( ) ( )',0ah,0dh db ' | |_| | ',0ah,0dh db ' | _ | /^_` )( ^_`\ ( ^_`\ ( ) ( ) ',0ah,0dh db ' | | | |( (_| || (_) )| (_) )| (_) | ',0ah,0dh db ' (_) (_)`\__,_)| ,__/^| ,__/^`\__, | ',0ah,0dh db ' | | | | ( )_| | ',0ah,0dh db ' (_) (_) `\___/^ ',0ah,0dh db ' _ _ _ _ ',0ah,0dh db ' ( ) ( ) ( ) ( ) ',0ah,0dh db ' | `\| | __ _ _ _ `\`\_/^/^__ _ _ _ __ ',0ah,0dh db ' | , ` | /^__`\( ) ( ) ( ) `\ /^/^__`\ /^_` )( ^__) ',0ah,0dh db ' |`\ | ( ___/| \_/ \_/ | | |( ___/( (_| || | ',0ah,0dh

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

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

摘要 本课题通过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前言

lcd实时日历时钟报告

课程设计说明书 课程名称:单片机原理及应用 设计题目:LCD日历 院系: 学生姓名: 学号: 专业班级: 2011年3月1日

目录 摘要 (4) 一.设计任务和要求 (4) 二.方案论证 (4) 三.核心元件的性能 (4) 1.AT89C51 (4) 1.1 功能特性概括: (5) 1.2 管脚说明: (5) 2.DS1302 (7) 2.1 DS1302引脚功能 (7) 2.2 DS1302的控制字 (8) 2.3 DS1302的寄存器 (9) 2.4 DS1302的数据输入输出 (10) 四.理论分析与计算 (12) 五.电路与程序设计 (12) 1.系统硬件设计 (12) 1.1系统总原理图 (12) 1.2 主控部分(单片机MCS-51) (12) 1.3 计时部分(实时时钟芯片DS1302) (13) 1.4 Proteus仿真图 (13) 2.系统软件设计 (14) 2.1 程序流程图 (13)

2.2 程序源代码 (13) 六.结果分析 (23) 七.设计体会总结 (24) 参考文献 (25) 摘要

此次课程设计的要求是通过LCD与单片机的连接模块能够显示数字(如时间)、字符(如英文)和图形等,这就需要专门的时钟芯片-----DS1302。 DS1302是一种高性能、低功耗、带RAM的实时时钟芯片,它能够对时,分,秒进行精确计时,它与单片机的接口使用同步串行通信,仅用3条线与之相连接,就可以实现MCS-51单片机对其进行读写操作,把读出的时间数据送到LM044L上显示。程序运行时,必须先对LM044L进行初始设置,然后,通过单片机从DS1302中获取时间并通过LM044L显示。同时,进行循环赋值,使LCD 动态显示当前的时间。 关键字:AT89C51、DS1302,LM044L显示器 一.设计任务和要求 1.利用DS1302实现年月日时分秒,并用LCD显示。 2.通过LCD模块与单片机的接口,能显示数字(如时间)、字符(如英文)。 3. 硬件设计部分,根据设计的任务选定合适的单片机,根据控制对象设计接口电路。设计的单元电路必须有工作原理,器件的作用,分析和计算过程; 4. 软件设计部分,根据电路工作过程,画出软件流程图,根据流程图编写相应的程序,进行调试并打印程序清单; 5.原理图设计部分,根据所确定的设计电路,利用Protel工具软件绘制电路原理图,提供元器件清单。 6计算说明书部分包括方案论证报告打印版或手写版,程序流程图具体程序等 7. 图纸部分包括具体电路原理图打印版 8. 设计要求还包括利用一天时间进行资料查阅与学习讨论,利用5天时间在实验室进行分散设计,最后三天编写报告。最后一天进行成果验收。 二.方案论证 实现数字电子钟的设计有以下两种基本方案,现就两种基本方案的优劣进行具体论证,

最新毕业设计:基于单片机的电子日历时钟

一课程设计题目:电子日历时钟 二实现的功能: 基本功能: (1)显示北京时间,并且能够校准时间; (2)程序使用汇编语言; (3)显示的时、分、秒之间以及年、月、日间以小数点分隔;(4)显示公历日期,并且能够校准日期; 发挥功能: (5)运动秒表; (6)闹钟功能; (7)自动整点报时。 三课程设计的目的: 课程标志性内容的设计理解和综合运用,对所学内容进行一次实操,学以致用。 四、设计方案说明 1、硬件部分 (1)采用6位LED数码管显示日期或者时间。 (2)显示器的驱动采用“动态扫描驱动”,且采用“一键多用”的设计方案,系统电路大为简化。使用小数点表示闹 钟设置状态; (3)电路连接使用PCB,使电路连接简洁美观

2、软件部分 (1)“时钟”基准时间由单片机内部的定时中断提供,考虑因素:定时时间是“秒”的整除数,且长短适宜。最长不 能超过16位定时器的最长定时时间;最短不能少于中断服 务程序的执行时间。基准时间越短,越有利于提高时钟的 运行精确度。基准时间定为0.05秒。 (2)用一个计数器对定时中断的次数进行计数,由基准时间为0.05秒知计数值为20即可实现实现“秒”定时,同理 进行“分”﹑“时”定时,以及“日”﹑“月”﹑“年” 定时。 (3)LED 数码管显示器采用“动态扫描驱动”考虑问题:驱动信号的维持时间必须大于“起辉时间”(电流大起辉时间 短),而驱动信号的间歇时间必须小于“余辉时间”(电流 大余辉时间长),但驱动电流大小受硬件电路能力和LED 数码管极限功耗的制约。 (4)动态扫描显示方式在更新显示内容时,考虑到因LED数码管余辉的存在可能会造成显示字符的模糊,所以新内容 写入显示器之前将所有的LED数码管熄灭。 (5)关于自动识别“月大﹑月小”和“平年﹑润年”问题的考虑 a)月大和月小 2月另外计算;

万年历时钟表

本次课程设计要求显示万年历时钟表。要求实现正常的时、分、秒计数。二十四小时的时间计时。 本次课程设计采用黑金AX301开发平台。相关硬件原理图和PCB图见文件夹。

一.各个设计模块描述 (一)计时模块 1.秒计数是由一个六十进制的计数器构成,生成元器件如下 Clk:驱动秒计时器的时钟信号 Clr:校准时间时清零的输入端 En:使能端 Sec0[3..0] sec1[3..0]:秒的高位显示,低位显示 Co:进位输出端,作为分的clk输入 代码如下: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity second is port (clk,clr,en:in std_logic; sec0,sec1:out std_logic_vector(3 downto 0); co:out std_logic); end second; architecture sec of second is SIGNAL cnt1,cnt0:std_logic_vector(3 downto 0); begin process(clk) begin if(clr='0')then cnt0<="0000"; cnt1<="0000"; elsif(clk'event and clk='1')then if(en='1')then

if cnt1="0101" and cnt0="1000" then co<='1'; cnt0<="1001"; elsif cnt0<"1001" then cnt0<=(cnt0+1); else cnt0<="0000"; if cnt1<"0101"then cnt1<=cnt1+1; else cnt1<="0000"; co<='0'; end if; end if; end if; end if; sec1<=cnt1; sec0<=cnt0; end process; end sec; 仿真图如下: 2.分计数是由六十进制的计数器构成,生成元器件如下

实时日历时钟显示系统的设计

微机原理及应用课程设计任务书 20 xx -20 xx 学年第 x 学期第 xx 周- xx 周 题目实时日历时钟显示系统的设计 内容及要求 内容:实时日历时钟显示系统 要求:设计一个实时日历时钟显示系统的程序。用“年/月/日”,“时:分:秒”(都是两位)的形式连续显示系统时间 进度安排 课程设计内容时间分配 方案论证1天 分析、设计、调试、运行3天 检查、整理、写设计报告、小结1天 合计5天 学生姓名: xx 指导时间: xxxx 指导地点: xxxx 任务下达任务完成 考核方式 1.评阅√ 2.答辩√ 3.实际操作□ 4.其它□指导教师系(部)主任 注:1、此表一组一表二份,课程设计小组组长一份;任课教师授课时自带一份备查。 2、课程设计结束后与“课程设计小结”、“学生成绩单”一并交院教务存档。

此次微机原理课程设计要求设计一个实时日历时钟显示系统。 本程序利用DOS中断2AH号功能调用取系统年月日,再逐个显示各数据,利用2CH号功能调用取系统时间,逐个显示各数据。用“时:分:秒”(都是两位)的形式连续显示系统时间,并利用计算机提供的软件调试工具对所编写程序进行调试,记录下整个调试分析的过程与运行结果。 任务安排: 主程序: xx:主体程序和流程设计 xx:日历调用显示系统 xx:时间调用显示系统 子程序: xx:显示两位数字的子程序

一、课程名称 (2) 二、课程内容及要求 (2) 三、小组组成 (2) 四、设计思路 (3) 五、程序流程图及介绍 (4) 六、调试 (5) 七、总结 (7) 八、参考资料 (9) 附录 (9)

一、课程名称:实时日历时钟显示系统的设计 二、课程内容及要求 课程内容:实时日历时钟显示系统 要求:设计一个实时日历时钟显示系统的程序。用“年/月/日”,“时:分:秒”(都是两位)的形式连续显示系统时间 三、小组组成: 成员: xx, xx, xx, xx 任务安排: 主程序: xx:主体程序和流程设计 xx:日历系统 xx:时间系统 子程序: xx:显示两位数字的子程序

单片机课程设计 电子日历时钟显示器设计

目录 1.题目设计要求 (1) 2.开发平台简介 (1) 3.系统硬件设计 (2) 3.1设计原理 (2) 3.2器件的功能与作用 (2) 3.2.1 MCS51单片机AT89C51 (2) 3.2.2复位电路 (3) 3.2.3晶振电路 (4) 3.2.4 DS1302时钟模块 (4) 3.2.5 引脚功能及结构 (4) 3.2.6 DS1302的控制字节 (5) 3.2.7 数据输入输出(I/O) (5) 3.2.8 DS1302的寄存器 (6) 3.2.9 液晶显示LCD1602 (6) 3.2.10 串行时钟日历片DS1302 (8) 4.系统软件设计 (10) 4.1程序流程 (10) 4.2程序代码 (10) 5.系统仿真调试 (20) 5.1仿真原理图设计 (20) 5.2仿真运行过程 (21) 5.3仿真运行结果 (21) 6.总结 (21) 7.参考文献 (22)

1.题目设计要求 通过串行日历时钟芯片DS1302生成当前日期和是时间,通过IO口传输到AT89c52芯片中,然后再将AT89c52接收到的数据输出到LCD上。要求LCD上显示的日期和时间与当前系统时间保持一致。 2.开发平台简介 2.1系统仿真平台Proteus Proteus软件是由英国Labcenter Electronics公司开发的EDA工具软件,已有近20年的历史,在全球得到了广泛应用。Proteus软件的功能强大,它集电路设计、制版及仿真等多种功能于一身,不仅能够对电工、电子技术学科涉及的电路进行设计,还能够对微处理器进行设计和仿真,并且功能齐全,界面多彩。和我们手头其他的电路设计仿真软件,他最大的不同即它的功能不是单一的。另外,它独特的单片机仿真功能是任何其他仿真软件都不具备的。 2.2软件开发平台Keil C Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。Keil C51生成的目标代码效率之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。

电子日历时钟设计

目录 1题目设计的要求 (1) 2 系统硬件设计 (1) 2.1设计原理 (1) 2.2器件的功能与作用 (1) 2.2.1 MCS51单片机AT89C51 (1) 2.2.2 串行时钟日历片DS1302 (2) 2.2.3 液晶显示LCD1602 (3) 3 系统软件设计 (4) 3.1程序流程 (4) 3.2程序代码 (5) 4 系统仿真调试 (12) 4.1仿真原理图设计 (12) 4.2仿真运行过程 (12) 4.3仿真运行结果 (13) 5 总结 (13) 6 参考文献 (13)

1题目设计的要求 通过串行日历时钟芯片DS1302生成当前日期和是时间,通过IO口传输到AT89c52芯片中,然后再将AT89c52接收到的数据输出到LCD上。要求LCD上显示的日期和时间与当前系统时间保持一致。 2 系统硬件设计 2.1 设计原理 图3.1 电路原理图 2.2 器件的功能与作用 2.2.1 MCS51单片机AT89C51 XX AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件

采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。 由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。 AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 2.2.2 串行时钟日历片DS1302 系统的组成与工作原理: 系统由单片机AT89C52,串行日历时钟片DS1302,液晶显示模组LCD1602。 DS1302的CLOCK与AT89C52的P1.6相连,RST与P1.5相连,IO与P1.7相连。 LCD1602的D0~D7与AT89C51的P0.0~P.7相连,并接上拉电阻,RS与P2.0相连,RW与P2.1相连,E与P2.2相连。 DS1302是DALLAS公司拖出的涓流充电时钟芯片,内含有一个实时时钟/日历和31个季节静态RAM,通过简单地串行接口与单片机进行通信,实时时钟/日历电路提供秒、分、时、日、日期、月、年的信息,每月的天数和闰年的天数可自动调整,时钟操作可通过AM/PM指示决定采用24小时或12小时格式,DS1302与单片机之间能简单地采用同步串行方式进行通信,仅需用到RES复位、I/O 数据线、SCLK串行时钟3个口线。对时钟、RAM的读/写,可以改用单字节方式或多达31个字节的字符组方式。DS1302工作时功耗很低,保持数据和时钟信息是功率小于1mW。DS1302广泛应用于电话传真、便携式仪器及电池供电的仪器仪表等产品领域中。 RT-1602 字符型液晶模块是以两行16个子的5*7点阵吐信来显示字符的液晶显示器。 DS1302有8个引脚: X1、X2:32.768kHz晶振介入引脚。 GND:地。 RST:复位引脚,低电平有效。 I/O:数据输入/输出引脚,具有三态功能。 SCLK:串行时钟输入引脚。 Vcc1:工作电源引脚。 Vcc2:备用电源引脚。 DS1302有一个控制寄存器,12个日历,时钟寄存器和31个RAM。 控制寄存器 控制寄存器用于存放DS1302的控制命令字,DS1302的RST引脚回到高电平后写入的第一个字就为控制命令。它用于对DS1302读写过程进行控制,它的格式如下:

倒计时数字钟

合肥学院 计算机科学与技术系微机原理与接口技术 课程设计报告 2008~2009学年第1学期 课程微机原理与接口技术 课程设计名称倒计时数字钟 学生姓名昌飞霞 学号0604032012 专业班级网络工程专业(06网工2) 指导教师肖连军老师

2009 年 2 月 一、题意分析及解决方案 1 .题义与需求分析 用STAR ES598PCI单板开发机设计一个接口与七段LED显示器,显示一个倒计时数字钟,显示初值为60分00秒,每隔一秒改变一次显示值,60秒为一分钟,LED显示器显示分、秒的动态值。根据题目要求需要考虑以下几方面问题: ①初值的设置及输入问题倒计时时需要从一个固定的值开始倒计时,这个初值需要用输入一个输入设备输入。 ②接口设计当初值设置完毕,应将时间信息传送到外设中,即设计CPU与外设之间传送信息的接口。 ③动态值的显示从初始值开始每隔一秒就要动态的改变这个初值,并且把这个值用显示设备显示出来。 ④显示设备为了使用者能够清楚方便的使用该产品,倒计时数字钟要把每隔一秒后相应数值动态的显示出来,这样才会使得设计出来的产品有应用价值。⑤一秒的控制倒计时钟需要每隔一秒改变一下显示值,所以需要一个操作来控制一秒这个固定延时。 需要注意的是,在选择芯片或选择其它元器件时,应当考虑所选器件在设计中所起的实验效果、产品成本、产品可靠性、可行性以及使用的难易程度等等,这都是我们在设计过程中需要考虑的因素。 2 .解决问题的方法与思路 1) 硬件部分 ①初值的设置及输入问题 倒计时钟是从初值开始一秒一秒的倒计时,可以使用一组八位二进制逻辑开关作为输入设备。需要输入的有秒个位、秒十位、分个位、分十位、时个位、时十位,用K7~K5来选择要输入的是哪位,000时表示设置的是秒个位,001时设置的是秒十位,010时设置的是分个位,011时设置的是分十位,100时设置的是时个位,101时设置的是时十位。K4~K1用来表示需要设置位的具体值,0000~1001分别表示十进制数的0~9。K8作为主控开关,为1时表示需要设置初值,为0时不需设置初值及开始倒计时。 ②接口设计 接口芯片是CPU与外设之间的界面,一方面要接收CPU进行输入/输出所发出的一系列信息,另一方面又要与外设交换数据以及一些联络信号等。为增加本设计的灵活性,在接口的选择上要求是可编程的输入/输出接口,而可编程的输

实时日历时钟系统设计

内蒙古工业大学本科毕业设计说明书 摘要 在当今社会,随着电子产品的不断发展,许多电子设备都趋于智能化,人们都基 本熟悉这些电子产品的基本功能,然而却很少人知道它的内部结构以及工作原理。这 些设备大部分都含有CPU控制器或者是单片机,其中单片机以其COMS化、体积小、成本低、运用灵活、易于产品化等一系列优点,这些年得到迅猛的发展和推广,广泛 的应用于工业自动控制,通讯设备,家用电器等各个领域。 本设计的日历时钟产品是小型电子产品。主要是以单片机AT89C51为总控制器,由时钟芯片DS12C887读取时间数据与掉电储存,用键盘来完成对时间调整,最后通 过1602液晶显示器显示出来,从而达到显示时间的目的。日历时钟广泛的应用于个 人家庭以及车站、医院、商场、办公室等公共场所,成为人们日常生活中不可少的必 需品。因此,本设计具有相当重要的现实意义和实用价值。 关键词:日历时钟;单片机;1602液晶显示;DS12C887

内蒙古工业大学本科毕业设计说明书 Abstract With the continuous development of electronic products in today's society, many electronic devices have tended to be intelligent, people are basically familiar with the basic functions of these electronic products, yet few people know about its internal structure and working principle. most of which containing CPU controller or microcontroller. In recent years, Microcontroller has been the rapid development and large-scale promotion with its with its COMS, small size, low cost, flexible use, easy-to-product such as a number of advantages. It has been widely used in various fields of industrial control systems, communications equipment, and household appliances. The design of the product is small calendar clock electronic products. Mainly based on AT89C51 microcontroller controller, by the clock chip DS12C887 access time data and power-down storage, and use the keyboard to complete on time to adjust, and finally LCD1602 monitor display, so as to achieve the purpose of display time. T he calendar clock is widely used in individual households, as well as railway stations, hospitals, shopping malls, offices and other public places to become the indispensable necessities of daily life. Therefore, the design has very important realistic significance and practical value. Key words: Calendar clock;Microcontroller;LCD1602; DS12C887

倒计时秒表

单片机课程设计课题:倒计时秒表 系别:电气与控制工程学院 专业: 姓名: 学号: 成绩: 河南城建学院 2018年01月3日

目录 一, 设计目的 (2) 二,设计任务及要求 (2) 三,方案设计 (2) 四,硬件设计 (3) 五,软件设计 (6) 六,仿真及调试 (6) 七,设计总结 (8) 参考文献 (9) 附录: (9)

一, 设计目的 通过课程设计,使自己深刻理解并掌握基本概念,掌握单片机的基本应用程序设计及综合应用程序设计的方法。通过做倒计时秒表这个题目,达到对所学知识的消化、理解并提高解决问题的能力的目的。 任选一款51单片机来做这个倒计时秒表,显示方式可以自选,成品必须可以实现正常秒表的所有功能,包括启动、暂停、复位等,可以自由设定倒计时时间,并进行倒计时。做好之后可以扩展功能,在秒表的基础上增加时钟功能,倒计时完成时加入报警单元,如声音、灯光等。 二,设计任务及要求 1、可以以实现正常秒表的所有功能,包括启动、暂停、复位等; 2、可以自由设定倒计时时间(10s 、20s 、30s ···),并进行倒计时; 3、显示方式自选; 4、任选一款51单片机; 5、扩展功能:在秒表的基础上增加时钟功能,倒计时完成时加入报警单元,如声音、灯光等。 三,方案设计 倒计时数字秒表的 设计主要考虑以下几个问题:一,LED 如何显示数字0—9;二,如何用单片机来控制LED 的显示;三,单片机最小模式下的设计。处理好这些问题此设计才能完整,为此必 须先了解LED 的显示原理和接线方 图1系统结构框图 单片机 蜂鸣器 LED 显示 键盘 复位 LED 显示

实时日历时钟显示毕业设计

湖南工程职业技术学院HUNAN ENGINEERING POLYTECHNIC 毕业设计(论文) 设计(论文)题目:实时日历时钟显示 系部:信息工程系 专业:电子信息工程技术专业 学生姓名: Xxx 学号 24 班级: xxx 职称讲师 指导教师姓名:易xxxx 最终评定成绩 信息工程系 二○一二年五月制

2012年5月21日 题目:毕业设计之开题报告 1.研究背景、目的及意义。 在社会迅速发展的今天,单片机的的运用已经渗透到我们生活的每个角落,也似乎很难找到哪个领域没有单片机的足迹。智能仪表、医疗器械,导弹的导航装置,智能监控、通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,汽车的安全保障系统,动控制领域的机器人,数码像机、电视机、全自动洗衣机的控制,电话机以及程控玩具、电子宠物等等,这些都离不开单片机。所以,单片机的学习、开发与应用将对于现代社会的发展,经济的繁荣,和提高满足人类日益增长的物质文化需求有着至关重要的作用。也成就了一批又一智能化控制的工程师和科学家。科技越发达,智能化的东西就越多。学习单片机是社会发展的必然需求,也是我们现代高级技工所必须要掌握的技能。 至今,单片机的性能已比较完善,且专业化的特点很强,为各种应用提供了很大的方便。由于体积小,价格低,功耗低、控制功能强且控制逻辑可由软件来实现,因此可以很方便地完成由一般数字电路很难实现的控制逻辑。随着人们生活水平的提高和生活节奏的加快,对时间的要求越来越高,精准数字计时的消费需求也是越来越多。 二十一世纪的今天,最具代表性的计时产品就是实时日历时钟,它是近代世界钟表界的第三次革命。第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率使钟表的走时差从分级缩小到秒级,代表性的产品就是带有摆和摆轮游丝的机械表或钟。第二次革命是石英晶体振荡器的应用,发明了走时精度更高的石英电子钟表,使钟表的走时月差从分级缩小到了秒级。第三次革命就是单片机数码计时技术的应用(实时日历时钟)。实时日历时钟显示系统的设计是采用单片机控制实现对时、秒数字显示的计时装置,分、广泛应用于个人家庭、车站、办公室等公共场所,成为人们日常生活中的必需品。实时日历时钟显示系统的设计给人们的生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。因此,计时产品的走时日差从分级缩小到了百万分之一秒,从原有传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示式,直观明了,并增加了全自动日期、星期、温度以及其他日常附属信息的显示功能,他更符合消费者的生活需求,因此,实时日历时钟的出现带来了钟表计时业跨越性的进步。

课程设计(数字日历钟表的设计)

课程设计说明书(论文) 课程名称:课程设计1 设计题目:数字日历钟表的设计 院系: 班级: 设计者: 学号: 设计时间:2013-6-19

哈尔滨工业大学 哈尔滨工业大学课程设计任务书 姓名:院(系): 专业:班号: 任务起至日期:2013 年 5 月日至2013 年 6 月19 日 课程设计题目:数字日历钟的设计 已知技术参数和设计要求: 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 同组设计者及分工:

倒计时计时器

倒计时计时器 一、对设计课题进行简要阐述: 倒计时计时器可以用做定时,控制被定时的电器的工作状态,实现定时开或者定时关,最长定时时间为999分钟。还可以用做倒计时记数,最长记时时间为999秒,有三位数码管显示记数状态。 为保证时钟脉冲的稳定和精度,决定采用晶体振荡器发出的脉冲经过整形、分频获得1Hz的秒脉冲。如晶振为32768 Hz,通过15次二分频后可获得1Hz的脉冲输出。 计数部分采用74LS192芯片;译码、显示部分采用采用和译码器74LS248和共阴极LED数码管LC5011-11。 二、任务具体要求: 1、具有显示十进制数字的功能,启动和暂停/连续功能 2、在直接清零时,数码管断点熄灯 3、具有外部清零开关 4、计时阶段,时间间隔为一秒 5、计时器递减及时至零时,数码管不熄灭,并伴有光电报警信号 三、总体设计方案方框图及各部分电路设计(含各部分电路功能、输入信号、输出信号、电路设计原理图及其功能阐述、所选用的集成电路器件等): 设计思路: 用三个可预置数的减计数器组成三位二-十进制减计数器,用三个译码器和三个LED数码管显示器,CMOS电路组成秒/分选择器,另外有控制电路,控制器随着计数器计数的状态发生改变,计时期间,用电气开关断开,当计时完毕时,用电气开关闭合。

脉冲发生器是数字钟的核心部分,它的精度和稳定度决定了数字钟的质量,通常用晶体振荡器发出的脉冲经过整形、分频获得1Hz 的秒脉冲。如晶振为32768 Hz ,通过15次二分频后可获得1Hz 的脉冲输出,电路图如图1.2所示。 74LS74 1Hz 图1.2 秒脉冲发生器 由晶振32768Hz 经14分频器分频为2Hz ,再经一次分频,即得1Hz 标准秒脉冲,供时钟计数器用。 2、8421BCD 码递减计数器 引脚说明:Cdn---减计数脉冲输入,当作减计数操作时Cup 接高电平。 Cup---增计数脉冲输入,当作加计数操作时Cdn 接高电平。 BO---借位输出信号,在减计数时出现,低电平有效。CO---进位输出信号,加计数时出现,低点平有效。

2019年高考倒计时日历(可打印超实用)

2019高考倒计时日历(2018年8 月)每一个成功者一都有一个开始,勇于开始,才能找到成功的路 再累也不要忘记心 中的那道彩虹 亠呈6 距2019高考仅 有305天 13 距2019高考仅 有298天 20 距2019高考仅 有291天 27 距2019高考仅 有284天 7盈 距2019高考仅 有304天 14 距2019高考仅 有297天 21 距2019高考仅 有290天 28 距2019高考仅 有283天 1 距2019高考仅 有310天 8 距2019高考仅 有303天 15 距2019高考仅 有296天 22 距2019高考仅 有289天 29 距2019高考仅 有282天 2 距2019高考仅 有309天 距2019高考仅 有302天 ? M6 距2019高考仅 有295天 23 距2019高考仅 有288天 30 距2019高考仅 有281天 3 距2019高考仅 有308天 10詆 距2019高考仅 有301天 17 距2019高考仅 有294天 24 距2019高考仅 有287天 31 距2019高考仅 有280天 4 距2019高考仅 有307天 11 距2019高考仅 有300天 18 距2019高考仅 有293天 25 距2019高考仅 ■ ?有286天 5 距2019高考仅 有306天 12 距2019高考仅 有299天 19 距2019高考仅 有292天 26 距2019高考仅 有285天 如果你在赛跑,千万 不要看左右! 1 /11

2019高考日历 每一个成功者都有一个开始,勇于开始,才能找到成功的路 2 / 11

2019 高考日历 ( 2018 每一个成功者都有一个开始,勇于开始,才能找到成功的路 1 距2019高考仅 有249天 2 距2019高考仅 有248天 3 距2019高考仅 有247天 4 距2019高考仅 有246天 5 距2019高考仅 有245天 6 距2019高考仅 有244天 p 7 距2019高考仅 有243天 8 :910 :111213r 14 距2019高考仅距2019高考仅距2019高考仅距2019高考仅距2019高考仅距2019高考仅:距2019高考仅有242天有241天有240天有239天有238天有237天: 有236天15161718192021 距2019高考仅距2019高考仅距2019高考仅距2019高考仅距2019高考仅距2019高考仅距2019高考仅有235天有234天有233天有232天有231天有230天有229天 22 「2324 :252627:28 距2019高考仅距2019高考仅距2019高考仅距2019高考仅距2019高考仅距2019高考仅距2019高考仅有228天有227天有226天有225天有224天有223天有222天29 距2019高考仅 30 距2019高考仅 31 距2019高考仅 不逼自己一把,又怎么知道自己的潜能有有221天有220天有219天多大! 3 / 11

相关主题