2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > keil c语言 1602时钟代码 基于单片机的LCD1602电子时钟设计.doc

keil c语言 1602时钟代码 基于单片机的LCD1602电子时钟设计.doc

时间:2021-12-20 23:31:31

相关推荐

keil c语言 1602时钟代码 基于单片机的LCD1602电子时钟设计.doc

基于单片机的LCD1602电子时钟设计

设计任务和目的

1.1、设计任务

(1):用单片机设计基于LCD1602的电子时钟,显示时间和日期;

(2):误差精度控制在1s/天;

(3):具有时间和日期的校准功能;

(4):能区分某年是闰年或平年,并对应显示2月份的天数;

(5):根据月份的不同显示不同的最大日数;

(6):搭建仿真电路图,模拟单片机要实现的功能;

(7):焊接单片机开发板;

(8):编写程序,下载并调试,实现要求的功能。

1.2、设计目的

(1):熟练掌握KEIL软件的使用方法;

(2):熟练掌握PROTEUS软件的使用方法;

(3):掌握单片机I/O接口的工作原理;

(4):掌握LCD显示器的工作原理及编程方法;

(5):掌握独立式键盘的工作原理及编程使用方法;

(6):掌握单片机的下载使用方法。

设计思路和方案论证

2.1、设计思路

电路总体上分为控制和显示部分。以单片机最小系统作为核心控制电路,控制LCD显示,具体显示内容及方式由软件来完成;由于有时钟和日期的调节功能需要校准电路和基本的复位电路,复位电路采用按键复位,调节键、加1键、减1键三个按键完成,共需四个按键;计时功能由固定频率的晶振完成(采用11.0592MHz);显示部分主要采用LCD1602作为显示。

2.2、方案论证

(1):时钟芯片的选择和论证

方案一:采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、月、年以及闰年补偿的年进行计数,精度也较高,工作电压2.5V~5.5V范围内,功耗也较低,但价格比较贵。

方案二:直接采用单片机定时计数器提供秒信号,使用程序实现秒、分、时、日、月、年计数。采用此方案实现虽然有一定的时间误差,但可减少芯片的使用,节约成本,易于实现,符合现实选用,所以采用此种作为时钟信号发生器。

(2):显示模块选择方案和论证:

方案一:采用点阵式图形LCD12864液晶显示屏,液晶显示屏的显示功能强大,可显示文字,图形,显示多样,清晰可见,但是价格昂贵,需要的接口线多,所以在此设计中不采用点阵式图形LCD12864液晶显示屏。

方案二:采用点阵式字符型LCD1602液晶显示屏,LCD1602是专门用于显示字母、数字、符号等的点阵型液晶显示模块,分4位和8位数据传输方式。提供“5×7点阵+光标”和“5×10点阵+光标”的显示模式。价格现对便宜,所以用此种作为显示。

系统的硬件设计与实现

3.1 电路设计框图

图1:整体设计方框图

3.2 单片机最小系统的设计

以AT89C51为核心组成的单片机的最小系统,主要包括时钟振荡电路,复位电路等。正5V电源直接接到89C51的40脚(VCC),20脚(GND)接地。时钟振荡电路的18脚(XTAL1)和19脚(XTAL2)外接11.0592MHZ的晶振和二个30PF的电容,振荡频率就是晶振的固有频率,经过一定的电路连接实现计时的功能。复位电路采用上电自动复位和手动复位相结合的方式接到89C51的9端(RST)。单片机最小系统原理图如图2所示:

图2:单片机最小系统原理图

3.3 显示电路设计

采用LCD1602液晶显示,LCD1602的D0~D7与单片机的P0口相连,P0口作为I/O口输出时必须外接10KΩ的上拉电阻。分别用P1.0、P1.1、P1.2作为LCD1602的RS、RW、E控制线。显示电路如图3所示:

图3:液晶显示电路

3.4 时间调整电路

该电路设计有三个轻触式按键,分别命名为:模式设定键S1、加调整键S2、减调整键S3。由P2.0口外接S1,P2.1外接S2,P2.2外接S3,P2.3作为公共端。

按一下S1,调整光标开始出现在秒位,再按一下S1光标移动到分,按一下光标移动一个校准位直到年位。S2实现调整加1功能,S3实现调整减1功能。时间调整电路如图4所示:

图4:键盘电路

3.5 复位电路及晶振电路

该电路采用按键复位,有一个22uF的电容、一个按键S4、一个10K的电阻和一个220Ω的电阻构成。在产品工作期间出现错误或死机现象可采用手动复位,即按下S4,此时无论电路处于何种状态,电路都会恢复到初始状态的显示。

晶振电路可以给单片机提供所需要的时

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。