专业综合课程设计报告题目:用液晶屏显示数字时钟
专业班级:14信工一班
学生姓名:***
学号:********
指导教师:***
摘要
随着电子科技的不断发展,电子技术正在改变我们的学习、生活、工作,因此本开发希望带给大家一种生活上的乐趣。
本系统采用AT89C51单片机作为主控制器,选用DS1302实时显示时钟与相关的外围电路组成控制系统,将DS1302采集到的测量信号传送到单片机进行处理,经分析后再传送给LM016L液晶屏,从而达到实时数字时钟显示在LM016L 上面的目的。
目录
1.设计任务与要求 (4)
1.1目的与意义 (4)
1.2设计任务 (4)
1.3设计要求 (4)
2.设计方案选择与论证 (4)
2.1方案正确的要求 (5)
2.2时间的显示 (5)
2.3原理与最小位置的功能 (6)
3.软件设计 (6)
3.1软件设计程序的选择 (7)
3.2软件的仿真图 (8)
4.结论 (8)
1 设计任务与要求
1.1 目的和意义
1. 掌握AT89C51芯片的功能。
2. 会用DS1302设计时钟。
3. 掌握绘制仿真图。
1.2 设计任务
本文要设计一个基于单片机的时间控制系统。
具体技术指标要求如下:
选用DS1302实时显示时钟与相关的外围电路组成控制系统,将DS1302采集到的测量信号传送到单片机进行处理,经分析后再传送给LM016L液晶屏,从而达到实时数字显示在LM016L上面的目的。
1.3 设计要求
本文要设计一个基于单片机的时间控制系统。
具体技术指标要求如下
设计可调开关,可以调节时间与日期。
进入调时:点击后进入调时,调时光标会出现在LM016L上。
调时移动:点击后原本的光标会移动一个单位。
加一/减一:点击后,会在原本的数值上面加一/减一。
退出调时:点击后,光标消失。
2 设计方案选择与论证
2.1 方案正确的要求
本文要设计一个基于单片机的时间控制系统。
具体技术指标要求如下:
proteus可以正常运作,并且点击5个开关,会有相应的改变并伴随着蜂鸣器的声音,当时间,日期全都正确的时候表示方案是成功的。
2.2时间的显示
ML016L和1602一样,都是两行十六列的液晶显示屏。
通过程序对ML016L 进行初始化后,通过写指令和写数据的操作就可以再液晶屏上显示出对应的数据,而时钟数据则是从DS1302获取。
这样可以显示出时间。
2.3原理与最小位置的功能
一、AT89C51
AT89C51 提供以下标准功能:4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
XTAL1:单芯片系统时钟的反向放大器输入端。
XTAL2:系统时钟的反向放大器输出端,一般在设计上只要在XTAL1和XTAL2上接上一只石英震荡晶体系统就可以工作了,此外可以在两引脚与地之间加入20PF的小电容,可以使系统更稳定,避免噪音干扰而死机。
RESET:重置引脚,高电平动作,当要对晶体重置时,只要对此引脚电平提升至高电平并保持两个及其周期以上的时间便能完成系统重置的各项动作,使得内部特殊功能寄存器内容均被设成已知状态。
电路接口说明:
AT889C51 的P0口作为数据的输出端。
二、DS1302
DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时
时钟电路,它可以对年、月、日、周、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。
采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。
DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。
DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。
1)Vcc1:后备电源,VCC2:主电源。
在主电源关闭的情况下,也能保持时钟的连续运行。
DS1302由Vcc1或Vcc2两者中的较大者供电。
当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。
当Vcc2小于Vcc1时,DS1302由Vcc1供电。
2)X1、X2:振荡源,外接32.768kHz晶振。
3)RST:复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。
RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。
当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。
如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。
上电运行时,在Vcc>2.0V之前,RST必须保持低电平。
只有在SCLK为低电平时,才能将RST置为高电平。
4)I/O为串行数据输入输出端(双向)。
5)SCLK为时钟输入端。
三、RESPACK-8
一般是接在51单片机的P0口,因为P0口内部没有上拉电阻,不能输出高电平,所以要接上拉电阻。
排阻就是好多电阻连载一起,他们有一个公共端。
1端为公共端接VCC或地,其他接需要要操作的端口。
四、LM016L
LM016L与1602使用方法相同。
引脚说明:
引脚符号功能说明
1 VSS 一般接地
2 VDD 接电源(+5V)
3 VEE 液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。
4 RS RS为寄存器选择,高电平1时选择数据寄存器、低电平0时
选择指令寄存器。
5 R/W R/W为读写信号线,高电平(1)时进行读操作,低电平(0)时进
行写操作。
6 E E(或EN)端为使能(enable)端,下降沿使能。
7 DB0 底4位三态、双向数据总线0位(最低位)
8 DB1 底4位三态、双向数据总线1位
9 DB2 底4位三态、双向数据总线2位
10 DB3 底4位三态、双向数据总线3位
11 DB4 高4位三态、双向数据总线4位
12 DB5 高4位三态、双向数据总线5位
13 DB6 高4位三态、双向数据总线6位
14 DB7 高4位三态、双向数据总线7位(最高位)(也是busy flang)原理:
AT89C51单片机作为主控制器,选用DS1302实时显示时钟与相关的外围电路组成控制系统,将DS1302采集到的测量信号传送到单片机进行处理,经分析后再传送给LM016L液晶屏,从而达到实时数字时钟显示在LM016L上面的目的。
3.软件设计
3.1软件设计程序的选择
本设计选择C语言作为编程语言。
C语言虽然执行效率没有汇编语言高,但语言简洁,使用方便,灵活,运算丰富,表达化类型多样化,
数据结构类型丰富,具有结构化的控制语句,程序设计自由度大,有很
好的可重用性,可移植性等特点。
而汇编语言使用起来并没有这么方便。
本设计选用了Keil作为编程软件,.Keil C51生成的目标代码效率非常
之高,多数语句生成的汇编代码很紧凑,容易理解。
在开发大型软件时
更能体现高级语言的优势。
3.2软件的仿真图
4 结论
总的来说,系统实现了用LM016L显示时钟的功能,并且可以通过开关调节时间。
参考文献
《基于51单片机的时钟设计》
《DS1302可调电子时钟1602显示proteus仿真》。