用PG12864LCD设计的指针式电子钟Word文档格式.docx

上传人:b****1 文档编号:14551991 上传时间:2022-10-23 格式:DOCX 页数:30 大小:224.19KB
下载 相关 举报
用PG12864LCD设计的指针式电子钟Word文档格式.docx_第1页
第1页 / 共30页
用PG12864LCD设计的指针式电子钟Word文档格式.docx_第2页
第2页 / 共30页
用PG12864LCD设计的指针式电子钟Word文档格式.docx_第3页
第3页 / 共30页
用PG12864LCD设计的指针式电子钟Word文档格式.docx_第4页
第4页 / 共30页
用PG12864LCD设计的指针式电子钟Word文档格式.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

用PG12864LCD设计的指针式电子钟Word文档格式.docx

《用PG12864LCD设计的指针式电子钟Word文档格式.docx》由会员分享,可在线阅读,更多相关《用PG12864LCD设计的指针式电子钟Word文档格式.docx(30页珍藏版)》请在冰豆网上搜索。

用PG12864LCD设计的指针式电子钟Word文档格式.docx

2.2.2LCD12864引脚介绍4

2.2.312864内部功能器件及相关功能5

2.2.412864液晶与单片机接口电路6

2.3设置模块8

2.4振荡电路9

2.5复位电路9

3系统软件设计9

3.1总体软件设计9

3.2时钟函数模块10

3.3指针时钟设计11

3.3.1实现功能11

3.3.2实现算法11

3.3.3函数设计13

3.4显示函数模块15

3.4.1实现功能17

3.4.2函数设计17

3.5.1功能18

3.5.2函数18

3.6主函数模块19

4.设计结果20

5.使用方法20

6.设计进度20

7.教学单位可以提供的条件20

致谢21

参考文献21

[摘要]本设计采用的是STC89C51单片机,通过单片机内部定时器定时实现时钟定时计数功能,并以模拟时钟的形式显示在LCD_12864上。

同时可通过三个按键可实现时间的调节。

[关键词]时钟AT89C51单片机LCD12864液晶

ByusingtheanalogelectronicclockdesignPG12864LCD

Abstract:

ThisdesignusesSTC89C51microcontroller,throughtheMCUinternaltimerfromtimetotimetoachievetheclocktimingandcountingfunctionandintheformofanalogclockdisplayontheLCD12864.Atthesametimecanbeadjustedbythethreekeystorealizethetime.

Keywords:

AT89C51microcontrollerLCD12864LCDclock

引言

如今二十一电子钟、机械式手表等钟表已经普遍存在于市场,并且钟表已经成为人们生活中不可缺少的一部分。

在生活中到处都能看到其身影。

当穿行于马路上时总会看到几乎每个人手腕上戴着一块手表。

当大人家里做客时总能看到大厅里面挂着个钟表。

当打开手机时屏幕上依旧是钟表的画面。

时间伴随着我们钟表也成为我们生活中必不可少的一大部分。

当今市场有好多电子钟,但大多数是纯数字式的,指针式的电子钟比较新颖,而且具有真实表盘式时钟的效果。

用PG12864LCD设计的模拟电子钟采用PG12864LCD液晶屏,用来模拟表盘与时分秒指针指示当前时钟,此模拟指针式电子钟实现的功能为:

在PG12864显示屏上显示圆形表盘与时分秒三个指针表示当前时刻;

三个按键,K1键用来选择工作模式;

K2键用来选择调整时分秒;

K3键用来调节大小。

1设计任务及方案论证

1.1设计任务与要求

利用单片机等器件做一个简易的模拟指针式时钟,硬件设计以单片机为主,主要包括显示模块、复位模块、时钟模块。

采用PG12864液晶屏作为显示单元,液晶屏上显示圆形表盘、时、分、秒指针,并且设置按钮可以调节时间,软件设计主要是通过单片机编程软件KeilC51设计,模拟仿真是利用仿真软件Proteus对所设计的硬件电路和程序进行调试。

1.2总体方案论证与设计

在设计中要包含显示模块,控制器,设置模块;

方案一:

利用基于MFC的Windows应用程序在屏幕上显示一个指针式时钟,并可通过菜单选项对时间调节,设计的时钟画面清晰,显示准确,但缺点是时间必须与系统机器时间一样,不可以随意设置时间,另外此方案涉及微软基础类库,对于不熟悉的我们难度较大。

方案二:

因此我们采用另一套方案,显示模块用LCD12864模块,可以显示系统时间;

整个代码实现主要由51单片机来实现;

设置模块为按键处理可自行调节时间,整体流程以AT89C51单片机为控制核心,将得到的数据通过LCD12864模块显示出来,同时通过相应的按键调整相应的值,此方案具有设计简单,成本低廉,可执行度高等优点,因此采用本方案。

2系统硬件设置

2.1STC89C51单片机简介

在设计中可用STC89C5代替AT89C51,此芯片具有速度

更高,功能更全,寿命更长,价格更低等优点;

我们采用双

列直插40引脚的STC89C51,它可以实现ISP在线编程功能,

然而AT89C51则不可以,将AT89C51的程序通过软件直接下载

到STC89C51中后,就可以代替AT单片机直接工作,基本上

都不需要做修改就可以正常工作了,STC公司推出的51系列

单片机芯片是兼容其它51单片机的,而51单片机作为单片机

界的应用最广泛芯片,几乎每一个高等院校、普通学校、网

站、业余单片机培训都是用51单片机作为基础而学习的,正

是因为如此可以利用的参考资料和例子也是最多的,而且由

于STC89C51自带有EEPROM,其在程序中更是可以直接修改,

断电之后也不会丢失数据。

STC89C51单片机管脚图如图2.1所示:

STC89C51单片机的引脚介绍:

-VCC:

供电电压

-GND:

接地 

-P0口:

P0口是一个8位双向I/O口,当每个引脚第一次被写1时,定义其为高阻态输入,此外P0能够用来作为外部程序数据存储器,为此它可以被定义为数据/地址的第八位,在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此外P0作为数据口时,需外接上拉电阻。

-P1口:

P1口缓冲器能接收输出4TTL门电流,当P1口管脚写入1后,由于P1口是一个内部提供上拉电阻的8位双向I/O口,所以被内部上拉为高,可用作输入,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口除了作为一般的I/O口外,更重要的用途是它还有复用功能,如下所示:

P3.0RXD第二功能可作为串行输入口;

P3.1TXD第二功能可作为串行输出口;

P3.2/INT0(外部中断0);

P3.3/INT1(外部中断1);

P3.6/WR第二功能可作为外部数据寄存器写选通;

P3.7/RD第二功能可作为外部数据寄存器读选通;

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

RST:

复位输入,当振荡器复位时,要保持RST脚两个机器周期的高电平,当STC89C51通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位;

初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,指针堆栈写入07H,其它专用的寄存器被写“0”,RESET由高转低时,单片机内部即从0000H地址开始执行,但是,初始复位不改变RAM(包括工作寄存器R0-R7)的状态。

特殊功能寄存器

初始态

ACC

00H

B

PSW

SP

07H

DPH

TH0

DPL

TL0

IP

xxx00000B

TH1

IE

0xx00000B

TL1

TMOD

TCON

SCON

xxxxxxxxB

SBUF

P0-P3

1111111B

PCON

0xxxxxxxB

AALE/PROG:

地址锁存允许的输出电平用于锁存地址的地位字节,当访问外部存储器时,在FLASH编程期间,此引脚用于输入编程脉冲;

而在平常,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6,因此它可用作对外部输出的脉冲或用于定时目的,然而要注意的是:

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

另外,该引脚被略微拉高,如果微处理器在外部执行状态ALE禁止,置位无效[1];

-PSEN:

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

-EA/VPP:

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

当/EA端保持高电平时,此间内部程序存储器,在FLASH编程期间,此引脚也用于施加12V编程电源(VPP);

-XTAL1:

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

-XTAL2:

来自反向振荡器的输出;

振荡器特性:

XTAL1和XTAL2分别为反向放大器的输入和输出,该反向放大器可以配置为片内振荡器,石晶振荡和陶瓷振荡均可采用,如采用外部时钟源驱动器件,XTAL2应不接,有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度[1]。

2.2显示模块设计

本设计显示模块采用不带字库PGLCD12864。

2.2.1PG12864LCD的特性介绍

PG12864LCD是像素可寻址的图形液晶显示屏模块,PG12864LCD特性如下:

工作电压为+5V,可自带驱动LCD所需的负电压;

全屏幕点阵,点阵数为128列*64行,可显示8行*4行个(16*16点阵)汉字,也可完成图像,字符的显示[3];

与CPU接口采用5条位控制总线和8位并行数据总线输入输出;

内部有显示数据锁存器,自带EL驱动;

简单的操作指令;

数据口可以采用串行传输与并行传输

2.2.2LCD12864引脚介绍

表2.2LCD12864引脚

管脚号

管脚名称

管脚功能描述

1

VSS

接地

2

VDD

接电压

3

V0

液晶显示器驱动电压

4

RS

RS=“H”表示DB7-DB0为显示数据;

RS=“L”表示DB7-DB0为显示指令数据

5

R/W

R/W=“H”,E=“H”数据

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1