当前位置:文档之家› 12864+ds1302+ds18b20数字时钟_温度_日期同步显示

12864+ds1302+ds18b20数字时钟_温度_日期同步显示

12864+ds1302+ds18b20数字时钟_温度_日期同步显示
12864+ds1302+ds18b20数字时钟_温度_日期同步显示

毕业(论文)说明书

题目:

系别:

专业:

指导老师:

学生姓名:

学号:

理论研究工程设计工程技术研究软件开发

2014年7 月18日

一毕业设计(论文)内容与要求

一、主要研究内容

1、8051单片机硬件结构。

2、C语言程序设计基础内容。

3、单片机C语言程序设计的方法。

4、DS18B20温度传感器的使用方法。

5、DS1302时钟芯片的用法。

6、12864LCD液晶屏的编程使用方法。

二、要求

1、能够以指针的形式在LCD12864上显示当前时间的小时和分钟

和秒。

2、能够以数字加汉字的形式在LCD12864上显示当前时间的小时

和分钟和秒。

3、能够以数字加汉字的形式在LCD12864上显示当前年月日。

4、能够以数字加汉字的形式在LCD12864上显示当前星期。

5、时间采用时钟芯片DS1302控制。

6、温度采用DS18B20温度传感器检测当前温度。

7、所有功能在LCD12864当中同步显示。

8、采用AT89S52或者STC89C52RC单片机控制。

三、引言

随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标

之一,它所给人带来的方便也是不可否定的,要为现代人工作、科研、

生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着

数字化控制,智能化控制方向发展。

本设计是数据采集及处理,显示系统与单片机有效结合,本设计是

通过在“单片机原理及应用”课堂上学习的知识的综合应用,以及查阅

资料,培养一种自学的能力。并且引导一种创新的思维,把学到的知识

应用到日常生活当中。在设计的过程中,不断的学习,思考和同学间的

相互讨论,运用科学的分析问题的方法解决遇到的困难,掌握单片机系

统一般的开发流程,学会对常见问题的处理方法,积累设计系统的经验,

充分发挥教学与实践的结合。全能提高个人系统开发的综合能力,开拓

了思维,为今后能在相应工作岗位上的工作打下了坚实的基础。

四、方案设计及方案论证

1.时钟温度的总体设计思路

按照系统的设计功能要求,本时钟温度系统的设计必须采用单片机

软件系统实现,用单片机的自动控制能力配合ds1302和ds18b20来控制

时钟和温度的调整显示。获得时钟温度数据信息,单片机对其进行一系

列的处理,最后通过液晶显示出来。

、时钟温度系统方案论证

2222

2.12.1

时钟系统方案选择

2.12.1

方案1111

通过单片机内部的定时器/计数器,用软件实现,直接用单片机的定时器编程以实现时钟;

方案2222

用专门的时钟芯片(DS1302)实现时钟的记时,再把时间数据送入单

片机,由单片机控制显示。虽然用软件实现时钟硬件线路简单,但是程

序运行的每一步都需要时间,多一步或少一步程序都会影响记时的准确

度,对定时器定时也不是十分准确,时钟精度很低,对于我们实现所需

要的功能造成软件编程非常复杂。用专用时钟芯片硬件成本相对较高,

但它的精度很高,软件编程很简单。综上所述,选择方案2。

单片机的选择

2.22.2

2.22.2

对于单片机的选择,如果用8031系列,由于它没有内部RAM,系统又需要大量内存存储数据,因而不可用;51系列单片机的ROM为4K,

对于我们设计的系统可能有点小;52系列单片机与51系列的结构一样,

而ROM扩大为8K,对我们设计系统提供充足的空间进行功能的扩展。

再有51系列单片机与52系列的单片机价格差不多。因此,我们选择52系列的单片机。

显示系统的方案比较

2.32.3

2.32.3

方案1:用数码管或点阵LED显示。

方案2:用液晶1602显示。

方案3:用液晶12864显示。

时钟和温度的显示可以用数码管或LED,而且价格便宜。但是数码

管的只能显示简单的设计的系统,与我们设计要求也不相符。有很多东

西需要显示,还是用显示功能更好的液晶显示器比较好,它能显示更多

的数据,用1602液晶显示数据有限,1602不能够显示指针时钟,只能

够显示一些基本的西文字符,显示数据的可读性不好,用可以显示汉字

的12864液晶显示器还可以增加显示信息的可读性,用12864的绘图功

能即可绘制出指针时钟的框架,至于指针的转动则才用12864加

ds1302

同步控制,让人看起来会很方便。虽然它们在价格上差距很大,但是1602

不能够实现我们的要求,12864.是我们唯一的选择。

温度系统方案选择

2.42.4

2.42.4

方案1:

用热敏电阻等测温元件测出电压,再转换成对应的温度。需要比较

多的外部元件(A/D转换)支持,且硬件电路复杂,制作成本相对较高。

方案2:

用DS18B20直接测温。DS18B20温度传感器是美国DALLAS半导

体公司最新推出的一种改进型智能温度传感器,它能直接读出被测温度,

并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。

经比较,我们选择方案2。

温度实现只能通过外部的温度传感器来实现。经上网查阅及市场考

察,DS18b20体积小,只有3只脚,电路接法简单。内部含有寄存器为

我们设计实现上下限报警功能提供保障。精度为0.5°C,也符合我们设

计的要求。DS18B20也是我们通常使用的型号,因此温度传感器用

DS18B20。

五、时钟温度系统总体设计

初步确定设计系统由单片机主控模块、时钟模块ds102、测温模块ds18b20、显示模块12864、共5个模块组成,电路系统框图。

如下图所示

六、硬件设计部分

1、单片机最小系统电路设计

1.1单片机芯片选择

单片机采用52系列单片机。由ATMEL公司生产的AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。

使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。在单芯片上,拥有灵巧的8位CPU和在线系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、有效

的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。而且,它还具有一个看门狗(WDT)定时/计数器,如果程序没有正常工作,就会强制整个系统复位,还可以在程序陷入死循环的时候,让单片机复位而不用整个系统断电,从而保护你的硬件电路。

AT89S52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,片上Flash允许程序存储器在系统可编程,亦适于常规编程器。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写图1.1_1

图1.1_2

的Flash存储器可有效地降低开发成本.其芯片外观及引脚图如

1.1__2:

1.2单片机管脚说明

VCC:供电电压。

GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门流。

当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接

收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出

4个

TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89S52的一些特殊功能口,如下表所示:

管脚备选功能

(串行输入口)

P3.0RXD

(串行输出口)

P3.1TXD

(外部中断0)

P3.2/INT0

(外部中断1)

P3.3/INT1

(记时器0外部输入)

P3.4T0

(记时器1外部输入)

P3.5T1

(外部数据存储器写选通)P3.6/WR

(外部数据存储器读选通)P3.7/RD

P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意

的是:

每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令

是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。

/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器

(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA 将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。

在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:来自反向振荡器的输出。

1.3单片机最小系统

单片机最小系统主要由复位电路,晶振电路,电源等几部分组成。

1)复位电路

复位电路有两种方式:上电复位和按钮复位,我们主要用按钮复位方

式。如下图所示:

2)晶振电路

晶振电路原理图如3-2:

3-2晶振模块原理图

选取原则:电容选取22pF,晶振为12MHz。

3)电源

AT89S52单片机的供电电源是5V的直流电。

4)EA非/Vpp脚

我们没有用外部扩展ROM,因此EA非/Vpp为高电平,即接+5V电源。

2、时钟系统电路设计

2.1时钟芯片选择

我们采用具有涓细电流充电能力的低功耗实时时钟电路DS1302。

可以对年、月、日、周日、时、分、秒进行计时,且具有闰年补偿等多

种功能。它采用主电源和备用电源双电源供电。它的工作电压范围

2.0~5.5V,在2.2V时,小于300nA。它内部含有31个字节的静态RAM,

可提供用户访问。

DS1302可以对年、月、日、周日、时、分、秒进行计时,可以达到

我们设计的基本的要求。内部的寄存器为我们调时,闹钟定时提供了寄

存空间。备用用电源也实现了当系统断电后,时钟仍然可以保持。而且

它是串行接口,与单片机通信所需要的接口少。不像DS12887等芯片并

行通信需要很多IO口。

2.2DS1302管脚及寄存器说明

1、DS1302的引脚排列

Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。

当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1

时,DS1302由Vcc1供电。因此,我们vcc1用3V的纽扣电池作为备用电源,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、DS1302的寄存器说明

DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式。此外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。

DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31

个,每个单元组态为一个8位的字节,其命令控制字为C0H~FDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为

FEH(写)、FFH(读)。

2.3DS1302时钟电路

DS1302时钟电路如下图所示:

DS1302与单片机的连接仅需3条线:时钟线SCLK、数据线I/O和复位线RST。时钟线SCLK与P1.4相连,数据线I/O与P1.5相连,复位线

RST与P2.2相连。由于DS1302是靠涓细电流充电来实现串行输入输出的,因此,在SCLK、I/O、RST线上要加上拉电阻,其中,它们的电流应该在500u~1mA之间,若电源为5V,则R约为5k,因此,我们的

电阻R=4.7K。

在单电源与电池供电系统中,vcc1提供低电源并提供低功率的备用电源。

Vcc2提供高电源作为芯片供电的主电源。因此,这里vcc1用10uf的电容做电池,vcc2用5V的系统电源。晶振为32.768KHz接入X1、X2引

脚。

3、温度系统电路

3.1温度芯片的选择

温度实现只能通过外部的温度传感器来实现。经上网查阅资料及市场

考察,DS18b20体积小,只有3只脚,电路接法简单。它能够直接读

出被测温度。内部含有寄存器为我们设计实现上下限报警功能提供保

障。用户可定义的非易失性温度报警设置;报警搜索命令识别并标志

超过程序限定温度(温度报警条件)的器件;精度为0.5°C,也符合

我们设计的要求。DS18B20也是我们通常使用的型号,因此温度传感

器用DS18B20。

3.2DS18B20内部结构描述

DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。高速暂存RAM的结构为8个字节的

存储器,结构如图4.1所示。头两个字节包含测得的温度信息,第三和

第四字节是TH和TL的拷贝,是易失的,每次上电复位时被刷新。第五个字节为配置寄存器,它的内容用于确定温度值的数字转换分辨率。

DS18B20工作时按此寄存器中的分辨率将温度转换为相应精度的数值。

该字节各位的定义如图4.2所示。低5位一直为1,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。

3.3DS18b20温度系统电路 DS18B20系统电路如下:

DS18B20有两种接法:一是单线接法即只接QT 。这种方法应用它内部

的寄生电源,因此在QT 上要用一个MOSFET 把I/O 线只接拉到电源上。 二是从vdd 脚加上电源。方法一适合于远距离温度监控,不需要本地电

源。而我们只是设计测温系统,选择方法二就行了,还有MOSFET 极容

TMR1R011111

图4.2配置寄存器

温度LSB 温度MSB TH 用户字节1 TL 用户字节2 配置寄存器 保留 保留 保留

CRC

图4.1高速暂存RAM 结构图

1字节 2字节 3字节 4字节 5字节 6字节 7字节 8字节 9字节

EEROM TH 用户字节1 TL 用户字节2

易烧,我们不用它。Vdd接5V电源,vss接地,QT与P3.5相连。因为DS18B20的工作电流约为1MA,因此Qt端还要加上拉电阻为其提供电流。若用5V电源,则R=5/1MA=5k。R取4.7K。

6.112864F简介

带中文字库的128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示

模块;其显示分辨率为128×64,内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指

令,可构成全中文人机交互图形界面。可以显示8×4行16×16点阵的汉字.也可完成图形显示.低电压低功耗是其又一显著特点。由该模块构

成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电

路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的

图形液晶模块。

6.212864F引脚说明

管脚号管脚名

电平管脚功能描述

1VSS0V电源地

2VCC3.0+5V电源正

3V0-对比度(亮度)调整

RS=“H”,表示DB7——DB0为显示数据4

RS(CS)H/L

RS=“L”,表示DB7——DB0为显示指令数据5R/W(SIDH/LR/W=“H”,E=“H”,数据被读到DB7——DB0

)R/W=“L”,E=“H→L”,DB7——DB0的数据

被写到IR或DR

6E(SCLK)H/L使能信号

7DB0H/L三态数据线

8DB1H/L三态数据线

9DB2H/L三态数据线

10DB3H/L三态数据线

11DB4H/L三态数据线

12DB5H/L三态数据线

13DB6H/L三态数据线

14DB7H/L三态数据线

15PSBH/LH:8位或4位并口方式,L:串口方式(见注

释1)

16NC-空脚

17/RESETH/L复位端,低电平有效(见注释2)

18VOUT-LCD驱动电压输出端

19AVDD背光源正端(+5V)(见注释3)

20KVSS背光源负端(见注释3)

12864F液晶显示电路

设计中采用LCD12864液晶显示。它一般串口、并口两种方式显示,而我们一般采用并口显示。12864的4、5、6、15、17脚分别与单片机的P3.0~P3.4相连。7~14脚与单片机的P0口相连。1、20号脚接地,

2号脚接电源,19号脚背光灯正端串一个电阻与电源相连,电阻起限流

的作用,我们取R=10K。3号脚是对比度(亮度)调整,这里要用一个滑动变阻器来调整亮度,这里我们取电位器大小为10K。LCD12864显示电路如下图所示:

总体硬件系统设计

总体硬件设计框图如下

示程序。

本系统的软件系统主要分为主程序、时钟程序、温度程序、液晶显

#include"reg52.h"

#include"intrins.h

"

#include"math.h"

#include

#defineio_LCD12864_DATAPORTP0

#defineucharunsignedchar

#defineuintunsignedint

#defineshujuio_LCD12864_RS=1;

#definezhilinio_LCD12864_RS=0;

#defineduio_LCD12864_RW=1;

#definexieio_LCD12864_RW=0;

#defineSET_ENio_LCD12864_EN=1;

#defineCLR_ENio_LCD12864_EN=0;

sbitP25=P2^5;

sbitP36=P3^6;

sbitP37=P3^7;

sbitDQ=P3^5;//定义DS18B20通信端口

sbitT_CLK=P1^4;/*实时时钟时钟线引脚*/

sbitT_IO=P1^5;/*实时时钟数据线引脚*/

sbitT_RST=P2^2;/*实时时钟复位线引脚*/

sbitACC0=ACC^0;

sbitACC7=ACC^7;

sbitio_LCD12864_RS=P1^7;//位定义12864通信端口

sbitio_LCD12864_RW=P1^6;

sbitio_LCD12864_EN=P2^3;

ucharcodemun_to_char[]="0123456789";/*数字转换为ASCII字符码*/

ucharcodeWeek1_to_char[]={"一"};

ucharcodeWeek2_to_char[]={"二"};

ucharcodeWeek3_to_char[]={"三"};

ucharcodeWeek4_to_char[]={"四"};

ucharcodeWeek5_to_char[]={"五"};

ucharcodeWeek6_to_char[]={"六"};/*星期数字转换为汉字的ASCII 码*/

ucharcodeWeek7_to_char[]={"日"};

ucharhanzi_buff1[]={"10/08/23"};

ucharhanzi_buff2[]={"星期三"};

ucharhanzi_buff3[]={"12:00:00"};

ucharhanzi_buff4[]={"温度25.0"};

uchardatatime_data_buff[7]={0x30,0x24,0x13,0x23,0x08,0x03,0 x10};//格

式为:秒分时日月星期年DATA为直接访问内部数据存储器,

访问速度最快

floatcodepointer_mark[60][2]={//时钟刻度处的坐标,共60个,采用浮点

形,指针坐标运算的时候更加精确

{31,4},{34,2},{37,2},{40,2},{43,2},{46,4},{49,4},{52,7},{55 ,10},{58,13},

{59,16},{61,19},{61,22},{61,25},{61,28},{59,31},{61,34},{61 ,37},{61,40},

{61,43},

{59,46},{59,49},{56,52},{53,55},{50,58},{46,59},{43,61},{40 ,61},{37,61},

{34,61},

{31,59},{28,61},{25,61},{22,61},{19,61},{16,59},{13,58},{10 ,55},{7,52},{

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

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

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

LCD12864显示程序

;实验目的:熟悉12864LCD的使用 ;12864LCD带中文字库 ;编程让12864LCD显示公司名称“深圳乾龙盛电子”,公司电话“0975”,公司传真“6”;硬件设置: ;关断所有拨码开关。 #include<> ;__CONFIG _DEBUG_OFF&_CP_ALL&_WRT_HALF&_CPD_ON&_LVP_OFF&_BODEN_OFF&_PWRTE_ON&_WDT_OFF&_H S_OSC ;芯片配置字,看门狗关,上电延时开,掉电检测关,低压编程关,加密,4M晶体HS振荡 #define RS PORTA,5 ;命令/数据选择 #DEFINE RW PORTA,4 ;读/写选择 #DEFINE E PORTA,3 ;使能信号 #DEFINE PSB PORTA,2 ;并口/串口选择(H/L) #DEFINE RST PORTA,0 ;复位信号 ;----------------------------------------------- LCD_X EQU 30H ;页地址 LCD_Y EQU 31H ;Y地址 COUNT EQU 32H ;循环计数用 COUNT1 EQU 33H ;循环计数用 COUNT2 EQU 34H ;循环计数用 POINT EQU 35H ;查表偏移地址 POINT1 EQU 36H ;查表偏移地址 POINT2 EQU 37H ;查表偏移地址 TEMP EQU 38H ;临时寄存器 TEMP1 EQU 39H ;临时寄存器 ;----------------------------------------------- ORG 0000H ;复位地址 NOP ;ICD需要的空指令 GOTO MAIN ;跳转到主程序 ;**********************主程序************************ MAIN BANKSEL TRISA CLRF TRISA ;A口输出 CLRF TRISD ;D口输出 BANKSEL ADCON1 MOVLW 06H MOVWF ADCON1 ;A口全为数字口 CLRF STATUS

51定时器和lcd12864做的实时时钟显示(附图)

#include #include"intrins.h" #define uchar unsigned char #define uint unsigned int sbit rs=P1^0; sbit rw=P1^1; sbit e=P2^5; sbit psb=P1^2; sbit rst=P1^4; uchar hour,fen,miao,num; uchar code table[]="时间:"; uchar sbuf[]={0,0,0,0,0,0}; void delay(uint x) { uchar i,j; for(i=x;i>0;i--) for(j=110;j>0;j--); } void Timer0Init(void) //50??@11.0592MHz { TMOD |= 0x01; //??????? TL0 = 0x00; //??????

TH0 = 0x4C; //?????? EA=1; ET0=1; TR0=1; //???0???? } void Delay2ms() //@11.0592MHz { unsigned char i, j; _nop_(); i = 4; j = 146; do { while (--j); } while (--i); } void Delay100us() //@11.0592MHz { unsigned char i, j; i = 2; j = 109; do { while (--j); } while (--i);

void Delay50ms() //@11.0592MHz { unsigned char i, j, k; i = 3; j = 207; k = 28; do { do { while (--k); } while (--j); } while (--i); } void write_12864com(uchar com) { rs=0; rw=0; Delay100us(); P0=com; e=1; Delay100us(); e=0; Delay100us(); }

基于51单片机设计的带有测温功能的电子时钟汇总

、 职业技能训练之 电子技术课程设计报告 学院电子与信息学院 设计题目基于51单片机设计的带有测温功能的电子时钟班级XXX 姓名XXX 学号XXX 指导教师XXX 时间2012年06月25日

目录 一、设计要求 二、课程设计的方案、目的及意义 三、硬件设计方案 四、软件设计方案 五、总结 六、参考资料

一、设计要求 用51单片机设计带温度显示的电子时钟,具体要求如下: 1、利用DS1302时钟芯片实现时钟功能模块。 2、时钟要求可以调节时间:年、月、日、时、分、秒。 3、利用LCD1602显示。 4、利用DS18B20芯片实现温度功能模块。 5、利用按键完成各项功能。 二、课程设计方案、目的及意义 1、总体方案: 用STC89C51单片机作为CPU主控制器,DS1302时钟芯片提供准确时钟信号,DS18B20温度传感器采集温度信息,三个按键进行加减调整、功能切换作用,通过LCD1602对外多功能显示。 2、具体方案: CPU控制所有模块,通过循环反复从DS1302中读取时钟信息,传送至LCD1602显示,得到基本时钟功能。当分为59,秒为56时开始,每隔一秒LED 灯点亮240毫秒,0分0秒时LED灯点亮700毫秒。从而实现整点光报时。 定时循环从DS18B20中读取温度信息,传送至LCD1602显示,得到基本温度计功能。当温度高于30度(包括30度)时,点亮红色LED灯,提醒当天为高温天气。低于0度时,点亮蓝色LED灯,提醒当天为冰冻天气。 键盘使用扫面方式,MENU键控制功能切换,完成时钟和温度间的转换。OK键控制时间调整与确定,UP、DOWN键调节时间,R、L 键选择调整对象。进入调整时,暂停DS1302数据读取,并将改变的时间数据写入DS1302,并送LCD1602显示,同时,启动LCD1602光标闪烁,确定调整对象,完成人机对话。退出调整时,停止写入数据,重新读取DS1302时钟信息。从而完善时钟功能。 3、目的及意义 可作为产品生产,作为居家的时钟显示与温度计。

数字电子时钟设计

电子技术课程设计 数字电子时钟的设计 摘要: 设计一个周期为24小时,显示满刻度为23时59分59秒,具有校时功能和报时功能的电子钟。本系统的设计电路由时钟译码显示电路模块、脉冲逻辑电路模块、时钟脉冲模块、整电报时模块、校时模

块等部分组成。计数器采用异步双十进制计数器74LS90,发生器使用石英振荡器,分频器4060CD及双D触发器74LS74D,整电报时电路用门电路及扬声器构成。 一、设计的任务与要求 电子技术课程设计的主要任务是通过解决一,两个实际问题,巩固和加深在“模拟电子技术基础”和“数字电子技术基础”课程中所学的理论知识和实验技能,基本掌握常用电子电路的一般设计方法,提高电子电路的设计和实验能力,为以后从事生产和科研工作打下一定的基础。电子技术课程设计的主要内容包括理论设计、仿真实验、安装与调试及写出设计总结报告。衡量课程设计完成好坏的标准是:理论设计正确无误;产品工作稳定可靠,能达到所需要的性能指标。 本次课程设计的题目是“多功能数字电子钟电路设计”。要求学生运用数字电路,模拟电路等课程所学知识完成一个实际电子器件设计。 二、设计目的 1、让学生掌握组合逻辑电路、时序逻辑电路及数字逻辑电路系统 的设计、安装、测试方法; 2、进一步巩固所学的理论知识,提高运用所学知识分析和解决实 际问题的能力; 3、提高电路布局﹑布线及检查和排除故障的能力; 4、培养书写综合实验报告的能力。

三、原理方框图如下 1、图中晶体振荡电路由石英32.768KHZ及集成芯。 2、图中分频器4060BD芯片及D触发器构成分频器。 3、计数器由二——五——十73LS90芯片构成。 4、图中DCD_HEX显示器用七段数码显示器且本身带有译码器。 5、图中校时电路和报时电路用门电路构成。 四、单元电路的设计和元器件的选择 1、十进制计数电路的设计 74LS90集成芯片是二—五—十进制计数器,所以将INB与QA 相连;R0(1)、R0(2)、R9(1)、R9(2)接地(低电平);INA

数字钟的设计与制作过程

数字钟的设计与制作 一、设计指标 1. 显示时、分、秒。 2. 可以24 小时制或12 小时制。 3. 具有校时功能,可以对小时和分单独校时,对分校时的时候,停止分向小时进位。校时时钟源可以手动输入或借 用电路中的时钟。 4. 具有正点报时功能,正点前10 秒开始,蜂鸣器 1 秒响 1 秒停地响 5 次。(选做) 5. 为了保证计时准确、稳定,由晶体振荡器提供标准时间的基准信号。 二、设计要求 1. 画出总体设计框图,以说明数字钟由哪些相对独立的功能模块组成,标出各个模块之间互相联系,时钟信号传输 路径、方向和频率变化,并以文字对原理作辅助说明。 2. 设计各个功能模块的电路图,加上原理说明。 3. 选择合适的元器件,并选择合适的输入信号和输出方式,在面包板上接线验证、调试各个功能模块的电路。在确 保电路正确性的同时,输入信号和输出方式要便于电路的测试和故障排除。(也可选用Mutisim 仿真) 4. 在验证各个功能模块基础上,对整个电路的元器件和布线,进行合理布局,进行整个数字钟电路的接线调试。 三、制作要求自行在面包板上装配和调试电路,能根据原理、现象和测量的数据检查和发现问题,并加以解决。 四、设计报告要求 1. 格式要求(见附录 1 ) 2. 内容要求 ①设计指标。 ②画出设计的原理框图,并要求说明该框图的工作过程及每个模块的功能。 ③列出元器件清单,并画出管脚分配图和芯片引脚图。 ④画出各功能模块的电路图,加上原理说明(如 2 、 5 进制到10 进制转换,10 进制到 6 进制转换的原理,个 位到十位的进位信号选择和变换等)。 ⑥画出总布局接线图(集成块按实际布局位置画,关键的连接应单独画出,计数器到译码器的数据线、译码器到数 码管的数据线可以简化画法,但集成块的引脚须按实际位置画,并注明名称)。 ⑦数字钟的运行结果和使用说明。 ⑧设计总结:设计过程中遇到的问题及解决办法;设计过程中的心得体会;对课程设计的内容、方式等提出建议。 五、仪器与工具 1. 直流电源 1 台。 2. 四连面包板 1 块。 3. 数字示波器(每两人 1 台) 4. 万用表(每班 2 只)。

LCD12864显示程序

本例程为通过用A T89C52芯片操作LCD12864显示的程序,使用的晶振为12M。 /********************************************************** 程序说明:LCD12864显示主程序 程序调试员:莫剑辉 调试时间:2010-6-7 **********************************************************/ #include #include"12864.c" void main() { Ini_Lcd(); //液晶初始化子程序 Disp(1,0,6,"莫剑辉"); //显示数据到LCD12864子程序 while(1); } 这里我们通过调用下面的头文件就可以了,这样的做法方便我们以后要用到LCD12864的程序的调用。 /********************************************************** 程序说明:LCD12864显示头文件 程序调试员:莫剑辉 调试时间:2010-6-7 **********************************************************/ //#include #define uchar unsigned char #define uint unsigned int #define DATA P2 //数据输出端0~7 sbit RS=P0^0; //LCD12864 RS端 sbit RW=P0^1; //LCD12864 RW端 sbit E =P0^2; //LCD12864 E 端 sbit PSB =P0^3; /********************************************* 延时子程序 *********************************************/ void Delay_1ms(uint x) { uint j,i; for(j=0;j

单片机 12864 LCD显示--按键电子时钟程序

单片机 12864 LCD显示--按键电子时钟程序 //液晶屏为JM12864或FYD12864(带字库),我用这两种型号的屏没问题, 4行*8列汉字=32 串行通信接/口P1.5--P1.7,可根据你的电路修改相应的接口。 #include reg52.h #include intrins.h #define uchar unsigned char 单片机 12864 LCD显示--按键电子时钟程序 //液晶屏为JM12864或FYD12864(带字库),我用这两种型号的屏没问题, 4行*8列汉字=32 串行通信接/口P1.5--P1.7,可根据你的电路修改相应的接口。 #include #include #define uchar unsigned char void lcd_ini(); void ascii_change(void); void delay(); void wri_add(uchar com); void wri_dat(uchar com1); void shan(void); void disp(); void tkey(void); sbit cs=P1^7; sbit sid=P1^6; sbit sclk=P1^5; bit flag=1; uchar dat,count,f=1;//f测试哪个单元为当前闪烁状态 uchar data clock[3]={23,45,12}; uchar code clockname[10]={"北京时间:"}; uchar data num[6]; /*******主程序*************/ void main() { lcd_ini(); count=10;//机器周期为1us,每次定时50ms,此变量用来控制循环次数,在下面赋值为20,共定时1秒 TMOD=0x01; TL0=0XB0; TH0=0X3C; EA=1; ET0=1; IT0=1; EX0=1; TR0=1; while(1)

基于单片机的时钟温度显示器制作报告1

基于单片机的时钟温度显示器制作报告班级:电子信息工程1003班姓名:刘洋 一:方案 1:采用STC89C52单片机便于硬件扩展。 2:采用LCD1602液晶显示。 3:采用DS12C887时钟芯片。 4:采用DS18B20温度传感器。 5:采用直流电源供电。因知识水平有限,所以直接采用5.5V直流电源供电。6:安装有电池仓,可用两节CR2302电池供电。 二:主要元件简介 1:1602LCD:标准字符型液晶显示模块(LCM),采用点阵型液晶显示器(LCD),可显示16个字符X2行西文字符,字符尺寸为,内置HD44780及兼容芯片接口型液晶显示控制器,可与单片机直接连接,广泛应用于各类仪器仪表及电子设备。 2:DS12C887实时时钟芯片功能丰富,可以用来直接代替IBM PC上的时钟日历芯片DS12887,同时,它的管脚也和MC146818B、DS12887相兼容。由于DS12C887能够自动产生世纪、年、月、日、时、分、秒等时间信息,其内部又增加了世纪寄存器,从而利用硬件电路解决子“千年”问题;DS12C887中自带有锂电池,外部掉电时,其内部时间信息还能够保持10年之久;对于一天内的时间记录,有12小时制和24小时制两种模式。在12小时制模式中,用AM和PM区分上午和下午;时间的表示方法也有两种,一种用二进制数表示,一种是用BCD码表示;DS12C887中带有128字节RAM,其中有11字节RAM用来存储时间信息,4字节RAM用来存储DS12C887的控制信息,

称为控制寄存器,113字节通用RAM使用户使用;此外用户还可对DS12C887进行编程以实现多种方波输出,并对其内部的三路中断通过软件进行屏蔽。3:TS-18B20数字温度传感器,采用DALLAS公司生产的DS18B20可组网数字温度传感器芯片封装而成,具有耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。 3.1 独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。 3.2 测温范围-55℃~+125℃,固有测温分辨率0.5℃。 3.3 支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定,实现多点测温 3.4 工作电源: 3~5V/DC 3.5 在使用中不需要任何外围元件 3.6 测量结果以9~12位数字量方式串行传送 3.7 适用于DN15~25, DN40~DN250各种介质工业管道和狭小空间设备测温 3.8 PVC电缆直接出线或德式球型接线盒出线,便于与其它电器设备连接。三:设计 1:电子线路:用导线与锡条手工焊制,略显粗陋。 2:程序设计: #include #include #define uchar unsigned char #define uint unsigned int sbit lcdrs=P2^4;//液晶控制

数字显示电子钟的PLC控制

石家庄铁道大学四方学院 集中实践报告书 课题名称 数字显示电子钟的PLC 控制 姓 名 *** 学 号 2012**** 系、 部 电气工程系 专业班级 方12**-* 指导教师 李** 2014年 12月 31日 ※※※※※※※※ ※ ※※ ※ ※ ※ ※ ※ ※ ※ ※ ※※※※※ 2012级 PLC 课程设计

目录 第1章设计目的 (1) 第2章设计要求 (1) 第3章PLC选型、I/O分配表和接线图 (2) 3.1PLC选型 (2) 3.2I/O分配表 (2) 3.3I/O接线图 (3) 第4章PLC程序设计 (3) 4.1梯形图设计 (3) 4.2指令语句表 (21) 第5章设计总结 (34) 参考文献 (34)

第1章 设计目的 在可编程序控制器问世之前,继电器接触器控制在各个领域中占有主要地位。继电器接触器控制系统是采用固定接线的硬件实现控制逻辑。接线量大,容易出错不容易检查,为了解决这一问题,美国通用公司提出用一种新型的控制装置取代继电器接触器控制装置。随着微处理器技术的的发展,可编程控制器的处理速度大大提高,增加了许多特殊功能,使得可编程控制器不仅可以实现逻辑控制,而且可以实现对模拟量进行控制。PLC 的可靠性高,抗干扰能力强,通用性强,使用方便,编程语言简单易学,便于掌握。电子时钟的任务是计时间,要求左边两个数码管显示0~23小时,右边两个数码管显示00~60分,中间两个发光二极管显示秒(即每秒闪烁一次)。由于PLC 的可靠性高,抗干扰能力强,通用性强,使用方便,编程语言简单易学,便于掌握,在各个方面改变适用性强,使得电子时钟计时器工作时可靠灵敏。 第2章 设计要求 由PLC 控制的大型数字电子钟如图49所示。电子钟由4个7段LED 发光管组成。左边两个数码管显示0~23小时,右边两个数码管显示00~60分,中间两个发光二极管显示秒(即每秒闪烁一次)。 开始状态时,显示为00:00,启动以后开始计时。 输入输出信号见下表和图,根据控制要求进行设计。 b c d e f a g

数字时钟设计与制作

数字时钟设计 学院:电气与电子工程学院 班级: 学号: 姓名:

数字时钟设计 一、设计目的 数字电子技术的迅速发展,使各种类型集成电路在数字系统、控制系统、信号处理等方面得到了广泛的应用。为了适应现代电子技术的迅速发展需要,能够较好的面向数字化和专用集成电路的新时代,数字电路综合设计与制作数字钟,可以让我们了解数字时钟的原理。在实验原理的指导下,培养了分析和设计电路的能力。并且学会检查和排除故障,提高分析处理实验结果的能力。 二、设计要求 1、掌握各芯片的逻辑功能及使用方法 2、数字时钟时的计时要求为24翻1,分和秒的计时要求为60进制 3、准确计时,以数字形式显示时、分、秒的时钟 4、写出设计、实验总结报告。 三、电路中主要元件及功能 1、芯片74LS290 74LS290的逻辑符号图如下: 74LS290的主要功能如下: 置“0”功能:当S9(1).S9(2)=0,且R0(1)=R0(2)=1时,计时器置“0“,即Q3 Q2 Q1 Q0=0000 置“9”功能:当S9(1)=S9(2)=1且R0(1).R0(2)=0时,计时器置“9”,即Q3 Q2 Q1 Q0=1001 计数功能:当S9(1).S9(2)=0,且R0(1).R0(2)=0时,输入计数脉冲

CP,计数器开始计数。计数脉冲由CP0输入,从Q0输出时,则构成一位二进制计数器;计数脉冲由CP1输入, Q3Q2Q1输出时,则构成异步五进制计数器;若将Q0和CP1相连,计数脉冲由CP0输入,输出为Q3Q2Q1Q0时,则构成8421BCD码异步十进制计数器;若将Q3和CP0相连,计数脉冲由CP1输入,从高位到低位输出为Q0Q1Q2Q3时,则构成5421BCD码异步十进制加法计数器。 2、芯片CD4511 CD4511的逻辑符号图如下: CD4511是一个用于驱动共阴极 LED(数码管)显示器的 BCD 码—七段码译码器,特点是:具有BCD转换、消隐和锁存控制、七段译码及驱动功能的CMOS电路能提供较大的拉电流,可直接驱动LED显示器。 3、芯片CD4060 CD4060逻辑符号图如下: CD4060由一振荡器和14级二进制串行计数器位组成,振荡器的结构可以是RC 或晶振电路,CR为高电平时,计数器清零且振荡器使用无效。所有的计数器位均为

LCD显示程序

本例程为通过用AT89C52芯片操作LCD12864显示的程序,使用的晶振为12M。 /********************************************************** 程序说明:LCD12864显示主程序 程序调试员:莫剑辉 调试时间:2010-6-7 **********************************************************/ #include #include"12864.c" void main() { Ini_Lcd(); //液晶初始化子程序 Disp(1,0,6,"莫剑辉"); //显示数据到LCD12864子程序 while(1); } 这里我们通过调用下面的头文件就可以了,这样的做法方便我们以后要用到LCD12864的程序的调用。 /********************************************************** 程序说明:LCD12864显示头文件 程序调试员:莫剑辉 调试时间:2010-6-7 **********************************************************/ //#include #define uchar unsigned char #define uint unsigned int #define DATA P2 //数据输出端0~7 sbit RS=P0^0; //LCD12864 RS端 sbit RW=P0^1; //LCD12864 RW端 sbit E =P0^2; //LCD12864 E 端 sbit PSB =P0^3; /********************************************* 延时子程序 *********************************************/ void Delay_1ms(uint x) { uint j,i; for(j=0;j

带温度显示的数字时钟设计

目录 1 前言....................................................................................................................................1 2功能描述与总体方案. (2) 2.1功能描述 (2) 2.2系统组成 (2) 3硬件设计 (3) 3.1时钟电路 (3) 3.2复位电路 (3) 3.3 DS1302时钟电路 (4) 3.4 DS18B20温度计电路 (4) 3.5 按键电路 (5) 3.6 显示电路 (6) 3.7 闹铃模块电路 (7) 4软件设计 (8) 4.1 主函数流程图 (8) 4.2 18B20温度计流程图 (9) 4.3 按键电路流程图 (10) 5结语 (11) 6参考文献 (12) 7附录 (13)

前言 单片微型计算机是随着超大规模集成电路技术的发展而诞生的,由于它具有体积小、功能强、性价比高等特点,所以广泛应用于电子仪表、家用电器、节能装置、军事装置、机器人、工业控制等诸多领域,使产品小型化、智能化,既提高了产品的功能和质量,又降低了成本,简化了设计。本文主要介绍由单片机控制的带有温度显示的电子钟的设计。随着人们生活水平的日益提高,人们对生活的要求越来越高,原有的事物已经不能满足人们的生活需求了,一些带有新功能的事物已经在慢慢的取代旧事物。就像电子钟一样,人们用电子钟不仅仅只是看时间了,人们还需要看温度了。越来越多的新功能更贴近人们的生活了,所以也越来越受人们所喜欢。带有温度的的电子钟可以使人们随时都可以了解温度的变化。本文介绍了设计的框架结构和组成模块以及各模块的原理,介绍了各部分硬件设计和各部分软件设计以及软件流程图。该设计是以AT89C51单片机为控制核心的集多种功能于一体的数字钟。该数字钟实现了具有时间显示功能;具有温度显示功能。硬件设计分为单片机控制模块、按键模块、温度模块、时钟模块、显示模块等几个部分。 功能描述与总体方案 2.1功能描述 根据主要功能要求,该设计利用51单片机实现了电子时钟、温度的显示以及设置闹铃等功能。具体可分为一下几种: (1)显示当前的时间,24时制的时、分、秒; (2)可调节时间;

12864液晶电子时钟+温度显示

12864液晶电子时钟+温度显示 上午花了一上午时间,用12864 液晶写了一个电子时钟加温度传感器程序, 先说一下程序的功能,可以实现显示年月日时间和温度, 年月日和时间是可通过按键调节的,调节相应的选项时,该选项会闪烁,并 停止走时,当调节完毕后时钟恢复走时。现在将程序和思路写下来,以便日后 查看和与大家探讨改进,欢迎高手提出宝贵意见。 我使用的是HJ12864M-1 带字库液晶,所以在显示上稍微方便一点。下面先 来说一下我的编程思路。时间更新用的是单片机自带的定时器,液晶要显示数 字必需将它转换成ASCii 码的形式,数字0-9 的ASCii 码与数字之间有一个定 量的关系,当数字加上0x30 之后便得到该数字的ASCii 码,这样以来液晶更 新数据就变得简单了。调节时间时对应选项闪烁,是通过不断的交替写入数据 和空格实现的。温度显示用的是DS18B20,,将测得的当前温度不断更新显示在 液晶上。调节时间用的是三个独立按键。由于这个程序我使用模块化来写的, 就只能将每个模块分别给出来,大家只要组装一下便可以使用。如果需要完整 程序的可以给我留言我发给你们。 下面是12864 液晶的初始化,读写命令,及读忙操作 #include “lcd12864.h”#include reg52.hsbit RS=P2 ; //控制端口位定义sbit RW=P2;sb it EN=P2;vo id init_12864(){delay(40);write_com(0x30);//8 位数据格式,基本指令显示delay(10); //延时时间write_com(0x30);//8 位数据格式,基本 指令显示delay(37);write_com(0x0C);//开显示、关闭光标delay(10); write_com(0x01);//清屏指令delay(10); //延时write_com(0x06);//设置显示点:指针自加1}tips:感谢大家的阅读,本文由我司收集整编。仅供参阅!

带温度显示的电子闹钟设计说明

题目:带温度显示的电子闹钟设计 摘要

本文设计了一款利用单片机技术实现带温度显示的电子闹钟。以应用AT89C51芯片作为核心,利用8位LED数码管显示,使用DS1302实时时钟日历芯片完成时钟/日历的基本功能,同时利用DS18B20温度传感器测量环境温度。这种实现方法的优点是电路简单,性能可靠,实时性好,时间和温度精度高,操作简单,编程容易。 关键词:电子闹钟,温度,AT89C51,DS18B20,DS1302 Abstract The design determines to use the MCU technology to realize the multi-functional electron clock. This design use AT89C51 as a core chips, 8 LED digital displaying. using DS1302 real-time clock chip to complete the basic function of the clock/calendar.At the same time the design use of DS18B20 temperature sensors is for collecting the environmental temperature. The method has the advantage of being simple circuit, reliable performance, good real-time, high precision of the time and temperature, simply operation, easy programming. Key words: Electronic clock,Temperature,AT89C51,DS18B20,DS1302

数字电子钟设计说明..

数字电子钟课程设计 一、设计任务与要求 (1)设计一个能显示时、分、秒的数字电子钟,显示时间从00: 00: 00到23: 59: 59; (2)设计的电路包括产生时钟信号,时、分、秒的计时电路和显示电路(3)电 路能实现校正 (5)整点报时 二、单元电路设计与参数计算 1. 振荡器 石英晶体振荡器的特点是振荡频率准确、电路结构简单、频率易调整。它还具有压电效应,在晶体某一方向加一电场,则在与此垂直的方向产生机械振动,有 了机械振动,就会在相应的垂直面上产生电场,从而机械振动和电场互为因果,这种循环过程一直持续到晶体的机械强度限止时,才达到最后稳定。这用压电谐振的频率即为晶体振荡器的固有频率。 2. 分频器 由于振荡器产生的频率很高,要得到秒脉冲需要分频,本实验采用一片74LS90 和两片74LS160实现,得到需要的秒脉冲信号。

3. 计数器 秒脉冲信号经过计数器,分别得到“秒”个位、十位、“分”个位、十位以及 “时”个位、十位的计时。“秒” “分”计数器为六十进制,小时为二十四进制。 (1)六十进制计数 由分频器来的秒脉冲信号,首先送到“秒”计数器进行累加计数,秒计数器应完 成一分钟之内秒数目的累加,并达到 60秒时产生一个进位信号。本作品选用一 片74LS161和一片74LS160采取同步置数的方式组成六十进制的计数器。 (2)二十四进制计数 “24翻1”小时计数器按照“ 00— 01—02,, 22—23— 00—01”规律计数。与生 活中计数规律相同。二十四进制计数同样选用74LS161和74LS160计数芯片。但 清零方式采用的是异步清零方式。 MMgM 加 EHagij Z 1 进位信号 脉冲

基于51单片机的电子日历+温度显示设计

2 电子日历设计与实现 2.1 任务分析 一、功能 本设计要求具有显示生肖、年、月、日、星期、时、分、秒等功能;阳历与阴历能够自动关联;具有温度计功能;具备年、月、日、星期、时、分、秒校准功能;设计最终达到效果如图2-1。 图2-1 设计效果图 二、系统原理 按照系统设计功能的要求,系统由单片机、时钟模块DS1302、显示模块12864、键盘以及温度采集模块DS18B20共5部分电路组成,电路构成框图如图2-2所示。 图2-2 系统设计原理框图 三、系统硬件要求 本设计电路采用AT89S51单片机为控制核心,AT89S51具有在线编程功能,低功耗,能在3V超低压工作。时钟电路由DS1302提供,它是一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。DS1302内部有一个用于临时性存放数据的31*8RAM寄存器。器件在加电情况下,可自动生成年、月、日、周、时、分、秒时间数据,该器件具有使用寿命长,精度高和低功耗等特点,同时具有掉电自动保存功能。 温度的采集采用数字式温度传感器DS18B20,此类传感器为数字式传感器而且仅需要一条数据线进行数据传输,易于与单片机连接,可以去除A/D模块,降低硬件成本,简化系统电路。另外,温度传感器DS18B20还具有测量精度高、

测量范围广等优点。显示部分用12864LED液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字、图形,显示多样,清晰可见,能够达到较好的显示效果。 2.2电路设计 一、单片机主控制模块的设计 AT89S51单片机为40引脚双列直插芯片,有四个I/O口P0,P1,P2,P3,MCS-51单片机共有4个8位的I/O口(P0、P1、P2、P3),每一条I/O线都能独立地作输出或输入。 单片机的最小系统如图3-1所示,18引脚和19引脚接时钟电路,XTAL1接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,XTAL2接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出。第9引脚为复位输入端,接上电容,电阻及开关后够上电复位电路,20引脚为接地端,40引脚为电源端,单片机电路如图2-3 所示。 图2-3 单片机电路 二、时钟电路模块的设计 DSl302数据操作原理: DSl302在任何数据传送时必须先初始化,把RST脚置为高电平,然后把8位地址和命令字装入移位寄存器,数据在SCLK的上升沿被输入。无论是读周期还是写周期,开始8位指定40个寄存器中哪个将被访问到。在开始8个时钟周期,把命令字节装入移位寄存器之后,另外的时钟周期在读操作时输出数据,在写操作时写入数据。 DS1302的引脚连接如图2-4所示。其中VCC1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由VCC1或VCC2两者中的较大者供电。当VCC2大于VCC1+0.2V时,VCC2给DS1302供电。当VCC2

LCD12864液晶显示电子钟设计

《单片机原理及应用》 课程设计说明书 题目LCD12864 液晶显示电子钟设 计 系(部) 专业(班级) 姓名 学号 指导教师 起止日期

课程设计任务书系(部):专业:

目录 一、12864液晶的工作原理 (4) 二、方案设计 (4) 2.1 实物硬件设计 (4) 2.2 系统硬件设计 (5) 2.2.1 主芯片模块 (5) 2.2.2 晶振和复位模块 (5) 2.2.3 按钮模块 (6) 2.3 系统软件设计 (6) 2.3.1 主程序设计 (6) 三、仿真和分析 (7) 四、总结体会 (7) 参考文献 (32)

一、12864液晶的工作原理 液晶显示屏中的业态光电显示材料,利用液晶的电光效应把电信号转换成数字符、图像等可见信号。如图1-1,液晶正常情况下,其分子排列很有秩序,显得清澈透明,一旦加上直流电场后,分子的排列被打乱,一部分液晶变的不透明,颜色加深因而能显示数字和图像。管脚一共1个CS1左半屏片选端,CS2右半屏片选端;V0液晶显示驱动电压,通过一个电位器接到VCC;RS数据指令选择信号,H为数据,L为指令,也叫D/I;R/W读写选择信号,H为读,L为写,。E为LCD使能端,R/W为L时,E信号下降沿锁存DB7-DB0;R/W为H时,E为H,DDRAM数据读到DB7-DB0。DB0-DB7数据传输端口。RST复位信号。-VOUT 和V0为液晶显示驱动电压。 12864是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及128×64 全点阵液晶显示器组成。可完成图形显示,也可以显示8×4个(16×16点阵)汉字。 图1-1 12864LCD液晶显示屏 二、方案设计 2.1 实物硬件设计 单片机控制液晶显示屏系统总共可分为六个环节,分别是单片机控制系统、12864字符显示模块、控制开关模块、晶振控制模块、复位电路模块和DS1302时钟控制模块。通过这六个模块的协调工作就可以完成相应的液晶屏控制和显示功能。这六个模块的相互连接如图2-1: 图2-1 硬件组成框图

基于单片机的带温度显示的数字钟设计(c51语言编程)【开题报告】

开题报告 电气工程及其自动化 基于单片机的带温度显示的数字钟设计(c51语言编程) 一、课题研究意义及现状 1980年因特尔公司推出了MCS-51单片机,近30年来,其衍生系列不断出现,从Atmel加入FLASH ROM,到philips加入各种外设,再到后来的Cygnal推出C8051F,使得以8051为核心的单片机在各个发展阶段的低端产品应用中始终扮演着一个重要的角色,其地位不断升高,资源越来越丰富,历经30年仍在生机勃勃地发展,甚至在SoC时代仍占有重要的一席之地。 单片机具有体积小、功能强、低功耗、可靠性高、价格低廉等一系列优点,不仅已成为工业测控领域智能仪表、机电一体化、实时控制、国防工业普遍采用的智能化控制工具,而且已渗入到人们工作和和生活的各个角落,有力地推动了各行业的技术改造和产品的更新换代,应用前景广阔。 C语言已经成为当前举世公认的高效简洁而又贴近硬件的编程语言之一。将C语言向单片机8051上移植十余20世纪80年代的中后期,经过几十年的努力,C语言已成为专业化单片机上的实用高级语言。C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。此外,C语言程序具有完善的模块程序结构,从而为软件开发中采用模块化程序设计方法提供了有力的保障。 与汇编语言相比,C51在功能、结构、可读性、可维护性上有明显的优势,因而易学易用。另外C51可以缩短开发周期,降低成本,可靠性,可移植性好。因此,使用C语言进行程序设计已成为软件开发的一个主流,用C语言进行8051单片机程序设计是单片机开发与应用的必然趋势。 随着人们生活水平的提高,对物质需求也越来越高,人们已不再满足于钟表原先简单的报时功能,希望出现一些新的功能,诸如环境温度显示、日历的显示、重要日期倒计时、显示跑表功能等,用以带来更大的方便。而所有这些,又都是以数字化的电子时钟为基础的,不仅应用了数字电路技术,而且还加入了需要模拟电路技术和单片机技术。其电路可以由时钟模块、人机接口模块、环境温度检测模块等部分组成。比机械式时钟具有更高的直观性和准确性,调节起来方便,且无机械装置,能够使用更长时间,并且方便维护保养,因此得到了广泛的使用。数字钟已成为人们日常生活中必不可少的物品,广泛用于个人家庭以及车站、码头、剧院、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。因此,研究实用数字钟及其扩展应用,具有很大的实用价值。二、课题研究的主要内容和预期目标 学习51单片机的基础知识熟悉其基本模块的使用、使用HD7279驱动LED数码管显示、键盘扫描和16位键盘的输入、以及温度传感器DS18B20的温度采集等。利用C51编程实现一个带温度计的

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