当前位置:文档之家› 基于STC12C5A60S2系列单片机万年历时钟

基于STC12C5A60S2系列单片机万年历时钟

/**************************************************/

/*基于STC12C5A60S2系列单片机+595驱动五个数码管+165按键输入

+1302实时时钟+18B20温度传感器的万年历时钟

功能键:0xfe:实现温度,时间,年月日,周的转换显示

0xdf:实现每按一次可以一次更改小时,分,年,月,日,周的闪烁,而

实现加减按键对其改变数值

0xfb:加功能键,在0xdf有效的情况下才能生效

0xfd:减功能键,在0xdf有效的情况下才能生效

数码管亮度有点不一致,还希望高手能帮忙解决,其他功能都是正常的,也可以给各位爱好单片机的新人们一个互相交流的一段小程序,后面付有图片

*/

#include < 12C5A60S2.h > //头文件

#include < intrins.h >

#define uchar unsigned char //宏定义

#define uint unsigned int

uchar time_tuf[]={0x14,0x04,0x10,0x12,0x30,0x00,0x5}; //年月日时分秒周

uchar code weima[]={0x20,0x10,0x08,0x04,0x02,0x01}; //数码管位选

uchar code duan_ma[]={0xee,0x88,0xd6,0xdc,0xb8,0x7c,0x7e,0xc8,0xfe,0xfc}; //数码管段选信号

uchar sec,min,hour,day,month,year,week,num,flag,flag1,flag2,flag3,Flicker,di,x,h;

//时间变量及标志位变量

uint tt,tvalue; //变量

void yueri_work(void); //月日显示程序

void nian_work(void); //年显示程序

void Show_pass(uchar dss); //不显示程序

void zhou_work(void); //周显示程序

void delay_18B20(uint i); //温度延时显示程序

void wendu_work(void); //温度显示程序

void show_work(void); //显示程序

void KEY(void); //按键显示程序

sbit RCLK=P0^2; //595输出存储器锁存时钟线/165装载移位控制锁存信号

sbit SRCLK=P0^0; //595数据输入时钟线

sbit SER=P0^3; //595数据线

sbit SO=P0^4; //165数据输出数据线

sbit CLK=P0^1; //165时钟信号

sbit RST=P0^5; //1302复位引脚,高电平有效

sbit IO=P0^6; //1302数据输入输出引脚

sbit SCL=P0^7; //1302串行时钟输入,控制数据线的输入输出

sbit DQ=P1^0; //18B20数字温度传感器,输入输出口

void Delayms(uint z) //1毫秒1T时钟模式下

{

uint x,y;

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

for(y=848;y>0;y--);

}

/********************595驱动程序*********************/

void wr595(uchar date) //595写入一个字节

{

uchar i;

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

{

SRCLK=1;

SER=date&0x80;

date<<=1;

SRCLK=0;

}

}

void send2baty(uchar date1,uchar date2) //写入双字节程序

{

wr595(date1);

wr595(date2);

}

void out595(void) //595输出锁存程序

{

RCLK=0;

RCLK=1;

}

/****************************************************/

/**************165移位寄存器并转串驱动***************/

uchar series_165()

{

uchar i;

uchar BYTE=1; //最终接收到得字符

RCLK=0; //将165外部端口数据装入内部寄存器

RCLK=1; //抬高为移位准备

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

{

BYTE<<=1; // 1

CLK=1; //时钟低

BYTE=BYTE|SO; //先接收高位

CLK=0; //时钟高,上升沿下一个数据移出

// 5

}

return BYTE; //返回接收字符

}

/****************************************************/

/***************18B20数字传感器驱动程序**************/

void delay_18B20(uint i) //延时1微秒

{

i=i*12; //由于我用的是1T 51单片机如果用普通51请把这句话屏蔽while(i--);

}

void ds1820rst(void) //ds1820初始化

{

uchar x=0;

DQ = 1; //DQ复位

delay_18B20(4); //延时

DQ = 0; //DQ拉低

delay_18B20(100); //精确延时大于480us

DQ = 1; //拉高

delay_18B20(40);

}

uchar ds1820rd(void) //读数据

{

uchar i=0;

uchar dat = 0;

for(i=8;i>0;i--)

{

DQ = 0; //给脉冲信号

dat>>=1;

DQ = 1; //给脉冲信号

if(DQ) //如果DQ==1,执行下面语句

{

dat|=0x80;

}

delay_18B20(10);

}

return(dat);

}

void ds1820wr(uchar wdata) //写数据

{

uchar i=0;

for (i=8; i>0; i--)

{

DQ = 0;

DQ = wdata&0x01;

delay_18B20(10);

DQ = 1;

wdata>>=1;

}

}

read_temp(void) //读取温度值并转换

{

uchar a,b;

ds1820rst();

ds1820wr(0xcc); //跳过读序列号

ds1820wr(0x44); //启动温度转换

ds1820rst();

ds1820wr(0xcc); //跳过读序列号

ds1820wr(0xbe); //读取温度

a=ds1820rd();

b=ds1820rd();

tvalue=b*16+a/16; //转换为十进制数

return tvalue;

}

/****************1302实时时钟驱动程序****************/ void write_baty(uchar dat) //1302写入一个字节

{

uchar i;

SCL=0;

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

{

IO=dat&0x01; //先写入低位

SCL=1;

SCL=0;

dat>>=1;

}

}

void write_addbaty(uchar address,uchar dat) //向1302地址写入一个字节的数据{

RST=0;

SCL=0;

RST=1;

write_baty(address);

write_baty(dat);

SCL=1;

RST=0;

}

uchar read_baty(void) //1302读取一个字节

{

uchar i,temp;

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

{

temp>>=1;

if(IO)

{

temp=temp|0x80;

}

else

{

temp=temp&0x7f;

}

SCL=1;

SCL=0;

}

return temp;

}

uchar read_adddaty(uchar address) //向1302地址读取一个字节的数据

{

uchar temp;

RST=0;

SCL=0;

RST=1;

write_baty(address);

temp=read_baty();

SCL=1;

RST=0;

return temp;

}

void Init_1302time(void) //1302初始化

{

write_addbaty(0x8e,0x00);

write_addbaty(0x80,time_tuf[5]);

write_addbaty(0x82,time_tuf[4]);

write_addbaty(0x84,time_tuf[3]);

write_addbaty(0x86,time_tuf[2]);

write_addbaty(0x88,time_tuf[1]);

write_addbaty(0x8a,time_tuf[6]);

write_addbaty(0x8c,time_tuf[0]);

write_addbaty(0x8e,0x80);

}

void read_1302time(void) //读1302时间

{

sec=read_adddaty(0x81);

min=read_adddaty(0x83);

hour=read_adddaty(0x85);

day=read_adddaty(0x87);

month=read_adddaty(0x89);

week=read_adddaty(0x8b);

year=read_adddaty(0x8d);

}

/****************************************************/

/********************定时器0程序*********************/ void Timer0Init(void) //2毫秒@11.0592MHz 1T时钟模式下{

AUXR |= 0x80; //定时器时钟1T模式

TMOD |= 0x01; //设置定时器模式

TL0 = 0x9A; //设置定时初值

TH0 = 0xA9; //设置定时初值

TR0 = 1; //定时器0开始计时

ET0 = 1; //定时器0中断打开

EA = 1; //总中断打开

}

void timer0() interrupt 1 using 1

{

TL0 = 0x9A; //设置定时初值

TH0 = 0xA9; //设置定时初值

tt++;

if(tt==500)

{

tt=0;

x++;

if(x==10) //20毫秒自动跳会无按键时显示

{

x=0;

di=0;

}

}

if(tt<250)

{

Flicker=0;

}

else

{

Flicker=1;

}

}

/********************时间调整程序********************/

void set(uchar sel,uchar sal)

{

uchar address,time;

uchar max,min;

if(sel==7) {address=0x80; max=59;min=0;} //秒

if(sel==6) {address=0x8a; max=7; min=1;} //星期

if(sel==2) {address=0x82; max=59;min=0;} //分钟

if(sel==1) {address=0x84; max=23;min=0;} //小时

if(sel==5) {address=0x86; max=31;min=1;} //日

if(sel==4) {address=0x88; max=12;min=1;} //月

if(sel==3) {address=0x8c; max=99;min=0;} //年

time=read_adddaty(address+1)/16*10+read_adddaty(address+1)%16; //时间BCD转换if (sal==0) time++; else time--;

if(time>max) time=min;

if(time

write_addbaty(0x8e,0x00);

write_addbaty(address,time/10*16+time%10);

write_addbaty(0x8e,0x80);

}

/**********************显示程序**********************/

void wendu_work(void)

{

send2baty(0x10,0x00);

out595();

Delayms(2);

send2baty(0x08,0x00);

out595();

Delayms(2);

if(tvalue/10==0x00)

{

Show_pass(0x04);

}

else

{

send2baty(0x04,duan_ma[tvalue/10]);

out595();

Delayms(2);

send2baty(0x02,duan_ma[tvalue%10]);

out595();

Delayms(2);

}

send2baty(0x01,0x66);

out595();

Delayms(2);

}

void nian_work(void)

{

send2baty(0x10,duan_ma[2]);

out595();

Delayms(2);

send2baty(0x08,duan_ma[0]);

out595();

Delayms(2);

if((Flicker==1)&&(di==3))

{

Show_pass(0x04);

Show_pass(0x02);

}

else

{

send2baty(0x04,duan_ma[year/16]);

out595();

Delayms(2);

send2baty(0x02,duan_ma[year%16]);

out595();

Delayms(2);

}

send2baty(0x01,0x10);

out595();

Delayms(2);

}

void yueri_work(void)

{

if((Flicker==1)&&(di==4))

{

Show_pass(0x10);

Show_pass(0x08);

}

else

{

send2baty(0x10,duan_ma[month/16]);

out595();

Delayms(2);

send2baty(0x08,duan_ma[month%16]);

out595();

Delayms(2);

}

send2baty(0x04,0x10);

out595();

Delayms(2);

if((Flicker==1)&&(di==5))

{

Show_pass(0x02);

Show_pass(0x01);

}

else

{

send2baty(0x02,duan_ma[day/16]);

out595();

Delayms(2);

send2baty(0x01,duan_ma[day%16]);

out595();

Delayms(2);

}

}

void zhou_work(void)

{

send2baty(0x10,0x10);

out595();

Delayms(2);

send2baty(0x08,0x10);

out595();

Delayms(2);

if((Flicker==1)&&(di==6))

{

Show_pass(0x04);

}

else

{

send2baty(0x04,duan_ma[week%16]);

out595();

Delayms(2);

}

send2baty(0x02,0x10);

out595();

Delayms(2);

send2baty(0x01,0x10);

out595();

Delayms(2);

}

void show_work(void)

{

if((num==0)&&(di==0))

{

wendu_work();

}

if((num==1)&&(di==0)||(di>=1)&&(di<=2)) {

if((Flicker==1)&&(di==1))

{

Show_pass(0x10);

Show_pass(0x08);

}

else

{

send2baty(0x08,duan_ma[hour%16]);

out595();

Delayms(2);

send2baty(0x10,duan_ma[hour/16]);

out595();

Delayms(2);

}

if((Flicker==1)&&(di==2))

{

Show_pass(0x02);

Show_pass(0x01);

}

else

{

send2baty(0x02,duan_ma[min/16]);

out595();

Delayms(2);

send2baty(0x01,duan_ma[min%16]);

out595();

Delayms(2);

}

send2baty(0x04,0x10);

out595();

Delayms(2);

}

if((num==2)&&(di==0)||(di==3))

{

nian_work();

}

if((num==3)&&(di==0)||(di>=4)&&(di<=5))

{

yueri_work();

}

if((num==4)&&(di==0)||(di==6))

{

zhou_work();

}

}

/****************************************************/

/**********************不显示程序********************/ void Show_pass(uchar dss)

{

send2baty(dss,0x00);

out595();

Delayms(1);

}

/********************按键处理程序********************/ void KEY(void)

{

uchar key;

key=series_165();

if(key==0xdf)

{

Delayms(1);

if(key==0xdf)

{

flag1=1;

}

}

else

{

if(flag1==1)

{

flag1=0;

di++;

if(di==7)

{

di=0;

}

}

}

if(di!=0)

{

if(key==0xfb)

{

Delayms(1);

if(key==0xfb)

{

flag2=1;

}

}

else

{

if(flag2==1)

{

flag2=0;

set(di,0);

}

}

if(key==0xfd)

{

Delayms(1);

if(key==0xfd)

{

flag3=1;

}

}

else

{

if(flag3==1)

{

flag3=0;

set(di,1);

}

}

}

else

{

if(key==0xfe)

{

Delayms(1);

if(key==0xfe)

{

flag=1;

}

}

else

{

if(flag==1)

{

flag=0;

num++;

if(num==5)

{

num=0;

}

}

}

}

}

/**********************主程序************************/ void main(void) //主函数

{

Timer0Init();

ds1820rst();

Init_1302time();

while(1)

{

read_1302time();

read_temp();

KEY();

show_work();

}

}

基于单片机的万年历设计

基于单片机的万年历设计 摘要 进入二十一世纪,电子技术无处不在,电子产品给我们生活带来便利的同时也改变着我们的世界。基于单片机技术的电子产品已经遍及社会的每个角落。电子万年历以其体积小,携带方便、实用,美观等优势一直占领着广阔的市场,同时也给人们的生活带来诸多方便。 本设计由硬件设计和软件设计两大部分组成。硬件设计上,以AT89C51单片机为控制核心,通过DS1302与DS18B20通信获得实时时间和实时环境温度,并将得到的数据通过1602液晶显示出来,同时通过相应的按键调整相应的值。硬件部分详细介绍了本设计所应用的各硬件接口技术和各个接口模块的功能。软件设计上,本设计采用C 语言进行软件设计,在硬件的基础上来进行各功能软件模块的编写。同时软件的设计采用模块化结构,使程序设计的逻辑关系更加简单易懂。 由于该设计用液晶为载体来显示,所以具有良好的人机交互界面与友好的操作,可以显示时间、日期、星期、温度并具有闹铃功能。 关键词:AT89C51单片机;万年历;液晶技术;DS1302;DS18B20

Design of Multifunctional digital Perpetual Calendar Based on MCU Abstract Enters for the 21st century, the electronic technology is ubiquitous, the electronic products live for us bring the convenience at the same time also to change our world.Already spread social based on the monolithic integrated circuit technology electronic products each quoin.The electronic ten thousand calendars are small by its volume, the carryhome is convenient, is practical, artistic and so on the superiority are seizing the broad market continuously, simultaneously also gives people's life to bring conveniently many. This design designs major part two by the hardware design and the software is composed.The hardware designs, take AT89C51 monolithic integrated circuit as the control core, obtains the real-time time and the real-time ambient temperature through DS1302 and the DS18B20 correspondence, and will obtain data through 1602 liquid crystal displays, simultaneously through corresponding pressed key adjustment corresponding value.The hardware part introduced in detail this design applies various hardware connection technology and each interface module function.The software designs, this design uses the C language to carry on the software design, carries on various functions software module in the hardware foundation the compilation.Simultaneously the software design uses the modular structure, makes the programming the logical relations to be simpler easy to understand. Because this design demonstrated with the liquid crystal for the carrier, therefore has the good man-machine interaction contact surface and the friendly operation, may demonstrate the time, the date, the week, the temperature and have the noisy bell function. Keywords: AT89C51 monolithic integrated circuit; Ten thousand calendars; Liquid crystal technology; DS1302; DS18B20

基于51单片机的万年历的设计

单片机课程实训SCM PRACTICAL TRAINING

目录 第一部分课程设计任务书 (1) 一、课程设计题目 (1) 二、课程设计时间 (1) 三、实训提交方式 (1) 四、设计要求 (1) 第二部分课程设计报告 (2) 一、单片机发展概况 (2) 二、MCS-51单片机系统简介 (2) 三、设计思想 (3) 四、硬件电路设计 (3) 1. 总体设计 (3) 2. 晶振电路 (4) 3. 复位电路 (4) 4. DS1302时钟电路 (5) 5. 温度采集系统电路 (5) 6. 按键调整电路 (6) 7. 闹钟提示电路 (6) 五、软件设计框图 (7) 六、程序源代码 (8) 1. 主程序 (8) 2. 温度控制程序 (11) 3. 日历设置程序 (13) 4. 时钟控制程序 (18) 5. 显示设置程序 (20) 七、结束语 (23) 八、课程设计小组分工 (23) 九、参考文献 (23)

第一部分课程设计任务书 一、课程设计题目 用中小规模集成芯片设计制作万年历。 二、课程设计时间 五天 三、实训提交方式 提交实训设计报告电子版与纸质版 四、设计要求 (1)显示年、月、日、时、分、秒和星期,并有相应的农历显示。(2)可通过键盘自动调整时间。 (3)具有闹钟功能。 (4)能够显示环境温度,误差小于±1℃ (5)计时精度:月误差小于20秒。

第二部分课程设计报告 一、单片机发展概况 单片机诞生于20世纪70年代末,它的发展史大致可分为三个阶段: 第一阶段(1976-1978):初级单片机微处理阶段。该时期的单片机具有 8 位CPU,并行 I/O 端口、8 位时序同步计数器,寻址范围 4KB,但是没有串行口。 第二阶段(1978-1982):高性能单片机微机处理阶段,该时期的单片机具有I/O 串行端口,有多级中断处理系统,15 位时序同步技术器,RAM、ROM 容量加大,寻址范围可达 64KB。 第三阶段(1982-至今)位单片机微处理改良型及 16 位单片机微处理阶段民用电子产品、计算机系统中的部件控制器、智能仪器仪表、工业测控、网络与通信的职能接口、军工领域、办公自动化、集散控制系统、并行多机处理系统和局域网络系统。 二、MCS-51单片机系统简介 MCS-51系列单片机产品都是以Intel公司最早的典型产品8051为核心构成的。MCS-51单片机由CPU 、RAM 、ROM 、I/O接口、定时器/计数器、中断系统、内部总线等部件组成。8051单片机的基本性能有: ◆8位CPU; ◆布尔代数处理器,具有位寻址能力; ◆128B内部RAM,21个专用寄存器; ◆4KB内部掩膜ROM; ◆2个16位可编程二进制加1定时器/计数器; ◆32个(4×8位)双向可独立寻址的I/O口; ◆1个全双工UART(异步串行通信口); ◆5个中断源,两级中断结构; ◆片内振荡器及时钟电路,晶振频率为1.2MHz~12MHz; ◆外部程序/数据存储器寻址空间均为64KB; ◆111条指令,大部分为单字节指令; ◆单一+5V电源供电,双列直插40引脚DIP封装。

基于单片机的数字电子钟万年历课程设计

汇编语言 课程设计报告书 一.课程设计的题目和内容 用汇编语言编写一个万年历程序系统,该系统要有进入系统的封面,要有验证用户名和密码的功能,能正确显示万年历,在推出系统的时候,要有封底。 二.系统设计及功能要求 1.系统封面设计 内容:题目名称,设计日期,设计者姓名。 要求:具有动感,如题目名称移动;字体具有立体感。可插入一些图画,如学校的校徽图。 2.输入画面设计 内容及要求:①密码及口令:输入,核查及修改功能。②年份:输入及判断功能。如:年份值是否为4位整数,不为4位,提示用户重输。 3.日历计算功能设计 ①求某年某月某日是星期几的子功能。(要求编成子程序) 算法:s=(y-1)+(y-1)/4-(y-1)/100+(y-1)/400+c (其中:y为年份;c为某月某日是这一年的第几天,由②求出;s为总天数。“/”为整除。) n=s%7 (其中:n为星期数;“%”为求余数)

②求某月某日是这一年的第几天的子功能。(要求编成子程序) 二月份是否为平年(28天)或闰年(29天)的算法: y/400=0∨y/4=0∧y/100≠0 (y为年份;“/”整除),则y为以闰年;否则,y为平年。 根据①②可求出一年中的日历。 4.日历输出功能设计。 ①格式及显示设计 显示要求:设置显示滚动区;在该区中每次显示4个月的日历(并列排列)。 ②日历打印设计:将日历按年存入磁盘不同的文件中保存,供打印或 再次显示使用。 1.程序系统总体功能模块调用图及模块功能说明 封面程序的功能是显示欢迎信息,并且显示制 作人的信息的;验证用户名和密码的程序是验证用 户是否是合法的用户的,该程序要有容错的功能; 万年历程序是主程序,该程序的功能是通过用户输 入年和月,来查询日历的,并且该程序还可以判断 输入的年份是平年还是闰年。封底程序是用来显示 用户退出万年历系统的时候,一个感谢用户使用万 年历的界面的。

基于单片机电子万年历的毕业设计说明

单片机课程设计报告 电子万年历设计 姓名:建强 学号: 专业班级: 08电气(2)班指导老师:吴永 所在学院:科技学院 2011年6月30日

摘要 随着科技的快速发展,时间的流逝,至从观太阳、摆钟到现在电子钟,人类不断研究,不断创新纪录。美国DALLAS公司推出的具有涓细电流充电能的低功耗实时时钟电路DS1302。它可以对年、月、日、周日、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒和温度等信息,还具有时间校准等功能。该电路采用AT89S52单片机作为核心,功耗小,能在3V的低压工作,电压可选用3~5V电压供电。 综上所述此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。 本设计是基于51系列的单片机进行的电子万年历设计,可以显示年月日时分秒及周信息,具有可调整日期和时间功能。在设计的同时对单片机的理论基础和外围扩展知识进行了比较全面准备。在硬件与软件设计时,没有良好的基础知识和实践经验会受到很大限制,每项功能实现时需要那种硬件,程序该如何编写,算法如何实现等,没有一定的基础就不可能很好的实现。 具体实现功能: (1)显示年月日时分秒及星期信息 (2)具有可调整日期和时间功能 (3)与即时时间同步

目录 1方案论证 (3) 1.1单片机芯片的选择方案和论证 (3) 1.2显示模块选择方案和论证 (3) 1.3时钟芯片的选择方案和论证 (4) 1.4电路设计最终方案决定 (4) 2系统的硬件设计与实现 (5) 2.1电路设计框图 (5) 2.2系统硬件概述 (5) 2.3主要单元电路的设计 (5) 2.3.1单片机主控制模块的设计 (5) 2.3.2时钟电路模块的设计 (6) 2.3.3电路原理及说明 (7) 2.3.4显示模块的设计 (8) 3系统的软件设计 (9) 3.1程序流程框图 (9) 4测试与结果分析 (11) 4.1硬件测试 (10) 4.2软件测试 (10) 4.3测试结果分析与结论 (10) 4.3.1 测试结果分析 (10) 4.3.2 测试结论 (10) 5prodeus软件仿真........................................ ..........错误!未定义书签。 5.1Proteus ISIS简介 (12) 5.2Proteus运行流程 (13) 5.3Proteus功能仿真 (13) 6课程设计总结与体会.......................................... .....错误!未定义书签。 参考文献...........................................................错误!未定义书签。 附录一:系统电路图.................................................错误!未定义书签。 附录二:系统程序...................................................错误!未定义书签。

基于51单片机电子万年历设计

基于51单片机电子万年历设计 专业:机电设备维修与管理姓名:杜洪浦指导老师: 摘要电子万年历是一种非常广泛日常计时工具,对现代社会越来越流行。它可以对年、月、日、周日、时、分和秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒等信息,还具有时间校准等功能。该电路采用AT89S52单片机作为核心,功耗小,能在3V的低压工作,电压可选用3到5V电压供电。 万年历的设计过程在硬件与软件方面进行同步设计。硬件部分主要由AT89C52单片机,液晶显示电路,复位电路,时钟电路,稳压电路电路以及串口下载电路等组成。在单片机的选择上使用了AT89C52单片机,该单片机适合于许多较为复杂控制应用场合。显示器使用液晶LCD1602。软件方面主要包括日历程序、液晶驱动程序,显示程序等。程序采用汇编语言编写。所有程序编写完成后,在Keil C51软件中进行调试,确定没有问题后,在Proteus软件中嵌入单片机内进行仿真。 关键词时钟电钟,DS1302,液晶LCD1602,单片机 目录 1设计要求与方案论证 (2) 1.1 设计要求 (2) 1.2 系统基本方案选择和论证 (2) 1.2.1单片机芯片的选择方案和论证 (2) 1.2.2 显示模块选择方案和论证 (3) 1.2.3时钟芯片的选择方案和论证: (3) 1.3 电路设计最终方案决定 (3) 2系统的硬件设计与实现 (3) 2.1 电路设计框图 (4) 2.2 系统硬件概述 (4) 2.3 主要单元电路的设计 (4) 2.3.1单片机主控制模块的设计 (4)

电子时钟万年历设计

计算机科学与技术学院硬件课程设计报告

在日常生活中,手表,闹钟是不可或缺的。在实际生活生产活动中,也要考虑时间的因素,如工时的计算,霓虹灯的亮灭。 因为集成电路制造技术的不断提高,出现了高性能、高可靠的集成芯片。电子时钟在工业领域,日常生活中得到了广泛的应用。电子时钟在性能方面具有精度高,实时性好,易于调整等优点。这些使得温度控制系统的研究和开发得到的各方面的广泛关注和支持。 本次课程设计,我利用8254计数芯片,8255芯片,4*4小键盘,12864LCD 液晶显示器,蜂鸣器制作了一个带有闹钟功能的电子时钟万年历。它可以实现由4*4小键盘输入初始时间(包括年月日时分秒星期),利用8254计数,通过程序处理进位,判断闰年,在液晶显示屏上实时显示时间。还可以由小键盘选择不同的闹钟模式,设定闹钟时间。 关键词: 电子时钟; 8255A芯片; 8254芯片; 12864LCD液晶显示器;键盘输入;蜂鸣器;闹钟功能;万年历

1.设计任务与要求...........................................................................6- 1.1实验目的 (6) 1.2具体要求 (6) 2.总体方案与说明...........................................................................6- 2.1使用硬件 (6) 2.1流程设计 (6) 2.1.1系统程序模块 (6) 2.1.1系统流程图 (7) 3.硬件方案 (7) 3.1硬件说明 (7) 3.1.1计数芯片8254 (7) 3.1.2可编程外围接口芯片8255A (8) 3.1.2 128×64字符液晶显示器 (11) 3.2电路原理图与说明 (12) 3.2.1键盘电路 (13) 3.2.2 8254计数电路 (13) 3.2.3 液晶显示电路 (14) 3.3电路连接图 (14) 3.3.1 8254计数芯片 (14) 3.3.2 整体电路 (15) 4.软件方案 (15) 4.1软件主要模块流程图 (15) 4.1.1输入子程序模块流程图 (16) 4.1.2显示子程序模块流程图 (18) 4.1.2闰年子程序模块流程图 (18) 4.1.2蜂鸣器子程序模块流程图 (18) 4.1.2时间进位程序模块流程图 (19) 4.1.2主程序模块流程图 (20) 4.2源程序清单与注释 (21) 5.分析与测试 (38) 6.运行结果 (38) 6.1试验线路图 (39) 6.2实验结果 (39) 6.2.1欢迎界面 (39)

基于AT89C51单片机的电子万年历的设计_课程设计报告

课程设计报告 设计名称:电子万年历设计 专业班级:自动化10101班 完成时间:2013年6月9日 报告成绩:

摘要 本文介绍了基于AT89C51单片机的多功能电子万年历的硬件结构和软硬件设计方法。系统以AT89C51单片机为控制器,以串行时钟日历芯片DS1302记录日历和时间,它可以对年、月、日、时、分、秒进行计时,还具有闰年补偿等多种功能。万年历采用直观的数字显示,可以在LED上同时显示年、月、日、周日、时、分、秒,还具有时间校准等功能。此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,具有广阔的市场前景。 关键字AT89C51;电子万年历; DS1302

1 绪论 1.1 课题研究的背景 随着科技的快速发展,时间的流逝,从观太阳、摆钟到现在电子钟,人类不断研究,不断创新纪录。它可以对年、月、日、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、时、分、秒和温度等信息,还具有时间校准等功能。该电路采用AT89C51单片机作为核心,功耗小,能在3V 的低压工作,电压可选用3~5V电压供电。 此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。 1.2课题的研究目的与意义 二十一世纪是数字化技术高速发展的时代,而单片机在数字化高速发展的时代扮演着极为重要的角色。电子万年历的开发与研究在信息化时代的今天亦是当务之急,因为它应用在学校、机关、企业、部队等单位礼堂、训练场地、教学室、公共场地等场合,可以说遍及人们生活的每一个角落。所以说电子万年历的开发是国家之所需,社会之所需,人民之所需。 由于社会对信息交换不断提高的要求及高新技术的逐步发展,促使电子万年历发展并且投入市场得到广泛应用。 1.3课题解决的主要内容 本课题所研究的电子万年历是单片机控制技术的一个具体应用,主要研究内容包括以下几个方面: (1)选用电子万年历芯片时,应重点考虑功能实在、使用方便、单片存储、低功耗、抗断电的器件。 (2)根据选用的电子万年历芯片设计外围电路和单片机的接口电路。 (3)在硬件设计时,结构要尽量简单实用、易于实现,使系统电路尽量简单。 (4)根据设计的硬件电路,编写控制AT89C51芯片的单片机程序。 (5)通过编程、编译、调试,把程序下载到单片机上运行,并实现本设计的功能。 (6)在硬件电路和软件程序设计时,主要考虑提高人机界面的友好性,方便用户操作等因素。 (7)软件设计时必须要有完善的思路,要做到程序简单,调试方便。

基于51单片机的万年历设计

目录 第一章绪论 (3) 第二章设计要求及设计框图 (4) 2.1 设计要求 (4) 2.2 设计框图 (4) 第三章知识要点 (4) 3.1 LMO16L液晶模块 (4) 3.1.1 LM016L引脚说明 (5) 3.1.2 控制指令 (5) 3.1.3 基于Proteus ISIS 7的液晶模块仿真 (6) 3.2 单片机A T89C51 (8) 3.2.1 主要特性 (8) 3.2.2 管脚说明 (9) 3.2.3 振荡器特性 (11) 3.2.4 芯片擦除 (11) 3.3 时钟芯片DS1302 (11) 3.3.1 DS1302的控制字节 (12) 3.3.2 数据输入输出(I/O) (12) 3.3.3 DS1302的寄存器 (12) 3.4 DS18B20数字温度传感器 (13) 3.4.1技术性能描述 (13) 3.4.2 DS18B20主要的数据部件 (14) 3.4.3 DS18B20温度处理过程 (15) 3.4.4 DS18B20的主要特性 (17) 3.4.5 DS18B20的外形和内部结构 (17) 3.4.6 DS18B20工作原理 (18) 3.4.7 DS18B20的应用电路 (21) 3.4.8 DS18B20使用中注意事项 (23) 第四章硬件设计 (24) 4.1 Proteus软件 (24) 4.1.1 Proteus软件介绍 (24) 4.1.2 功能特点 (24) 4.1.3 革命性的特点 (24) 4.1.4 基本操作 (25) 4.1.5 选择要使用的元件 (25) 4.1.6 功能模块 (26) 4.2 基于89C51的万年历与温度显示器的硬件设计 (28) 4.2.1 设计框图 (29) 4.2.2 电路原理图 (29) 4.3 元件清单 (30) 第五章软件设计 (30)

电子万年历

河北科技师范学院课程设计说明书 题目: 学院(系): 年级专业: 学号: 学生姓名: 指导教师:

摘要 本设计是电子万年历。具备三个功能:能显示:年、月、日、时、分、秒及星期信息,并具有可调整日期和时间功能。 我选用的是单片机8052来实现电子万年历的功能。该电子万年历能够成功实现时钟运行,调整,显示年月日时分秒及星期,温度等信息。 该电子万年历使用12MHZ晶振与单片机8052相连接,通过软件编程的方法实现了以24小时为一个周期,同时显示小时、分钟和秒的要求。利用单片机定时器及计数器产生定时效果通过编程形成数字钟效果,再利用数码管动态扫描显示单片机内部处理的数据。同时通过端口读入当前外部控制状态来改变程序的不同状态,实现不同功能。 电子万年历设计与制作可采用数字电路实现,也可以采用单片机来完成。若用数字电路完成,所设计的电路相当复杂,大概需要十几片数字集成块,其功能也主要依赖于数字电路的各功能模块的组合来实现,焊接的过程比较复杂,成本也非常高。若用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成,这样一来就降低了硬件电路的复杂性,从而使得其成本降低,更适合我们大学生自主研发。所以在该设计与制作中我选用了单片机8052,它是低功耗、高性能的CMOS型8位单片机。片内带有4KB的Flash存储器,且允许在系统内改写或用编程器编程。另外, 单片机8052的指令系统和引脚与8051完全兼容,片内有128B 的RAM、32条I/O口线、2个16位定时计数器、5个中断源、一个全双工串行口等。 因此,采用单片机8052原理制作的电子万年历,不仅仅在原理上能够成功实现计时等功能,也更经济,更适用,更符合我们实际生活的需要,对我们大学生来说也更加有用。

基于单片机的具有温度指示的数字万年历设计

目录 1 绪论 (1) 2 总体设计方案 (2) 2.1设计思路 (2) 2.2设计方案 (2) 2.3方案比较论证 (2) 2.4总体设计方框图 (3) 3 设计原理与分析 (4) 3.1硬件电路主要芯片的功能介绍 (4) 3.1.1单片机主控制器 (4) 3.1.2 温度传感器芯片 (5) 3.1.3 时钟芯片DS1302 (9) 3.1.4 16*2LCD液晶显示1602 (12) 4 硬件电路 (15) 4.1单片机主控制模块的设计 (15) 4.2时钟电路模块的设计 (15) 4.3温度采集模块设计 (16) 4.4功能按钮设计 (16) 4.516*2LCD1602液晶显示电路设计 (17) 4.6总体电路图 (17) 5 系统软件设计 (18) 5.1系统模块的功能分划分 (18) 5.2总体程序流程框图 (18) 5.3时钟调整时间的流程图 (20) 5.4修改键“UP”的功能流程图 (21) 5.5温度转换流程图 (22) 6 系统仿真测试 (23) 6.1KEIL的使用 (23) 6.2P ROTUES软件仿真 (28) 致谢 (31) 参考文献 (32) 附录一总体电路的PCB板图 (33) 附录二设计电路的仿真电路图 (34) 附录二万年历源程序 (35)

1 绪论 随着电子技术的迅速发展,特别是随大规模集成电路出现,给人类生活带来了根本性的改变。由其是单片机技术的应用产品已经走进了千家万户。其中电子万年历就是一个典型的例子。而且在万年历的基础上还可以扩展其它的实用功能,比如温度计。 万年历是采用数字电路实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,但是所有这些,都是以钟表数字化为基础的。因此,研究万年历及扩大其应用,有着非常现实的意义。 市场上有许多电子钟的专用芯片如:LM8363、LM8365等,但它们功能单一,电路连接复杂,不便于调试制作。但是考虑到用单片机配合时钟芯片,可制成功能任意的电子钟,而且可以做到硬件简单、成本低廉。所以本系统采用了以广泛使用的单片机AT89S52技术为核心,配合时钟芯片DS1302。软硬件结合,使硬件部分大为简化,提高了系统稳定性,并采用LCD显示电路、键盘电路,使人机交互简便易行,此外结合音乐闹铃电路、看门狗和供电电路。本方案设计出的数字钟可以显示时间、设置闹铃功能之外。 本文首先描述系统硬件工作原理,并附以系统结构框图加以说明,着重介绍了本系统所应用的各硬件接口技术和各个接口模块的功能及工作过程,其次,详细阐述了程序的各个模块和实现过程。本设计以数字集成电路技术为基础,单片机技术为核心。本文编写的主导思想是软硬件相结合,以硬件为基础,来进行各功能模块的编写。 本设计中我重点研究实现了单片机+时钟芯片这种模式的万年历,从原理上对单片机和时钟芯片有了深一步的认识,这些基本功能完成后,在软件基础上实现时间显示。

基于51单片机的万年历设计

单片机课程设计 题目基于51单片机的万年历设计学生姓名 专业班级 学号 院(系) 指导教师 完成时间

目录 1课程设计的目的 (1) 2课程设计的任务与要求 (1) 2.1设计任务 (1) 2.2设计要求 (1) 3单片机发展概况 (1) 4设计原理与功能说明 (4) 4.1设计思想 (4) 4.2总体电路图 (5) 4.3时钟模块 (5) 4.4液晶显示模块 (6) 4.5按键模块 (7) 5系统测试 (7) 5.1硬件测试 (7) 5.2软件测试 (8) 6总结 (8) 参考文献 (10) 附录一:总体电路原理图 (11)

附录二:主程序 (12) 附录三:元器件清单 (26) 附录四:实物图 (27)

1课程设计的目的 1.通过制作万年历,可以对单片机这门课程更好的认识。 2.理论与实践结合,提高自己的动手能力。 3.学会与合作者更好的交流学习,共同进步和提高。 4.能够增长查阅资料的能力,视野更加开阔。 5.拓展其他学科的联系,全面发展。 6.培养自我发现问题,解决问题的能力。 2课程设计的任务与要求 2.1设计任务 1.可以去学校图书馆或者网上,搜集整理相关的资料,做好前期理论准备,为以后设计电路,看懂电路图做理论支持。 2.构想万年历电路图,并且具有可行性,画出电路图。 3.列举电路所需的电子元件,仔细对比所需的元件的参数,通过去电子元件经销商或者网购购买。 2.2设计要求 1.显示年、月、日、时、分、秒。 2.可通过键盘自动调整时间。 3.计时精度:月误差小于20秒。 3单片机发展概况 单片机诞生于20世纪70年代末,它的发展史大致可分为三个阶段:第一阶段(1976-1978):初级单片机微处理阶段。该时期的单片机具有8 位CPU,并行I/O 端口、8 位时序同步计数器,寻址范围4KB,但是没有串行口。

基于单片机的多功能电子万年历设计开题报告

毕业设计开题报告 1.结合毕业设计课题情况,根据所查阅的文献资料,撰写2000字左右的文献综述: 文献综述 一、本课题研究背景 单片机从20世纪70年代末出现后,以其卓越的性能,得到了广泛的应用,已经深入到各个领域。单片机芯片本身是按工业测控环境要求设计的,分为民用、工业品、军品,其中工业品和军品具有较强的适合恶劣环境的能力[1]。由于单片机本身就是一个计算机系统,因此,只要在单片机的外围适当加一些必要的扩展电路及通道接口,就可有构成各种应用系统,如控制系统、数据采集系统、自动控制系统、自动测试系统、检测监视系统、智能仪表、功能模块等[2]。单片机的应用领域十分广泛,自20世纪80年代以来,单片机的应用已经深入到工业、农业、国防、科研、机关、教育、商业以及家电、生活、娱乐、玩具等各个领域中。单片机应该在检测、控制领域中,具有以下特点:1)小巧灵活、成本化、易于产品化。2)可靠性好,适用范围广[3]。 近年来,电子钟已成为人们日常生活中必不可少的物品,广泛用于个人家庭以及车站、码头、剧院、办公室等公共场所,给人们的生活、学习、工作、娱乐带来了极大的方便。随着技术的发展,人们已不再满足于钟表原先简单的计时功能,希望出现一些新的功能,诸如日历的显示、闹钟的应用等,以带来更大的方便,而所有这些,又都是以数字化的电子时钟为基础的。因此,研究实用电子时钟及其扩展应用,有着非常现实的意义,具有很大的实用价值[4]。 由于数字集成电路技术的发展和采用了先进的石英技术,现代电子钟具有走时准确、性能稳定、制作维修简单等优点,弥补了传统钟表的许多不足之处[5]。我们利用单片机技术设计制作的电子万年历, 可以很方便的由软件编程进行功能的调整和改进,使其在能够准确显示年、月、日、时间、星期的同时,还能具有很多其他的功能[6]。如设定闹钟、语音报时、阴阳历的转换、二十四节气的显示等,有一定的新颖性和实用性,同时体积小、携带方便,使用也更为方便,具有技术更新周期短、成本低、开放灵活等优点,具备一定的市场前景。这里要介绍的就是一款可满足使用者特殊要求,输出方式灵活、计时准确、性能稳定、维护方便的实用电子万年历[7]。

单片机课程设计--基于51单片机的万年历

单片机课程设计报告 万年历的设计

基于51单片机的万年历 摘要: 电子万年历是一种非常广泛日常计时工具,对现代社会越来越流行。它可以对年、月、日、周日、时、分、秒进行计时,使用寿命长,误差小。对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒和温度等信息,还具有时间校准等功能。该电路采用AT89S52单片机作为核心,功耗小,能在3V的低压工作,电压可选用3~5V电压供电。 本设计是基于51系列的单片机进行的电子万年历设计,可以显示年月日时分秒及周信息,具有可调整日期和时间功能。在设计的同时对单片机的理论基础和外围扩展知识进行了比较全面准备。万年历的设计过程在硬件与软件方面进行同步设计。硬件部分主要由AT89C52单片机,LCD显示电路,以及调时按键电路等组成。在单片机的选择上本人使用了AT89C52单片机,该单片机适合于许多较为复杂控制应用场合。显示器使用了1602液晶显示,并且使用蜂鸣器实现了整点报警的功能,温度测试的功能实现使用了DS18B20,并实现了温度过高或过低时的温度报警。 软件方面主要包括日历程序、时间调整程序,显示程序等。程序采用C语言编写。所有程序编写完成后,在KeilC51软件中进行调试,

确定没有问题后,在Proteus软件中嵌入单片机内进行仿真,并最终实现基本要求。 综上所述此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。 一、设计要求 基本要求: 1,8 个数码管上显示,显示时间的格式为(假如当前时间是19:32:20)“19-32-20”; 2,具有日历功能; ③时间可以通过按键调整。 发挥部分: ④具有闹钟功能(可以设定多个)。 二:总体设计 电路设计框图

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

一、项目介绍与设计目的 基于单片机的电子时钟万年历为实现电子万年历的功能,采用单片机STC89C51,辅助以必要的外围电路,用C语言编写程序,并进行模块化设计而成的电子万年历系统.它通过LCD能正确显示年、月、日、周日、时、分、秒等,具有功能稳定,精确度高和可调的特点。 二、设计方案 1.项目环境要求 1.1时钟芯片选择 方案一:不使用芯片,采用单片机的定时计数器 这种方法原理是利用单片机芯片的定时器来产生固定的时间,模拟时钟的时, 分,秒。如:利用AT80C52芯片,定时器用工作方式1,每50ms产生一个中断,循环20次,即1s周期。每一个周期加1,那么1min为60个周期,1h就是60*60=3600个周期,一天就是3600*24=86400个周期。 此方法优点是可以省去一些外围的芯片,但这种方法只能适用于一些要求不是十分精确,不做长期保留的场合。 方案二:并行接口时钟芯片 DS12887 特点:采用单片机应用系统并行总线(三总线)扩展的接口电路,采用这种接口电路具有操作速度快,编程方便的优点。 但是对于80C52单片机来说,低位地址线要通过锁存器输出,还要地址译码器,而且并行口芯片的体积相对较大。 方案三:串行接口时钟芯片DS1302 芯片主特性: (1)实时时钟具有能计算2100 年之前的秒分时日日期星期月年的能力,还有闰年调整的能力

(2)31 8 位暂存数据存储RAM (3)串行 I/O 口方式使得管脚数量最少 (4)宽范围工作电压2.0 5.5V (5)工作电流 2.0V 时,小于300nA (6)读/写时钟或RAM 数据时有两种传送方式单字节传送和多字节传送字符组方式 (7)8 脚DIP 封装或可选的8 脚SOIC 封装根据表面装配 (8)简单 3 线接口 (9)与 TTL 兼容Vcc=5V (10)可选工业级温度范围-40~+85 优点:串行接口的日历时钟芯片,使用简单,接口容易,与微型计算机连线较少等特点,在单片机系统尤其是手持式信息设备中己得到了广泛的应用。 所以,最终选择串行时钟芯片DS1302,DS1302的管脚图如图2所示。 图2 DS1302管脚图 1.2显示模块选择 方案一:LED数码管显示 数码管显示比较常用的是采用CD4511和74LS138实现数码转换,数码显示分动态显示和静态显示,静态显示具有锁存功能,可以使数据显示得很清楚,但浪费了一些资源。目前单片机数码管普通采用动态显示。编程简单,但只能显示

基于单片机的电子万年历设计

(1)封面 (2)开题报告 (3)中文摘要及关键词 (4)英(外)文摘要及关键词 (5)正文 (6)(附录) (7)参考文献 (8)致谢 摘要 单片机应用技术飞速发展,纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单片机。单片机是集CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。而51系列单片机是各单片机中最为典型和最有代表性的一种。这次毕业设计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。 本文通过对一个基于单片机的能实现万年历功能电子时钟的设计,从而达到学习、了解单片机相关指令在各方面的应用。系统由主控制器AT89C51、时钟电路DS1302、显示电路、按键电路、和复位电路等部分构成,能实现时钟日历显示的功能,能进行时、分、秒的显示。

关键词: 单片机, 农历查询, 万年历 Abstract SCM application technology develop rapidly, looking around us now in all spheres of life, from missiles, navigation equipment, to the various instruments on the aircraft control from a computer network communications and data transmission, industrial automation to real-time process control and data processing, and our lives extensive use of the smart card, electronic pets, which is inseparable from the microcontroller. Monolithic single-chip is the set of CPU, RAM, ROM, the timing, number and variety of interface integrated microcontrollers. Its small size, low cost, high performance, which are widely used in smart industries, and industrial automation. And 51 Series SCM is the most typical and the most representative one. The graduation design Through the study, and thereby achieve the study, design, development hardware and software capabilities. Based on a microcontroller based on the will to achieve calendar of a multi-functional electronic clock design,Thereby achieve studying and understanding the relevant directives SCM in all aspects of the application. By main control AT89C51、clock circuit DS1302、display circuit、keystroke circuit and restore circuit componented, to achieve clock calendar display function can be carried out, hours

基于单片机的万年历设计毕业设计

目录 摘要...................................................................... I Abstract ................................................................. II 第1章绪论.. (1) 1.1 课题背景和意义 (1) 1.2 课题的主要内容 (2) 第2章系统总体方案设计 (3) 2.1 单片机的选择 (3) 2.2 显示模块的方案选择 (3) 2.3 时钟芯片的选择方案 (3) 2.4 键盘的选择 (4) 2.5 最终方案的选择 (4) 第3章万年历系统硬件设计 (6) 3.1 电路设计框图 (6) 3.2 各模块硬件电路设计 (6) 3.2.1 晶振电路模块的设计 (6) 3.2.2 复位电路模块的设计 (7) 3.2.3 单片机的控制模块 (7) 3.2.4 DS1302时钟电路 (11) 3.2.5 LCD12864液晶显示电路 (13) 3.2.6 键盘模块设计 (15) 第4章万年历系统软件设计 (17) 4.1 主程序模块 (17) 4.2 LCD12864显示程序 (18) 4.3 DS1302时钟程序 (19) 4.4 农历转换程序 (20) 4.5 星期自动刷新程序 (21) 4.6 时间调整程序 (22) 第5章系统调试 (24)

5.1 硬件调试 (24) 5.2 软件测试 (24) 5.3 总体调试 (25) 结论 (26) 参考文献 (27) 致谢 (28) 附录1 设计任务书 (29) 附录2 开题报告 (31) 附录3 外文翻译 (36) 附录4 程序清单 (55)

基于单片机的数字万年历设计

论文题目: 基于单片机的数字万年历设计 完成日期: 指导教师签字: 答辩小组成员签字:

潍坊科技学院毕业论文摘要 摘要 现代工业革命代表性特征就是计算机产品出现和应用,而随着计算机技术的不断深入创新和发展,基于计算机核心技术思维模式的电子类产品,已经逐步作为人类社会生活的密不可分的重要组成部分,较为典型代表就是:有效记录时间电子类产品。本次毕业设计选题定为:基于单片机的数字万年历设计,选择AT89S52作为数字万年历的核心控制处理器,系统以串行DS1302芯片记录日历时间,AT89S52作为数字万年历的核心控制处理器,可以进行闰年补偿并且可以进行精确的计,本文所设计数字万年历的,能够满足用户对于温度的检测功能,芯片上选择具有应用广泛和功能强大的芯片,同时选择具有较强抗干扰能力的液晶显示板,作为数字万年历的用户交互界面。这种万年历具有数据读取十分方便、功能丰富、电路看起来十分的简单明了并且制作成本并不是太高等各方面的优点。因此,会有十分良好的市场前景。它可通过设计一个基于单片机的数字万年历的设计,有效解决了现在现有的产品中存在的问题,因此在推向市场的时候会具有很好的应用价值。 关键词:单片机;万年历;AT89S52;DS1302;DS18B20; I

潍坊科技学院毕业论文摘要 ABSTRACT Modern Industrial Revolution represents the characteristic is the computer products and applications, and along with the computer technology the deepening of innovation and development, based on computer the thinking patterns of the core technology of electronic products has gradually as inseparable and important component of human social life, the typical representative is: effective recording time electronics products. The graduation design topic is: Design of digital calendar based on MCU, using AT89S52 as the core of digital calendar control processor system with serial chip DS1302 calendar to record time AT89S52 as the core of digital calendar control processor can leap year compensation and accurate. In this paper, the design digital calendar, can meet the user for temperature detection function, chip selection is widely used and powerful chip, and a liquid crystal display panel having strong anti-interference ability, as the interface of the digital calendar. This calendar with data read is very convenient, feature rich, the circuit looks very simple and the manufacturing cost is not too high and the advantages. Therefore, there will be a very good market prospects. It can be through the design of a design based on single chip digital calendar, an effective solution to the problems existing in the existing product. Therefore, in pushing the market has a good application value. Key Words:SCM;calendar;DS1302;DS18B20; II

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