实验十一 简易电子钟设计
学科竞赛-简易电子时钟设计实验报告

简易电子时钟设计实验报告实验二简易电子时钟设计学院:研究生院学号:1400030034 姓名:张秋明一、实验目的及要求设计一个简易电子时钟,实现分、秒计时功能,使之在控制实验板上液晶输出分、秒数值,在环境下,编写源文件,用软件器件实现。
二、实现程序module clk_gen(clk,rst_n,clk_pwm,clk_frame);input clk;input rst_n;output clk_pwm;output clk_frame;reg clk_pwm;reg clk_frame;reg [11:0] count_pwm;reg [13:0] count_frame;always@(posedge clk or negedge rst_n) //一秒的设置beginif(rst_n==1'b0) begincount_pwm clk_pwm endelse beginif(count_pwm==12'b0000000001010)begincount_pwm clk_pwm endelsecount_pwm endendalways@(posedge clk or negedge rst_n)beginif(rst_n==1'b0) begincount_frame clk_frame endelse beginif(count_frame==14'b11000000000000) begincount_frame clk_frame endelsecount_frame endendendmodulemodule clock(clkk,rstn,minute_h,minute_l,second_h,second_l); //时钟的进位机理input clkk;input rstn;output [3:0] minute_h; //分钟的高位output [3:0] minute_l; //分钟的低位output [3:0] second_h; //秒钟的高位output [3:0] second_l; //秒钟的低位reg [3:0] minute_h;reg [3:0] minute_l;reg [3:0] second_h;reg [3:0] second_l;reg second_l_flag; //秒钟低位的进位标志reg second_h_flag; //秒钟高位的进位标志reg minute_l_flag; //分钟低位的进位标志reg clk1;reg [22:0] count;always@(posedge clkk)beginif(count == 23'b10110111000110110000000)begincount clk1 endelsecount endalways @(posedge clk or negedge rstn)beginif(!rstn)clk1 elseclk1 endalways @(posedge clk1 or negedge rstn)if(!rstn)beginsecond_l second_l_flag endelsebeginif(second_l==4'b1001)beginsecond_l second_l_flag endendalways @(posedge second_l_flag or negedge rstn)if(!rstn)beginsecond_h second_h_flag endelsebeginif(second_h==4'b0101)beginsecond_h second_h_flag endendalways @(posedge second_h_flag or negedge rstn)//分钟的低位if(!rstn)beginminute_l minute_l_flag endelsebeginif(minute_l==4'b1001)beginminute_l minute_l_flag endend//分钟的高位always @(posedge minute_l_flag or negedge rstn) //进位标志位为上升沿时变化if(!rstn)beginminute_h endelsebeginif(minute_h==4'b0101)beginminute_h endendendmodule三、实验步骤1、建立新工程dzsz,在Location栏选用上面所建文件夹yjxs, 然后点击NEXT,在新弹出的对话框NEW PROJECT点击NEXT,在新出现的对话框中选择相应芯片,本实验所选芯片应为MachXO2-LCMXO2-1200ZE-2MG132C.2、在Lattice Diamond 主界面File->Add->Existing files,添加刚刚放新建dzsz文件夹中的.v文件。
简易电子钟的设计与实现

简易电子钟的设计与实现电子钟是一种普遍使用的计时设备,它便利性与实用性使其成为家庭、学校、办公室等各个场所的重要组成部分。
本文将介绍一种简易电子钟的设计和实现,希望读者在本文的指导下,能够自己动手制作一款属于自己的电子钟。
1. 硬件选购制作电子钟需要一些硬件设备,在硬件选购时,需要考虑以下因素:- 显示器件:显示器件如LED点阵和数码管是电子钟的重要组成部分,我们可以选择4位LED数码管或者128*64 OLED显示屏。
- 控制器:控制器有多种选择,我们可以使用Arduino单片机或者STM32单片机,这两个均为常用的开发板,容易上手,支持多种编程语言。
- 时间模块:时间模块用于获取当前时间,我们可以选择DS1302时钟模块或者DS3231高精度时钟模块。
- 其他器件:红外遥控模块,蜂鸣器等辅助器件,可以根据需要选择。
2. 硬件连接在确定所需器件后,首先需要对这些器件进行连接,连接方式如下:- 数码管:数码管有四根引脚,分别代表数码管的4位数码,分别对应数字0~9,连接数码管需要了解其引脚定义,我们可以根据不同原理图实现引脚连接。
- 控制器:控制器和显示器连接,通过控制器的输入输出端口和显示器的输入输出端口相连。
- 时间模块:时间模块通过IIC通讯协议与控制器相连。
- 其他器件:按照器件对应原理图进行连接。
3. 程序设计电子钟的最重要的部分是程序设计,通过编写程序,实现获取时间并在数码管或者显示屏上显示当前时间的功能。
电子钟的程序设计分为两个部分:硬件驱动和逻辑控制。
硬件驱动:硬件驱动是基础部分,用于控制指定端口的输入输出和基本的口蹦,例如我们需要实现时间的获取和进行控制,我们需要实现对时间模块进行操作的函数,例如读取时间,设置时间等功能。
逻辑控制:逻辑控制是电子钟的核心部分,它把硬件驱动和显示控制进行了结合,实现了时间的获取和显示。
逻辑控制程序主要包括以下几个部分:- 时间获取:获取时间模块的信息。
电子时钟设计实验报告

单片机电子时钟设计报告一、设计任务本次课程设计的电子时钟电路,是基于单片机STC89C52、时钟芯片和液晶显示,运用C语言编程实现。
电子时钟可以显示日期的年、月、日和时间的时、分、秒,具有复位功能。
二、系统硬件设备及芯片简介数字电子钟系统设计已经成熟,但是目前系统设计时基本都是采用LED作为显示电路,造成硬件电路复杂、功耗高、产品体积庞大等特点;液晶显示模块由于具有低功耗、寿命长、体积小、显示内容丰富、价格低、接口控制方便等优点,因此在各类电子产品中被极广泛地推广和应用。
字符型液晶显示模块是一类专门用于显示字母、数字、符号等点阵式液晶显示模块。
本系统设计采用字符型液品显示模块LCD1602 作为显示器件,这样不仅简化了系统的硬件设计,而且极大地提高了系统的可靠性。
1 LCD1602简介字符型液晶显示模块LCD1602已经是单片机应用设计中最常用的信息显示器件。
LCD1602可以显示两行,每行16个字符,采用+5V电源供电,外围电路配置简单,价格便宜,具有很高的性价比。
2 LCD1602功能介绍2.1 引脚功能LCD1602采用标准14脚(无背光)或16脚(带背光)接口,各引脚功能见表1。
表1 引脚功能2.2 LCD1602读写指令LCD1602读写指令较多且较复杂,具体使用可以查相关资料,下面仅列出最常用的的一些命令:①写指令38H:显示模式设置;②写指令08H:显示关闭;③写指令01H:显示清屏;④写指令06H:显示光标移动设置;⑤写指令0CH:显示开及光标设置。
2.3 LCD1602 读写操作时序LCD1602 读写操作时序总体上来说是比较简单的,掌握其有两种方法:一种是只看时序图,另外一种方法是直接记忆和总结读写时电平高低和变化。
很显然第二种更简单和直接,下面就列出典型读写的时序要求,以方便编写程序。
(1)读状态:输入:RS=L,RW=H,E=H。
输出:D0-D7=状态字。
(2)写指令:输入:RS=L,RW=L,D0-D7=指令码,E=上升沿。
简易电子时钟设计报告

简易电子时钟设计报告1. 引言电子时钟是一种用数字形式显示时间的时钟,广泛应用于日常生活中。
本文将介绍一种简易的电子时钟设计方案,包括硬件设计和软件实现。
该电子时钟采用数字LED显示屏,并通过开发板上的微控制器控制时间的显示。
2. 硬件设计2.1 硬件组成该电子时钟的主要硬件组成包括:- 数字LED显示屏:用于显示时钟的小时和分钟数。
该显示屏采用共阳极的数码管,每个数字有7个段可以点亮。
- 微控制器:使用STM32F103C8T6微控制器,具备足够的输入输出和处理能力。
- 调节按钮:用于调节时钟的小时和分钟数。
2.2 电路设计数字LED显示屏的每个段通过一个继电器和一个可控硅管来控制。
继电器通过微控制器的输出口来控制,可控硅管则通过脉宽调制(PWM)来控制。
微控制器通过GPIO口读取调节按钮的状态,根据按钮的操作来调整时钟的小时和分钟数。
同时,微控制器通过定时器中断来实现时钟的运行和显示。
电路设计如下图所示:3. 软件实现3.1 开发环境本设计使用Keil MDK开发环境进行软件的编写和调试。
Keil MDK 是一款常用的嵌入式开发工具,提供了强大的代码编辑、编译和仿真功能。
3.2 时钟控制软件中定义了一个结构体`Time`,包含了小时数和分钟数的变量。
通过定时器中断,每隔一秒钟将时钟的秒数加一,并根据秒数的变化更新时钟的小时和分钟数。
具体实现如下:cstruct Time {int hour;int minute;int second;void TIM2_IRQHandler(void) {if (TIM_GetITStatus(TIM2, TIM_IT_Update) != RESET) { TIM_ClearITPendingBit(TIM2, TIM_IT_Update); time.second++;if (time.second >= 60) {time.second = 0;time.minute++;}if (time.minute >= 60) {time.minute = 0;time.hour++;}if (time.hour >= 24) {time.hour = 0;}}3.3 数字显示根据时钟的小时和分钟数,将数字转换成BCD码,然后通过GPIO 口控制数字LED显示屏的每个段点亮或熄灭。
简单电子钟课程设计思路

简单电子钟课程设计思路一、课程目标知识目标:1. 让学生掌握电子钟的基础知识,理解电子钟的原理和电路组成;2. 使学生了解电子钟各元件的功能和作用,如晶振、计数器、显示器件等;3. 帮助学生理解电子钟的时间计数方法和时、分、秒的显示原理。
技能目标:1. 培养学生动手操作能力,能够正确组装和调试简单电子钟;2. 培养学生运用电子元件设计简单电路的能力;3. 提高学生分析问题和解决问题的能力,能够针对电子钟故障进行排查和修复。
情感态度价值观目标:1. 培养学生对电子技术的兴趣,激发学习热情;2. 培养学生团队协作精神,学会与他人共同解决问题;3. 培养学生珍惜时间、遵纪守时的良好习惯。
课程性质:本课程为实践性较强的电子技术课程,注重培养学生的动手能力和实际操作技能。
学生特点:学生处于好奇心强、动手能力逐渐提高的阶段,对电子技术有一定兴趣。
教学要求:结合学生特点,注重理论与实践相结合,强调学生的主体地位,提高学生的实践操作能力。
通过本课程的学习,使学生能够将所学知识应用于实际生活中,达到学以致用的目的。
同时,注重培养学生的情感态度价值观,使他们在学习过程中形成良好的学习习惯和价值观。
二、教学内容本课程教学内容主要包括以下几部分:1. 电子钟基础知识:介绍电子钟的原理、电路组成及各元件功能,涉及教材第3章的相关内容。
2. 电子元件识别与使用:学习晶振、计数器、显示器件等电子元件的识别、功能和正确使用方法,结合教材第4章内容。
3. 电子钟组装与调试:详细讲解电子钟的组装过程,指导学生动手实践,包括电路连接、调试和故障排查,参考教材第5章内容。
4. 电路设计与制作:培养学生运用所学知识设计简单电子钟电路的能力,结合教材第6章内容。
5. 实践操作与评价:安排学生进行实践操作,对电子钟进行组装、调试和改进,提高学生动手能力,并根据教学要求进行评价。
教学内容安排和进度:1. 第1周:电子钟基础知识学习,了解电子钟原理和电路组成。
简易电子闹钟的设计报告

编号:基础工程设计说明书题目:LED强度可调驱动电路设计院(系):电子工程与自动化学院专业:光电信息科学与工程学生姓名:***学号:**********指导教师:***职称:高级实验师2017年1 月1日摘要目前,LED 灯的亮度可调通过有两种可行方案:第一种是通过占空比电压来输出不同的电压,从而实现亮度可调;第二种通过控制数模转换器来输出不同的电流,然后经过放大器来进行发大,从而实现输出不同的电压,来实现亮度可调。
对于第一种方案,优点是设计简单,且使用的电子器件类较少,造价成本低,其集成度低,电路原理不复杂,适于现代社会发展的需求。
对于第二种方案,它设计图复杂,其集成度不高,且使用了数模转换器,因此和第一种设计方案相比略高。
所以本设计采用了第一种方案。
本设计的结果是设计制作一种路LED光强独立可调的 led 调光电路;自动调光时可使等在熄灭、微亮、较量及最亮四种状态中不断循环;实现灯光的循环调节功能(循环时间分别为为 2s、4s、6s、8s、10s、12s);关键词:LED;色温;RGB;驱动;调光AbstractAt the end of twentieth Century, the electronic technology has developed rapidly. In the promotion, the modern electronic products have penetrated almost all areas of the society. It has greatly promoted the development of social productive forces and the improvement of social information. Time is always so valuable to people, the work of the busy and complicated and easy to make people forget the current time. Forget to do, when it is not very important, this not hurt the important essentials. Simple electronic alarm clock is a used to after a certain period of time through the alarm sounds and wakes up the user a simple electronic circuit and is used to prevent nap sleep overdo the instrument from time to time to wake up the user's role. This system mainly consists of 555 timer square wave signal generator and the input control through the key input control of the two bit counter timing circuit can be input to the input of a time of the electronic clock, simulation and time interval can be within 99 seconds of continuous adjustable.Key words: timing circuit; 555 timer; multi harmonic oscillator; time clock目录引言 (1)1 设计任务 (2)1.1 设计题目 (2)1.2 设计要求 (2)2 系统的组成 (3)2.1 系统的组成总体框图 (3)2.2 各部分系统的功能 (3)2.3 方案可行性分析与仿真调试 (3)2.3.1时钟信号发生系统 (3)2.3.2按键输入系统 (5)2.3.3 倒计时与响铃系统 (6)2.3.4各系统的衔接与总原理图 (9)3 硬件设计 (10)3.1 元器件选择的依据以及元件参数的确定 (10)3.2 PCB原理图与电路图布线设计 (10)3.3硬件制作 (11)4 系统调试 (12)4.1 信号发生器的调试 (12)4.2 计数器以及数码管显示的调试 (12)4.3 响铃系统调试 (12)4.4 按键输入电路的调试 (12)5 结论 (14)谢辞 (16)参考文献 (17)附录一元件清单 (18)附录二电路总原理图 (19)附录三PCB图 (20)附录四实物图 (21)引言随着电子技术的飞速发展,电子控制电路在日常生活中有着大量的应用并广泛地应用于工农业的生产和电子新产品的开发应用之中。
简单电子时钟课程设计

简单电子时钟课程设计一、课程目标知识目标:1. 学生能够理解电子时钟的基本原理,掌握电子时钟的主要组成部分及其功能。
2. 学生能够掌握电子时钟显示时间的基本方法,包括时、分、秒的表示和转换。
3. 学生能够了解电子时钟的简易电路图,并认识常见电子元件。
技能目标:1. 学生能够运用所学知识,设计并搭建一个简易的电子时钟。
2. 学生能够通过实际操作,调试和优化电子时钟的运行效果。
3. 学生能够运用电子时钟知识解决实际问题,提高创新能力和动手能力。
情感态度价值观目标:1. 学生培养对电子技术的兴趣,激发学习热情,树立科学探究精神。
2. 学生在合作探究中,培养团队协作能力和沟通能力,增强集体荣誉感。
3. 学生通过学习电子时钟的制作,认识到科技对生活的影响,培养环保意识和节能意识。
课程性质:本课程为实践性课程,结合理论知识与实际操作,注重培养学生的动手能力和创新能力。
学生特点:六年级学生具备一定的认知能力和动手能力,对新奇事物充满好奇心,善于合作探究。
教学要求:教师需引导学生掌握电子时钟的基本原理和制作方法,注重培养学生的实践能力和团队协作能力,提高学生的科学素养。
在教学过程中,将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容本章节教学内容依据课程目标,结合课本《信息技术》六年级下册第四章“走进电子世界”内容进行组织。
1. 电子时钟原理:介绍电子时钟的基本工作原理,包括晶振振荡器、分频器、计数器、显示电路等组成部分。
2. 电子元件认知:学习常见电子元件,如电阻、电容、二极管、三极管等,并了解其在电子时钟中的作用。
3. 制作简易电子时钟:详细讲解电子时钟的制作步骤,包括电路图的绘制、元件的选取、焊接和调试。
4. 时间的表示与转换:学习电子时钟中时、分、秒的表示方法,以及它们之间的转换关系。
5. 教学大纲安排:- 第一节课:电子时钟原理及电子元件认知;- 第二节课:绘制简易电子时钟电路图,学习焊接技巧;- 第三节课:组装电子时钟,进行初步调试;- 第四节课:优化电子时钟,学习时间表示与转换。
简易电子钟设计-单片机课程设计

单片机课程设计简易电子钟设计姓名:学号:专业班级:指导老师:所在学院:2007年6月26日摘要本设计是利用AT85C51和液晶显示管制作的实用电子钟,可完成计时,计分,计秒和校时,校分的功能。
微处理器是单片机的核心,完成运算和控制的操作串行口数据存储器与复位电路,时钟电路,校时电路由微处理器控制完成各自的任务。
最后通过液晶显示器显示时、分、秒。
在振荡器正在运行时,复位是靠RST 或在RST引脚上施加持续2个机器周期的高电平来实现,在RST引脚上施加高电平的第2个周期执行内部复位,以后每个周期执行一次,直到RST变化。
复位时,ALE和/RSEN输出高电平,机ALE=1和/RSEN=1,片内RAM不受复位的影响,复位后PC指向0000H使单片机从起始地址0000H开始执行程序。
设计中采用内部时钟方式,在XTAL1和XTAL2两端接晶振,与内部反向器构成稳定的自激振荡器,其发出的时钟脉冲直接送入片内定时控制部件,该简易电子钟最后由6个液晶显示管显示,分、秒段式LCD显示采用七段显示,其结构除在上电极板上喷上a 到g这七个笔画外,还在下电极板喷上与笔画相对应的“日”字形的电极并接公共电极COM 。
另外时钟的校对采用与校对普通电子手表相同的操作方式来完成,只需按K1、K2两个键来校时、校分。
AT85C51的XTAL1和XTAL2分别为反向器的输入和输出,RST为复位输入,由它再接一个上拉电阻,引脚被拉高,P1口作为电子钟的位选,P3口部分作为电子钟的输出端。
目录1概述 (3)1.1电子钟的设计要求和内容 (3)2 系统总体方案及硬件设计 (4)2.1系统总体方案 (4)2.2硬件设计 (4)2.2.1时钟电路 (4)2.2.2复位电路 (5)2.2.3 LCD数码显示电路 (6)2.2.4 AT89C51单片机芯片 (7)3 软件设计 (9)3.1流程图 (9)4 proteus软件下的仿真 (11)5 设计心得 (14)参考文献 (15)附1 源程序代码 (16)附2 简易电子钟系统电路图 (20)1概述单片机即微处理器,自1976年Inter公司推出MCS-48,迄今已有20 多年了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电子科技大学中山学院学生实验报告
院别:电子信息学院 班级:12 电信 A
姓名:
课程名称:微处理器实验 学号:
实验名称:简易电子钟设计
实验时间:2014 年 12 月 8 日
成绩:
教师签名:
批改时间:
一、实验原理与目的
1、熟悉电子钟的基本工作原理。 2、掌握简易电子钟的硬件结构及程序设计方法。
电子钟是人们日常生活中不可或缺的计时工具。与数字集成电路纯硬件实现相比,采 用单片机实现的电子钟,在功能、体积、功耗、成本等方面更有优势。
typedef struct {
char Hour; char Minute; char Second; } tsRTClock;
//**********************************口线声明************************* #define LCD1602_DATA P0 sbit LCD1602_RS=P4^6; sbit LCD1602_EN=P4^5; sbit LCD1602_BL=P1^5;
void LCD1602DataWrite(uint8 DataByte)
{
uint16 i;
for(i=100;i;i--);
//适当延时(取代忙状态检测)
LCD1602_RS= 1; LCD1602_EN=1; LCD1602_DATA=DataByte;
//发送数据字节
文案
标准
LCD1602_EN=0; } //*****************************LCD1602 初始化函数********************* void LCD1602Init() {
void LCD1602ClrScr()
{
LCD1602CmdWrite(0x01);
//发送清屏命令
Delay(8);
}
//****************************LCD1602 字符显示函数********************
void LCD1602DispChar(uint8 Row, uint8 Col, char Char)
}
//******************************电子钟初始化函数*********************
void RTClockInit()
{
RTClock.Hour=12;
//默认从 12:00:00 开始走时
RTClock.Minute=0;
RTClock.Second=0;
{
LCD1602_BL=OnOff ;
//此处若填 0,背光灯就会常亮,不妥
}
//*****************************LCD1602 写命令函数*********************
void LCD1602CmdWrite(uint8 cmdByte)
{
uint16 i;
for(i=100;i;i--);
1 2 3 4 5 6 7 8 9
10K
Vcc
8550 2K
BZ1
1 P1.0
P0.0 39 P0.1 38 P0.2 37 P0.3 36 P0.4 35 P0.5 34 P0.6 33 P0.7 32 P1.5 6
Vc c
1 2 3
P46
4
5
P45
6
7 8 9 10 11 12 13 14 15 16
Vcc
8550 2K
图 3.11.1 简易电子钟电路
ZSC-1实验箱配置了简易电子钟所需的LCD1602液晶显示器、蜂鸣器、按键等外设, 具体电路如图3.11.1所示。LCD1602用于电子钟的时间显示,其8位数据线连接单片机的P0 口,使能端E和数据/命令寄存器选择端RS分别连接到单片机的P4.5、P4.6,读/写选择端RW 固定接地,背光由单片机的P1.5控制,对比度通过VEE端所连10KΩ电位器进行调节。按 键KX0~KX3分别连接到单片机的P3.2、P3.4、P3.5、P3.7,可用于选择电子钟的模式、设 置当前时间及闹铃等。蜂鸣器由单片机的P1.0控制,可在闹铃、整点或按键操作时发出提 示声。 关于 LCD1602 液晶显示器的结构及控制方法,可参阅理论课教材第 7.4 节。
文案
标准
//******************************全局变量声明************************* tsRTClock RTClock; uint8 Timer50ms=0;
//******************************函数原型声明************************* void SystemInit(); void LCD1602BLCtrl(uint8 OnOff); void LCD1602CmdWrite(uint8 cmdByte); void LCD1602DataWrite(uint8 DataByte); void LCD1602Init(); void LCD1602ClrScr(); void LCD1602DispChar(uint8 Row, uint8 Col, char Char); void LCD1602DispStr(uint8 Row, uint8 Col, char *Str); void RTClockInit(); void RTClockAdj(); void RTClockDisp(); void Delay(uint16 ms);
//*******************************中断服务函数************************
void T0ISR(void) interrupt 1
T0 定时中断对应优先级 1
{
TH0=(65536-45*1024)>>8;
//设置 50ms 定时初值(对应晶振 11.0592MHz)
//第二行显示提示信息
while(1)
{
Delay(500);
RTClockDisp();
//显示当前时间
}
}
//******************************系统初始化函数***********************
void SystemInit()
{
P4SW |= 0x70;
//将 P44-P46 设为 I/O 口
//适当延时(取代忙状态检测)
LCD1602_RS= 0 ;
LCD1602_EN=1;
LCD1602_DATA=cmdByte;
//发送命令字节
LCD1602_EN=0;
}
//*****************************LCD1602 写数据函数*********************
//背光点亮
文案
标准
LCD1602Init();
//LCD1602 初始化
}
//****************************LCD1602 背光控制函数********************
void LCD1602BLCtrl(uint8 OnOff) //0:背光点亮,1:背光熄灭
{
if(Row)
此处 Row 表示,若 Row=1(第二行)执行下面程序,
Col |= 0x40;
//显示第二行时 DDRAM 地址从 40H 开始
Col |= 0x80;
//拼为 DDRAM 地址设置命令
LCD1602CmdWrite(Col);
//发送 DDRAM 地址
LCD1602DataWrite(Char);
单片机实现电子钟主要有两种方案。一种是利用单片机内部的定时/计数器产生标准秒 信号,并根据时间系统的进位原则进行加1调整。另一种方法是为单片机配置一片可独立 走时的实时钟(RTC)芯片,单片机通过串行信号线与该芯片进行通信,读取或设置其当 前时间。第一种方案结构简单、成本低,精度可满足多数场合的需要,因此,本设计采用 第一种方案。
if(++RTClock.Hour< 24 ) return; RTClock.Hour=0; }
TMOD=0x01;
//T0 用作定时器(方式 1)
TH0=(65536-45*1024)>>8; TL0=(65536-45*1024)&0xFF; TR0=1; ET0=1; EA=1;
//设置 50ms 定时初值(对应晶振 11.0592MHz)
//启动 T0 //允许 T0 中断
LCD1602BLCtrl(0);
TL0=(65536-45*1024)&0xFF;
if(++Timer50ms< 20 Timer50ms=0; RTClockAdj(); }
) return;
20*50ms=1s
//已满 1s,Timer50ms 清 0
//时间调整
满 1s 进入时间调整函数
文案
标准
//*********************************主函数****************************
MCU1 STC12C5A60S2
LCD1602
VSS VDD VEE RS RW E D0 D1 D2 D3 D4 D5 D6 D7 BL+ BL-
KX0
12 P3.2
P4.5 30 P45
KX1
14 P3.4
P4.6 31 P46
RP101 3.3K
KX2
15 P3.5
KX3
Vcc
17 P3.7
//显示第二行时 DDRAM 地址从 40H 开始