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

基于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)5.1 Keil软件 (30)5.1.1 Keil软件介绍 (30)5.1.2Keil C51单片机软件开发系统的整体结构 (31)5.1.3 使用独立的Keil仿真器时的注意事项 (31)5.1.4 Keil的优点 (31)5.2 程序流程 (32)5.3 程序清单 (32)第六章系统仿真及调试 (38)第七章设计心得体会 (39)参考文献 (40)第一章绪论目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。

导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。

更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。

因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。

单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O 口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。

单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:在智能仪器仪表上的应用在工业控制中的应用在家用电器中的应用在计算机网络和通信领域中的应用单片机在医用设备领域中的应用在各种大型电器中的模块化应用单片机在汽车设备领域中的应用基于单片机在现实生活中的广泛应用,及人们对于万年历、温度显示的需求度,现设计出一款基于89C51的万年历及温度显示系统。

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

此设计是通过在“单片机原理及应用”课堂上学习的知识的综合应用。

本系统设计以单片机89C51为控制器,辅以时钟芯片Ds1302、温度传感器Ds18b20、液晶显示器LM016L 。

基于89C51的万年历及温度显示系统,主要由单片机89C51、时钟芯片Ds1302、温度传感器Ds18b20、液晶显示器LM016L 等构成,具有显示当前时间、年月日及温度的功能。

第二章 设计要求及设计框图2.1 设计要求① 具有年、月、日、星期、时、分、秒等功能;② 具有温度显示功能;2.2 设计框图第三章 知识要点3.1 LMO16L 液晶模块LM016L 液晶模块采用HD44780控制器。

HD44780具有简单而功能较强的指令集,可以实现字符移动、闪烁等功能。

LM016L 与单片机 MCU (Microcontroller Unit )通讯可采用 8位或者 4位并行传输两种方式。

HD44780控制器由两个8位寄存器、指令寄存器(IR )和数据寄存器(DR )、忙标志(BF )、显示数据 RAM (DDRAM )、字符发生器ROM AT89C51主控模块 LM016L 液晶显示 Ds1302时钟电路Ds18b20实时环境温度采集电路(CGROM)、字符发生器RAM(CGRAM)、地址计数器(AC)。

IR用于寄存指令码,只能写入不能读出;DR用于寄存数据,数据由内部操作自动写入DDRAM和CGRAM,或者暂存从DDRAM和 CGRAM读出的数据。

BF为1时,液晶模块处于内部处理模式,不响应外部操作指令和接受数据。

DDRAM用来存储显示的字符,能存储80个字符码。

CGROM由8位字符码生成5*7点阵字符160种和 5*10点阵字符32种,8位字符编码和字符的对应关系,可以查看相关文献。

CGRAM 是为用户编写特殊字符留用的,它的容量仅64字节。

可以自定义8个 5*7点阵字符或者4个 5*10点阵字符。

AC可以存储DDRAM和 CGRAM的地址,如果地址码随指令写入 IR,则IR自动把地址码装入AC,同时选择DDRAM或者CGRAM单元。

3.1.1 LM016L引脚说明管脚号名称电平功能描述1 VSS 0V2 VDD 5.0V3 RS H/L H:数据线上为数据信号;L:数据线上为指令信号4 RW H/L H:读数据模式;L:写数据模式5 E H/L 使能信号端6 DB0~DB7 H/L 数据线3.1.2 控制指令控制指令通过对HD44780写入控制指令,HD44780产生显示驱动信号来驱动LM016L。

HD44780的控制指令主要有:清除显示(Clear Display)、地址归位( Return Home)、输入模式设定(Entry Mode Set)、显示开/关控制(Display On/Off Control)、功能设定(Function Set)、设定CGRAM的地址(Set CGRAM Address)、设定DDRAM的地址(Set DDRAM Address)、写DDRAM/CGRAM(Write Date to DDRAM/CGRAM)、读忙标志和地址(Read Busy Flagand Address)以及从DDRAM和CGRAM中读数据(Read Date from DDRAM/CGRAM)。

3.1.3 基于Proteus ISIS 7的液晶模块仿真1、接口设计运行Proteus ISIS 7进入设计界面,依照图所示在元件库中选择需要的元件。

80C51的P0口作为8位数据的输出端,P2.0、P2.1、P2.2作为控制信号的输出端。

2、软件设计电路图绘制好之后,就可以编写LM016L的驱动程序。

LM016L的操作有两大类:读操作和写操作。

一般情况下不需要从液晶中读取数据,所以对液晶操作主要是写指令和写数据两个写操作,对于忙标志(BF),采用延时的方法,保证液晶模块有足够时间进行内部数据处理。

在写源程序时,需要根据液晶模块的时序图编写程序。

(1)写指令子程序RSR/WE DB0 - DB7WRITE_COMMAND:;写指令子程序CLR[4] LCDE;清使能信号CLR RS;RS=0,RW=0写指令CLR RWMOV P0, A ;送指令字(2)写数据子程序WRITE_DATA入口参数:数据放在累加器A中WRITE_DATA:;写数据子程序CLR LCDE;清使能信号SETB RS ;RS=1,RW=0写数据CLR RWMOV P0, A ;送数据RS BIT P2.0; RW BIT P2.1;LCDE BIT P2.2下面是写指令和写数据的源代码:写指令子程序WRITE_COMMAND入口参数:指令字放在累加器A中有效数据T2T3T1T4SETB LCDELCALL DELAYCLR LCDERETSETB LCDELCALL DELAYCLR LCDERET;设置使能信号;延时;设置使能信号;延时液晶模块初始化主要包括:功能设定(Function Set)、显示开/关控制(Display On/OffControl)、清除显示(Clear Display)、进入点设定(Entry Mode Set)。

INITIAL_LCD:;液晶模块初始化 MOV A,#06H ;输入方式设置;8位接口,两行显示,5*7点阵字符 LCALL WRITE_COMMAND MOV A,#38H MOV A,#01H ;清屏指令LCALL WRITE_COMMAND LCALL WRITE_COMMANDMOV A,#0EH ;显示开关设置 RETLCALL WRITE_COMMAND3.3自定义字符及其显示CGRAM是用户编写特殊字符用的,它的容量仅64字节,地址为00~3FH。

定义一个5*7点阵字符需要8个字节,这8个字节由CGRAM地址的高3位确定,相同的为一组。

3.2 单片机AT89C51AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。

AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。

单片机的可擦除只读存储器可以反复擦除100次。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。

AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

3.2.1 主要特性·与MCS-51 兼容·4K字节可编程闪烁存储器寿命:1000写/擦循环数据保留时间:10年·全静态工作:0Hz-24Hz·三级程序存储器锁定·128*8位内部RAM·32可编程I/O线·两个16位定时器/计数器·5个中断源·可编程串行通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路3.2.2 管脚说明VCC:供电电压。

相关主题