电子时钟LCD显示课程设计

上传人:s9****2 文档编号:455731753 上传时间:2022-11-26 格式:DOC 页数:14 大小:118KB
返回 下载 相关 举报
电子时钟LCD显示课程设计_第1页
第1页 / 共14页
电子时钟LCD显示课程设计_第2页
第2页 / 共14页
电子时钟LCD显示课程设计_第3页
第3页 / 共14页
电子时钟LCD显示课程设计_第4页
第4页 / 共14页
电子时钟LCD显示课程设计_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《电子时钟LCD显示课程设计》由会员分享,可在线阅读,更多相关《电子时钟LCD显示课程设计(14页珍藏版)》请在金锄头文库上搜索。

1、 目录1. 设计要求.12. 时钟总体设计思路.13. 系统硬件设计.13.1 单片机控制系统.3 3.2 键盘控制系统设计.3 3.3 显示电路.4 3.4 硬件原理及说明.4 3.5 主要性能参数.54. 软件设计. 54.1 软件功能.54.2软件设计.64.3 汇编源程序.5 5. Proteus仿真.11 6. 课程设计总结.12 参考文献.131. 设计要求 以AT89C51单片机为核心的时钟,在LED显示器上显示当前的时间:使用字符型LCD显示器显示当前时间。显示格式为“时时:分分:秒秒”。用4个功能键操作来设置当前时间。功能键K1K4功能如下。K1设置小时。K2设置分钟。K3设

2、置秒数。程序执行后工作指示灯LED闪动,表示程序开始执行,LED显示“00:00:00”,然后开始计时。 单片机是一种集成电路芯片,采集超大规模集成电路技术把具有数据处理能力(如算数运算、逻辑运算、数据传送、中断处理)的微型处理器,随机存取数据存储器(RAM)、只读程序存储器(ROM)、输入/输出电路(I/O),可能还包括定时/计数器、串行通信口(SCI)、显示驱动电路(LCD或LED驱动电路)、脉宽调制电路(PWM)、模拟多路转化器及A/D转化器等电路集成到一片芯片上,构成一个最小而又完善的计算机系统。这些电路能在软件的控制下准确、迅速、高效的完成程序设计者事先规定的任务。 2. 时钟的总体

3、设计思路按照系统的设计功能要求,本时钟系统的设计必须采用单片机软件系统实现,用单片机的自动控制能力配合按键控制,来控制时钟的调整及显示。微型控制器时钟电路数据显示按键调时 图一 系统总原理图 3. 系统硬件设计 3.1 单片机控制系统 本次设计时钟电路,采用了ATC89C51单片机芯片控制电路,这种单片机芯片比较简单,并且省去了很多复杂的线路,更容易表达和理解,通过按钮来调节电子钟的时、分、秒。并且这次电路我采用了一个按钮控制一个显示的方案,在调节小时/分钟/秒数时,只需要按下对其控制的按钮进行调节就行了,不要普遍所见的需要进入调节界面。同时这次我采用了c语言控制整个时钟的显示,这样通过三个模

4、块:单片机芯片、LED显示屏、按钮控制电路即可达到设计要求。3.2 键盘控制系统设计按键需要3个,分别实现为调整小时、分钟、秒数三个功能。用单片机的3个I/O口接收控制信号,其电路如图下: 图五 按键调时电路通过控制键来控制所要调节的是时、分、还是秒。在按下小时/分/秒键后将对小时/分/秒进行调整调整,从而调整到自己所需要的时间。3.3 显示电路显示电路如图所示: 图六 显示电路LM016L液晶模块采用HD44780控制器,hd44780具有简单而功能较强的指令集,可以实现字符移动,闪烁等功能,LM016L与单片机MCU通讯可采用8位或4位并行传输两种方式,hd44780控制器由两个8位寄存器

5、,指令寄存器(IR)和数据寄存器(DR)忙标志(BF),显示数RAM(DDRAM),字符发生器ROMA(CGOROM)字符发生器RAM(CGRAM),地址计数器RAM(AC)。IR用于寄存指令码,只能写入不能读出,DR用于寄存数据,数据由内部操作自动写入DDRAM和CGRAM,或者暂存从DDRAM和CGRAM读出的数据,BF为1时,液晶模块处于内部模式,不响应外部操作指令和接受数据,DDTAM用来存储显示的字符,能存储80个字符码,CGROM由8位字符码生成5*7点阵字符160中和5*10点阵字符32种.8位字符编码和字符的对应关系,CGRAM是为用户编写特殊字符留用的,它的容量仅64字节,可

6、以自定义8个5*7点阵字符或者4个5*10点阵字符,AC可以存储DDRAM和CGRAM的地址,如果地址码随指令写入IR,则IR自动把地址码装入AC,同时选择DDRAM或CGRAM4.1 软件功能.403 丁元杰.单片微机原理及应用.北京:机械工业出版社,1994143.4 硬件原理及说明 AT89C51是美国Intel公司生产的低电压,高性能CHMOS8位单片机,片内含有4k bytes的可反复擦写的只读程序存储器(PEROM)和128 bytes的随机存取数据存储器(RAM),器件采用Intel公司的高密度、非易失性存储技术生产,片内置通用4位中央处理器(CPU)和Flash存储单元,功能强

7、大AT89C51单片机适合于许多较为复杂控制应用场合。 3.5主要性能参数 与MCS-51产品指令和引脚完全兼容 4k字节可重擦写Flash闪速存储器 1000次擦写周期 全静态操作:0Hz24MHz 三级加密程序存储器 1288字节内部RAM 32个可编程I/O口线 2个16位定时/计数器 5个中断源 可编程串行UART通道 低功耗空闲和掉电模式4. 软件设计4.1 软件主要完成的功能(1)显示时间程序用软件调节时间,通过程序的调节,最后用LED现实时钟(2)调节时间程序按键调节时间,能实现时、分的调节4.2软件设计的主要流程时间控制程序时间控制程序,用中断准确的控制时间,采用60进制,60

8、秒为一分钟,60分钟为一个小时,全天设置为24小时。程序用C语言编写。编程时采用KEIL C,而仿真用PROTUES,仿真时仿真图如图所示 图七 定时中断流程图4.3 汇编源程序#include #include #define uchar unsigned char#define uint unsigned int#define DelayNOP() _nop_();_nop_();_nop_();_nop_();sbit K1 =P10;sbit K2 =P11;sbit K3 =P12;sbit K4 =P13;sbit SPK=P30;sbit RS =P20;sbit RW =P21

9、;sbit E =P22;uchar code Str1 = Current Time ; /一下两个字符串的串长均为16uchar code Str2 = Set New Time. ;uchar HMS_String= 00:00:00 ;/带显示的时间串bit Settime=0; /是否修改时间bit Change_H_or_M =1;/1表示修改时.0表示修改分uchar MilliSecond,Hour =0,Minute=0, Second =0;/延时函数void DelayMS(uint x)uchar i;while(x-) for(i=0;i120;i+);/LCD忙状态

10、检测bit LCD_Busy_Check()bit result;RS = 0;RW = 1;E = 1;DelayNOP();result = (bit)(P0 & 0x80);E = 0;return result; /写LCD命令void LCD_Write_Command(uchar cmd)while(LCD_Busy_Check();/判断LCD是否忙碌RS = 0;RW = 0;E = 0;_nop_();_nop_();P0 = cmd; DelayNOP();E = 1;DelayNOP();E = 0;/设置LCD显示位置void LCD_Set_Pos(uchar pos

11、)LCD_Write_Command(pos | 0x80);/写LCD数据void LCD_Write_Data(uchar dat)while(LCD_Busy_Check();/判断LCD是否忙碌RS = 1;RW = 0;E = 0;P0 = dat; DelayNOP();E = 1;DelayNOP();E = 0;/LCD初始化void LCD_Initialize()LCD_Write_Command(0x38);DelayMS(1);LCD_Write_Command(0x0c);DelayMS(1);LCD_Write_Command(0x06);DelayMS(1);LCD_Write_Command(0x01);DelayMS(1);/ 显示函数,在LCD指定的行上显示字符串void Display_String(uchar*str,uchar LineNo)uchar k;LCD_Set_Pos(LineNo);for(k=0;k16;k+) LCD_Write_Data(strk);/蜂鸣函数void Beep()uchar i, j = 70;for(i=0;i200;i+)while(-j);SPK= SPK;DelayMS(300); SPK=0;/时分秒显示void Display_HMS(uchar

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号