基于单片机C51的简单万年历设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第十届学生科技节

-----单片机设计大赛

作品名称:万年历

专业:物联网

班级:1

****:***

组长:邓清兰学号:3112113111

组员:黄孟秋学号:3112113101

目录

一、绪论 0

二、系统功能 0

三、硬件电路 0

3.1. 电路设计框图 0

3.2. 系统硬件概述 (1)

四、各模块功能及工作原理 (1)

4.1. 单片机主控制模块的设计 (1)

4.2. LCD1602显示模块 (2)

4.3. 键盘模块 (5)

五、实现结果 (8)

六、系统的实用性及创新性 (9)

七、调节中遇到的问题及心得体会 (9)

八、程序设计 (10)

8.1. 流程图 (10)

8.2. 源代码 (11)

九、总结及感谢 (23)

一、绪论

众所周知单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。本设计要制作的就是单片机于生活中最为常见的几种应用——万年历。本设计以AT89S52单片机作为核心,可以显示当前的日历和时间,时间也可以人为设定,显示格式为年(四位),月(两位),日(两位),时(两位),分(两位),秒(两位)。设置时间的位切换、设定数值、启动定时器、切换日历通过外部中断来实现。万年历显示电路由LCD1602组成,制作该装置的材料需要有软硬件的支持,硬件方面AT89C51单片机,晶振,电源,液晶屏LCD1602。蜡變黲癟報伥铉锚鈰赘。

二、系统功能

本次设计的是万年历,采用LCD1602显示,实现的功能如下:

1.显示当前时间,显示格式为年(四位),月(两位),日(两位),时(两

位),分(两位),秒(两位);

2.时钟计时,自动进行时间的位切换;

3.键盘设置,能通过键盘设定当前时间和计时,并通过键盘人为设定时间。

三、硬件电路

3.1.电路设计框图

3.2.系统硬件概述

本电路是由AT89S52单片机为控制核心,具有在线编程功能,低功耗,能在3V超低压工作,本系统选用12MHZ的晶振,使得单片机有合理的运行速度;利用液晶屏LCD1602显示时间信息,通过对AT89S52单片机的编程控制液晶屏LCD1602的显示。显示时间在LCD1602,通过按键切换选择。外部按键可及时设定或调整时间信息。買鲷鴯譖昙膚遙闫撷凄。

四、各模块功能及工作原理

4.1.单片机主控制模块的设计

AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。AT89S52单片机为40引脚双列直插芯片,有四个I/O口P0,P1,P2,P3, MCS-51单片机共有4个8位的I/O口(P0、P1、P2、P3),每一条I/O线都能独立地作输出或输入。18引脚和19引脚接时钟电路,XTAL1接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,XTAL2接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出。第9引脚为复位输入端,接上电容,电阻及开关后够上电复位电路,20引脚为接地端,40引脚为电源端。引脚图如图图4.1:

图4.1 AT89S52 引脚结构图4.2.1 LCD1602 引脚结构

4.2.LCD1602显示模块

4.2.1LCD1602引脚介绍

LCD1602采用标准的14脚(无背光)或16脚(带背光)接口,引脚图

第1脚:VSS为地电源。

第2脚:VDD接5V正电源。

第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。猫虿驢绘燈鮒诛髅貺庑。

第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。

第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W 为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。锹籁饗迳琐筆襖鸥娅薔。

第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。

第7~14脚:D0~D7为8位双向数据线。

第15脚:背光源正极。

第16脚:背光源负极。

4.2.2LCD1602指令

1602液晶模块内部的控制器共有11条控制指令,如表4.2.3

1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)構氽頑黉碩饨荠龈话骛。

指令1:清显示,指令码01H,光标复位到地址00H位置。

指令2:光标复位,光标返回到地址00H。

指令3:光标和显示模式设置I/D:光标移动方向,高电平右移,低电平左移S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。輒峄陽檉簖疖網儂號泶。

指令4:显示开关控制。D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示C:控制光标的开与关,高电平表示有光标,低电平表示无光标B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。尧侧閆繭絳闕绚勵蜆贅。

指令5:光标或显示移位S/C:高电平时移动显示的文字,低电平时移动光标。

指令6:功能设置命令DL:高电平时为4位总线,低电平时为8位总线N:低电平时为单行显示,高电平时双行显示F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。识饒鎂錕缢灩筧嚌俨淒。

指令7:字符发生器RAM地址设置。

指令8:DDRAM地址设置。

指令9:读忙信号和光标地址BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。凍鈹鋨劳臘锴痫婦胫籴。

指令10:写数据。

指令11:读数据。

4.2.3 LCD1602读/写操作

LCD1602基本操作时序说明,如表4.2.4

相关文档
最新文档