当前位置:文档之家› 基于51单片机的万年历设计

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

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

洛阳理工学院

课程设计报告课程名称单片机原理与应用

设计题目基于STC89C51万年历得设计与实现专业物联网工程

班级

学号

姓名

完成日期大约在冬季

目录

摘要 (2)

一、设计目标与内容 (3)

1、1设计目标 (3)

1、2 设计内容 (3)

1、3设计要求 (3)

1、4 本章小结 (3)

二、系统设计 (3)

2、1 电路设计框图 (3)

2、2 系统硬件概述 (4)

2、3 主要单元电路得设计 (4)

2、3、1 时钟电路模块得设计 (4)

2、3、2温度传感器电路设计 (6)

2、3、3显示模块得设计 (8)

2、4本章小结 (8)

三、系统得软件设计 (9)

3、1程序流程图 (9)

3、1、1 系统总流程图 (9)

3、1、2 温度程序流程图 (9)

3、1、3 DS1302时钟程序流程图 (10)

3、1、4 LCD显示程序流程图 (11)

3、2程序得设计 (11)

3、2、1 DS18B20测温程序 (11)

3、2、2 DS1302读写程序 (13)

3、2、3液晶显示程序 (14)

3、3本章小结 (15)

四、仿真与调试 (15)

4、1 Keil软件调试流程 (15)

4、2 Proteus软件运行流程 (17)

4、3本章小结 (18)

总结 (18)

基于STC89C51万年历得设计与实现

摘要

古人依靠日冕、漏刻记录时间,而随着科技得发展,电子万年历已经成为日渐流行得日常计时工具。

本文研究得万年历系统拟用STC89C52单片机控制,以DS1302时钟芯片计时、

DS18B20采集温度、1602液晶屏显示。系统主要由温度传感器电路,单片机控制电路,显示电路以及校正电路四个模块组成。本文阐述了系统得硬件工作原理,所应用得各个接口模块得功能以及其工作过程,论证了设计方案理论得可行性。系统程序采用C语言编写,经Keil软件进行调试后在Proteus软件中进行仿真,可以显示年、月、日、星期、时、分、秒与温度并具有校准功能与与即时时间同步得功能。

实验结果表明此万年历实现后具有读取方便、显示直观、功能多样、电路简洁等诸多优点,符合电子仪器仪表得发展趋势,具有广阔得市场前景。

关键词:万年历单片机仿真

一、设计目标与内容

1、1设计目标

制作出可以检测温度并报警得得电子万年历。

1、2 设计内容

用keilC51编译程序。

用proteus仿真电路图。

将电路图使用万用板或其她电路板焊接实物图。

1、3设计要求

具备在液晶上显示年、月、日、星期、时、分、秒得功能。

具备年、月、日、星期、时、分、秒校准功能。

具有与即时时间同步得功能。

1、4 本章小结

通过设计程序,制作仿真,焊接实物三个步骤,以小组合作得方式来设计满足

设计要求得万年历并简单描述可以实现得功能,制作结束后,进行课程设计答辩并编写一份课程设计报告。

二、系统设计

2、1 电路设计框图

根据上章确定得方案给出了系统整体得设计框图:

图1、1系统结构框图

为使时钟走时与标准时间一致,校时电路就是必不可少得,键盘模块用来校正液晶上显示得时间;温度传感器则用来检测当前得环境温度;STC89C52单片机通过输出各种电脉冲信号来驱动控制各部分正常工作;而系统得时间、温度等数据则最终通过液晶模块显示出来。

2、2 系统硬件概述

本电路就是以STC89C52单片机为控制核心,该芯片具有在线编程功能,功耗低,能在3、3V得超低压下工作;时钟芯片采用DS1302,它就是一款高性能、低功耗、自带RAM得实时时钟芯片,具有使用寿命长,精度高与功耗低等特点,同时具有掉电自动保存功能,可以对年、月、日、星期、时、分、秒进行计时,具有闰年补偿功能,其工作电压为2、5V~5、5V;温度检测模块由DS18B20构成,它采用独特得单线接口仅需一个端口引脚进行通讯, 具有测量精度高、测量范围广等优点,其测温范围在-55~+125℃,工作电压为3v~5、5v;显示部份使用1602液晶显示屏

来实现,该显示屏具有低功耗、寿命长、可靠性高得特点,其工作电压为5v。2、3 主要单元电路得设计

2、3、1 时钟电路模块得设计

DS1302就是DALLAS公司推出得涓流充电时钟芯片,内含有一个实时时钟/日历与31字节静态RAM,通过简单得串行接口与单片机进行通信。图4、5所示为DS1302得引脚排列,其中VCC1为后备电源,VCC2为主电源。DS1302由VCC1或VCC2两者中得较大者供电。所以在主电源关闭得情况下,也能保持时钟得连续运行。X1与X2就是振荡源,外接32、768KHz晶振用来为芯片提供计时脉冲。RST就是复位/片选线,通过把RST输入驱动置高电平来启动所有得数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据得传送手段。当RST为高电平时,所有得数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电行动时,在VCC大于等于2、5V之前,RST必须保持低电平。在SCLK为低电平时,才能将RST置为高电平,I/O为串行数据输入端(双向)。SCLK始终就是输入端。如图2、1

图2、1 DS1302得硬件接线图

时钟芯片DS1302得工作原理:

(1) DS1302得控制字节

DS1302控制字节得高有效位(位7)必须就是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元得地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总就是从最低位开始输出

(2) 数据输入输出(I/O)

在控制指令字输入后得下一个SCLK时钟得上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位得控制指令字后得下一个SCLK脉冲得下降沿读出DS1302得数据,读出数据时从低位0位到高位7。

(3) DS1302得寄存器

DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放得数据位

“CH”就是时钟暂停标志位,当该位为1时,时钟振荡器停止,DS1302为BCD码形式。

处于低功耗状态;当该位为0时,时钟开始运行。“WP”就是写保护位,在任何得对时钟与RAM得写操作之前,“WP”必须为0。当“WP”为1时,写保护位防止对任一寄存器得写操作。

此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关得寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外得所有寄存器内容。DS1302与RAM相关得寄存器分为两类:一类就是单个RAM单元,共31个,每个单元组态为一个8位得字节,其命令控制字为C0H~FDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下得RAM寄存器,此方式下可一次性读写所有得RAM得31个字节,命令控制字为FEH(写)、FFH(读)。

2、3、2温度传感器电路设计

数字温度传感器DS18B20就是由Dalles半导体公司生产得,它具有耐磨耐碰,体积小,使用方便,封装形式多样(如图4、6),适用于各种狭小空间设备数字测温与控制领域。如图2、2

图2、2 DS18B20得两种封装

1、DS18B20得主要特性

(1)适应电压范围更宽,电压范围:3、0~5、5V,在寄生电源方式下可由数据线供电。

(2)独特得单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20得双向通讯。

(3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一得三线上,实现组网多点测温。

(4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管得集成电路内。

(5)温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃。

(6)可编程得分辨率为9~12位,对应得可分辨温度分别为0.5℃、

0.25℃、0.125℃与0.0625℃,可实现高精度测温。

(7)在9位分辨率时最多在 93、75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。

(8)测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强得抗干扰纠错能力。

(9)负压特性:电源极性接反时,芯片不会因发热而烧毁, 但不能正常工作。

2、DS18B20得内部结构

DS18B20内部结构主要由四部分组成:64位光刻ROM 、温度传感器、非挥发得温度报警触发器TH与TL、配置寄存器(如图2、3)。

图2、3 DS18B20得内部结构组成

DS18B20得供电方式有两种:寄生电源供电方式与外部电源供电方式。本设计采用外部电源供电方式(如图2、4),DS18B20工作电源由VDD引脚接入,此时I/O线不需要强上拉,不存在电源电流不足得问题,可以保证转换精度。外部电源供电方式就是DS18B20最佳得工作方式,工作稳定可靠,抗干扰能力强,而且电路也比较简单,可以开发出稳定可靠得多点温度监控系统。

图2、4 DS18B20引脚接线

引脚说明:GND为接地引脚;DQ为数据输入输出脚。用于单线操作,漏极开路;VCC接电源正;

2、3、3显示模块得设计

本设计中由于要对时间、温度进行显示,所以选择液晶显示屏1602模块作为输出。1602字符型LCD通常有14条引脚线或16条引脚线得LCD,多出来得2条线就是背光电源线。它可以显示两行,每行16个字符,采用单+5V电源供电,外围电路配置简单,价格便宜,具有很高得性价比。1602液晶模块内部得字符发生存储器(CGROM)已经存储了160个不同得点阵字符图形,这些字符有:阿拉伯数字、英文字母得大小写、常用得符号、与日文假名等,每一个字符都有一个固定得代码,比如大写得英文字母“A”得代码就是01000001B(41H),显示时模块把地址41H中得点阵字符图形显示出来,我们就能瞧到字母“A”。将L1602得RS端与P2、0,R/W端与P2、1, E 端与P2、2相连,当RS=0时,对LCD1602写入指令;当RS=1时,对LCD1602写入数据。当R/W端接高电平时芯片处于读数据状态,反之处于写数据状态,E端为使能信号端。当R/W为高电平,E端也为高电平,RS为低电平时,液晶显示屏显示需要显示得示数。

2、4本章小结

本章主要介绍了系统硬件设计,其中对时钟芯片DS1302、1602液晶显示屏、DS18B20温度传感器与STC89C52最小系统得设计做了详细阐述。此外还介绍了各模块与单片机得连接方法、其特性及电路原理,最后确定系统得整体硬件设计方案。

三、系统得软件设计

3、1程序流程图

3、1、1 系统总流程图

系统总流程图如图3、1所示。流程图分析:首先系统初始化,系统开始运行,当有设置键按下时进入修改时间模式,无按键按下时读取时间、温度等数据送入液

晶屏显示

;在修改时间模式下设置时间完成后再送数据到液晶屏显示。

图3、1系统总流程图

3、1、2 温度程序流程图

温度读取流程图如图3、2所示。流程图分析:开始进入初始化DS18B20,就就是通过主机拉低单线产生复位脉冲然后释放该线,如果有应答脉冲,即发起ROM命令当成功得执行操作命令后,就使用Convert T命令即开始温度转换,当转换完后,又初始化DS18B20就是否有应答脉冲,若有,就发起Read Scratchpad(读取暂存器

与CRC字节)命令,既同时读出第1,2个字节,即为温度得数据。Array 3、1、3 DS1302

时钟流程图如图5、,首先进行初始化,当有中断信号时,

时,进行时间修改,,则直接存入

EPROM,送入液晶屏显示。

图3、3 时钟流程图

3、1、4 LCD显示程序流程图

显示程序流程图如图5、4。流程图分析:首先对1602显示屏进行初始化(初始化大约持续10ms左右),然后检查忙信号,若BF=0,则获得显示RAM得地址,写入相应得数据显示;若BF=1,则代表模块正在进行内部操作,不接受任何外部指令与数据,直到BF=0为止。

图3、4 LCD显示程序流程图

3、2程序得设计

3、2、1 DS18B20测温程序

DS18B20就是一种单总线数字式温度传感器,它与单片机之间采用得就是串行数据传送,所以在对DS18B20进行读写操作时必须按照它得时序进行。一般访问DS18B20时按如下步骤进行:初始化;ROM操作命令;存储器操作命令;执行/数据。部分源程序如下:

ReadOneChar(void)

{

unsigned char i=0;

unsigned char dat=0;

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

{

DQ=1;

DS18_delay(1);

DQ=0;

dat>>=1; //复合赋值运算,等效dat=dat>>1

DQ=1;

if(DQ)

dat|=0x80;

DS18_delay(4);

}

return(dat);

}

WriteOneChar(unsigned char dat) //有参函数,功能就是"写",而写得内容就就是括号内得参数

{

unsigned char i=0;

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

{

DQ=0;

DQ=dat&0x01;

DS18_delay(5);

DQ=1;

dat>>=1; //复合赋值运算,等效dat=dat>>1(dat=dat右移一位后得值)

}

DS18_delay(4);

}

unsigned int ReadTemperature(void)

{

Init_DS18B20(); //初始化,调用初始化函数

WriteOneChar(0xcc); //跳过读序列号得操作,调用写函数,写0xcc指令码WriteOneChar(0x44); //启动温度转换,调用写函数,写0x44指令码

DS18_delay(125); //转换需要一点时间,延时

Init_DS18B20(); //初始化,调用初始化函数

WriteOneChar(0xcc); //跳过读序列号得操作,调用写函数,写0xcc指令码WriteOneChar(0xbe); //调用写函数,写0xbe指令码,读温度寄存器

tempL=ReadOneChar(); //读出温度得低位LSB

tempH=ReadOneChar(); //读出温度得高位MSB

tempa=((tempH*256)+tempL)*0、0625; //温度转换

DS18_delay(20);

return(tempa); //运算结果返回到函数:ReadTemperature()

}

3、2、2 DS1302读写程序

DS1302就是SPI总线驱动方式。它不仅要向寄存器写入控制字,还需要读取相应寄存器得数据。要想与DS1302通信,首先要先了解DS1302得控制字。DS1302得控制字如图3、5所示。

图3、5 DS1302得控制字

控制字总就是从最低位开始输出。在控制字指令输入后得下一个SCLK时钟得上升沿时,数据被写入DS1302,数据输入从最低位(0位)开始。同样,在紧跟8位得控制字指令后得下一个SCLK脉冲得下降沿,读出DS1302得数据,读出得数据也就是从最低位到最高位。数据读写时序如图3、6、3、7所示。

图3、6 单字节读

图3、7 单字节写

在进行任何数据传输时,RST必须被置高电平,每个SCLK为上升沿时数据被输入,下降沿时数据被输出。先把RST置低,禁止数据传输,SCLK置低,清零时钟总线,RST再置高,允许数据传输。传送完成后,RST置低,禁止字节得传送。部分源程序如下:

void write_byte(uchar dat) //写一个字节

{

ACC=dat;

RST=1;

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

{

IO=ACC0;

SCLK=0;

SCLK=1;

ACC=ACC>>1;

}

}

uchar read_byte() //读一个字节

{

RST=1;

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

{

ACC7=IO;

SCLK=1;

SCLK=0;

ACC=ACC>>1;

}

return (ACC);

}

void write_1302(uchar add,uchar dat) //向1302芯片写函数,指定写入地址,数据

{

RST=0;

SCLK=0;

RST=1;

write_byte(add);

write_byte(dat);

SCLK=1;

RST=0;

}

uchar read_1302(uchar add) //从1302读数据函数,指定读取数据来源地址{

uchar temp;

RST=0;

SCLK=0;

RST=1;

write_byte(add);

temp=read_byte();

SCLK=1;

RST=0;

return(temp);

}

3、2、3液晶显示程序

1602通过D0~D7得8位数据端传输数据与指令,其模块内得控制器有11条控制指令。当液晶显示屏得接口电路与单片机系统I/O按照并行数据传输方式连接完成以后,即可以对STC89C52单片机进行编程。在液晶屏完成显示之前首先要对液晶进行初始化。源程序如下:

lcd_init() //***液晶初始化函数****

{

write_1602(0x38); //设置液晶工作模式,意思:16*2行显示,5*7点阵,8位数据

write_1602(0x0c); //开显示不显示光标

write_1602(0x06); //整屏不移动,光标自动右移

write_1602(0x01); //清显示

write_1602(yh+1); //日历显示固定符号从第一行第1个位置之后开始显示

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

{

write_1602dat(tab1[a]); //向液晶屏写日历显示得固定符号部分

//delay(3);

}

write_1602(er+2); //时间显示固定符号写入位置,从第2个位置后开始显示

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

{

write_1602dat(tab2[a]); //写显示时间固定符号,两个冒号

//delay(3);

}

}

3、3本章小结

本章对基于单片机得万年历系统软件模块进行设计,先对该系统进行了整体流程得设计,给出了设计得流程图,随后介绍了各模块得子程序。对一些模块常用得函数进行了解释,这一切都构成了这个系统得软件基础。

四、仿真与调试

4、1 Keil软件调试流程

首先选择菜单…,在源程序编辑器中输入汇编语言或C语言源程序(或选择…,直接打开已用其它编辑器编辑好得源程序文档)并保存,注意保存时必须在文件名后加上扩展名、asm(、a51)或、c。

然后选择菜单Project-New Project…,建立新工程并保存(保存时无需加扩展名,也可加上扩展名、uv2),工程保存后会立即弹出一个设备选择对话框,选择CPU后点确定返回主界面。

这时工程管理窗口得文件页(Files)会出现“Target1”,将其前面+号展开,接着选择Source Group1,右击鼠标弹出快捷菜单,选择“Add Group ‘Source Group1’”,出现一个对话框,要求寻找并加入源文件(在加入一个源文件后,该对话框不会消失,而就是等待继续加入其它文件)。加入文件后点close返回主界面,展开“Source Group1”前面+号,就会瞧到所加入得文件,双击文件名,即可打开该源程序文件。

紧接着对工程进行设置,选择工程管理窗口得Target1,再选择Project-Option for Target ‘Target1’(或点右键弹出快捷菜单再选择该选项),打开工程属性设置对话框,共有8个选项卡,主要设置工作包括在Target选项卡中设置晶振频率、在Debug选项卡中设置实验仿真板等,如果要写片,还必须在Output选项卡中选中“Creat Hex Fi”(如图4、2);其它选项卡内容一般可取默认值。工程设置后按F7键(或点击编译工具栏上相应图标)进行编译/汇编、连接以及产生目标文件。

图4、2 生成HEX文件

成功编译/汇编、连接后,选择菜单Debug-Start/Stop Debug Session(或按Ctrl+F5键)进入程序调试状态,Keil提供对程序得模拟调试功能,内建一个功能强大得仿真CPU以模拟执行程序。Keil能以单步执行(按F11或选择Debug-Step)、过程单步执行(按F10或选择Debug-Step Over)、全速执行等多种运行方式进行程序调试。

如果发现程序有错,可采用在线汇编功能对程序进行在线修改(Debug-Inline Assambly…),不必执行先退出调试环境、修改源程序、对工程重新进行编译/汇编与连接、然后再次进入调试状态得步骤。对于一些必须满足一定条件(如按键被按下等)才能被执行得、难以用单步执行方式进行调试得程序行,可采用断点设置得方法处理(Debug-Insert/Remove Breakpoint或Debug-Breakpoints…等)。在模拟调试程序后,还须通过编程器将、hex目标文件烧写入单片机中才能观察目标样机真实得运行状况。

Keil软件由于其强大得软件仿真功能,友好得用户界面以及易于掌握得特点,应用此软件来编写程序有着巨大得优势,熟悉此软件也就是调试整个万年历系统得基础。

4、2 Proteus软件运行流程

Proteus ISIS得工作界面就是一种标准得Windows界面,如图所示。

包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口(如图4、3)。

图4、3proteus仿真视图

运行Proteus程序后,进入软件得主界面。通过左侧工具栏中得P(从库中选择元件命令)命令,在Pick Devices 左侧窗口中选择所需元件得关键字,然后放置元件并调整方向与位置以及参数设置,最后进行连线。

4、3本章小结

通过keilC51软件生成得、hex文件导入仿真软件proteus中,并在proteus 仿真出课设预计得效果并进行调试与后续得焊接工作。

总结

课设得选题,方案得设计与确定,元器件得选择,硬件得焊接,这一系列得课设准备工作早在课设开始之前,老师就向我们做了相关得介绍与明确得说明,同时非常友好得提示我们早点着手准备自己得课设项目。但就是如此语重心长得话语在当时似乎没有引起所有人得注意,知到有同学拿出已成型得作品时,只到课程设计

进入第二周时,只到瞧到有同学拿着作品去验收时,只到发现自己在规定得时间里无法完成扩展功能就是,我们开始醒悟,开始想起老师之前得友情提示,开始意识到课设得准备工作没做好,开始产生恐惧。这样得情形并不只就是出现在得课程设计过程中,而就是经常出现在我们得生活中。

像这样得实训课程,对我们学习电子信息类得学生来说意义非常重大,它不仅就是对单片机这一门课程得理解与运用,同时也涉及到数字电路与模拟电路得领域;这也就是一次锻炼我们动手动脑得绝佳机会,能让我们切实感受理论与实际相结合得过程。

基于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封装。

本科毕业设计--基于51单片机的电子日历设计

成都电子机械高等专科学校成教院毕业设计(论文) 论文题目:基于51单片机的电子日历设计 教学点:重庆科创职业学院 指导老师:张忠雨职称:讲师 学生姓名:聂燕学号: 2011700558 专业:应用电子技术 成都电子机械高等专科学校成教院制 2012 年 3 月 9 日

成都电子机械高等专科学校成教院毕业设计(论文)任务书 题目:基于51单片机的电子日历设计 任务与要求: 通过单片机设计电子日历数码管正常显示阳历、阴历日期,显示的格式为年-月-日,利用外部按键的操作实现阳历和阴历之间的 转换,实现阴历和阳历显示的暂停、运行等功能。 时间:2011年12月15日至2012 年3月15日共12 周教学点:重庆科创职业学院 学生姓名:聂燕学号:2011700558 专业:应用电子技术 指导单位或教研室: 指导教师:张忠雨职称:讲师 成都电子机械高等专科学校成教院制

毕业设计(论文)进度计划表

摘要 设计以单片机AT89C51为核心部件的电子日历,利用74LS245作为驱动器,74LS138作为译码器使用,六个七段数码管均采用共阴极的方式,P0口作为段选码输出口,P2口作为位选码输出口。 本次设计的题目是基于单片机的电子日历设计,可以正常的显示年、月、日,还可以利用外部按键实现阴历和阳历之间的转换以及暂停等功能。电子日历具有性能稳定、精确度高、成本低、易于产品化,以及方便、实用等特点。适用于家庭、公司、机关等众多场所。为人们的日常生活、出行安排提供了方便,成为人们日常生活中不可缺少的一部分。 本次设计可分为两部分:硬件系统、软件系统。 硬件系统包括:AT89S51单片机、74LS245驱动器、74LS138译码器、RC复位电路、+5V直流电源电路、去抖电路、动态显示扫描电路。 软件系统主要有单片机的编程构成。 关键词:单片机,日历,位码,段码,显示

基于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)

基于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单片机的万年历

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

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

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

基于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)

基于某51单片机地键盘盘可调万年历

开放性实验报告 题目: 基于80C51的万年历设计_ 院系:

专业班级: 学号: 姓名: 指导老师:________________________ 时间:2014年9月8号 摘要 电子万年历是一种非常广泛日常计时工具,对现代社会越来越流行。它可以对年、月、日、周、时、分、秒进行计时,还具有闰年补偿等多种功能。本系统选用DALLAS 公司生产的日历时钟芯片DS1302来作为实时时数字万年历采用直观数字显示,可以同时显示年、月、日、周、时、分、秒等信息,还具有键盘时间校准等功能。该电路采用AT89C52单片机作为核心,用以5V电压供电。 本系统硬件部分由AT89C52单片机、DS1302时钟芯片、LCD1602液晶显示环境下以C51语言编写,包括时间设置、时间显示、时间修正等功能。在仿真的时候,以Proteus 与Keil uVision4软件为基础,编写了MCS-51单片机对LCD1602显示控制的软件,绘制其原理图,并使用Proteus软件与Keil uVision4软件建立联合仿真。本设计主要论述了原理图各个模块的作用,以及控制软件的各个模块的编程。

关键词:时钟芯片DS1302;单片机AT89C52;液晶显示1602;独立键盘等

目录 第1章绪论 (1) 1.1实时万年历的简介 (1) 1.2系统所实现的功能 (3) 第2章开发工具软件简介 (4) 2.1K EIL U V ISION4软件简介 (4) 2.2P ROTEUS软件简介 (4)

2.3K EIL U V ISION4与P ROTEUS软件联合仿真 (5) 第3章LCD1602显示控制技术 (6) 3.11602字符型LCD简介 (6) 3.2LCD1602功能 (7) 3.3 LCD1602的指令说明及时序 (8) 3.4LCD1602的RAM地址映射及标准字库表 (7) 3.5 LCD1602的一般初始化(复位)过程 (8) 第4章系统硬件概况 (13) 4.1系统概况 (13) 4.2 MCS-51单片机最小系统模块 (14) 4.3 DS1302时钟芯片控制与键盘设置时间模块 (15) 4.4 LCD1602显示模块 (16) 第5章软件控制系统概况 (18) 5.1程序流程概况 (18) 5.2 流程图 (18) 5.3 源程序代码 (19) 参考文献 (25)

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

洛阳理工学院 课程设计报告课程名称单片机原理与应用 设计题目基于STC89C51万年历得设计与实现专业物联网工程 班级 学号 姓名 完成日期大约在冬季

目录 摘要 (2) 一、设计目标与内容 (3) 1、1设计目标 (3) 1、2 设计内容 (3) 1、3设计要求 (3) 1、4 本章小结 (3) 二、系统设计 (3) 2、1 电路设计框图 (3) 2、2 系统硬件概述 (4) 2、3 主要单元电路得设计 (4) 2、3、1 时钟电路模块得设计 (4) 2、3、2温度传感器电路设计 (6) 2、3、3显示模块得设计 (8) 2、4本章小结 (8) 三、系统得软件设计 (9) 3、1程序流程图 (9) 3、1、1 系统总流程图 (9) 3、1、2 温度程序流程图 (9) 3、1、3 DS1302时钟程序流程图 (10) 3、1、4 LCD显示程序流程图 (11) 3、2程序得设计 (11) 3、2、1 DS18B20测温程序 (11) 3、2、2 DS1302读写程序 (13) 3、2、3液晶显示程序 (14) 3、3本章小结 (15) 四、仿真与调试 (15) 4、1 Keil软件调试流程 (15) 4、2 Proteus软件运行流程 (17) 4、3本章小结 (18) 总结 (18) 基于STC89C51万年历得设计与实现 摘要 古人依靠日冕、漏刻记录时间,而随着科技得发展,电子万年历已经成为日渐流行得日常计时工具。 本文研究得万年历系统拟用STC89C52单片机控制,以DS1302时钟芯片计时、

DS18B20采集温度、1602液晶屏显示。系统主要由温度传感器电路,单片机控制电路,显示电路以及校正电路四个模块组成。本文阐述了系统得硬件工作原理,所应用得各个接口模块得功能以及其工作过程,论证了设计方案理论得可行性。系统程序采用C语言编写,经Keil软件进行调试后在Proteus软件中进行仿真,可以显示年、月、日、星期、时、分、秒与温度并具有校准功能与与即时时间同步得功能。 实验结果表明此万年历实现后具有读取方便、显示直观、功能多样、电路简洁等诸多优点,符合电子仪器仪表得发展趋势,具有广阔得市场前景。 关键词:万年历单片机仿真 一、设计目标与内容 1、1设计目标 制作出可以检测温度并报警得得电子万年历。 1、2 设计内容 用keilC51编译程序。 用proteus仿真电路图。 将电路图使用万用板或其她电路板焊接实物图。 1、3设计要求 具备在液晶上显示年、月、日、星期、时、分、秒得功能。 具备年、月、日、星期、时、分、秒校准功能。 具有与即时时间同步得功能。 1、4 本章小结 通过设计程序,制作仿真,焊接实物三个步骤,以小组合作得方式来设计满足

51单片机实现万年历程序文件

51单片机实现万年历 利用AT89S52单片机的P0口来和另外几个口来控制1602液晶的显示和P1口还有其它口来控制ds12887时钟芯片。设置四个按键,1个定义为时间设置功能键,一个定义为闹钟设置功能键,另外两个用来调节时间的增减。 原理图: pcb图:

源程序: #include #define uint unsigned int #define uchar unsigned char sbit beep=P2^0;//蜂鸣器控制口 sbit timeadd=P2^1;//调节时间加 sbit timesub=P2^2;//调节时间减 sbit timeclk=P2^3;//闹钟设定键 sbit timefun=P2^4;//时间设定键 sbit lcdrs=P2^5;//液晶的命令和数据控制口 sbit ledrw=P2^6;//液晶的写数据口 sbit lcden=P2^7;//液晶显示模块的使能端 sbit timeds=P3^3;//时钟芯片地址闸 sbit timerw=P3^4;//时钟芯片读写 sbit timeas=P3^5;//时钟芯片地址闸 sbit timeen=P3^6;//时钟芯片片选 uchar code table[]="20 - - week "; uchar code table1[]=" : : ";//要显示的字符串 char num,shi,fen,miao,nian=2000,yue,ri,week,numfun,anumfun,flag,flag1; uchar leap;

void delay(uint x){ uchar i,j; for(i=x;i>0;i--) for(j=110;j>0;j--); } void didi() { beep=0; delay(1000); beep=1; delay(1000); } void write_(uchar ){ lcdrs=0; P0=; delay(5); lcden=1; delay(20); lcden=0; } void write_date(uchar date){ lcdrs=1; P0=date; delay(5); lcden=1; delay(20); lcden=0; } void write_sfm(uchar add,uchar date){ uchar shi,ge; shi=date/10; ge=date%10; write_(0x80+0x40+add); write_date(0x30+shi); write_date(0x30+ge); } void write_nyr(uchar add,uchar date){ uchar shi,ge; shi=date/10; ge=date%10;

基于AT89C51单片机的多功能电子万年历的设计

. . .. . . 单片机应用系统设计 课题:基于AT89C51单片机的多功能电子万年 历的设计 姓名: 班级: 学号: 指导老师: 日期: .. .专

目录 一.绪言 (3) 二.系统总体方案设计 (3) 三.硬件系统设计: (4) 四.系统软件设计 (5) 五.设计总结 (8) 六.参考文献 (8) 七.附录 (9)

一.绪论 随着电子技术的迅速发展,特别是随大规模集成电路出现,给人类生活带来了根本性的改变。由其是单片机技术的应用产品已经走进了千家万户。电子万年历的出现给人们的生活带来的诸多方便。 本文首先描述系统硬件工作原理,并附以系统结构框图加以说明,着重介绍了本系统所应用的各硬件接口技术和各个接口模块的功能及工作过程,其次,详细阐述了程序的各个模块和实现过程。 万年历是采用数字电路实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,但是所有这些,都是以钟表数字化为基础的。因此,研究万年历及扩大其应用,有着非常现实的意义。 本系统采用了以广泛使用的单片机技术为核心,软硬件结合,使硬件部分大为简化,提高了系统稳定性,并采用LED显示电路、键盘电路,使人机交互简便易行。 二.系统总体方案设计 1.系统设计硬件框图 2.实现的基本原理 在本实验中,我引用了DS1302的时,分,秒功能,当时计数字24时通过74LS164给

基于51单片机温湿度检测+电子万年历的毕业设计论文

毕业设计论文 基于51单片机温湿度检测+电子万年历的设计

[摘要]:温湿度检测是生活生产中的重要的参数。本设计为基于51单片机的温湿度检测与控制系统,采用模块化、层次化设计。用新型的智能温湿度传感器SHT10主要实现对温度、湿度的检测,将温度湿度信号通过传感器进行信号的采集并转换成数字信号,再运用单片机STC89C52RC进行数据的分析和处理,为显示提供信号,显示部分采用LCD1602液晶显示所测温湿度值。系统电路简单、集成度高、工作稳定、调试方便、检测精度高,具有一定的实用价值。 [关键字]:STC89C52RC SHT10 LCD1602 按键指示灯蜂鸣器电子万年历Based on 51 single chip microcomputer temperature and humidity detection + electronic calendar design Abstract:Temperature and humidity detection is important parameters in the production of life. This design is based on 51 single chip microcomputer temperature and humidity detection and control system, adopting modular, hierarchical design. With new type of intelligent temperature and humidity sensor SHT10 main realization about the detection of temperature, humidity, temperature humidity signal acquisition is converted into digital signals through the sensor signal, using SCM STC89C52RC for data analysis and processing, provides the signal for display, display part adopts LCD1602 LCD display the measured temperature and humidity values. Simple circuit, high integration, work stability, convenient debugging, high detection precision, has certain practical value. Key words:STC89C52RC SHT10 LCD1602 key indicator light buzzer The electronic calendar

电子万年历设计(基于AT89C51单片机和DS1302时钟芯片)1

随着人们生活水平的提高和生活节奏的加快,对时间的要求越来越高,精准数字计时的消费需求也是越来越多。 二十一世纪的今天,最具代表性的计时产品就是电子万年历,它是近代世界钟表业界的第三次革命。第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率源使钟表的走时差从分级缩小到秒级,代表性的产品就是带有摆或摆轮游丝的机械钟或表。第二次革命是石英晶体振荡器的应用,发明了走时精度更高的石英电子钟表,使钟表的走时月差从分级缩小到秒级。第三次革命就是单片机数码计时技术的应用(电子万年历),使计时产品的走时日差从分级缩小到1/600万秒,从原有传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示方式,直观明了,并增加了全自动日期、星期、温度以及其他日常附属信息的显示功能,它更符合消费者的生活需求!因此,电子万年历的出现带来了钟表计时业界跨跃性的进步…… 我国生产的电子万年历有很多种,总体上来说以研究多功能电子万年历为主,使万年历除了原有的显示时间,日期等基本功能外,还具有闹铃,报警等功能。商家生产的电子万年历更从质量,价格,实用上考虑,不断的改进电子万年历的设计,使其更加的具有市场。 本设计为软件,硬件相结合的一组设计。在软件设计过程中,应对硬件部分有相关了解,这样有助于对设计题目的更深了解,有助于软件设计。基本的要了解一些主要器件的基本功能和作用。 除了采用集成化的时钟芯片外,还有采用MCU的方案,利用AT89系列单片微机制成万年历电路,采用软件和硬件结合的方法,控制LED数码管输出,分别用来显示年、月、日、时、分、秒,其最大特点是:硬件电路简单,安装方便易于实现,软件设计独特,可靠。AT89C51是由ATMEL 公司推出的一种小型单片机。95年出现在中国市场。其主要特点为采用Flash存贮器技术,降低了制造成本,其软件、硬件与MCS-51完全兼容,可以很快被中国广大用户接受。 本文介绍了基于AT89C51单片机设计的电子万年历。 首先我们在绪论中简单介绍了单片机的发展与其在中低端领域中的优

基于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,但是没有串行口。

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

基于51单片机的万年历 中文摘要 本设计万年历以AT89C51为控制中心,与温度传感器DS18B20,时钟芯片DS1302综合应用为一体,不仅能够准确显示时间、日期,闹钟设置,环境温度测量及温度高低温报警等功能。 单片机是一种集CPU、RAM、ROM、I/O接口和中断系统等于一体的器件,只需要外加电源和晶振就可实现对数字信息的处理和控制。单片机与数字万年历相结合,用于时间显示,温度测试等不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被检测数值的技术指标,从而能够大大提高产品的质量和数量。 关键词:单片机,温度传感器,C语言,液晶显示

ABSTRACT This design USES AT89C51 as calendar control center, and the temperature sensor DS18B20, the clock DS1302 chip integrated application as a whole, and not only be able to accurately display the time, date, alarm, the environment temperature measurement and high temperature, low temperature alarm functions. SCM is a collection of CPU, RAM, ROM, I/O interface and interrupt system is one of the devices, only require additional power can be used for vibration and grain is the process of digital information and control. Single-chip microcomputer and digital calendar, combining for time to show, temperature testing has not only control convenient, simple and flexible configuration advantages, and which could increase the technical index of the tested value, which can greatly improve the quality of the products and quantity. Key words:Single-chip microcomputer, Temperature Sensor,C language,Liquid crystal displ

基于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... 参考文献.............................................. 1.0 . 附录一:总体电路原理图....................... 1.1 附录二:主程序.............................................. 1.. 2 附录三:元器件清单........................... 2.7

附录四:实物图 (2) ..8

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,但是没有串行口。

51单片机液晶万年历程序

#include #include #include char TAB[10]={0x30,0x31,0x32,0x33,// 0 1 2 3 0x34,0x35,0x36,0x37,// 4 5 6 7 0x38,0x39};//8 9 char TABb[]={"ModTudWedThdFriSatSun"};//1 2 3 4 5 6 7 unsigned char hour=0,min=0,sec=0,num=0;//程序开始时时分秒清零unsigned char yearh=20,yearl=0,month=1,day=1,weekday=1; unsigned char sigh1=0,sigh2=0,sigh4=0,sigh5=0,sigh6=0; unsigned char hh,mm,sigh3=0; unsigned char sm=0,ss=0,sn=0; unsigned char set1=0,set2=0; unsigned char Temph,Templ; unsigned int temp; void sett0();//设置定时器to void settimer3(); void settimer4();//倒计时设置 void display1();//时分秒显示 void display2();//日期显示 void display3();//闹钟显示 void display4();//倒计时显示 void display5();//显示温度 void bz(); void INTI_LCD(); void WR_COMM(); void CHECK_BF(); void WR_DATA(); void CLS(); void delay20ms(int x); void delay(unsigned int i)//温度延时 { while(i--); } void Init_DS18B20(void); //初始化 unsigned char ReadOneChar(void);//读一个字节 void WriteOneChar(unsigned char dat);//写一个字节 unsigned int ReadTemperature(void);//读取温度

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

毕业论文声明 本人郑重声明: 1.此毕业论文是本人在指导教师指导下独立进行研究取得的成果。除了特别加以标注地方外,本文不包含他人或其它机构已经发表或撰写过的研究成果。对本文研究做出重要贡献的个人与集体均已在文中作了明确标明。本人完全意识到本声明的法律结果由本人承担。 2.本人完全了解学校、学院有关保留、使用学位论文的规定,同意学校与学院保留并向国家有关部门或机构送交此论文的复印件和电子版,允许此文被查阅和借阅。本人授权大学学院可以将此文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本文。 3.若在大学学院毕业论文审查小组复审中,发现本文有抄袭,一切后果均由本人承担,与毕业论文指导老师无关。 4.本人所呈交的毕业论文,是在指导老师的指导下独立进行研究所取得的成果。论文中凡引用他人已经发布或未发表的成果、数据、观点等,均已明确注明出处。论文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究成果做出重要贡献的个人和集体,均已在论文中已明确的方式标明。 学位论文作者(签名): 年月

关于毕业论文使用授权的声明 本人在指导老师的指导下所完成的论文及相关的资料(包括图纸、实验记录、原始数据、实物照片、图片、录音带、设计手稿等),知识产权归属华北电力大学。本人完全了解大学有关保存,使用毕业论文的规定。同意学校保存或向国家有关部门或机构送交论文的纸质版或电子版,允许论文被查阅或借阅。本人授权大学可以将本毕业论文的全部或部分内容编入有关数据库进行检索,可以采用任何复制手段保存或编汇本毕业论文。如果发表相关成果,一定征得指导教师同意,且第一署名单位为大学。本人毕业后使用毕业论文或与该论文直接相关的学术论文或成果时,第一署名单位仍然为大学。本人完全了解大学关于收集、保存、使用学位论文的规定,同意如下各项内容: 按照学校要求提交学位论文的印刷本和电子版本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、扫描、数字化或其它手段保存或汇编本学位论文;学校有权提供目录检索以及提供本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有关部门或者机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入学校有关数据库和收录到《中国学位论文全文数据库》进行信息服务。在不以赢利为目的的前提下,学校可以适当复制论文的部分或全部内容用于学术活动。 论文作者签名:日期:

51单片机制作万年历

万年历 一、题目要求: 1、实现目标:用液晶屏显示时间、日期、星期和温度,时间、日期可调,且可以设置闹钟。 2、所用功能:1602液晶屏,独立按键,矩阵键盘,DS18B20温度传感器,1302时钟器,蜂鸣器,定时、中断。 二、程序框图: 主程序框图

计算阳历程序图 三、程序: ;==================变量和管脚的定义=================== LCD_RW EQU P2.5 LCD_RS EQU P2.6 LCD_EN EQU P2.7 ; LCD液晶显示控制端接口 RS BIT P2.0 RW BIT P2.1 E BIT P2.2 LCD EQU P0 JIDIANQI EQU P2.3 BEER EQU P2.4 H_BIT EQU 20H M_BIT EQU 21H S_BIT EQU 22H HH EQU 23H MM EQU 24H SS EQU 25H HH_BIT EQU 26H

MM_BIT EQU 27H SS_BIT EQU 28H BUF EQU 30H ; 30H-33H保存解码结果 FLAG1 BIT F0 ;DS18B20存在标志位 DQ BIT P3.4 ;DS18B20占用的总线 TEMPER_L EQU 29H TEMPER_H EQU 28H ROM1 EQU 2AH ROM2 EQU 2BH ROM3 EQU 2CH ROM4 EQU 2DH ROM5 EQU 2EH ROM6 EQU 2FH ROM7 EQU 30H ROM8 EQU 31H A_BIT EQU 35H B_BIT EQU 36H LG EQU 45H LG1 EQU 46H ; LCD1602液晶显示位 ORG 0000H LJMP INTI ORG 000BH ;=================================================== ; 初始化 ;=================================================== ORG 1000H INTI: MOV LG, #35H MOV LG1, #34H ; LCD1602液晶显示初值 MOV TMOD, #11H ; 定时器方式1和0 MOV TH0, #4CH MOV TL0, #B0H ; 定时器0初值,控制中断时间 MOV TH1, #D8H ;设定时1初值 MOV TL1, #F0H MOV TCON, #50H MAIN: LCALL LCD_INIT

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