用LCD显示实时日历时钟单片机课程设计
- 格式:doc
- 大小:309.00 KB
- 文档页数:23
一、设计任务要求分析本设计要实现的功能是:实时显示当前的时钟,并且可以设定闹铃和调整时间,以蜂鸣器鸣响5秒的方式作为闹铃。
二、设计总体方案及其方案论证按照系统的设计功能所要求的,液晶显示电子时钟原理图如图所示。
单片机显示电路键盘电路复位电路晶振电路液晶显示电子时钟原理图本系统以AT89C51单片机为核心,该单片机可把数据进行处理,从而把数据传输到显示模块LCD1602液晶显示器,实现时间及日期的显示。
以LCD 液晶显示器为显示模块,把单片机传来的数据显示出来,并且显示多样化,还可以对时间和日期进行设置,主要靠按键来实现。
三、硬件设计及描述 1、整体结构图①开关部分开关实现校正时间,定闹钟左一开关实现校时左二左三开关实现加减右一开关实现闹钟定时通过控制键来控制所要调节的是时、分、还是秒。
在控制键按下后LCD中会在相应的位置出现光标,这时在通过加数键或减数键来控制时分秒的加或减。
在调闹钟键按下后LCD中也会在相应的位置出现光标,这时也通过加数键或减数键来设置闹钟。
②液晶显示屏③蜂鸣器当单片机的P1^5接口输出为高电平时,蜂鸣器响,当输出为低电平时,蜂鸣器停止。
④复位电路开关为复位键⑤晶振电路选取原则:电容选取22pF,晶振为12MHz。
2、LCD1602简介LCD1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块,它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。
每位之间有一个点距的间隔,每行之间也有也有间隔,起到了字符间距和行间距的作用,正因为如此,所以他不能显示图形(用自定义CGRAM,显示效果也不好)。
1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。
目前市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。
课程设计报告课程名称单片机题目电子时钟(LCD显示)学生指导教师年级 2018级专业计算机科学与技术二级学院信息工程学院信息工程学院2020年12 月23 日《单片机》课程设计任务书摘要本设计使用11.0592MHz晶振与单片机AT89C51相连接,以AT89C51芯片为核心,采用LCD1602的并行操作方式显示。
通过使用该单片机,实现将时间显示在LCD1602液晶上,并且按秒实时更新。
AT89C51单片机功耗小,电压可选用4~6V电压供电。
通过板子上的按键可随时调节时钟的时、分,按键设计4个有效按键,分别有开始设置键、设置小时键、设置分钟键、确认设置键盘,通过使用中断定时器进行计时,实现时间显示。
针对LCD液晶显示屏,设置了初始化函数,数据传送函数及指令传送函数,进而实现LCD液晶显示屏显示功能。
在每次的按键按下时,LCD液晶显示屏会随之改变,进而实现功能。
关键词:AT89C51 电子时钟数码管按键目录1 概述 (1)1.1方案设计 (1)1.2设计目的 (1)1.3设计内容 (1)2.硬件设计 (1)2.1 元器件 (1)2.2 硬件 (2)3 软件设计 (3)3.1 主设计流程 (3)3.2 初始化流程图 (3)3.3 时间显示主程序 (5)4 调试结果分析 (6)4.1运行结果 (6)4.2仿真分析 (7)5 总结 (8)参考文献 (9)附录 (10)1 概述1.1方案设计(1)单片机选型选用AT89C51单片机,指令简单,易学易懂,外围电路简单,硬件设计方便,IO 口操作简单,成本低,程序烧写简单,对于设计开发非常实用。
(2)显示方案LCD液晶显示器是一种功耗极低的显示器件,它不仅省电,还能显示文字、曲线、图形等大量的信息,易于彩色化,所以采用LCD显示器来显示时间。
(3)计时方案利用AT89C51内部定时/计数器进行中断定时,配合软件延时实现时分秒的计时。
该方案可以节省硬件成本。
(4)按键设计系统采用独立式按键,共设计了四个按键,分别是“当前时间”、“分钟+”、“小时+”,用来设置校时功能,这样可以使电路更简单。
C语言Lcd1602万年历闹钟Proteus仿真单片机毕业课程电子设计
C语言Lcd1602万年历闹钟Proteus仿真单片机设计
AT89C51+Lcd1602+DS1302+独立按键+蜂鸣器
Lcd1602万年历闹钟。
时间信息来自DS1302,显示采用
Lcd1602,蜂鸣器提供闹音和按键提示音。
液晶上面显示年月日时分秒星期以及闹钟时间。
有时间调节和闹钟调节,可以调节年月日时分秒星期信息以及闹钟时间。
具体介绍如下。
1.做好的仿真图,如下图所示。
2.启动仿真后,先在液晶屏显示系统信息,然后在第二屏显示需要的万年历闹钟信息。
如下图所示!
3.通过单片机右侧的三个按键,即可设置闹钟。
如下图所示。
4.通过单片机左侧的四个按键,来设置年月日时分秒星期的值。
设置时,参数闪烁,同时会有按键提示音。
5.本设计默认套餐1,具体套餐详情请看下面的发货清单。
如需要其它套餐,请联系客服询问。
详情请:点击此处。
题目2 电子时钟(LCD 显示) 1. 设计要求以AT89C51单片机为核心的时钟,在LCD 显示器上显示当前的时刻: 利用字符型LCD 显示器显示当前时刻。
显示格式为“不时:分分:秒秒”。
用4个功能键操作来设置当前时刻。
功能键K1~K4功能如下。
K1—进入设置此刻的时刻。
K2—加1 。
K3—减1。
K4—确认完成设置。
程序执行后工作指示灯LED 闪动,表示程序开始执行,LCD 显示“00:00:00”,然后开始计时。
1.时钟的整体设计思路依照系统的设计功能要求,本时钟系统的设计必需采用单片机软件系统实现,用单片机的自动控制能力配合按键控制,来控制时钟的调整及显示。
图一系统总原理图3.系统硬件设计 单片机控制系统本次设计时钟电路,利用了ATC89C51单片机芯片控制电路,单片机控制电路简单且省去了很多复杂的线路,使得电路简明易懂,利用键盘键上的按键来调整时钟的时、分、秒,同时利用C 语言程序来控制整个时钟显示,使得编程变得更易,如此通过三个模块:键盘、芯片、显示屏即可知足设计要求。
原理如图一所示。
ATC89C51单片机芯片VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P0口的管脚第一次写1时,被概念为输入。
P0能够用于外部程序数据存储器,它能够被概念为数据/地址的低八位。
在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,现在P0外部必需接上拉电阻。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外手下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH 编程和校验时,P1口作为低八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
LCD电子钟程序(广工单片机课程设计)第一篇:LCD电子钟程序(广工单片机课程设计)#include#define uchar unsigned char#define uint unsigned int#define KEY_IO P3#define LCD_IO P0sbit LCD_RS = P2^0;sbit LCD_RW = P2^1;sbit LCD_EN = P2^2;sbit SPK = P1^2;sbit LED = P2^4;sbit KEY_0 = P3^7;sbit KEY_1 = P3^6;sbit KEY_2 = P3^5;sbit KEY_3 = P3^4;bit new_s, modify = 0;char t0, sec = 0, min = 0, hour = 0;char code LCD_line1[] = “I LOVE U”;char code LCD_line2[] = “Timer: 00:00:00 ”;char Timer_buf[] = “00:00:00”;char a,b,c,k = 0;//--------------------void delay(uint z){uintx, y;for(x = z;x > 0;x--)for(y = 100;y > 0;y--);}//--------------------void W_LCD_Com(uchar com)//写指令 { LCD_RS = 0;LCD_IO = com;// LCD_RS和R/W都为低电平时,写入指令LCD_EN = 1;delay(5);LCD_EN = 0;//用EN输入一个高脉冲 }//--------------------void W_LCD_Dat(uchar dat)//写数据{LCD_RS = 1;LCD_IO = dat;// LCD_RS为高、R/W为低时,写入数据LCD_EN = 1;delay(5);LCD_EN = 0;//用EN输入一个高脉冲 } //--------------------void W_LCD_STR(uchar *s)//写字符串{while(*s)W_LCD_Dat(*s++);}//--------------------void W_BUFF(void)//填写显示缓冲区{Timer_buf[7] = sec % 10 + 48;Timer_buf[6] = sec / 10 + 48;Timer_buf[4] = min % 10 + 48;Timer_buf[3] = min / 10 + 48;Timer_buf[1] = hour % 10 + 48;Timer_buf[0] = hour / 10 + 48;W_LCD_STR(Timer_buf);}//--------------------uchar read_key(void){ucharx1, x2;KEY_IO = 255;x1 = KEY_IO;if(x1!= 255){delay(100);x2 = KEY_IO;if(x1!= x2)return 255;while(x2!= 255)x2 = KEY_IO;if else if(x1 == 0xbf)return 1;else if(x1 == 0xdf)return 2;else if(x1 == 0xef)return 3;else if(x1 == 0xf7)return 4;}return 255;} //--------------------void Init(){LCD_RW = 0;W_LCD_Com(0x38);delay(50);W_LCD_Com(0x0c);W_LCD_Com( 0x06);W_LCD_Com(0x01);W_LCD_Com(0x80);W_LCD_STR(LCD_li ne1);W_LCD_STR(LCD_line2);TMOD = 0x01;//T0定时方式1TH0 = 0x4c;TR0 = 1;//启动T0 PT0 = 1;//高优先级, 以保证定时精度ET0 = 1;EA = 1;}//--------------------void main(){uint i, j;uchar Key;Init();while(1){//if(new_s){ //如果出现了新的一秒, 修改时间new_s = 0;sec++;sec %= 60;if(!sec){min++;min %=60;if(!min){ hour++;hour %= 24;}}W_BUFF();//写显示W_LCD_Com(0xc0 + 7);(x1 == 0x7f)return 0;W_LCD_Com(0xC0);//if(!sec &&!min){ //整点报时for(i = 0;i < 200;i++){SPK = 0;for(j = 0;j < 100;j++);SPK = 1;for(j = 0;j < 100;j++);} }} //Key = read_key();//读出按键switch(Key){//分别处理四个按键case0: if(KEY_0){min++;min %= 60;W_BUFF();break;}case1: if(KEY_1){hour++;hour %= 24;W_BUFF();break;}case2: if(KEY_2){ a=sec;b=min;c=hour;sec = 0, min = 0, hour = 0;}case3: if(KEY_3){sec=a+sec;if(sec>60){sec=sec-60;min++;}min=b+min;if(min>60){min=min-60;hour++;}hour=c+hour;if(hour>24){hour=hour-24;} }} }} //--------------------void timer0(void)interrupt 1//T0中断函数, 50ms执行一次{TH0 = 0x4c;t0++;t0 %= 20;//20, 一秒钟if(t0 == 0){new_s = 1;LED = ~LED;}if(modify)LED = 0;} K0分加一 K1时加一 K2秒表开始K3秒表结束,恢复正常时间!第二篇:单片机课程设计电子钟课程设计任务书(指导教师填写)课程设计名称电子技术课程设计学生姓名专业班级设计题目数字钟一、课程设计的任务和目的任务:设计一台能显示“时”、“分”、“秒”的数字钟,周期为24小时;具有校时、正点报时功能。
基于单片机的LCD电子时钟设计随着科技的不断发展,单片机已经成为现代电子设备中的重要组成部分。
其中,LCD电子时钟的设计与应用更是受到广泛。
基于单片机的LCD电子时钟设计具有精度高、稳定性好、体积小、耗电量低等优点,被广泛应用于家居、办公、交通运输等领域。
一、设计原理基于单片机的LCD电子时钟设计主要由单片机、时钟电路和LCD显示模块组成。
其中,单片机作为主控制器,负责读取时钟信号并控制LCD显示模块。
时钟电路则产生一个高精度的实时时钟信号,LCD显示模块则负责将时间信息显示出来。
二、硬件设计1、单片机选择:单片机是整个系统的核心,负责读取时钟信号、处理数据并控制LCD显示模块。
常见的单片机型号包括STM32、PIC、AVR等。
根据实际需求,选择合适的单片机型号。
2、时钟电路:时钟电路是整个系统的核心部分,它产生高精度的实时时钟信号。
常见的时钟电路包括石英晶体振荡器、GPS模块等。
根据实际需求,选择合适的时钟电路。
3、LCD显示模块:LCD显示模块负责将时间信息显示出来。
常见的LCD显示模块包括字符型LCD和图形型LCD。
根据实际需求,选择合适的LCD显示模块。
三、软件设计软件设计是整个系统的重要组成部分,它需要实现读取时钟信号、处理数据并控制LCD显示模块的功能。
具体的软件设计流程如下:1、初始化:初始化单片机、时钟电路和LCD显示模块。
2、读取时钟信号:通过时钟电路读取实时时钟信号。
3、处理数据:对读取的时钟信号进行处理,提取出年、月、日、时、分、秒等信息。
4、控制LCD显示模块:将处理后的时间信息通过LCD显示模块显示出来。
5、循环执行:重复执行上述步骤,实现LCD电子时钟的实时更新。
四、调试与优化完成硬件和软件设计后,需要对系统进行调试和优化。
具体的调试和优化步骤如下:1、通电测试:将系统通电,检查各部分是否正常工作。
2、精度测试:检查时钟电路的精度是否满足要求。
3、LCD显示测试:检查LCD显示模块是否能正确显示时间信息。
51单片机课程设计lcd时钟一、课程目标知识目标:1. 让学生掌握51单片机的基本原理,了解LCD显示模块的工作原理及其与单片机的接口技术。
2. 使学生学会编写程序,实现LCD显示时钟功能,理解时钟算法和实时时钟操作。
3. 引导学生掌握利用51单片机进行LCD时钟项目设计的步骤和技巧。
技能目标:1. 培养学生动手实践能力,能够独立完成51单片机与LCD模块的连接和调试。
2. 提高学生编程技能,学会编写和优化LCD显示时钟程序,实现准确的时间显示。
3. 培养学生问题解决能力,能够分析和解决在LCD时钟设计过程中遇到的技术问题。
情感态度价值观目标:1. 培养学生对电子技术及编程的兴趣,激发学习主动性和创新精神。
2. 培养学生的团队合作意识,学会在项目设计中相互协作、共同解决问题。
3. 引导学生认识到科技对社会生活的影响,增强社会责任感和使命感。
本课程针对高中年级学生,具有较强的实践性和应用性。
结合学生特点,课程目标注重理论知识与实践技能的结合,以提高学生的综合运用能力和创新思维能力。
在教学过程中,要求教师注重启发式教学,引导学生主动探究,关注学生个体差异,确保每个学生能够达到课程目标。
课程目标的实现将通过具体的实践活动和学习成果进行评估。
二、教学内容1. 理论知识:- 51单片机基础:原理、结构、编程语言。
- LCD显示模块:工作原理、接口技术、编程控制。
- 实时时钟:时钟算法、时钟芯片应用、时间读取与设置。
2. 实践操作:- 51单片机与LCD模块的连接与调试。
- 编写和优化LCD显示时钟程序,实现时间显示、校准等功能。
- 设计LCD时钟项目,包括硬件选型、程序编写、功能测试。
3. 教学大纲:- 第一阶段(2课时):51单片机基础、LCD显示模块原理学习。
- 第二阶段(2课时):实时时钟知识学习,时钟算法掌握。
- 第三阶段(2课时):实践操作,连接51单片机与LCD模块,编写程序实现时钟功能。
- 第四阶段(2课时):项目设计与优化,团队协作解决问题,完成LCD时钟项目。
单片机原理及应用课程设计任务书题目:电子时钟(LCD显示)1、设计要求以AT89C51单片机为核心的时钟,在LCD显示器上显示当前的时间:使用字符型LCD显示器显示当前时间。
显示格式为“时时:分分:秒秒”。
用3个功能键操作来设置当前时间。
功能键K1~K4功能下。
K1—设置小时。
K2—设置分钟。
K3—设置秒。
程序执行后工作指示灯LED发光,表示程序开始执行,LCD显示“23:59:00”,然后开始计时。
2、工作原理本课题难点在于键盘的指令输入,由于每个按键都具有相应的一种功能,程序中有较多的循环结构用以判断按键是否按下,以及判断按键是否抬起,以及LCD显示器的初始化。
3、参考电路硬件设计电路图如下图所示:硬件电路原理图单片机原理及应用课程设计任务书题目:电子时钟(LCD显示)1、设计要求以AT89C51单片机为核心的时钟,在LCD显示器上显示当前的时间:使用字符型LCD显示器显示当前时间。
显示格式为“时时:分分:秒秒”。
用3个功能键操作来设置当前时间。
功能键K1~K4功能下。
K1—设置小时。
K2—设置分钟。
K3—设置秒。
程序执行后工作指示灯LED发光,表示程序开始执行,LCD显示“23:59:00”,然后开始计时。
2、工作原理本课题难点在于键盘的指令输入,由于每个按键都具有相应的一种功能,程序中有较多的循环结构用以判断按键是否按下,以及判断按键是否抬起,以及LCD显示器的初始化。
3、参考电路硬件设计电路图如下图所示:硬件电路原理图基于AT89C51单片机的电子时钟设计报告一、设计要求与目的1)设计要求以AT89C51单片机为核心的时钟,在LCD显示器上显示当前的时间。
2)、使用字符型LCD显示器显示当前时间。
显示格式为“时时:分分:秒秒”。
3)、用3个功能键操作来设置当前时间。
4)、熟悉掌握proteus编成软件以及keil软件的使用二、本设计原理本设计以AT89C51单片机为核心,通过时钟程序的编写,并在LCD显示器上显示出来。
单片机课程设计报告题目: 基于单片机的LCM1602液晶控制——万年历显示设计所在系部:信息与电气工程所在专业:通信本所在班级: 1001 姓名:曹怀宝学号: 20093615276 指导教师:陈勇完成时间: 2013年 7月 3日基于单片机的LCM1602液晶控制——万年历显示设计1.设计目的该设计是基于AT89C52单片机的电子万年历系统,采用LCD1602液晶屏实现显示。
显示年月 日星期温度等,双行显示,。
显示年、月、日、星期、时间,可设置,设置功能。
综上所述此时钟具有读取方便、显示直观、功能多样、电路简洁、等优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。
2.设计原理及相关说明设计原理:利用DS1302读取系统中的日期以及时间信息,并分别利用P1.1端口和P3.3端口将相关信息传送至STC12C5A60S2 主芯片之中,利用P0端口使之显示于LCD1602液晶显示屏上,四个按键分别置于P1口的5、6、7端口可以对时间进行控制修改。
详细请参阅第三节的芯片介绍。
2.2总体设计框图日历时钟系统设计框图如图1所示:图1 电子万年历系统设计框图3 各芯片的设计及其调用3.1 STC12C5A60S2 单片机主控模块STC12C5A60S2简介STC12C5A60S2是STC 生产的单时钟/机器周期(1T )的单片机,是高速、低功耗、超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。
内部集成DS1302At89C52键扫描电路LCD 1602DS18B20蜂鸣器MAX810专用复位电路,2路PWM,8路高速10位A/D转换1、增强型8051CPU,1T(1024G),单时钟机器周期2、工作电压5.5-3.5V3、1280字节RAM4、通用I/O口,复位后为:准双向口/弱上拉可设置成四种模式:准双向口/弱上拉,强推挽/强上拉,仅为输入/高阻,开漏每个I/O口驱动能力均可达到20mA,但整个芯片最大不要超过120mA5、有EEPROM功能6、看门狗7、内部集成MAX810专用复位电路8、外部掉电检测电路9、时钟源:外部高精度晶体/时钟,内部R/C振荡器常温下内部R/C振荡器频率为:5.0V单片机为:11~17MHz 3.3V单片机为:8~12MHz 针对电机控制,强干扰场合。
一、设计任务:1、设计任务:设计并制作一个数字钟。
2、设计要求:●显示年月日时分秒及星期信息●具有可调整日期和时间功能●增加闰年计算功能●显示部分由LCD1602完成二、方案论证:1.显示部分:显示部分是本次设计的重要部分,一般有以下两种方案:方案一:采用LED显示,分静态显示和动态显示。
对于静态显示方式,所需的译码驱动装置很多,引线多而复杂,且可靠性也较低。
而对于动态显示方式,虽可以避免静态显示的问题,但设计上如果处理不当,易造成亮度低,有闪烁等问题。
方案二:采用LCD显示。
LCD液晶显示具有丰富多样性、灵活性、电路简单、易于控制而且功耗小等优点,对于信息量多的系统,是比较适合的。
鉴于上述原因,我们采用方案二。
2.数字时钟:数字时钟是本设计的核心的部分。
根据需要可采用以下两种方案实现:方案一:方案完全用软件实现数字时钟。
原理为:在单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。
利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将时字节清零。
该方案具有硬件电路简单的特点,但当单片机不上电,程序将不执行。
而且由于每次执行程序时,定时器都要重新赋初值,所以该时钟精度不高。
方案二:方案采用Dallas公司的专用时钟芯片DS1302。
该芯片内部采用石英晶体振荡器,其芯片精度不大于10ms/年,且具有完备的时钟闹钟功能,因此,可直接对其以用于显示或设置,使得软件编程相对简单。
为保证时钟在电网电压不足或突然掉电等突发情况下仍能正常工作,芯片内部包含锂电池。
当电网电压不足或突然掉电时,可使系统自动转换到内部锂电池供电系统。
而且即使系统不上电,程序不执行时,锂电池也能保证芯片的正常运行,以备随时提供正确的时间。
基于时钟芯片的上述优点,本设计采用方案二完成数字时钟的功能。
(用LCD显示实时日历时钟的应用设计) 课程设计说明书目录一.设计任务和要求 (2)二.核心芯片功能介绍 (2)1.AT89C51 (2)1.1 功能特性概括: (3)1.2 管脚说明: (3)2.DS1302 (5)2.1 DS1302引脚功能 (5)2.2DS1302的控制字 (6)2.3 DS1302的复位引脚 (6)2.4 DS1302的数据输入输出 (7)2.5 DS1302的寄存器 (7)三.系统方案 (9)四.理论分析与计算 (9)五.电路与程序设计 (8)1.电路设计 (9)1.1分电路图及原理说明 (9)1.2 主控部分(单片机MCS-51) (9)1.3 计时部分(实时时钟芯片DS1302) (9)2.Protues仿真图 (10)3.程序设计流程图 (11)4.具体程序 (13)六.结果分析 (21)七.总结 (21)八.设计体会与今后的改进意见 (23)参考文献 (23)摘要本次课程设计是使用专门的时钟芯片DS1302在LCD上显示的日历时钟, DS1302是一种高性能、低功耗、带RAM的实时时钟芯片,它能够对时,分,秒进行精确计时,它与单片机的接口使用同步串行通信,仅用3条线与之相连接,就可以实现MCS-51单片机对其进行读写操作,把读出的时间数据送到LM044L上显示。
程序运行时,必须先对LM044L进行初始设置,然后,通过单片机从DS1302中获取时间并通过LM044L显示。
同时,进行循环赋值,使LCD动态显示当前的时间。
关键字:MCS-51单片机、DS1302,LM044L显示器,动态显示Abstract: This course is designed to use special clock chip DS1302 is displayed on LCD and the calendar, clock DS1302 is a kind of high performance, low power consumption, take the RAM chips, which can real-time clock diffculties, points, seconds for accurate timing, it and single-chip microcomputer interface USES synchronous serial communication, with only three line and the connected, can come true - 51 SCC of the MCS reading operation, to read the time data sent to LCD display on. When the program is running, you must first for the initial set of LCD, then, by microcontroller from getting times in DS1302 through LCD display. Meanwhile, cyclicly assignment, make LCD dynamic display the current time一.设计任务和要求1.利用DS1302实现年月日时分秒,并用LCD显示。
基于单片机的电子钟设计目录第一章电子时钟设计--—--—----————-—-—-—----—-—-——-——21.1 设计原理简介--————-—----—---——---———-----——-—-—-—21.2 设计功能-——--—-—————-———-—----————---——--——-——---—3第二章主要电路元器件介绍-—-———-———-—------———---32。
1 STC89C52 单片机简介—--—--—-—-—-—-—-—---—-——-———32。
1.1 单片机简介--——--——--——---—-—--————----—————--——-—-32。
1.2 主要特性---——-------—---—-—---————-—--—--———-—-—-—32.1.3 管脚功能说明—---———-———-———-——---—-————-—-—-—-————42.1。
4 LCD1602-—------——---—--—-——--———--——------——-—-—5第三章单元电路的硬件设计—-----————————————————--63.1 硬件原理框图—-———--—--——---—--—-—---------—--———-—-63。
2 单片机 STC89C52 系统的设计-—-—-—-—-————-—————-—----63。
3 时钟电路—————-----———-—---—-——---—--—-—-—-—--————--73.4 复位电路-----——-——--———-————-———-—----———---—--—-—-------—-—--—-——---—-—————-—---——--73。
5 键盘接口电路--—---—-———--—--——--——--——----———---——-83.6 LCD1602显示——---——————--—-—-——--——----—----———-————8第四章设计总原理图—-—-—---——-----—-———-9 第五章心得体会---—-------—————--——-—-——9第六章源程序---—-—-——-—-------———---—-——————-——----10前言:摘要数字钟已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便.由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。
单片机原理与应用课程名称:单片机原理与应用设计题目:LCD电子钟院系:电子信息工程学院班级:自动化0706设计者:全宏宇指导教师:一,设计目标LCD显示电子钟的基本功能1,实现时钟功能;2,实现闹铃功能;3,实现秒表功能;4,具有一定的计时精度。
LCD显示电子钟的基本要求1,掌握单片机开发编程设计的基本流程;2,了解Keil及Proteus软件的基本使用;3,了解LCD的基本使用;4,学习单片机硬件制作。
二,具体实现1,软件平台1)Keil编程Keil 的开发工具的使用的基本过程:○1创建C 或汇编语言的源程序;○2编译或汇编源文件;○3纠正源文件中的错误;○4从编译器和汇编器连接目标文件;○5测试连接的应用程序。
2)Proteus仿真Proteus软件不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。
它是目前最好的仿真单片机及外围器件的工具。
在编译方面,它也支持IAR,Keil,PLAB等多种编译器。
2,硬件开发平台JD51开发板的基本资料○1LED 电路,8 只独立LED 发光管,可做指示或各种闪烁效果用。
○2数码管电路,4只共阳一体8 段数码显示管,可实现各种数据显示,如计数、时钟等。
○3蜂鸣器电路,可用于设计各种提示音、演奏音乐等。
○4键盘电路,学习按键控制相关编程。
○5LCD 显示电路,编程控制LCD 显示。
○6串口电路,学习编程实现JD51 和PC 或其他符合该通信协议的电路之间的通信。
○7红外电路,通过选配的红外遥控器,学习红外解码并可实现红外遥控JD51。
○8温度模块电路,采用一线式温度传感器实现温度的采集并可显示在数码管或者LCD 上,通过温度数据处理便可实现温度控制器功能。
○9除了以上提到的可编程电路本学习板还有一些常用的不可编程电路,包括电源电路、复位电路、晶振电路等。
本次LCD电子钟实验用到其中的蜂鸣器,按键,LCD显示接口。
3,总体设计1)基本资源的使用本次实验采用了89C52型单片机,1602LCD液晶显示屏,蜂鸣器。
一、题目:电子实时时钟/万年日历系统二、功能要求:1.基本要求:⑴显示准确的北京时间(时、分、秒),可用24小时制式;⑵随时可以调校时间。
2.发挥要求:⑴增加公历日期显示功能(年、月、日),年号只显示最后两位;⑵随时可以调校年、月、日;⑶允许通过转换功能键转换显示时间或日期。
三、方案考虑:1、硬件方案:⑴显示器采用6位LED数码管(共阳),可分别显示时间或日期。
⑵显示器的驱动采用动态扫描电路形式,以达到简化电路的目的。
但要注意所需的驱动电流比静态驱动时要大,因此要增加驱动电路。
可采用74LS244或者晶体管;其中74ls244是用来驱动段选码,晶体管是驱动位选码。
⑶采用“一键多用方案”,以减少按键数目。
本方案采用了4按键。
⑷整体上要考虑:结构简单、布局美观、操作方便、成本低廉。
2、设计电路图如下:3、元件清单:(我们使用的是TX-1C开发板)⑴ 89C52 1个⑵IC座(40脚) 3个(其中1个用于接插89C51、2个用于接插LED段数码管)。
⑶ 74LS244 1个(用于驱动6个共阳的LED段数码管)。
⑷ IC座(20脚) 1个(用于接插74LS244)。
(5)显示器:LED_8段数码管(共阳型)6个三极管:(6)PNP(8550)6个(用于驱动6个共阳型LED段数码管)。
(7)微型开关:3个(其中1个用于复位电路、其它用于键盘)。
(8)晶体振荡器(12MHz):1个(用于振荡电路)。
(9)电阻器:⑴ 3KΩ 1个(用于系统复位电路)。
⑵ 1KΩ 6个(用作PNP三极管基极电阻)。
⑶ 100Ω 7个(驱动器用作74LS244输出限流电阻)。
(10)电容器:⑴ 10μF1个(用于系统复位电路)。
⑵ 30 pF 2个(用于系统振荡电路)。
(11)其它:⑴万能电路板(10×15):1块⑵焊锡条: 2米⑶带插头、座的电源端子: 1条⑷各种颜色外皮的导线:各1米(12)工具:1.电烙铁:1把2.剪钳:1把3.镊子:1把4.万用表:1个(13)设备:编程器(MEP300或TOP851)6个4、软件方案:(1)使用全汇编编写(2)时钟基准时间由单片机内部定时中断来提供,定时时间应该乘以一个整数得到,且不宜太长或太短,最长不能超过16位定时器的最长定时时间,最短不能少于定时中断服务程序的执行时间。
基于单片机控制LCD显示电子时钟设计电子时钟可以说是现代社会不可或缺的电子产品之一,准确显示时间,为人们提供时间信息,是人们日常生活的重要组成部分。
本文将介绍一种基于单片机控制LCD显示电子时钟设计的方法。
该电子时钟设计基于单片机芯片,并通过LCD显示屏来实现时间的显示。
其主要原理是通过单片机芯片内部的定时器,不断进行时间的计时,然后将计时结果通过串行通信协议发送给LCD显示屏,LCD显示屏将计时结果显示出来。
具体设计步骤如下:1.硬件设计:a.选择适合的单片机芯片:根据设计要求选择适合的单片机芯片,一般选择具有定时器功能的芯片,如51系列单片机。
b.连接LCD显示屏:将单片机与LCD显示屏连接,一般是通过串行通信协议,如I2C或SPI协议来进行数据传输。
c.添加电源模块:为单片机和LCD显示屏提供合适的电源,一般是通过稳压电源芯片来提供稳定可靠的电源。
d.添加按键模块:添加按键模块可以实现对时间的设置和调整功能,一般通过矩阵按键的方式来实现。
2.软件设计:a.初始化单片机芯片:在程序开始时,进行单片机的初始化,初始化定时器、串行通信模块等相关硬件。
b.设置时间计时器:通过定时器模块来进行时间的计时,可以选择合适的时钟频率和计时周期,从而实现精确计时。
d.实现按键功能:通过检测按键状态来进行按键功能的触发,如修改时间、调整亮度等功能。
以上就是基于单片机控制LCD显示电子时钟的设计方法。
通过单片机芯片的计时功能和串行通信协议实现时间的显示,通过按键模块实现对时间的设置和调整功能。
设计好电路和编写好相应的程序后,就能够实现一个简单而准确的电子时钟。
毕业论文(设计)基于单片机进行实时日历和时钟显示设计学生姓名:指导教师:合作指导教师:专业名称:自动化所在学院:2012年6月目录摘要 (Ⅰ)Abstract (Ⅱ)第一章前言 (1)第二章设计方案论证 (2)2.1功能要求 (2)2.2方案确定 (2)第三章主控制器和外围器件 (4)3.1AT89S52单片机 (4)3.2DS1302时钟芯片 (4)3.3数码管LED (7)3.4译码器74HC138 (8)3.5锁存器74LS244 (8)第四章硬件设计 (9)4.1电路设计框图 (9)4.2系统概述 (9)4.3电源设计 (9)4.5单片机系统的晶振电路 (10)4.6主电路设计 (11)第五章软件设计 (12)5.1主程序设计 (12)5.2键盘子程序设计 (13)5.3日历时钟子程序设计 (15)5.4显示子程序设计 (17)第六章系统调试 (18)6.1软件调试 (18)6.2硬件调试 (19)第七章结论 (20)致谢 (21)参考文献 (22)附录 (26)附录Ⅰ硬件电路图 (26)附录Ⅱ主程序源代码 (27)摘要本设计是基于51系列的单片机进行的实时日历和时钟显示设计,可以显示年月日时分秒及周信息,具有可调整日期和时间功能。
在设计的同时对单片机的理论基础和外围扩展知识进行了比较全面准备。
实时日历和时钟显示的设计过程在硬件与软件方面进行同步设计。
硬件部分主要由AT89S52单片机,通过LED显示数据,所以具有人性化的操作和直观的显示效果。
软件方面主要包括时钟程序、键盘程序,显示程序等。
本系统以单片机的汇编语言进行软件设计,为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了,以便更简单地实现调整时间及日期显示功能。
所有程序编写完成后,在wave软件中进行调试,成功运行后,在Protel软件中进行仿真并调试。
关键词:AT89S52, DS1302, LEDAbstractThis design is based on 51 series monolithic integrated circuits of a real-time calendar and the clock shows the design , you can show how and when a week , has may adjust the date and time functions . in the design for monolithic integrated circuits , and peripheral to expand the basic theories of knowledge was fairly comprehensive preparation .Real-time calendar and the clock shows the design in hardware and software design of hardware that is synchronized the led display at89s52 monolithic integrated circuits, and when should the electrical circuits, the system through the led display data so be humanized operate and intuitive that effect. Including the software application programs, the keyboard, the program, etc. This system to monolithic integrated circuits of the assembly language for easily developing software design, and changes, software design to use modular design, the programming logical relationship with more and more so as to realize the time and date display the functions. all procedures in writing after wave of debugging the software and make no question of the proteus software embedded monolithic integrated circuits.Key words:AT89S52, DS1302, LED第一章前言在日新月异的21世纪里,家用电子产品得到了迅速发展。
晒晒我自己做的单片机设计手工电路板
数字钟万年历
1.AT89S51芯片作为核心。
2.实现小时、分、秒、年、月、日、星期的显示和实时温度检测。
3.该设计的电子时钟系统由时钟电路、LCD显示电路、按键调整电路和温度检测电路四部分组成。
4.使用时钟芯片DS1302完成时钟日期的功能,以LCD1602为显示器,同时利用温度传感器DS18B20测量周围环境温度.
5.共设计四个按键:
第一个是功能键,切换三个功能,分别是日期、时间和秒表;
第二个是调整键,按一下屏幕不会变化,只有当按调整加减键时,屏幕就会变化。
例如:一上电显示的是年月日,然后想调整,按一下调整键,对应的位置会闪烁,即可按调整加减键,进行修改,年调整好后,再按一下第二个调整键,光标会移动,等到合适的位置即可修改。
第三四个键是加减键;。
成绩:课程设计报告书所属课程名称单片机原理与接口技术题目用LCD显示实时日历时钟的应用分院机电学院专业、班级机械设计制造及其自动化B09022012 年7 月15 日目录1课程设计任务书 (2)2总体设计 (3)3硬件系统设计 (4)4程序设计 (12)5程序调试及结果分析 (19)6总结 (20)7参考文献 (21)用LCD显示实时日历时钟应用说明书一.课程设计任务书课程设计题目:用LCD显示实时日历时钟的应用课程设计时间:自2012 年7 月 2 日起至2012年7 月15 日。
课程设计要求:1.利用DS1302年月日时分秒,并用LCD显示。
2.硬件部分,根据设计的任务选定合适的单片机,根据控制对象设计接口电路。
设计的单元电路必须有工作原理,器件的作用,分析和计算过程;3.软件设计部分,根据电路工作过程,画出软件流程图,根据流程图编写相应的程序,进行调试并打印程序清单;4.原理图设计部分别,根据所确定的设计电路,利用Protel工具软件绘制电路原理图,提供元器件清单。
5.将程序运行并做记录,完成报告。
2012 年7 月15日课程设计评阅意见评阅教师:2012年月日二.总体设计实现数字电子钟的设计有以下两种基本方案,现就两种基本方案的优劣进行具体论证,从而说明选择方案二的理由。
方案一:直接用单片机的内部定时器来实现时间。
该方案以MCS-51单片机为主控芯片,以MCS-51的内部定时器产生的1s中断作为时钟的驱动,然后再通LCD液晶显示器来组成数字钟电路。
但是此方案最大的缺点在于单片机89C51产生的1s中断存在误差,如果工作时间长的话,数字时钟显示的时间将会出现严重的偏差,不够精确。
方案二:使用串行接口时钟芯片DS1302设计时钟电路。
该设计方案以MCS-51单片机为主控芯片,以串行时钟芯片DS1302为核心计时芯片,然后再通过一个LCD液晶显示器组成数字时钟电路。
更重要的是,DS1302时钟芯片的加入大大提高了数字钟时间的准确性,而且该电路在断电后不丢失时间和数据信息时也使得该方案的研究与提升更具有开发的意义。
本次设计的电路由主控部分(单片机MCS-51)、计时部分(实时时钟芯片DS1302)、显示部分(LM044L)3个部分组成。
各部分之间相互协作,构成一个统一的有机整体,实现数字时钟的计时功能。
现就各部分的硬件电路设计作出如下分析:1. 主控部分(单片机MCS-51)MCS-51单片机作为主控芯片,控制整个电路的运行。
通过分析我们发现要想显示时间,必须先把DS1302中的时间信息通过单片机获取,存放到40H到46H等RAM单元。
并且是实时存放,刷新时间。
2. 计时部分(实时时钟芯片DS1302)时钟芯片DS1302能够准确的记录当前的时间,所以,通过单片机向其写入命令来获取相应的时间,而且一个命令字节控制读一个时间。
3. 显示部分LM044L能够显示简单的汉字及数字,功能十分强大,而且属于动态显示,所以将单片机中存的时间信息传送到LM044L中。
另外还需要循环赋值。
三.硬件系统设计AT89C51AT89S51[3]美国ATMEL公司生产的低功耗,高性能CMOS 8位单片机,片内含4K BytesISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及AT89C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元。
单片机AT89S51强大的功能可为许多嵌入式控制应用系统提供高性价比的解决方案。
AT89C51芯片的引脚结构如图1所示:3.1.1功能特性概括:图1 AT89C51引脚图AT89S51提供以下标准功能:40个引脚、4K Bytes Flash片内程序存储器、128 Bytes的随机存取数据存储器(RAM)、32个外部双向输入/输出(I/O)口、5个中断优先级2层中断嵌套中断、2个数据指针、2个16位可编程定时/计数器、2个全双工串行通信口、看门狗(WDT)电路、片内振荡器及时钟电路。
此外,AT89S51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲模式下,CPU暂停工作,而RAM、定时/计数器、串行通信口、外中断系统可继续工作。
掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。
同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。
3.1.2管脚说明:P0口:P0口为一个8位漏级开路双向I/O口,也即地址/数据总线复用口。
作为输出口用时,能驱动8个TTL逻辑门电路。
对端口写“1”时,被定义为高阻输入。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。
在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
P1口:P1口是一个带内部上拉电阻的8位双向I/O口,P1口的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。
作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会)。
输出一个电流(IIL在Flash编程和程序校验期间,P1接收低8位地址。
部分端口还有第二功能,如表1所示:表1 P1口部分引脚第二功能P2口:P2口是一个带有内部上拉电阻的8位双向I/O口, P2口的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。
作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时)。
会输出一个电流(IIL在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。
在访问8位地址的外部数据寄存器(例如执行MOVX@Ri指令)时,P2口线上的内容(也即特殊功能寄存器(SFR)区中P2寄存器的内容),在整个访问期间不改变。
在Flash编程或校验时,P2亦接收高位地址和其它控制信号。
P3口: P3口是一个带有内部上拉电阻的双向8位I/O口, P3口的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对P3口写“1”时,它们被内部的上拉电阻拉高并可作为输入端口。
作输入口使用时,被外部信号拉低的P3口将用上拉电阻输出电流(I)。
IL P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如表2所示:P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。
表2 P3口引脚第二功能RST:复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上的高电平时间将使单片机复位。
WDT溢出将使该引脚输出高电平,设置SFR AUXR的DISRTO位(地址8EH)可打开或关闭该功能。
DISRTO位缺省为RESET输出高电平打开状态。
ALE/PROG:当访问外部存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
即使不访问外部寄存器,ALE仍以时钟振荡频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。
值得注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。
对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。
如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。
该位置位后,只要一条MOVX和MOVC指令才会激活ALE。
此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。
PSEN:程序存储允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。
当访问外部数据存储器时,没有两次有效的PSEN信号。
EA/VPP:外部访问允许。
欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA 端必须保持低电平(接地)。
需要注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。
如EA端保持高电平(接VCC端),CPU则执行内部程序存储器中的指令。
Flash存储器编程期间,该引脚用于施加+12V编程电压(VPP)。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入端。
XTAL2:反向振荡放大器器的输出端。
3.2 DS1302DS1302[1]是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟芯片,它可以对年、月、日、周日、时、分、秒进行计时,且具有闰年补偿功能,工作电压宽达2.5~5.5V。
时钟可工作在24小时格式或12小时(AM/PM)格式。
DS1302与单片机的接口使用同步串行通信,仅用3条线与之相连接。
可采用一次传送一个字节或突发方式一次传送多个字节的时钟信号或RAM数据。
DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。
DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。
3.2.1 DS1302引脚功能DS1302表3 DS1302引脚功能表图2 DS1302管脚图3.2.2 DS1302的控制字DS1302的控制字节如图3所示:图3控制字节如图控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入到DS1302中。
位6如果为0,则表示存取日历时钟数据,为1表示存取RAM 数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。
3.2.3 DS1302的复位引脚通过把RST 输入驱动置高电平来启动所有的数据传送。
RST 输入有两种功能:首先,RST 接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST 提供了终止单字节或多字节数据的传送手段。
当RST 为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。
如果在传送过程中置RST 为低电平,则会终止此次数据传送,并且I/O 引脚变为高阻态。
上电运行时,在Vcc≥2.5V 之前,RST 必须保持低电平。
只有在SCLK 为低电平时,才能将RST 置为高电平。
3.2.4 DS1302的数据输入输出CR在控制指令字输入后的下一个SCLK 时钟的上升沿时数据被写入DS1302,数据输入从低位即位0开始。
同样,在紧跟8位的控制指令字后的下一个SCLK 脉冲的下降沿读出DS1302图4 读写数据如图所示的数据,读出数据时从低位0位至高位7,数据读写时序如图4所示:3.2.5 DS1302的寄存器DS1302共有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD 码形式。