电子时钟(LCD显示)
12864LCD电子钟说明文档
![12864LCD电子钟说明文档](https://img.taocdn.com/s3/m/817c2c17866fb84ae45c8d0f.png)
void lcm_w_test(bit start, unsigned char ddata) {
unsigned char start_data,Hdata,Ldata;
if(start==0)
start_data=0xf8; //0:写指令
else
start_data=0xfa; //1:写数据
while(*str != '\0'){ lcm_w_test(1,*str++);
} *str = 0; } /******************************************************************************/
2. 仿制说明
Doyoung 电子技术 将无条件共享原理图、说明文档、HEX 文件供有兴趣的朋友仿制使用。如您 成功仿制本设计,至信 @,即可获得本制作品的源代码,用于学习或升级 升级开发。如果您成功升级了一次程序将可以获得 Doyoung现在制作品的所有源代码包(不包括 日后制作品)。目的只有一个,力图创造独立资料。
按键 3:下一项 按键 4:减 1
按键 1:退出 按键 2:加 1
[Esc] 2007 [Next] 2 月 14 日 星期五
23:34.10 23.5℃ [+] 调整日期 [-]
按键 3:下一项 按键 4:减 1
按键 1:退出 按键 2:加 1
[Esc] 2007 [Next] 2 月 14 日 星期五
[Esc] 2007 [Next] 2 月 14 日 星期五
23:34.10 23.5℃ [+] 调整分钟 [-]
Байду номын сангаас
按键 3:下一项 按键 4:减 1
网易lcd钟说明书
![网易lcd钟说明书](https://img.taocdn.com/s3/m/49b34468c950ad02de80d4d8d15abe23482f0365.png)
网易lcd钟说明书1、修改时间和日期:按下设置移动按钮,钟面年份开始闪烁,再按设置移动按钮,月份开始闪烁;再按设置移动按钮,日期开始闪烁;再按设置移动按钮,小时开始闪烁,按下修改按钮,可向上增加时间;再按设置移动按钮,分钟数字开始闪烁,按下修改按钮,可向上增加分钟。
2、完成调整后,按下退出按钮,就进入正常显示:各种电子钟设置方法基本相似,有五个按钮的,修改有上调、下调两个按钮。
万年历显示信息分上下两部分,屏幕上半部分固定显示时间,下半部分轮流显示日期、星期、温度、农历日期以及24节气。
信息轮流显示的时间间隔固定为5秒,不可调整。
万年历配备两组闹钟。
系统有备用电池,在断电的情况下依然可以保证正确计时,保持时间视电池电量而定,通常短时间断电不会出现时间丢失的情况。
3、电子钟日历调整:如果是万年历那种,侧面有四个按键,从上到下叫ABCD,先按住A一会儿,表盘年月日星期等开始闪动。
哪个闪动,按B就是往上加数字,按C就是往下减,以此类推都可以调整了,调整完不动它,过一会恢复正常走时了。
4、电子钟时间调整:先按一下“调整”按钮,数字开始闪动。
想调哪一个数就多按几次,按到的这个数就会闪动。
再用“上调”、或者“下调”来调整。
在正常的显示下,按一下“闹钟”按钮,会在“开”和“关”之间转换。
按一下“喇叭”按钮,会在“开”和“关”的功能切换。
最后按复位。
5、先按一下“设置”键:进入时间设置状态,同时年份“闪烁”,可按“上调”或“流水(下调)”键修改年份,修改好后按“设置”键将闪烁位移到公历“月”,按“上调”或“流水(下调)”键修改月份;用同样的方法可对日、时、分、秒进行设置;星期、农历月、日将自动跟随公历的变化而变化。
6、再按“设置”或“退出”:退出时间设置,回到正常时间状态。
LCD显示电子时钟设计
![LCD显示电子时钟设计](https://img.taocdn.com/s3/m/9cab072d1fb91a37f111f18583d049649a660e7b.png)
LCD显示电子时钟设计LCD显示电子时钟是一种以液晶显示技术为基础的电子时钟设计。
液晶显示器(Liquid Crystal Display,简称LCD)是指通过操控液晶分子的取向和透光性来显示图像的显示器,具有薄、轻、便携、低功耗、对环境光适应性强等特点,因此被广泛应用于各种电子设备中。
设计一个LCD显示电子时钟的目的是为了制作一个精确显示时间的时钟装置,并且通过液晶显示器来实时显示时间。
具体的设计思路如下:1.显示屏设计:选择一款适用的液晶显示屏,通过与微控制器连接来实时显示时间。
可以选择有背光功能的液晶显示屏,以便在光线较暗的环境中也可以清晰显示。
2.微控制器选择:选择一款适用的微控制器,来控制液晶显示器的驱动和时间的计算。
常用的微控制器有PIC、AVR等,可以根据需求选择性能和功能适配的型号。
3.时钟电路设计:通过时钟电路提供准确的时间信号,并连接到微控制器中,用于计时和更新时间。
时钟电路可以通过晶振或者RTC(实时时钟芯片)实现。
4.按键输入设计:设计一组按键接口,用于调整和设置时间。
通过按键,可以实现时间的调整、闹钟设置、12/24小时制切换等功能。
5.动态电源设计:由于时钟是一个长时间运行的装置,因此需要设计一个适合的动态电源电路,以保证电源的稳定和可靠性。
可以选择使用电池供电,以应对停电等特殊情况。
6.温度补偿设计:由于液晶显示器的性能受环境温度的影响较大,可以采用温度传感器来感知环境温度,并通过微控制器对温度进行补偿,以提高LCD显示器的准确性。
7.其他功能设计:根据实际需求,可以增加其他功能模块,如闹钟、报时、温湿度检测、闪烁灯效果等。
总结起来,设计一个LCD显示电子时钟需要考虑液晶显示屏、微控制器、时钟电路、按键输入、动态电源、温度补偿等方面的因素。
通过合理的设计和电路连接,可以实现一个功能齐全、精确显示时间的电子时钟。
lcd数显温度万年历电波钟
![lcd数显温度万年历电波钟](https://img.taocdn.com/s3/m/2eb9717402768e9951e738be.png)
外观尺寸:29cm(宽)*18.5cm(高)可挂可摆,背面有挂孔,可挂在墙上,也可以安装随机配送的支架摆放在台面上。
电子说明书地址:/item.htm?spm=a1z09.5.0.4 0&id=16362908718功能特点:1、时间显示:时:分:秒,12/24小时制可选2、日历显示:日/月3、星期显示:英文简写4、温度显示:摄氏或华摄,范围:0℃-50℃(32℉-122℉),分辨率:0.1℃。
5、闹铃功能:可设置1个闹铃时间。
6、特殊日期提醒功能:可设置三个特殊日期提醒。
使用电源:两节AA电池(不配送电池),超省电,两节电池可使用一年以上。
使用说明:一、信号自动同步:当时钟正确装上电池后,稍等几秒,自动开始接收日本发射的无线电校时信号,接收过程中屏幕右上角显示一个闪动的信号接收塔标识。
当接收到正确的时间信号后,接收塔标识停止闪动并自动同步时间和日历信息,时钟每天会定时进行接收,无须人工干预。
如果接收不成功,时钟仍可以作为一个高精度石英钟使用。
时钟在接收信号的过程(接收塔标识闪动)中无法进行其他功能的操作,如果需要进行其它设置或取消接收,须按下‘+’键退出接收状态。
为了达到最好的接收效果,应将时钟远离其它用电器至少在1-2米以上,并可以适当转动时钟位置以获取最佳接收效果。
二、信号手动同步:在正常的时钟显示模式,长按‘+’键,强制进入信号接收状态,此时收塔标识闪动,接收过程与自动同步一样。
三、手动设定时钟、日历:在正常的时钟显示模式,长按‘CLK/CAL’键,进入时间日历设置界面,当前设置项目闪动,通过短按‘+,-’键调整数值,再短按‘CLK/CAL’确认并进入下一设置项目。
设置项目顺序:12/24时制—小时—分钟—年—月—日—时区。
四、每日闹钟设置:在正常的时钟显示模式,长按‘ALARM’键,进入闹铃设置界面,通过短按按‘+,-’键输入每天的闹铃时间,最后按‘ALARM’键确认。
在正常的时钟显示模式,短按‘-’键可以开启和关闭闹铃功能,当闹铃响时,按任意键都可以关闭闹铃。
电子钟的工作原理
![电子钟的工作原理](https://img.taocdn.com/s3/m/4be3cf94b04e852458fb770bf78a6529647d3523.png)
电子钟的工作原理电子钟是一种使用电子技术来显示时间的钟表装置。
它采用电子元件和数字显示屏来替代传统的机械指针,具有精确、可靠和易于读取的特点。
下面将详细介绍电子钟的工作原理。
1. 电子时钟的组成部分电子钟主要由以下几个部分组成:1.1 振荡器:产生稳定的电子信号,用于计时。
1.2 计数器:用于计算振荡器产生的信号,以确定当前的时间。
1.3 控制电路:控制电子钟的各种功能,如时间调整、闹钟设置等。
1.4 数字显示屏:用于显示当前的时间。
2. 振荡器的工作原理振荡器是电子钟的核心部件,它产生一个稳定的电子信号,用于计时。
常见的振荡器有晶体振荡器和电子管振荡器两种。
2.1 晶体振荡器:晶体振荡器使用一块石英晶体作为振荡元件,通过施加电压使晶体发生机械振动,产生稳定的电子信号。
晶体的振荡频率非常稳定,可以达到非常高的精确度。
2.2 电子管振荡器:电子管振荡器使用电子管作为振荡元件,通过控制电子管的电流和电压,使电子在管内来回运动,产生稳定的电子信号。
电子管振荡器的精确度相对较低,但成本较低,适用于一些简单的电子钟。
3. 计数器的工作原理计数器用于计算振荡器产生的信号,以确定当前的时间。
常见的计数器有二进制计数器和十进制计数器两种。
3.1 二进制计数器:二进制计数器使用二进制编码来表示时间。
它由多个触发器组成,每个触发器有两个稳定状态,通过触发器之间的互相触发,可以实现二进制计数。
例如,一个4位的二进制计数器可以表示0~15的数值。
3.2 十进制计数器:十进制计数器使用十进制编码来表示时间。
它由多个二进制计数器组成,通过将二进制计数器的输出进行编码,可以实现十进制计数。
例如,一个4位的十进制计数器可以表示0~9的数值。
4. 控制电路的工作原理控制电路用于控制电子钟的各种功能,如时间调整、闹钟设置等。
它通常由微处理器或专用集成电路实现。
4.1 时间调整:控制电路可以通过接收来自外部的时间信号,如无线电信号、网络时间等,来自动调整电子钟的时间。
LCD显示的指针式电子钟
![LCD显示的指针式电子钟](https://img.taocdn.com/s3/m/b216f2ba31b765ce050814cf.png)
信息工程学院课程设计报告书题目: LCD显示的指针式电子钟专业:电子信息的科学与技术班级: 0311410学号: 031141012学生姓名:何标指导教师:高林2014年 5 月 15 日信息工程学院课程设计任务书2014年5月20 日信息工程学院课程设计成绩评定表目录1 任务提出与方案论证 (6)1.1设计要求 (6)1.2原理说明 (6)2 总体设计 (7)3 详细设计 (8)3.1 AT89C51单片机简介 (8)3.2时钟模块设计 (9)3.3 显示模块设计 (10)3.4 设置模块 (10)3.5 振荡电路 (10)3.6 复位设置 (11)4 总结 (12)参考文献 (13)附录仿真电路图 (14)摘要单片机就是微控制器,是面向应用对象设计、突出控制功能的芯片。
单片机接上晶振、复位电路和相应的接口电路,装载软件后就可以构成单片机应用系统。
本设计就是应用单片机强大的控制功能制作而成的指针式电子钟,该指针式电子钟实现如下功能:液晶屏模拟表盘与时分秒指针显示当前时钟,K1键用于选择调节对象,K2键用于调整时分秒,在按下K4键时确定调节值,时钟继续运行。
本设计采用的是AT89C51单片机,AT89C51单片机内部带有定时/计数功能,此定时功能是通过对外部晶振的脉冲进行计数,从而达到计时功能,只要使用11.0592的晶振就能实现零误差的计时,因此可以利用此功能实现计时。
芯片采用DALLAS公司的涓细充电时钟芯片DS1302,该芯片通过简单的串行通信与单片机进行通信,时钟/日历电路能够实时提供年、月、日、时分、秒信息,采用双电源供电,当外部电源掉电时能够利用后备电池准确计时。
显示器件采用PG12864LCD液晶,12864是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及128×64全点阵液晶显示器组成。
可完成图形显示,也可以显示8×4个(16×16点阵)汉字。
(完整版)电子时钟(LCD显示)
![(完整版)电子时钟(LCD显示)](https://img.taocdn.com/s3/m/4ae07602daef5ef7ba0d3ca1.png)
电气工程及自动化专业单片机原理及应用课程设计报告姓名:XXXXXX学号:XXXXXXX专业班级:XXXXXX题目:电子时钟(LCD显示)电气与电子工程学院二〇一四年十二月三十日目录一、设计目的 (2)二、设计任务和要求 (2)三、设计原理分析 (2)四、硬件资源及其分配 (3)五、硬件图 (4)六、程序框图 (5)七、程序 (7)八、调试运行 (13)九、仿真截图 (13)十、设计心得体会 (14)一、设计目的1、设计要求以AT89C51单片机为核心的时钟,在LCD 显示器上显示当前的时间。
2、 使用字符型LCD 显示器显示当前时间。
显示格式为“时时:分分:秒秒”。
3、用4个功能键操作来设置当前时间。
4、熟悉掌握proteus 编成软件以及keil 软件的使用 二、设计任务与要求本设计以AT89C51单片机为核心,通过时钟程序的编写,并在LCD 显示器上显示出来。
该编程的核心在于定时器中断及循环往复判断是否有按键操作,并对每个按键的操作在LCD 显示器上作出相应的反应。
由于LCD 显示器每八位对应一个字符,故把秒、分、时的个位和十位分开表示。
该课题中有四个控制开关KM1、KM2、KM3、KM4分别控制时、分、秒、确定的调整,时间按递增的方式调整,每点一次按钮则相应的时间个位加以,且时间调整不干扰其他为调整时间的显示。
三、设计原理分析1、按照系统的设计功能要求,本时钟系统的设计必须采用单片机软件系统实现,用单片机的自动控制能力配合按键控制,来控制时钟的调整及显示。
图一 系统总原理图2、软件主要完成功能(1)显示时间程序用软件调节时间,通过程序的调节,最后用LED现实时钟(2)调节时间程序按键调节时间,能实现时、分的调节3、软件设计主要流程时间控制程序时间控制程序,用中断准确的控制时间,采用60进制,60秒为一分钟,60分钟为一个小时,全天设置为24小时。
四、硬件资源及原理图AT89C51芯片AT89C51 是美国ATMEL 公司生产的8 位Flash ROM 单片机。
LCD电子时钟的设计
![LCD电子时钟的设计](https://img.taocdn.com/s3/m/ead36247b307e87101f696f0.png)
东北石油大学课程设计课程单片机课程设计题目单片机控制的LCD时钟设计院系电气信息工程学院测控系专业班级学生姓名学生学号指导教师2011年4月6日东北石油大学课程设计任务书课程单片机课程设计题目单片机控制的LCD时钟设计专业姓名学号一、任务设计一款基于STC89C52RC单片机的LCD数字时钟,实现显示当前时间以及具有调整日期与时间的功能。
二、设计要求[1] 使用集成数字电路或单片机作为主控制芯片。
[2] 使用LCD来显示现在的时间,显示格式为:上行显示:年-月-日;下行显示:时时:分分:秒秒。
[3] 使用时钟芯片DS1302实现时钟定时。
[4]具有调整日期与时间的功能。
[5] 写出详细的设计报告。
[6] 给出全部电路和源程序。
三、参考资料[1] 求是科技. 单片机典型模块设计实例导航. 北京:人民邮电出版社. 2005.8[2] 徐淑华, 程退安等.单片微型机原理及应用. 哈尔滨:哈尔滨工业大学出版社. 2005.1[3] 孙余凯. 精选实用电子电路260例. 北京:电子工业出版社. 2007.6[4] 殷春浩, 崔亦飞. 电磁测量原理及应用. 徐州:中国矿业大学出版社. 2003.7[5] 《LCD1602A数据手册》[6] 《DS1302数据手册》完成期限2011.3.28至2011.4.8指导教师专业负责人2011年3月28 日目录第1章绪论....................................................31.1 STC89C52RC单片机概述...............................................31.2 LCD概述............................................................31.3 DL1302简介.........................................................41.4 本设计任务.........................................................4 第2章总体方案论证与设计......................................52.1显示部分...........................................................52.2数字时钟...........................................................52.3温度采集...........................................................62.4总体硬件组成框图...................................................6 第3章系统硬件设计............................................73.1 STC89C52RC单片机最小系统...........................................73.2 温度测量模块.......................................................73.3 时钟模块...........................................................83.4 LCD液晶显示模块....................................................83.5 键盘模块...........................................................93.6 整体电路...........................................................9 第4章系统的软件设计.........................................114.1主程序设计........................................................114.2时间设定程序流程..................................................114.3温度测量流程图..............................................12 第5章系统调试与测试结果分析.................................145.1 使用的仪器仪表....................................................145.2 系统调试..........................................................145.3 测试结果..........................................................14 结论..........................................................15参考文献......................................................16 附录1 程序....................................................17附录2 仿真效果图..............................................27第1章绪论在新的世纪我们已经步入了第二个十年,随着全球经济的复苏和发展,由于在世界范围内人类需求的巨大释放,以及消费结构的升级,同时传统能源的稀缺以及带来的环境的破坏,都将带来新一轮的科技革命的巨变。
lcd1602液晶显示数字钟
![lcd1602液晶显示数字钟](https://img.taocdn.com/s3/m/c19ebe710622192e453610661ed9ad51f01d548e.png)
{
time[1]=0;//超过,分清零
time[0]++;//小时加1
if(time[0]>23)//是否超过23
{
time[0]=0; //小时清零
•}
•
}
时间计算
• void main(void)
•{
•
uchar i;
•
•
while(1)
•
{
• 计时
for(i=0;i<250;i++)//循环调用显示程序250次,实现1秒
display_code[]={0x3f,0x60,0x5b,0x4 f,0x66,0x5d,0x7d,0x07,0x7f,0x6f,0x 40}; • uchar time[4]={0,0,0,0}; //时间初 值全为0
• void delay(void);//延时0.5毫秒 •{
定时1秒
• uchar i;
• for(i=250;i>0;i--);
•}
• void display()
/*程序用于P0口接数码管的断码,P2接数码管的位码*/
•{
•
uchar i,k;
•
k=0x80;
//k初始化,指向第一位数码管
•
for(i=0;i<8;i++) //循环8次,i值为0~7
•
{
•
P2=0;
//关闭显示
•
P0=display_code[time[i]/10]; //输出十位数的断码
•
•
{
•
display();//调用动态显示,动态显示一次约4毫秒
•
}
电子时钟lcd课程设计
![电子时钟lcd课程设计](https://img.taocdn.com/s3/m/482e54744a73f242336c1eb91a37f111f1850dfe.png)
电子时钟lcd课程设计一、课程目标知识目标:1. 学生能理解电子时钟的基本原理,掌握LCD显示技术的基本概念。
2. 学生能够解释电子时钟中LCD显示部分的电路组成及其功能。
3. 学生能够描述电子时钟中时间计算和处理的方法。
技能目标:1. 学生能够运用所学知识,设计并搭建一个简单的电子时钟LCD显示系统。
2. 学生通过实际操作,掌握电路连接、程序编写和调试的基本技能。
3. 学生能够运用问题解决策略,对LCD显示系统进行故障排查和优化。
情感态度价值观目标:1. 学生培养对电子技术和编程的兴趣,激发创新意识和探索精神。
2. 学生通过团队合作,学会交流、分享和协作,培养集体荣誉感。
3. 学生意识到科技发展对生活的影响,提高对科学技术的尊重和责任感。
课程性质:本课程为实践性强的信息技术课程,注重学生动手操作和问题解决能力的培养。
学生特点:六年级学生具备一定的逻辑思维和动手能力,对电子技术和编程感兴趣,但需进一步培养实际操作和团队协作能力。
教学要求:结合学生特点,注重理论与实践相结合,强调在实践中学习,培养学生解决问题的能力和团队协作精神。
通过本课程的学习,使学生在知识、技能和情感态度价值观方面均取得具体的学习成果。
二、教学内容本课程教学内容主要包括以下几部分:1. 电子时钟原理:介绍电子时钟的基本工作原理,包括时钟芯片、晶振、LCD 显示等组成部分。
- 教材章节:第二章“电子时钟的原理与设计”- 内容列举:时钟芯片的工作原理、晶振的作用、LCD显示原理。
2. LCD显示技术:讲解LCD显示技术的基本概念,以及电子时钟中LCD显示部分的电路组成和功能。
- 教材章节:第三章“LCD显示技术”- 内容列举:LCD显示原理、电子时钟LCD电路组成、显示驱动程序编写。
3. 电路设计与搭建:教授如何设计并搭建一个简单的电子时钟LCD显示系统。
- 教材章节:第四章“电子时钟设计与制作”- 内容列举:电路设计方法、元器件选型、电路搭建与调试。
电子时钟说明书
![电子时钟说明书](https://img.taocdn.com/s3/m/f662b5654a35eefdc8d376eeaeaad1f3469311a2.png)
电子时钟说明书电子时钟说明书简介电子时钟是一种现代化的时间显示设备,它通过数字显示屏或LED灯显示当前的时间。
本说明书将向您介绍如何使用电子时钟的不同功能,并解答常见问题。
功能1. 时间显示电子时钟主要功能是显示当前时间。
它采用12小时制或24小时制,您可以根据个人喜好进行设置。
显示屏上有小时、分钟和秒的数字,让您轻松获得精确的时间信息。
2. 闹钟功能电子时钟还具有闹钟功能,您可以设置多个闹钟提醒您重要的事情。
可以设置闹钟的时间、铃声和重复频率。
当闹钟时间到达时,电子时钟会发出铃声提醒您。
3. 倒计时功能如果您需要计时某个活动的剩余时间,电子时钟的倒计时功能非常实用。
您可以设置倒计时的时间,并选择是否需要提醒音。
当倒计时结束时,电子时钟会发出提醒。
4. 温度显示一些电子时钟还具有温度显示功能,可以显示当前环境的温度。
这对于掌握室内温度非常有用,让您始终保持舒适。
使用指南1. 设置时间- 首先,按下电子时钟上的“设置”按钮进入设置模式。
- 使用“上”和“下”按钮选择小时,并按“设置”按钮确认。
- 然后选择分钟并按“设置”按钮确认。
- 最后,选择您喜欢的时间制式(12小时制或24小时制)并按“设置”按钮确认。
2. 设置闹钟- 按下电子时钟上的“闹钟”按钮进入闹钟设置模式。
- 使用“上”和“下”按钮选择闹钟的小时数,并按“设置”按钮确认。
- 然后选择分钟数并按“设置”按钮确认。
- 接下来,选择闹钟铃声并按“设置”按钮确认。
- 最后,选择闹钟的重复频率(每天、工作日、周末等)并按“设置”按钮确认。
3. 设置倒计时- 按下电子时钟上的“倒计时”按钮进入倒计时设置模式。
- 使用“上”和“下”按钮选择倒计时的小时数,并按“设置”按钮确认。
- 然后选择分钟数并按“设置”按钮确认。
- 最后,选择是否需要提醒音并按“设置”按钮确认。
4. 查看温度- 一些电子时钟需要按下“温度”按钮才能显示当前环境的温度。
常见问题解答**问题1:为什么电子时钟没有显示正确的时间?**答:请按照使用指南中的步骤设置时间。
制作一个采用LCD1602显示的电子钟
![制作一个采用LCD1602显示的电子钟](https://img.taocdn.com/s3/m/054130e6b52acfc788ebc968.png)
计算机科学与工程系实验报告实验题目:制作一个采用LCD1602显示的电子钟班级:姓名:学号:日期:一、实验目的掌握单片机使用定时器/计数器控制字符型液晶显示器LCD1602的设计与软件编程二、实验要求在LCD上显示当前的时间。
显示格式为“时时:分分:秒秒”。
设有4个功能键k1~k4,功能如下:(1)k1——进入时间修改。
(2)k2——修改小时,按一下k2,当前小时增1。
(3)k3——修改分钟,按一下k3,当前分钟增1。
(4)k4——确认修改完成,电子钟按修改后的时间运行显示。
三、实验要求提交的实验报告中应包括:电路原理图、实验设计思路、C51源程序(含注释语句)、运行效果(含运行截图与说明)、实验小结三、硬件电路原理图的设计四、编程思路及C51源程序编程思路:1、实现当按下K1之后,使中断T0停止计数2、实现当按下K2之后,使小时加一3、实现当按下K3之后,使分钟加一4、实现当按下K4之后,使中断T0恢复计数源程序:#include<reg51.h>#ifndef LCD_CHAR_1602_2005_4_9#define LCD_CHAR_1602_2005_4_9#define uchar unsigned char#define uint unsigned intsbit lcdrs = P2^0;sbit lcdrw = P2^1;sbit lcden = P2^2;void delay(uint z)//延时函数,此处使用晶振为11.0592MHz {uint x,y;for(x=z;x>0;x--){for(y=110;y>0;y--){;}}}void write_com(uchar com) //写入指令数据到lcd{lcdrw=0;lcdrs=0;P3=com;delay(5);lcden=1;delay(5);lcden=0;}void write_data(uchar date) //写入字符显示数据到lcd{lcdrw=0;lcdrs=1;P3=date;delay(5);lcden=1;delay(5);lcden=0;}void init1602()//1602液晶初始化设定{lcdrw=0;lcden=0;write_com(0x3C);write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80);}/*void write_string(uchar *pp,uint n)//采用指针的方法输入字符,n为字符数目{int i;for(i=0;i<n;i++)write_data(pp[i]);}*/void write_sfm(uchar add,uchar date)//向指定地址写入数据{uchar shi,ge;shi=date/10;ge=date%10;write_com(0x80+add);write_data(0x30+shi);write_data(0x30+ge);}#endif#define uchar unsigned char#define uint unsigned intsbit Key1 = P1^0;sbit Key2 = P1^1;sbit Key3 = P1^2;sbit Key4 = P1^3;uchar int_time;//定义中断次数计数变量uchar second;//秒计数变量uchar minute;//分钟计数变量uchar hour;//小时计数变量uchar code date[]=" H.I.T. CHINA ";//LCD第1行显示的内容uchar code time[]=" TIME 23:59:55 ";//LCD第2行显示的内容uchar second=55,minute=59,hour=23;void clock_init(){uchar i,j;for(i=0;i<16;i++){write_data(date[i]);}write_com(0x80+0x40);for(j=0;j<16;j++){write_data(time[j]);}}void clock_write( uint s, uint m, uint h){write_sfm(0x47,h);write_sfm(0x4a,m);write_sfm(0x4d,s);}void Keyscan1(){if(Key1==0) {delay(10);if(Key1==0) while(!Key1); TR0=0;}if(Key4==0) {delay(10);if(Key4==0) while(!Key4); TR0=1;}if(Key3==0){delay(10);if(Key3==0)while(!Key3);minute++;if(minute==60)minute=0;} if(Key2==0){delay(10);if(Key2==0)while(!Key2);hour++;if(hour==24)hour=0;}}void main(){init1602();//LCD初始化clock_init();//时钟初始化TMOD=0x01;//设置定时器T0为方式1定时EA=1; // 总中断开ET0=1; // 允许T0中断TH0=(65536-46483)/256;//给T0装初值TL0=(65536-46483)%256;TR0=1;int_time=0;//中断次数、秒、分、时单元清0second=55;minute=59;hour=23;while(1){clock_write(second ,minute, hour);Keyscan1();}}void T0_interserve(void) interrupt 1 using 1 //T0中断服务子程序{int_time++;//中断次数加1if(int_time==20) //若中断次数计满20次{int_time=0; //中断次数变量清0second++;//秒计数变量加1}if(second==60)//若计满60s{second=0; //秒计数变量清0minute ++;//分计数变量加1}if(minute==60)//若计满60分{minute=0;//分计数变量清0hour ++;//小时计数变量加1}if(hour==24){hour=0;//小时计数计满24,将小时计数变量清0 }TH0=(65536-46083)/256;//定时器T0重新赋值TL0=(65536-46083)%256;}五、仿真运行效果展示仿真初始状态按下k1键,进入修改模式六、实验小结通过本次实验,我掌握了LCD1602编程的方法,将所学知识运用到实践中,这是一件慢慢的过程,首先要把理论知识理解透彻,然后就是例题看懂,弄懂举一反三。
基于1602液晶的电子时钟设计
![基于1602液晶的电子时钟设计](https://img.taocdn.com/s3/m/fbdae5c7bdeb19e8b8f67c1cfad6195f312be81f.png)
基于1602液晶的电子时钟设计电子时钟是一种通过电子装置与液晶显示屏显示时间的设备。
它通常由时钟芯片、控制电路和显示屏组成。
本文将设计一个基于1602液晶显示屏的电子时钟。
电子时钟的设计首先需要选择合适的时钟芯片。
一个常用的时钟芯片是DS1302,它具有低功耗、精准度高等优点,并且非常适合于低成本的时钟设计。
同时,我们也需要一个运行时钟,我们可以使用DS1302芯片内部的时钟信号来驱动1602液晶显示屏。
接下来,我们需要一个控制电路,用于读取DS1302芯片的时间数据,并将其显示在1602液晶显示屏上。
控制电路可以使用单片机,如ATmega16或Arduino开发板。
在编程控制电路之前,我们需要先连接DS1302和1602液晶显示屏。
首先,连接DS1302的VCC引脚至+5V电源,将GND引脚连接到地线,将DS和RST引脚分别连接到单片机的SCL(时钟线)和SDA(数据线)引脚。
然后,将1602液晶显示屏的VCC引脚连接至+5V电源,将GND引脚连接至地线,将RS、RW和E引脚依次连接至单片机的I/O口引脚,将D4至D7引脚依次连接至单片机的I/O口引脚。
接下来,我们编写单片机的程序代码。
首先,我们需要初始化1602液晶显示屏,包括清屏、设置显示模式等。
然后,我们需要初始化DS1302芯片,包括设置时钟、日期等。
接着,我们开始读取DS1302芯片的时间数据,并将其显示在1602液晶显示屏上。
我们可以使用单片机的定时器来控制时间的更新,例如每秒钟更新一次。
最后,我们可以添加其他功能,如闹钟、日期显示等。
在设计电子时钟的过程中,我们需要注意以下几点:1.为了节省能源并延长DS1302芯片的使用寿命,我们可以采用休眠模式,只有在需要更新时间时才唤醒DS1302芯片。
2.我们可以添加按键与单片机的输入输出口进行连接,从而实现时间的调节和设置功能,如设置闹钟、日期等。
3.为了提高显示效果,我们可以调整1602液晶显示屏的对比度和背光亮度,只需调整相关电路元件的参数即可。
LCD12864液晶电子钟
![LCD12864液晶电子钟](https://img.taocdn.com/s3/m/d6f68bb6b0717fd5360cdc25.png)
长沙学院《单片机原理及应用》课程设计说明书题目 LCD12864液晶显示电子钟设计系(部)专业(班级)姓名学号指导教师起止日期《单片机原理及应用》课程设计任务书系(部):专业:课题名称LCD12864液晶显示电子钟设计设计内容及要求1、课题内容:设计一种基于AT89S52 单片机的液晶显示电子时钟,要求如下:(1)、能正确显示时间、日期和星期显示格式为:时间:XX 小时:XX 分:XX 秒;日期:XX 年:XX 月:XX 日;星期:X。
(2)、时间能够由按键调整,误差小于1S。
(3)、闹钟功能:时间运行到与闹钟设定时间时,闹钟响(持续响3秒)。
(4)、报时功能:时间运行到正点时间时,闹钟响,几点钟就响几声(每声持续响2 秒,每两声之间时间间隔1 秒)。
液晶显示器第一行显示“数字电子钟”;第二行显示“当前时间”;第三行显示日期和星期;第四行显示最近一个闹钟的设定时间。
2、要求:完成该系统的硬件和软件的设计,在Proteus 软件上仿真通过,并提交一篇课程设计说明书。
设计工作量1、汇编或C51 语言程序设计;2、程序调试;3、在Proteus 上进行仿真成功,进行实验板下载调试;4、提交一份完整的课程设计说明书,包括设计原理、程序设计、程序分析、仿真分析、调试过程,参考文献、设计总结等。
进度安排起止日期设计内容(或预期目标)备注第一天课题介绍,答疑,收集材料,C51介绍第二天设计方案论证,练习编写C51程序第三天——第六天程序设计第六天——第八天程序调试、仿真第九天——第十天系统测试并编写设计说明书教研室意见年月日系(部)主管领导意见年月日目录一、整体方案设计 (4)1、单片机的选择 (4)2、单片机结构 (4)二、前期准备 (5)三、程序设计 (8)1、键盘约定 (8)2、界面显示 (9)3、全局变量的定义 (9)4、系统时钟 (9)5、闹钟控制时间的设定 (9)四、总结与体会 (10)参考文献 (11)一、整体方案设计1、单片机的选择单片微型计算机主要由微处理器、存储器、I/O接口电路等组成。
LCD12864液晶显示电子钟设计
![LCD12864液晶显示电子钟设计](https://img.taocdn.com/s3/m/11de95fe970590c69ec3d5bbfd0a79563d1ed467.png)
LCD12864液晶显示电子钟设计
介绍:
设计目标:
设计一个能够实时显示时间和日期的电子钟,能够精确地获取当前的时间,并对用户的操作作出相应的响应。
设计原理:
该电子钟设计采用了单片机ATmega16作为核心,配合RTC(实时时钟)模块,通过控制液晶显示屏来显示时间和日期。
硬件设计:
1.电源电路:使用直流电源电压为5V,通过稳压芯片将输入电压稳定在5V。
2.单片机电路:将ATmega16与晶振、复位电路、电源电路等连接起来。
3.RTC电路:通过连接RTC芯片和单片机,实现对实时时钟的读取和控制功能。
4.液晶显示屏电路:将液晶显示屏与单片机进行连接,通过单片机控制液晶显示屏的显示。
软件设计:
1.初始化:对单片机和RTC进行初始化设置。
2.获取时间:从RTC读取当前时间和日期。
3.显示时间:将获取到的时间和日期分别显示在液晶显示屏的相应位置。
4.操作功能:通过按键控制,实现对时间和日期的调整和设置功能。
设计步骤:
1.确定电路设计需求和所需元器件。
2.搭建硬件电路,完成电路连接。
3.使用相关软件进行单片机和RTC的编程设置。
4.测试整个电路是否能够正确工作,如对时间进行调整并观察液晶显示屏的显示是否准确。
5.根据需求进行适当的优化和完善设计。
总结:。
课程设计之LCD显示数字时钟设计
![课程设计之LCD显示数字时钟设计](https://img.taocdn.com/s3/m/98014f39dcccda38376baf1ffc4ffe473368fd2d.png)
课程设计之LCD显示数字时钟设计一、课程目标知识目标:1. 学生能理解LCD显示数字时钟的基本原理,掌握电子元件的功能和使用方法。
2. 学生能描述数字时钟的组成,包括时钟芯片、LCD显示屏、电阻、电容等基本元件。
3. 学生能运用所学知识,分析并解释LCD显示数字时钟的电路图。
技能目标:1. 学生能通过实际操作,学会正确焊接电子元件,搭建LCD显示数字时钟电路。
2. 学生能运用编程软件,编写控制LCD显示数字时钟的程序。
3. 学生能通过调试,解决LCD显示数字时钟中的常见问题,确保其正常运行。
情感态度价值观目标:1. 学生在课程学习中,培养对电子制作的兴趣和热情,提高创新精神和动手能力。
2. 学生通过团队协作,培养沟通、交流和合作的能力,增强团队意识。
3. 学生在掌握电子技术知识的过程中,认识到科技对生活的影响,提高社会责任感和使命感。
课程性质:本课程为实践性较强的电子技术课程,结合理论知识与实践操作,培养学生动手能力和创新能力。
学生特点:学生处于高年级阶段,具备一定的电子技术基础,对实践操作有较高的兴趣和热情。
教学要求:教师需关注学生的个体差异,提供个性化的指导,鼓励学生积极参与实践,注重培养学生的实际操作能力和问题解决能力。
同时,关注学生的情感态度价值观的培养,提高学生的综合素质。
通过课程目标的分解,使学生在知识、技能和情感态度价值观方面取得具体的学习成果,为后续教学设计和评估提供依据。
二、教学内容1. 电子元件基础知识:介绍LCD显示屏、时钟芯片、电阻、电容等基本元件的工作原理和功能。
- 教材章节:第二章 电子元件基础- 内容列举:LCD显示屏原理、时钟芯片特性、电阻和电容的分类及应用。
2. 数字时钟原理与设计:分析数字时钟的组成、工作原理,讲解设计方法。
- 教材章节:第三章 数字电路设计- 内容列举:时钟芯片的接口电路、LCD显示接口电路、数字时钟整体设计。
3. 焊接技术:教授焊接工具的使用方法,指导学生进行电子元件的焊接。
电子时钟
![电子时钟](https://img.taocdn.com/s3/m/8a3fdc7327284b73f2425020.png)
电子时钟(LCD显示)
1. 设计要求
以AT89C51单片机为核心的时钟,在LCD显示器上显示当前的时间:
使用字符型LCD显示器显示当前时间。
显示格式为“时时:分分:秒秒”。
用4个功能键操作来设置当前时间。
功能键K1~K4功能如下。
⏹K1—进入设置现在的时间。
⏹K2—设置小时。
⏹K3—设置分钟。
⏹K4—确认完成设置。
程序执行后工作指示灯LED闪动,表示程序开始执行,LCD显示“00:00:00”,然后开始计时。
2. 实验原理
题目难点在于键盘的指令输入,由于每个按键都具有相应的一种或多种功能,程序中需要大量使用do{}while或while{}循环结构,以检测是否有按键按下。
按键检测函数的详解如下(略)
3. 参考电路(Proteus软件仿真通过)
4. Proteus仿真
加载目标代码文件打开元器件单片机属性窗口,在“Program File”栏中添加上面编译好的目标代码文件“keil-2.hex”;在“Clock Frequency”栏中输入晶振频率为11.0592MHz。
启动仿真,按下按键1后,可发现LED停止闪烁,即时钟停止走时,时钟停在当前时刻,
按下按键2和按键3后,可改变时间,按下按键4后,时钟复位到修改后的时间,时钟重新开始运转,如下页图所示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电气工程及自动化专业单片机原理及应用课程设计报告:XXXXXX学号:XXXXXXX专业班级:XXXXXX题目:电子时钟(LCD显示)电气与电子工程学院二〇一四年十二月三十日目录一、设计目的 (2)二、设计任务和要求 (2)三、设计原理分析 (2)四、硬件资源及其分配 (3)五、硬件图 (4)六、程序框图 (5)七、程序 (7)八、调试运行 (13)九、仿真截图 (13)十、设计心得体会 (14)一、设计目的1、设计要求以AT89C51单片机为核心的时钟,在LCD 显示器上显示当前的时间。
2、 使用字符型LCD 显示器显示当前时间。
显示格式为“时时:分分:秒秒”。
3、用4个功能键操作来设置当前时间。
4、熟悉掌握proteus 编成软件以及keil 软件的使用 二、设计任务与要求本设计以AT89C51单片机为核心,通过时钟程序的编写,并在LCD 显示器上显示出来。
该编程的核心在于定时器中断及循环往复判断是否有按键操作,并对每个按键的操作在LCD 显示器上作出相应的反应。
由于LCD 显示器每八位对应一个字符,故把秒、分、时的个位和十位分开表示。
该课题中有四个控制开关KM1、KM2、KM3、KM4分别控制时、分、秒、确定的调整,时间按递增的方式调整,每点一次按钮则相应的时间个位加以,且时间调整不干扰其他为调整时间的显示。
三、设计原理分析1、按照系统的设计功能要求,本时钟系统的设计必须采用单片机软件系统实现,用单片机的自动控制能力配合按键控制,来控制时钟的调整及显示。
图一 系统总原理图2、软件主要完成功能(1)显示时间程序用软件调节时间,通过程序的调节,最后用LED现实时钟(2)调节时间程序按键调节时间,能实现时、分的调节3、软件设计主要流程时间控制程序时间控制程序,用中断准确的控制时间,采用60进制,60秒为一分钟,60分钟为一个小时,全天设置为24小时。
四、硬件资源及原理图AT89C51芯片AT89C51 是美国ATMEL 公司生产的8 位Flash ROM 单片机。
其最突出的优点是片ROM 为Flash ROM,可擦写1000 次以上,应用并不复杂的通用ROM 写入器就能方便的擦写,读取也很方便,价格低廉,具有片程序ROM 二级系统。
因此可灵活应用于各种控制领域。
AT89C51 包含以下一些功能部件:1. 一个8 位CPU ;2. 一个片振荡器和时钟电路;3. 4KB Flash ROM ;4. 128B RAM;5. 可寻址64KB 的外ROM 和外RAM 控制电路;6. 两个16 位定时/计数器;7. 21 个特殊功能寄存器;8. 4 个8 位并行I/O 口;9. 一个可编程全双工串行口;10. 5 个中断源,可设置成2 个优先级。
AT89C51 单片机一般采用双列直插DIP 封装,共40 个引脚,图2-1 为其引脚排列图。
40 个引脚大致可分为4 类:电源、时钟、控制各I/O 引脚五、硬件图六、程序框图七、程序#include <reg51.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned int#define DelayNOP() {_nop_();_nop_();_nop_();_nop_();}sbit K1 =P0^0;sbit K2 =P0^1;sbit K3 =P0^2;sbit K4 =P0^3;sbit SPK=P3^0;sbit RS =P2^0;sbit RW =P2^1;sbit E =P2^2;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;i<120;i++);}//LCD忙状态检测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){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;k<16;k++) LCD_Write_Data(str[k]);}//蜂鸣函数void Beep(){uchar i, j = 70;for(i=0;i<200;i++){while(--j);SPK= ~SPK;}DelayMS(300); SPK=0;}//时分秒显示void Display_HMS(uchar h,m,s){if(Settime) HMS_String[3] = '>';//显示修改标志else HMS_String[3] = ' '; //不显示修改标志HMS_String[4] = h/10 + '0'; //时HMS_String[5] = h%10 + '0';HMS_String[7] = m/10 + '0'; //分HMS_String[8] = m%10 + '0';HMS_String[10]= s/10 + '0'; //秒HMS_String[11]= s%10 + '0';Display_String(HMS_String,0x40);}//设置时间void Change_Time(){Settime=0;if(K1==0||K2==0||K3==0) //按下k1 k2 k3中的任何一个键即进入修改状态{TR0 = 0;Display_String(Str2,0x00); //第一行提示修改时间Settime = 1;}while (Settime){if(K1 == 0) //确定调整小时还是分钟{Beep();while(K1 == 0)Change_H_or_M = !Change_H_or_M;}else if(K2 == 0) //增加{Beep();while(K2 == 0);if(Change_H_or_M==1){if(++Hour == 24) Hour = 0;}else{if(++Minute == 60) Minute = 0;}}else if(K3 == 0) //减少Beep();while(K3 == 0);if(Change_H_or_M == 1){if(--Hour == 0xff) Hour = 23;}else{if(--Minute == 0xff) Minute = 59;}}else if(K4 == 0) //确定{Beep();while(K4 == 0);Display_String(Str1,0x00); //第一行还原显示str1 Settime = 0;TR0 = 1;}Display_HMS(Hour,Minute,Second);} //外层While在这里结束}//定时器0中断void Time0() interrupt 1{TH0 = (65536 -50000)/256;TL0 = (65536 -50000)%256; //重新装入50MS定时if(++MilliSecond == 20) //50*20=1s{MilliSecond = 0;if(++Second == 60){Second = 0;if(++Minute == 60)Minute = 0;if(++Hour == 24){Hour = 0;Minute = 0;Second = 0;}}}}}//主函数void main(){TMOD = 0x01;TH0 = (65536-50000)/256;TL0 = (65536-50000)%256;IE = 0x82;SPK = 0;LCD_Initialize();Display_String(Str1,0x00); //第一行显示TR0 = 1;P1 = 0xFF;while(1){Display_HMS(Hour,Minute,Second); //第二行显示时分秒DelayMS(500);Change_Time(); //显示过程中允许修改时间}}八、调试运行1、按硬件原理图接线用4个功能键操作来设置当前时间。
功能键K1~K4功能如下。
K1—进入设置现在的时间。
K2—设置小时。
K3—设置分钟。
K4—确认完成设置。
程序执行后工作指示灯LED闪动,表示程序开始执行,LED显示“00:00:00”,然后开始计时九、仿真截图结论:采用12MHZ晶振采用方式1定时,选取50ms采用20次中断达到一秒,采用查表方式控制LCD显示。