当前位置:文档之家› 基于FPGA的verilog万年历程序

基于FPGA的verilog万年历程序

基于FPGA的verilog万年历程序
基于FPGA的verilog万年历程序

/*

--------------------------------------------------------------------------------

--

--

--

--------------------------------------------------------------------------------

*/

`timescale 1ns/100ps

module

clock

#(

parameter FEQ_CLOCK = 2_000_000 //20M//1.6384MHz //32768Hz )

(

input sysclk,

input reset_n,

input [3:0] config_addr,

input data_config_wr,

input data_config_rd,

inout [7:0] config_data,

output alarm_flag

);

//

parameter para_1us = FEQ_CLOCK/1000000;

parameter para_1ms = 1000;//1000

parameter para_1s = 1000;//1000

parameter para_1m = 60;//60

parameter para_1h = 60;//60

parameter para_1d = 24;//24

reg [15:0] year_h = 8'd20;

reg [7:0] year_l = 8'd08;

reg [3:0] month = 4'd1;

reg [4:0] day = 5'd30;

reg [4:0] hour = 5'd16;

reg [5:0] minute = 6'd20;

reg [5:0] second = 6'd20;

reg [9:0] msec = 10'd80;

reg [9:0] usec = 10'd20;

reg [5:0] Hz_cnt = 6'd0;

//------------------------------------------------------------------------------

wire month_flag = (day == 28)&!(year_l[1:0] == 0 & year_l !=0 | year_h[1:0] ==0 & year_l ==0)&(month == 2)|

(day == 29)& (year_l[1:0] == 0 & year_l !=0 | year_h[1:0] ==0 & year_l ==0)&(month == 2)|

(day == 30)& ((month == 4)|(month == 6)|(month == 9)|(month == 11))|

(day == 31)& ((month == 1)|(month == 3)|(month == 5)|(month == 7)|(month == 8)|(month == 10)|(month == 12));

//------------------------------------------------------------------------------

always@(posedge sysclk or negedge reset_n)

begin

if (!reset_n)

begin

Hz_cnt <= 6'd0;

usec <= 10'd0;

msec <= 10'd0;

second <= 6'd0;

minute <= 6'd0;

hour <= 5'd0;

day <= 5'b1;

month <= 4'd1;

year_l <= 8'd08;

year_h <= 8'd20;

end

else begin

if (Hz_cnt == para_1us - 1'b1)

begin

Hz_cnt <= 6'd0;

if (usec == para_1ms - 1'b1)

begin

usec <= 10'd0;

if (msec == para_1s - 1'b1)

begin

msec <= 10'd0;

if ((second == para_1m - 1'b1))

begin

second <= 6'd0;

if (minute == para_1h - 1'b1)

begin

minute <= 6'd0;

if (hour == para_1d - 1'b1)

begin

hour <= 5'd0;

if (month_flag)

begin

day <= 5'd1;

if (month == 12)

begin

month <= 5'd1;

if (year_l == 100 -1'b1)

begin

year_l <= 8'd0;

if (year_h == 100 -1'b1)

begin

year_h <= 8'd0;

end

else if (year_l == 100 -1'b1)

begin

year_h <= year_h + 1'b1;

end

end

else if (month == 12)

begin

year_l <= year_l + 1'b1;

end

end

else if (month_flag)

begin

month <= month + 1'b1;

end

end

else if (hour == para_1d - 1'b1)

begin

day <= day + 1'b1;

end

end

else if (minute == para_1h - 1'b1)

begin

hour <= hour + 1'b1;

end

end

else if (second == para_1m - 1'b1) begin

minute <= minute + 1'b1;

end

end

else if (msec == para_1s - 1'b1)

begin

second <= second + 1'b1;

end

end

else if (usec == para_1ms - 1'b1)

begin

msec <= msec + 1'b1;

end

end

else if (Hz_cnt == para_1us - 1'b1)

begin

usec <= usec + 1'b1;

end

end

else begin

Hz_cnt <= Hz_cnt + 1'b1;

end

end

end

//------------------------------------------------------------------------------ assign alarm_flag = year_l == 2;

endmodule

基于51单片机的万年历的设计

单片机课程实训SCM PRACTICAL TRAINING

目录 第一部分课程设计任务书 (1) 一、课程设计题目 (1) 二、课程设计时间 (1) 三、实训提交方式 (1) 四、设计要求 (1) 第二部分课程设计报告 (2) 一、单片机发展概况 (2) 二、MCS-51单片机系统简介 (2) 三、设计思想 (3) 四、硬件电路设计 (3) 1. 总体设计 (3) 2. 晶振电路 (4) 3. 复位电路 (4) 4. DS1302时钟电路 (5) 5. 温度采集系统电路 (5) 6. 按键调整电路 (6) 7. 闹钟提示电路 (6) 五、软件设计框图 (7) 六、程序源代码 (8) 1. 主程序 (8) 2. 温度控制程序 (11) 3. 日历设置程序 (13) 4. 时钟控制程序 (18) 5. 显示设置程序 (20) 七、结束语 (23) 八、课程设计小组分工 (23) 九、参考文献 (23)

第一部分课程设计任务书 一、课程设计题目 用中小规模集成芯片设计制作万年历。 二、课程设计时间 五天 三、实训提交方式 提交实训设计报告电子版与纸质版 四、设计要求 (1)显示年、月、日、时、分、秒和星期,并有相应的农历显示。(2)可通过键盘自动调整时间。 (3)具有闹钟功能。 (4)能够显示环境温度,误差小于±1℃ (5)计时精度:月误差小于20秒。

第二部分课程设计报告 一、单片机发展概况 单片机诞生于20世纪70年代末,它的发展史大致可分为三个阶段: 第一阶段(1976-1978):初级单片机微处理阶段。该时期的单片机具有 8 位CPU,并行 I/O 端口、8 位时序同步计数器,寻址范围 4KB,但是没有串行口。 第二阶段(1978-1982):高性能单片机微机处理阶段,该时期的单片机具有I/O 串行端口,有多级中断处理系统,15 位时序同步技术器,RAM、ROM 容量加大,寻址范围可达 64KB。 第三阶段(1982-至今)位单片机微处理改良型及 16 位单片机微处理阶段民用电子产品、计算机系统中的部件控制器、智能仪器仪表、工业测控、网络与通信的职能接口、军工领域、办公自动化、集散控制系统、并行多机处理系统和局域网络系统。 二、MCS-51单片机系统简介 MCS-51系列单片机产品都是以Intel公司最早的典型产品8051为核心构成的。MCS-51单片机由CPU 、RAM 、ROM 、I/O接口、定时器/计数器、中断系统、内部总线等部件组成。8051单片机的基本性能有: ◆8位CPU; ◆布尔代数处理器,具有位寻址能力; ◆128B内部RAM,21个专用寄存器; ◆4KB内部掩膜ROM; ◆2个16位可编程二进制加1定时器/计数器; ◆32个(4×8位)双向可独立寻址的I/O口; ◆1个全双工UART(异步串行通信口); ◆5个中断源,两级中断结构; ◆片内振荡器及时钟电路,晶振频率为1.2MHz~12MHz; ◆外部程序/数据存储器寻址空间均为64KB; ◆111条指令,大部分为单字节指令; ◆单一+5V电源供电,双列直插40引脚DIP封装。

基于单片机电子万年历的毕业设计说明

单片机课程设计报告 电子万年历设计 姓名:建强 学号: 专业班级: 08电气(2)班指导老师:吴永 所在学院:科技学院 2011年6月30日

摘要 随着科技的快速发展,时间的流逝,至从观太阳、摆钟到现在电子钟,人类不断研究,不断创新纪录。美国DALLAS公司推出的具有涓细电流充电能的低功耗实时时钟电路DS1302。它可以对年、月、日、周日、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒和温度等信息,还具有时间校准等功能。该电路采用AT89S52单片机作为核心,功耗小,能在3V的低压工作,电压可选用3~5V电压供电。 综上所述此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。 本设计是基于51系列的单片机进行的电子万年历设计,可以显示年月日时分秒及周信息,具有可调整日期和时间功能。在设计的同时对单片机的理论基础和外围扩展知识进行了比较全面准备。在硬件与软件设计时,没有良好的基础知识和实践经验会受到很大限制,每项功能实现时需要那种硬件,程序该如何编写,算法如何实现等,没有一定的基础就不可能很好的实现。 具体实现功能: (1)显示年月日时分秒及星期信息 (2)具有可调整日期和时间功能 (3)与即时时间同步

目录 1方案论证 (3) 1.1单片机芯片的选择方案和论证 (3) 1.2显示模块选择方案和论证 (3) 1.3时钟芯片的选择方案和论证 (4) 1.4电路设计最终方案决定 (4) 2系统的硬件设计与实现 (5) 2.1电路设计框图 (5) 2.2系统硬件概述 (5) 2.3主要单元电路的设计 (5) 2.3.1单片机主控制模块的设计 (5) 2.3.2时钟电路模块的设计 (6) 2.3.3电路原理及说明 (7) 2.3.4显示模块的设计 (8) 3系统的软件设计 (9) 3.1程序流程框图 (9) 4测试与结果分析 (11) 4.1硬件测试 (10) 4.2软件测试 (10) 4.3测试结果分析与结论 (10) 4.3.1 测试结果分析 (10) 4.3.2 测试结论 (10) 5prodeus软件仿真........................................ ..........错误!未定义书签。 5.1Proteus ISIS简介 (12) 5.2Proteus运行流程 (13) 5.3Proteus功能仿真 (13) 6课程设计总结与体会.......................................... .....错误!未定义书签。 参考文献...........................................................错误!未定义书签。 附录一:系统电路图.................................................错误!未定义书签。 附录二:系统程序...................................................错误!未定义书签。

电子万年历设计

课程论文论文题目基于单片机的电子万年历设计 课程名称单片机原理及接口技术 专业年级 2014级自动化3班 学生姓名孙宏远贾腾飞 学号 2016年12 月3 日

摘要: 本文介绍了基于AT89C51单片机的多功能电子万年历的硬件结构和软硬件设计方法。系统以AT89C51单片机为控制器,以串行时钟日历芯片DS1302记录日历和时间,它可以对年、月、日、时、分、秒进行计时,还具有闰年补偿等多种功能。万年历采用直观的数字显示,可以在LED上同时显示年、月、日、周日、时、分、秒,还具有时间校准等功能。此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,具有广阔的市场前景。。 关键词:AT89C51单片机,DS1602时钟芯片,LCD1602显示屏。串口通信。 一:引言 本设计的基于单片机控制的电子万年历,具有年、月、日、星期、时、分、秒的显示等功能,实现过程就是由主控制发送信息给DS1302时钟芯片再由时钟芯片反馈给单片机,再由主控制器传送给LCD1602显示屏显示信息。并且可以在键盘设置模块输入修改时间,当键盘设置时间、日期时,单片机主控制根据输入信息,通过串口通信传送给DS1302时钟芯片,DS1302芯片读取当前新信息产生反馈传送给单片机,然后单片机根据控制最后输送显示信息到LCD1602液晶显示屏模块上显示。 二:硬件设计: 2.0.硬件的设计总框图 2.1 DS1032时钟电路 DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。芯片如图。 DS1302的内部主要由移位寄存器、指令和控制逻辑、振荡分频电路、实时时钟以及RAM组成。每次操作时,必须首先把CE置为高电平。再把提供地址和命令信息的8位装入移位寄存器。数据在SCLK的上升沿串行输入。无论是读周期还是写周期发生,也无论传送方式是单字节还是多字节,开始8位将指定内部何处被进行访问。在开始 8个时钟周期把含有地址信息的命令字装入移位寄存器之后。紧随其后的时钟在读操作时输出数据。 2.2 LCD1602与AT89C52的引脚接线 LCD1602采用总线式与单片机相连,AT89c52的P1口直接与液晶模块的数据总线D0~D7相连;P2 口的0,1,2脚分别与液晶模块的RS、RW、E脚相连。滑动变阻器用于调整液晶显示的亮度。电路如图

基于单片机的万年历实习报告

基于单片机的万年历实习报告

————————————————————————————————作者: ————————————————————————————————日期:

桂林理工大学信息科学与工程学院“电子系统设计创新与实践” 课程设计(实习)报告 题目: 具有温湿度测量功能的万年历设计专业(方向):电子信息工程 班级:电信二班 指导老师:蒋存波

2016年3月27日 目次 1. 绪论----------------------------------------------- 1 2. 总体设计方案--------------------------------------- 2 2.1 技术方案比较----------------------------------- -- 2 2.2总体技术方案------------------------------------- 3 3.硬件系统设计---------------------------------------- 4 3.1 硬件总体原理框图--------------------------------- 4

3.2关键元件介绍-------------------------------------- 4 3.2.1 LCD602显示屏-------------------------------- 4 3.2.3 DS1302时钟芯片------------------------------ 7 3.2.2 SHT10温湿度感应器--------------------------- 9 3.3 硬件设计------------------------------------------ 10 3.3.1 复位电路设计-------------------------------- 10 3.3.2晶振电路设计-------------------------------- 10 3.3.3 时钟芯片电路设计---------------------------- 10 3.3.4 温湿度感应器模块电路设计-------------------- 11 3.3.5按键模块电路设计---------------------------- 11 3.3.6 LCD1602显示模块电路设计--------------------- 11 3.3.7 电量检测报警电路设计------------------------- 12 3.3.8 蜂鸣器报警电路设计--------------------------12 3.3.6 总体电路原理图------------------------------- 12 4. 软件系统设计------------------------------------------13 4.1 软件功能设计-------------------------------------- 13 4.2 程序设计总体方案----------------------------------13 4.2.1 总体设计思路--------------------------------- 13

单片机AT89c52电子万年历设计(带程序)

目录 一、摘要 (2) 二、设计 (3) 三、设计任务. (2) 四、设计要求 (3) 五、系统方案设计 (3) 1、系统 (3) 1)原理构成框图 (3) 2)设计思路 (4) 2、主程序设计 (4) 3、中断程序设计 (5) 5、时间调整电路的设计 (7) 六、系统评价 (7) 七、c语言程序注释及说明 (8)

一、摘要 单片机就是微控制器,是面向应用对象设计、突出控制功能的芯片。单片机接上晶振、复位电路和相应的接口电路,装载软件后就可以构成单片机应用系统。将它嵌入到形形色色的应用系统中,就构成了众多产品、设备的智能化核心。本设计是基于AVR单片机强大的控制功能制作而成的电子万年历,该电子万年历包括四大功能:实时显示年、月、日、时、分、秒、星期;人为的校正年、月、日、时、分、星期;第一次开机显示12-00-30。 二、设计目的 1、掌握C52程序用于实践并实现相应的功能; 2、掌握时钟程序的使用方法; 3、掌握时间函数的使用方法; 4、掌握键盘的程序使用方法; 三、设计任务 通过与单片机连接数码管动态显示年、月、日、时、分、秒、星期等功能,并能准确计算闰年闰月的显示,

七个按钮连接P0口可以精确调整每一个时间数值,通过对所设计的万年历时钟电路进行实验测试,达到了动态显示时间,随时调整时间等技术指标。 四、设计要求 (1)能够准确的计时,时间可在数码管上显示出来,默认显示为时、分、秒,每隔一分钟自动显示年、月、日及星期,也可通过按键控制显示,并可通过按键调节时间。 (2)第一次开机显示12-30-30。 (3)每半秒led彩灯闪烁一次 五、系统方案设计: 1、系统总体设计: 1) 原理构成框图 本设计用AT89C52作为核心控制部分,外接晶振电路与复位电路,以两个四位数码管作为显示部分,开关控制显示时间与日期,具体框图如图1所示,数码管框图如图2所示:

基于AT89C51单片机的电子万年历的设计_课程设计报告

课程设计报告 设计名称:电子万年历设计 专业班级:自动化10101班 完成时间:2013年6月9日 报告成绩:

摘要 本文介绍了基于AT89C51单片机的多功能电子万年历的硬件结构和软硬件设计方法。系统以AT89C51单片机为控制器,以串行时钟日历芯片DS1302记录日历和时间,它可以对年、月、日、时、分、秒进行计时,还具有闰年补偿等多种功能。万年历采用直观的数字显示,可以在LED上同时显示年、月、日、周日、时、分、秒,还具有时间校准等功能。此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,具有广阔的市场前景。 关键字AT89C51;电子万年历; DS1302

1 绪论 1.1 课题研究的背景 随着科技的快速发展,时间的流逝,从观太阳、摆钟到现在电子钟,人类不断研究,不断创新纪录。它可以对年、月、日、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、时、分、秒和温度等信息,还具有时间校准等功能。该电路采用AT89C51单片机作为核心,功耗小,能在3V 的低压工作,电压可选用3~5V电压供电。 此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。 1.2课题的研究目的与意义 二十一世纪是数字化技术高速发展的时代,而单片机在数字化高速发展的时代扮演着极为重要的角色。电子万年历的开发与研究在信息化时代的今天亦是当务之急,因为它应用在学校、机关、企业、部队等单位礼堂、训练场地、教学室、公共场地等场合,可以说遍及人们生活的每一个角落。所以说电子万年历的开发是国家之所需,社会之所需,人民之所需。 由于社会对信息交换不断提高的要求及高新技术的逐步发展,促使电子万年历发展并且投入市场得到广泛应用。 1.3课题解决的主要内容 本课题所研究的电子万年历是单片机控制技术的一个具体应用,主要研究内容包括以下几个方面: (1)选用电子万年历芯片时,应重点考虑功能实在、使用方便、单片存储、低功耗、抗断电的器件。 (2)根据选用的电子万年历芯片设计外围电路和单片机的接口电路。 (3)在硬件设计时,结构要尽量简单实用、易于实现,使系统电路尽量简单。 (4)根据设计的硬件电路,编写控制AT89C51芯片的单片机程序。 (5)通过编程、编译、调试,把程序下载到单片机上运行,并实现本设计的功能。 (6)在硬件电路和软件程序设计时,主要考虑提高人机界面的友好性,方便用户操作等因素。 (7)软件设计时必须要有完善的思路,要做到程序简单,调试方便。

电子万年历

河北科技师范学院课程设计说明书 题目: 学院(系): 年级专业: 学号: 学生姓名: 指导教师:

摘要 本设计是电子万年历。具备三个功能:能显示:年、月、日、时、分、秒及星期信息,并具有可调整日期和时间功能。 我选用的是单片机8052来实现电子万年历的功能。该电子万年历能够成功实现时钟运行,调整,显示年月日时分秒及星期,温度等信息。 该电子万年历使用12MHZ晶振与单片机8052相连接,通过软件编程的方法实现了以24小时为一个周期,同时显示小时、分钟和秒的要求。利用单片机定时器及计数器产生定时效果通过编程形成数字钟效果,再利用数码管动态扫描显示单片机内部处理的数据。同时通过端口读入当前外部控制状态来改变程序的不同状态,实现不同功能。 电子万年历设计与制作可采用数字电路实现,也可以采用单片机来完成。若用数字电路完成,所设计的电路相当复杂,大概需要十几片数字集成块,其功能也主要依赖于数字电路的各功能模块的组合来实现,焊接的过程比较复杂,成本也非常高。若用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成,这样一来就降低了硬件电路的复杂性,从而使得其成本降低,更适合我们大学生自主研发。所以在该设计与制作中我选用了单片机8052,它是低功耗、高性能的CMOS型8位单片机。片内带有4KB的Flash存储器,且允许在系统内改写或用编程器编程。另外, 单片机8052的指令系统和引脚与8051完全兼容,片内有128B 的RAM、32条I/O口线、2个16位定时计数器、5个中断源、一个全双工串行口等。 因此,采用单片机8052原理制作的电子万年历,不仅仅在原理上能够成功实现计时等功能,也更经济,更适用,更符合我们实际生活的需要,对我们大学生来说也更加有用。

单片机课程设计--基于51单片机的万年历

单片机课程设计报告 万年历的设计

基于51单片机的万年历 摘要: 电子万年历是一种非常广泛日常计时工具,对现代社会越来越流行。它可以对年、月、日、周日、时、分、秒进行计时,使用寿命长,误差小。对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒和温度等信息,还具有时间校准等功能。该电路采用AT89S52单片机作为核心,功耗小,能在3V的低压工作,电压可选用3~5V电压供电。 本设计是基于51系列的单片机进行的电子万年历设计,可以显示年月日时分秒及周信息,具有可调整日期和时间功能。在设计的同时对单片机的理论基础和外围扩展知识进行了比较全面准备。万年历的设计过程在硬件与软件方面进行同步设计。硬件部分主要由AT89C52单片机,LCD显示电路,以及调时按键电路等组成。在单片机的选择上本人使用了AT89C52单片机,该单片机适合于许多较为复杂控制应用场合。显示器使用了1602液晶显示,并且使用蜂鸣器实现了整点报警的功能,温度测试的功能实现使用了DS18B20,并实现了温度过高或过低时的温度报警。 软件方面主要包括日历程序、时间调整程序,显示程序等。程序采用C语言编写。所有程序编写完成后,在KeilC51软件中进行调试,

确定没有问题后,在Proteus软件中嵌入单片机内进行仿真,并最终实现基本要求。 综上所述此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。 一、设计要求 基本要求: 1,8 个数码管上显示,显示时间的格式为(假如当前时间是19:32:20)“19-32-20”; 2,具有日历功能; ③时间可以通过按键调整。 发挥部分: ④具有闹钟功能(可以设定多个)。 二:总体设计 电路设计框图

单片机电子万年历含程序

CHANGZHOU INSTITUTE OF TECHNOLOGY 科研实践 项目名称:电子万年历设计 二级学院:电子信息与电气工程学院 专业:电气工程及其自动化班级: 10 电二 学生姓名:祝学东学号: 指导教师:庄志红职称:副教授 起止时间: 2013年12月9日—2013年12月20日 摘要 本设计是电子万年历。具备三个功能:能显示:年、月、日、时、分、秒、星期,并具有可调整日期和时间功能。 该电子万年历使用12MHZ晶振与单片机AT89C52相连接,通过软件编程的方法实现了以24小时为一个周期,同时显示小时、分钟和秒的要求。利用单片机定时器及计数器产生定时效果通过编程形成数字钟效果,再利用数码管动态扫描显示单片机内部处理的数据。同时通过端口读入当前外部控制状态来改变程序的不同状态,实现不同功能。 电子万年历设计与制作可采用数字电路实现,也可以采用单片机来完成。若用数字电路完成,所设计的电路相当复杂,大概需要十几片数字集成块,其功能也主要依赖于数字电路的各功能模块的组合来实现,焊接的过程比较复杂,成本也非常高。若用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成,这样一来就降低了硬件电路的复杂性,从而使得其成本降低,更适合我们大学生自主研发。 AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。

基于51单片机的万年历设计

目录 第一章绪论 (3) 第二章设计要求及设计框图 (4) 2.1 设计要求 (4) 2.2 设计框图 (4) 第三章知识要点 (4) 3.1 LMO16L液晶模块 (4) 3.1.1 LM016L引脚说明 (5) 3.1.2 控制指令 (5) 3.1.3 基于Proteus ISIS 7的液晶模块仿真 (6) 3.2 单片机A T89C51 (8) 3.2.1 主要特性 (8) 3.2.2 管脚说明 (9) 3.2.3 振荡器特性 (11) 3.2.4 芯片擦除 (11) 3.3 时钟芯片DS1302 (11) 3.3.1 DS1302的控制字节 (12) 3.3.2 数据输入输出(I/O) (12) 3.3.3 DS1302的寄存器 (12) 3.4 DS18B20数字温度传感器 (13) 3.4.1技术性能描述 (13) 3.4.2 DS18B20主要的数据部件 (14) 3.4.3 DS18B20温度处理过程 (15) 3.4.4 DS18B20的主要特性 (17) 3.4.5 DS18B20的外形和内部结构 (17) 3.4.6 DS18B20工作原理 (18) 3.4.7 DS18B20的应用电路 (21) 3.4.8 DS18B20使用中注意事项 (23) 第四章硬件设计 (24) 4.1 Proteus软件 (24) 4.1.1 Proteus软件介绍 (24) 4.1.2 功能特点 (24) 4.1.3 革命性的特点 (24) 4.1.4 基本操作 (25) 4.1.5 选择要使用的元件 (25) 4.1.6 功能模块 (26) 4.2 基于89C51的万年历与温度显示器的硬件设计 (28) 4.2.1 设计框图 (29) 4.2.2 电路原理图 (29) 4.3 元件清单 (30) 第五章软件设计 (30)

电子万年历设计(基于AT89C51单片机和DS1302时钟芯片)1

随着人们生活水平的提高和生活节奏的加快,对时间的要求越来越高,精准数字计时的消费需求也是越来越多。 二十一世纪的今天,最具代表性的计时产品就是电子万年历,它是近代世界钟表业界的第三次革命。第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率源使钟表的走时差从分级缩小到秒级,代表性的产品就是带有摆或摆轮游丝的机械钟或表。第二次革命是石英晶体振荡器的应用,发明了走时精度更高的石英电子钟表,使钟表的走时月差从分级缩小到秒级。第三次革命就是单片机数码计时技术的应用(电子万年历),使计时产品的走时日差从分级缩小到1/600万秒,从原有传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示方式,直观明了,并增加了全自动日期、星期、温度以及其他日常附属信息的显示功能,它更符合消费者的生活需求!因此,电子万年历的出现带来了钟表计时业界跨跃性的进步…… 我国生产的电子万年历有很多种,总体上来说以研究多功能电子万年历为主,使万年历除了原有的显示时间,日期等基本功能外,还具有闹铃,报警等功能。商家生产的电子万年历更从质量,价格,实用上考虑,不断的改进电子万年历的设计,使其更加的具有市场。 本设计为软件,硬件相结合的一组设计。在软件设计过程中,应对硬件部分有相关了解,这样有助于对设计题目的更深了解,有助于软件设计。基本的要了解一些主要器件的基本功能和作用。 除了采用集成化的时钟芯片外,还有采用MCU的方案,利用AT89系列单片微机制成万年历电路,采用软件和硬件结合的方法,控制LED数码管输出,分别用来显示年、月、日、时、分、秒,其最大特点是:硬件电路简单,安装方便易于实现,软件设计独特,可靠。AT89C51是由ATMEL 公司推出的一种小型单片机。95年出现在中国市场。其主要特点为采用Flash存贮器技术,降低了制造成本,其软件、硬件与MCS-51完全兼容,可以很快被中国广大用户接受。 本文介绍了基于AT89C51单片机设计的电子万年历。 首先我们在绪论中简单介绍了单片机的发展与其在中低端领域中的优

基于51单片机的万年历设计

单片机课程设计 题目基于51单片机的万年历设计学生姓名 专业班级 学号 院(系) 指导教师 完成时间

目录 1课程设计的目的 (1) 2课程设计的任务与要求 (1) 2.1设计任务 (1) 2.2设计要求 (1) 3单片机发展概况 (1) 4设计原理与功能说明 (4) 4.1设计思想 (4) 4.2总体电路图 (5) 4.3时钟模块 (5) 4.4液晶显示模块 (6) 4.5按键模块 (7) 5系统测试 (7) 5.1硬件测试 (7) 5.2软件测试 (8) 6总结 (8) 参考文献 (10) 附录一:总体电路原理图 (11)

附录二:主程序 (12) 附录三:元器件清单 (26) 附录四:实物图 (27)

1课程设计的目的 1.通过制作万年历,可以对单片机这门课程更好的认识。 2.理论与实践结合,提高自己的动手能力。 3.学会与合作者更好的交流学习,共同进步和提高。 4.能够增长查阅资料的能力,视野更加开阔。 5.拓展其他学科的联系,全面发展。 6.培养自我发现问题,解决问题的能力。 2课程设计的任务与要求 2.1设计任务 1.可以去学校图书馆或者网上,搜集整理相关的资料,做好前期理论准备,为以后设计电路,看懂电路图做理论支持。 2.构想万年历电路图,并且具有可行性,画出电路图。 3.列举电路所需的电子元件,仔细对比所需的元件的参数,通过去电子元件经销商或者网购购买。 2.2设计要求 1.显示年、月、日、时、分、秒。 2.可通过键盘自动调整时间。 3.计时精度:月误差小于20秒。 3单片机发展概况 单片机诞生于20世纪70年代末,它的发展史大致可分为三个阶段:第一阶段(1976-1978):初级单片机微处理阶段。该时期的单片机具有8 位CPU,并行I/O 端口、8 位时序同步计数器,寻址范围4KB,但是没有串行口。

电子万年历

第一章绪论 1.1设计背景 从改革开放开始,电子工业已成为科技创新的重要领域,我国的电子产业也在新世纪开始高速发展,无论是产业结构,产业规模和技术水平都有了十分明显的进步和提升,而且电子产品在各个领域都有开创性的发展,使我们的生活变得更加智能化,为我国经济的发展做出了杰出的贡献。其中,单片机的大规模使用为我们的生活创造了极大的便利,可以说无时无刻不在影响着我们的生活。何为单片机,单片机全名为单片微控制器,它的结构组成就是将微型计算机的基本功能部件全都集成在一个半导体芯片上。尽管仅仅是一个芯片,但从单片机的构成和功能的角度来看充分具备一个计算机系统的中央处理功能。最重要的优点是,单片机体积小巧,可以任意嵌入到任何符合条件的应用系统中作为中央处理器进行指挥决策,是系统实现完全的智能化。当今世界,单片机已经无时无刻不在我们生活的周边存在,各类电子产品几乎都以单片机作为主控核心,通过单片机的控制使之更加智能快速,使我们的生活更加舒畅和方便。正是随着日常周边科学技术的进步,人们对待生活用品的要求也在逐步提高,时钟亦是如此,从古至今,人们对时间的概念就非常重视,从日晷到摆钟,经历了百年的发展,如今,人们对时钟的要求不仅仅是能够知道时间,还需要能够知道日期,星期,节气,天气情况等等,以便于满足人们对生活的各种需要,由此电子万年历就诞生了,正是因为电子万年历功能的多样性,使它在应用在各种场合,人们对它的需求量也就却来越大,电子万年历的发展空间也越来越广阔,成为了一项重要的产业。 1.2设计的目的及意义 中国从古至今就有重视时间的好传统,农民通过日照和鸡叫开始一天的劳作,商人通过古老的计时工具来确认是否应该开门迎客,学士知道时间后则开始一天的读书学习,这种传统一直绵延至今。当今社会,人们的生活节奏飞快,在工作中讲究快速和效率,需要在最短的时间内完成最合理的工作要求,所以人们通常需要在最短的时间内了解到最丰富的信息,人们不满足于只能看到此时此刻的时间信息,还需要了解过去和未来几天内的时间情况,包括农历,天

基于51单片机的万年历_毕业设计

基于51单片机的万年历 中文摘要 本设计万年历以AT89C51为控制中心,与温度传感器DS18B20,时钟芯片DS1302综合应用为一体,不仅能够准确显示时间、日期,闹钟设置,环境温度测量及温度高低温报警等功能。 单片机是一种集CPU、RAM、ROM、I/O接口和中断系统等于一体的器件,只需要外加电源和晶振就可实现对数字信息的处理和控制。单片机与数字万年历相结合,用于时间显示,温度测试等不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被检测数值的技术指标,从而能够大大提高产品的质量和数量。 关键词:单片机,温度传感器,C语言,液晶显示

ABSTRACT This design USES AT89C51 as calendar control center, and the temperature sensor DS18B20, the clock DS1302 chip integrated application as a whole, and not only be able to accurately display the time, date, alarm, the environment temperature measurement and high temperature, low temperature alarm functions. SCM is a collection of CPU, RAM, ROM, I/O interface and interrupt system is one of the devices, only require additional power can be used for vibration and grain is the process of digital information and control. Single-chip microcomputer and digital calendar, combining for time to show, temperature testing has not only control convenient, simple and flexible configuration advantages, and which could increase the technical index of the tested value, which can greatly improve the quality of the products and quantity. Key words:Single-chip microcomputer, Temperature Sensor,C language,Liquid crystal displ

基于单片机的万年历设计毕业设计

目录 摘要...................................................................... I Abstract ................................................................. II 第1章绪论.. (1) 1.1 课题背景和意义 (1) 1.2 课题的主要内容 (2) 第2章系统总体方案设计 (3) 2.1 单片机的选择 (3) 2.2 显示模块的方案选择 (3) 2.3 时钟芯片的选择方案 (3) 2.4 键盘的选择 (4) 2.5 最终方案的选择 (4) 第3章万年历系统硬件设计 (6) 3.1 电路设计框图 (6) 3.2 各模块硬件电路设计 (6) 3.2.1 晶振电路模块的设计 (6) 3.2.2 复位电路模块的设计 (7) 3.2.3 单片机的控制模块 (7) 3.2.4 DS1302时钟电路 (11) 3.2.5 LCD12864液晶显示电路 (13) 3.2.6 键盘模块设计 (15) 第4章万年历系统软件设计 (17) 4.1 主程序模块 (17) 4.2 LCD12864显示程序 (18) 4.3 DS1302时钟程序 (19) 4.4 农历转换程序 (20) 4.5 星期自动刷新程序 (21) 4.6 时间调整程序 (22) 第5章系统调试 (24)

5.1 硬件调试 (24) 5.2 软件测试 (24) 5.3 总体调试 (25) 结论 (26) 参考文献 (27) 致谢 (28) 附录1 设计任务书 (29) 附录2 开题报告 (31) 附录3 外文翻译 (36) 附录4 程序清单 (55)

最新基于单片机的万年历设计

基于单片机的万年历设计 二、实验要求 设计一个万年历,将时钟显示在LCD1602的显示屏上并且可以进行年、月、日以及时、分、秒的设置。此外还可以通过按键进行闹钟设置以及事件提醒功能,用蜂鸣器进行闹铃提醒。最后附加一个温湿度检测的功能,用温湿度传感器检测室内的温湿度并将温湿度数据在显示屏上显示出来。 三、实验设备和仪器 1.用 STC89C52芯片作为系统板的主控芯片 2.DHT11温湿度传感器 3.DS1302时钟芯片 4.LCD1602显示屏 四、实验各模块原理介绍 4.1 STC89C52单片机 STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K字节系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 (1)主要特性 8K字节程序存储空间; 512字节数据存储空间; 内带4K字节EEPROM存储空间; 可直接使用串口下载; (2)器件参数 1. 增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051。 2. 工作电压:5.5V~ 3.3V(5V单片机)/3.8V~2.0V(3V 单片机) 3.工作频率范围:0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz 4. 用户应用程序空间为8K字节

5. 片上集成512字节RAM 6. 通用I/O 口(32个),复位后为:P1/P2/P3 是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。 7. ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RXD/P3.0,TXD/P3.1)直接下载用户程序,数秒即可完成一片。 8. 具有EEPROM 功能 9. 共3个16位定时器/计数器。即定时器T0、T1、T2。 10.外部中断4 路,下降沿中断或低电平触发电路,Power Down 模式可由外部中断低电平触发中断方式唤醒。 11. 通用异步串行口(UART),还可用定时器软件实现多个UART。 12. 工作温度范围:-40~+85℃(工业级)/0~75℃(商业级) 13. PDIP封装 1、STC89C52单片机引脚图 图4.1 STC89C52单片机引脚图 ①主电源引脚(2根) VCC(Pin40):电源输入,接+5V电源 GND(Pin20):接地线 ②外接晶振引脚(2根) XTAL1(Pin19):片内振荡电路的输入端 XTAL2(Pin20):片内振荡电路的输出端 ③控制引脚(4根) RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。

电子万年历设计

课程论文 论文题目基于单片机的电子万年历设计 课程名称单片机原理及接口技术 专业年级2014级自动化3班 学生姓名孙宏远贾腾飞 学号 2014485420144848 2016年12 月3 日

摘要: 本文介绍了基于AT89C51单片机的多功能电子万年历的硬件结构和软硬件设计方法。系统以AT89C51单片机为控制器,以串行时钟日历芯片DS1302记录日历和时间,它可以对年、月、日、时、分、秒进行计时,还具有闰年补偿等多种功能。万年历采用直观的数字显示,可以在LED上同时显示年、月、日、周日、时、分、秒,还具有时间校准等功能。此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,具有广阔的市场前景。。 关键词:AT89C51单片机,DS1602时钟芯片,LCD1602显示屏。串口通信。一:引言 本设计的基于单片机控制的电子万年历,具有年、月、日、星期、时、分、秒的显示等功能,实现过程就是由主控制发送信息给DS1302时钟芯片再由时钟芯片反馈给单片机,再由主控制器传送给LCD1602显示屏显示信息。并且可以在键盘设置模块输入修改时间,当键盘设置时间、日期时,单片机主控制根据输入信息,通过串口通信传送给DS1302时钟芯片,DS1302芯片读取当前新信息产生反馈传送给单片机,然后单片机根据控制最后输送显示信息到LCD1602液晶显示屏模块上显示。 二:硬件设计: 2.0.硬件的设计总框图 2.1 DS1032时钟电路 DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。芯片如图。 DS1302的内部主要由移位寄存器、指令和控制逻辑、振荡分频电路、实时时钟以及RAM组成。每次操作时,必须首先把CE置为高电平。再把提供地址和命令信息的8位装入移位寄存器。数据在SCLK的上升沿串行输入。无论是读周期还是写周期发生,也无论传送方式是单字节还是多字节,开始8位将指定内部何处被进行访问。在开始 8个时钟周期把含有地址信息的命令字装入移位寄存

万年历汇编语言程序

F_S bit 00H ;计时1S的标志位 ORG 0000H LJMP START ORG 001BH LJMP PINTT1 ORG 0003H LJMP PINT0 ORG 0013H LJMP PINT1 ORG 0030H START: CLR P1.4 MOV SP,#60H MOV TMOD,#10H ;设置定时器T1方式字 MOV DPTR,#(65536-50000) MOV TH1,DPH MOV TL1,DPL SETB EA SETB ET1 SETB TR1 ;启动定时器T1 SETB EX0 ;启动外部中断0 SETB IT0 ;设定外部中断0为下降沿 MOV IP,#01H ;设定外部中断0优先级最高 SETB EX1 SETB IT1 MOV R4,#20 MAIN: JNB F_S,ABCD ; 标志位为0(定时时间为1s),则跳转 CLR F_S ;标志位置零 LCALL JISHI ;调用计时ABCD: MOV 53H,#0FH ; MOV 40H,#35H MOV 41H,#00H MOV 42H,#06H LCALL DISP ;调用显示程序 ;LCALL KEYS SJMP MAIN ;定时中断程序 PINTT1: MOV DPTR,#(65536-50000) MOV TH1,DPH ;重新设置初值 MOV TL1,DPL DJNZ R4,ABC ;是否为1S?,不是则返回 MOV R4,#20 ;重新设置计数初值 SETB F_S ;标志位置1 ABC: RETI ;外部中断0程序,用于调节年月日************************************ ********* PINT0: CLR EA ;关中断 CLR TR1 ;关定时器 PUSH ACC PUSH PSW PUSH 49H PUSH 40H PUSH 41H PUSH 42H PUSH 43H ;MOV 55H,#00H ;给55H初值,刚进入中断时使显示秒的数码管闪亮MOV 55H,#06H

LCD12864单片机电子万年历程序

********************************* #include<> #include<> #define LCD_Data P0 #define uchar unsigned char unsigned char sec,min,hour,day,month,year,cen,week, next,aa,bb,cc,dd,mm,temp0,LunarMonth, LunarDay,LunarYear; int temp; uchar tt=1; bit c_moon; bit cenbit=1; bit w; sbit LCD_RS=P2^0; sbit LCD_RW=P2^1; sbit LCD_E=P2^2; sbit PSB=P2^3; sbit DS1302_CLK=P3^7; sbit DS1302_IO=P3^6; sbit DS1302_RST=P3^5; sbit DS18B20=P2^5; sbit speak=P2^7; sbit SetKey=P1^4; // 按键功 能:设置 sbit SureKey=P1^5; // 按键功 能:确认 sbit PlusKey=P1^6; // 按键功 能:加 sbit ReduceKey=P1^7; // 按键功 能:减 sbit scl=P1^1; sbit sda=P1^0; void DisplayShengXiao(void); void delay(unsigned int a) // 延时 1MS/ 次 { unsigned char i; while(--a) { for(i=0;i<125;i++) ; } }

相关主题
文本预览
相关文档 最新文档