《C单片机LCD电子时钟课程设计.docx》由会员分享,可在线阅读,更多相关《C单片机LCD电子时钟课程设计.docx(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、C C 单片机单片机 LCDLCD 电子时钟课程设计电子时钟课程设计中南大学目录1.1设计总体方案及其方案论证 .二、组成电路介绍 .2.1复位电路: .一、设计任务要求分析本设计要实现的功能是:实时显示当前的时钟,并且可以设定闹铃,以蜂鸣器鸣响 5 秒的方式作为闹铃。1.1 设计总体方案及其方案论证按照系统的设计功能所要求的,液晶显示电子时钟原理图如图所示。液晶显示电子时钟原理图本系统以 AT89C51 单片机为核心,该单片机可把数据进行处理,从而把数据传输通过控制键来控制所要调节的是时、分、还是秒。在控制键按下后 LCD 中会在相应的位置出现光标,这时在通过加数键或减数键来控制时分秒的加或
2、减。在调闹钟键按下后LCD 中也会在相应的位置出现光标,这时也通过加数键或减数键来设置闹钟。2.4 闹钟部分:闹钟部分主要由蜂鸣器,三极管,电阻组成。其电路图如图所示:闹钟电路当单片机的 P15 接口输出为高电平时,蜂鸣器响,当输出为低电平时,蜂鸣器停止。2.5 显示电路设计2.5.1LCD1602 简介LCD1602 液晶也叫 1602 字符型液晶, 它是一种专门用来显示字母、 数字、 符号等的点阵型液晶模块, 它有若干个 5X7或者 5X11 等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔,每行之间也有也有间隔,起到了字符间距和行间距的作用,正因为如此,所以他
3、不能显示图形(用自定义 CGRAM,显示效果也不好) 。1602LCD 是指显示的内容为 16X2,即可以显示两行,每行 16个字符液1602 液晶模块的读写操作, 屏幕和光标的操作都是通过指令编程来实现的。本显示电路将单片机的 P0 口作为液晶的数据口,由于 P0 口没有上拉电阻,所以需额外加一个排阻作为上拉电阻,利用 P1 口作为其读写控制端,具体电路如图。显示电路三、软件设计软件设计是本次设计中不可缺少的环节,是本次设计能够完成的最重要的环节之一。在完成了硬件电路的设计之后,依据系统设计要求和硬件电路开始系统软件部分码的编译,通过 keil 与 proteus 软件的充分利用,将编译好的
4、执行代码加载到原理图中的单片机里面进行原理图仿真,通过仿真对系统的代码程序和原理图进行测试,看是否达到系统的设计要求。4.2 测试结果(1)通过按调时健、加减键的调节,我们可以设定出具体的时间 1:00:00,观察 LCD 液晶屏如图所示精确显示出我们所设定的时间时间。(2)通过按键调节调闹钟健,我们可以五秒听到清晰的蜂鸣声。4.3 结果分析通过对系统原理图和程序的仿真与调试基本实现了系统的功能要求。可以通过按键(mode)来设定具体时间、闹钟。LCD 液晶显示屏能够准确而且清晰地显示出时间。五、源程序#include#include#defineucharunsignedchar#defin
5、euintunsignedintdelay1(ucharz)/延时程序uintx,y;for(x=z;x0;x-)for(y=110;y0;y-);return0;bitwrite_busy()/判断是否为繁忙状态bitresult;rs=0;rw=1;lcden=1;_nop_();_nop_();_nop_();_nop_();while(write_busy(); rs=1;rw=0;lcden=0;P0=date;_nop_();_nop_();_nop_();_nop_();lcden=1;_nop_();_nop_();_nop_();_nop_();lcden=0;voidwrite_pos(ucharpos)/设定地址delay1(5);if(k1=0)while(!k1);num+;if(num=1)TR0=0;write_com(0 x80+0 x40+11);write_com(0 x0f);if(num=2)write_com(0 x80+0 x40+8); if(num=3)write_com(0 x80+0 x40+5);if(num=2)min+;if(min=60)min=0;write_sfm(7,min);write_com(0 x80+0 x40+8);