1 / 15
文档名称:

定时闹钟设计.docx

格式:docx   大小:81KB   页数:15页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

定时闹钟设计.docx

上传人:s0012230 2018/6/15 文件大小:81 KB

下载得到文件列表

定时闹钟设计.docx

文档介绍

文档介绍:电子闹钟的控制系统设计
基于atmega16单片
一、设计目的
此次设计的目的是培养同学们系统地运用已学的理论知识解决实际问题的能力和查阅资料的能力,以及一定的自学能力和独立分析问题、解决问题的能力,能通过独立思考、查阅工具书、参考文献,寻找解决方案;通过完成所选题目的分析与设计,达到技术性能要求。
二、设计要求
1、能显示时时-分分-秒秒。
2、能够设定定时时间、修改定时时间。
3、定时时间到能发出报警声或者启动继电器,从而控制电器的启停。
三、设计的总体结构
整体设计思路
利用Mega16单片机内部时钟作为时间基准,通过软件编程控制可编程器件Mega16单片机,实现秒,分,时,日,月,年的控制,最终通过LCD液晶显示屏显示结果。此外还可以实现时间调整,定时多种实用功能,整个设计分硬件和软件俩大部分。硬件部分采用Mega16单片机作为可编程芯片,1602字符液晶作为信号显示;软件部分利用C语言作为设计语言,对Mega16进行编程实现各种功能

各部分电路设计
主电路主要就是芯片的运行,加载程序后,在外部时钟的作用下,将按照程序运行,从而可以实现设计的要求,进行时钟时间和定时时间的调整,并且能够在到达定时时间后控制蜂鸣器发出声响。利用仿真仿真软件画出的电路图
1, 显示电路
显示电路即可以让我们看到时间的调整和定时时间的调整,显示调整后的时间。
2仿真电路的总体原理框图

软件的设计思路框图
四,C语言程序设计

#include
#define uchar unsigned char
#define uint unsigned int
sbit spk=P1^7;
sbit led=P1^5;
sbit DQ=P1^0;
sbit RS=P2^4;
sbit RW=P2^5;
sbit EN=P2^6;
sbit key1=P2^0;
sbit key2=P2^1;
sbit key3=P2^2;
sbit key4=P2^3;
sbit IO=P3^6;
sbit RST=P3^7;
sbit SCLK=P3^5;
uchar code table[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39};
int nian,xing,yue,ri,shi,fen,miao;
uchar num,temp,c,d,time[7],a,b,aa,bb,ns,ng,ys,yg,rs,rg,ss,sg,fs,fg,ms,mg,flag;
/*******************1602************************/
void delay(int z)
{
int x,y;
for(x=z;x>0;x--)
for(y=100;y>0;y--);
}
void () //写命令
{
RS=0;
;
delay(5);
EN=1;
delay(5);
EN=0;
}
void write_data(uchar date) //写数据
{
RS=1;
P0=date;
delay(5);
EN=1;
delay(5);
EN=0;
}
void init() //初始化
{
RW=0;
EN=0;
(0x38); //显示模式设置
(0x0c); //开显示不显示光标不闪
(0x06); //写一个字符地址指针光标加一整屏不移动
(0x01); //显示清零
(0x80+0x04);
write_data('2');
(0x80+0x05);
write_data('0');
(0x80+0x00);
write_data('c');
(0x80+0x01);
write_data('a');
(0x80+0x02);
write_data('i');
(0x80+0x4e);
write_data(0xdf);
(0x80+0x4f);
write_data('C');
(0x80+0x4b);
write_data(0x2e); //显示"。"
}

/**************DS18B20****************/
void delay1(unsigned int t) //延时函数
{
while(t--);
}
void init1() //初始化
{
uchar n=0;
DQ=1; //DQ复位