LCD12864液晶显示电子钟设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《单片机原理及应用》
课程设计说明书
题目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 硬件组成框图
2.2 系统硬件设计
本硬件电路主要由四大模块组成:主芯片模块;晶振和复位电路模块;控制接钮模块;显示电路模块。
2.2.1 主芯片模块
主芯片模块即单片机模块,XTAL1:接外部晶振和微调电容的一端。在片内,它是振荡电路反相放大器的输入端。XTAL2:接外部晶振和微调是容的一端。RST:AT89C51的复位信号输入引脚,高电平有效。当此输入端保持两个机器周期的高电平时,就可以完成复位操作。ALE:允许地址锁存信号端。EA:该引脚为低电平时,则读取外部的程序代码来执行程序。P0、P1、P2、P3:8位并行输入输出口。每个端口都是8位准双向口,共占32只引脚。每一条都能独立地用作输入或输出。每个端口都包括一个锁存器、一个输出驱器和输入缓冲器。作输出时,数据可以锁存;作输入时,数据可以缓冲。图如图3—1。
图3-1 单片机引脚图
2.2.2 晶振和复位模块
89C51芯片内部有一个高增益反相放大器,用于构成振荡器。如图3—2,反相放大器的输入端为XTAL1,输出端XTAL2,两个跨接石英晶体及两个电容就可以构成稳定的自激振荡器。XTAL1 是片内振荡器的反相放大器输入端,XTAL2 则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2 悬空。一个晶体振荡器,接在单片机内部的振荡电路上,两个电容是起振电容,频率越高,应该越小。
图4-1 晶振模块
在振荡器运行时,有两个机器周期(24 个振荡周期)以上的高电平出现在此引脚时,将使单片机复位,只要这个脚保持高电平,51 芯片便循环复位。复位后P0-P3 口均置1 引脚表现为高电平,程序计数器和特殊功能寄存器SFR 全部清零。当复位脚由高电平变为低电平时,芯片为ROM 的00H 处开始运行程序。如上图5-1所示复位电路,由于复位时高电平有效,当刚接上电源的瞬间,电容C1两端相当于短路,即相当于给RESET引脚一个高电平,等充电结束时(这个时间很短暂),电容相当于断开,这时
图5-1 复位模块
2.2.3 按钮模块
本模块采用四个按钮进行控制,通过串行口输入输出连接,当K1按键波动一次后,方可进行年、月、日、星期、时、分的改变,当循环满时,按下K0可实现对闹钟的改变。按键K2、K3分别实现加一减一的操作。
图6-1 按钮模块
2.3 系统软件设计
2.3.1 主程序设计
图8-1 LCD显示程序和初始化子程序流程图
三、仿真和分析
将程序下载到单片机开发板上,LCD12864显示如下图,第一行为汉字“数字电子钟”,第二行为时分秒,第三行为年月日以及星期,第四行为闹钟,通过按键可实现时间的调整,也可实现整点报时和闹钟。符合设计要求。
图9-1 实物仿真图
程序:
#include
#include
#include
#define uchar unsigned char
#define uint unsigned int
sbit rs=P1^0;//12864引脚定义
sbit rw=P1^1;
sbit en=P1^2;
sbit PSB=P1^3;
sbit beep=P3^4;//蜂鸣器引脚定义
sbit k1=P3^5;//按键定义
sbit k2=P3^6;
sbit k3=P3^7;
sbit k0=P0^0;
uint t,k,kk;
uchar shi,fen,miao,nian=13,yue,ri,zhou,shi0,fen0,miao0; uchar code dis1[]={0xca,0xfd,"字电子钟"};//显示字组uchar code dis2[]={"00时00分00秒"};
uchar code dis3[]={"00年00月00日 1"};
uchar code dis4[]={"闹钟00时00分00秒"};
void delayms(uint xms)//延时xms函数
{