万年历组装实训报告
万年历实训报告.doc

万年历实训报告.doc
摘要:
本实训主要用于介绍我们能够实现一个基于C语言、Qt图形接口,实现万年历功能的程序。
由于该项目涉及许多基础知识,让学生能够跨科目获得完整的实践经验。
在实训中,我们先了解基础知识,如如何使用C语言及Qt图形接口;然后构建程序。
程序的核心思想是使用类型插入、提取、比较和计算日期的来求解式的历史时期,展示日历,并计算公历农历的值。
最后,我们完成了基于Qt图形界面的万年历程序,实现了查询公历和农历日期,以
及带复杂信息的今天提醒等功能。
本实训有力地提升了学生的计算机知识及实践能力,优
化了学习的过程。
总结:
通过本次实训,学生可以获得跨学科的实践经验,学习到了C语言和Qt图形接口的
知识,以及利用日期插入、提取、比较和计算的历史知识。
并实现了一个基于Qt的万年
历程序,有助于提升学生的实践能力,极大地增强了学习效率。
多功能电子万年历实训报告

一、引言随着科技的发展,电子产品在我们的日常生活中扮演着越来越重要的角色。
作为电子信息专业的一名学生,我深知理论与实践相结合的重要性。
为了提高自己的动手能力和解决实际问题的能力,我参加了本次多功能电子万年历的实训项目。
通过本次实训,我不仅掌握了单片机的基本原理和编程方法,还学会了如何将理论知识应用于实际项目中。
二、实训目的1. 熟悉单片机的硬件结构和编程方法。
2. 掌握电子万年历的设计原理和实现方法。
3. 提高动手能力和解决实际问题的能力。
4. 培养团队协作和沟通能力。
三、实训内容本次实训主要围绕多功能电子万年历的设计与实现展开,主要包括以下几个方面:1. 硬件设计:选择合适的单片机作为核心控制单元,设计电路图,并焊接电路板。
2. 软件设计:编写程序,实现万年历的基本功能,如显示日期、时间、星期、闰年判断、闹钟等。
3. 温度采集:使用DS18B20温度传感器采集环境温度,并在LCD1602显示屏上显示。
4. 按键控制:设计按键电路,实现时间校准、闹钟设置、温度显示等功能。
四、实训过程1. 硬件设计:- 选择AT89C52单片机作为核心控制单元,因为它具有低功耗、高性能的特点。
- 设计电路图,包括晶振电路、复位电路、时钟电路、按键电路、LCD1602显示电路、温度传感器电路等。
- 焊接电路板,确保电路连接正确。
2. 软件设计:- 使用Keil软件编写程序,实现万年历的基本功能。
- 编写时间显示、闹钟、温度显示等模块的程序。
- 编写按键扫描程序,实现时间校准、闹钟设置、温度显示等功能。
3. 温度采集:- 使用DS18B20温度传感器采集环境温度。
- 将温度数据转换为数字信号,并在LCD1602显示屏上显示。
4. 按键控制:- 设计按键电路,实现时间校准、闹钟设置、温度显示等功能。
- 编写按键扫描程序,检测按键状态,并执行相应的操作。
五、实训结果经过努力,我成功完成了多功能电子万年历的设计与实现。
该万年历具有以下功能:1. 显示年、月、日、星期、时、分、秒。
万年历实验报告

篇一:电子万年历实验报告重庆电力高等专科学校计算机科学系实训报告课程名称实验名称班级信息0911 姓名廖林单片机应用技术电子万年历学号 200903020243 教师任照富日期 2010-12-28 地点一教七机房一、实训任务:1、看实训要求,计划出自己实训所要用元件,在网上查找资料。
2、思考仿真原理图,然后画出来(具体i/o口暂时不确定)。
3、在网上找一些程序,然后自己改一些,进行编译。
4、编译无误之后,跟原理图相联系,完成最终的仿真图。
5、进行最后的改写,把程序和仿真原理图确定下来。
6、根据仿真图形,制作出实物图。
7、在实物制作过程中,进行电路检查和最后的调试。
二、实训要求:要求:能显示阳历的年、月、日、星期、时、分、秒;能显示阴历的年、月、日;能进行日期、时间的调整。
扩展:能显示当前温度;有闹钟功能(至少2个)选择ds1302时钟芯片,温度传感器采用ds18b20数字温度传感器。
三、实训环境(软件、硬件):软件:keil protues7.5硬件:计算机2单片机的应用四、实训意义:在这快速发展的年代,时间对人们来说是越来越宝贵,在快节奏的生活时,人们往往忘记了时间,一旦遇到重要的事情而忘记了时间,这将会带来很大的损失。
因此我们需要一个定时系统来提醒这些忙碌的人,而数字化的钟表给人们带来了极大的方便。
由于单片机具有灵活性强、成本低、功耗低、保密性好等特点,所以电子日历时钟一般都以单片机为核心,外加一些外围设备来实现。
电子万年历作为电子类小设计不仅是市场上的宠儿,也是是单片机实验中一个很常用的题目。
因为它的有很好的开放性和可发挥性,因此对作者的要求比较高,不仅考察了对单片机的掌握能力更加强调了对单片机扩展的应用。
而且在操作的设计上要力求简洁,功能上尽量齐全,显示界面也要出色。
所以,电子万年历无论作为竞赛题目还是毕业设计题目都是很有价值。
对于这个实验项目,我们还要有一些其他的基本知识掌握和意义:(1)在学习了《数字电子技术》和《单片机原理及接口技术》课程后,为了加深对理论知识的理解,学习理论知识在实际中的运用,为了培养动手能力和解决实际问题的经验,了解专用时钟芯片ds1302,并会用ds1302芯片开发时钟模块,应用到其他系统中去。
单片万年历的实训报告

一、实训背景与目的随着科技的发展,单片机技术在各个领域得到了广泛应用。
万年历作为一种实用的电子设备,在日常生活中有着重要的地位。
本实训旨在通过设计并实现单片万年历,提高学生对单片机应用能力的掌握,加深对嵌入式系统设计、编程及调试的理解,培养解决实际问题的能力。
二、实训内容1. 万年历系统需求分析万年历系统应具备以下功能:(1)实时显示当前日期和时间;(2)具备闰年判断功能;(3)提供闰年、平年、大月、小月的判断;(4)提供日历查询功能;(5)提供闹钟功能。
2. 硬件设计万年历系统硬件主要由以下模块组成:(1)单片机:选用STC89C52单片机作为核心控制器;(2)实时时钟模块:选用DS1302实时时钟芯片,用于获取当前日期和时间;(3)显示模块:选用LCD1602液晶显示屏,用于显示日期和时间;(4)按键模块:选用独立按键,用于设置日期和时间、查询日历、设置闹钟等;(5)蜂鸣器:用于闹钟提示。
3. 软件设计万年历系统软件主要由以下部分组成:(1)主程序:负责初始化系统、处理按键输入、显示日期和时间、查询日历、设置闹钟等功能;(2)时钟模块:负责读取DS1302芯片的当前日期和时间,并更新显示;(3)日历模块:负责判断闰年、平年、大月、小月,并计算日期;(4)闹钟模块:负责设置闹钟时间,并在设定时间到来时触发蜂鸣器。
三、实训过程1. 硬件搭建根据设计方案,搭建万年历系统硬件电路,包括单片机、实时时钟模块、显示模块、按键模块和蜂鸣器等。
2. 软件编写使用C语言编写万年历系统软件,包括主程序、时钟模块、日历模块和闹钟模块等。
3. 调试与优化对万年历系统进行调试,修复程序中的错误,并对系统性能进行优化。
四、实训结果经过设计和调试,成功实现了一个功能完善的单片万年历系统。
系统能够实时显示当前日期和时间,具备闰年判断、日历查询、闹钟等功能。
用户可以通过按键设置日期和时间、查询日历、设置闹钟等。
五、实训总结1. 收获通过本次实训,我掌握了以下知识和技能:(1)熟悉了单片机系统硬件设计及搭建;(2)掌握了C语言编程及调试技巧;(3)了解了嵌入式系统设计及开发流程;(4)提高了解决实际问题的能力。
单片机万年历实习报告

一、实习背景随着科技的发展,单片机技术逐渐成为电子领域的主流技术之一。
为了提高自己的实践能力,加深对单片机原理的理解,我参加了单片机万年历的实习项目。
本次实习以AT89C51单片机为核心,结合LCD1602液晶显示屏,设计并实现了一个功能完善的万年历。
二、实习目的1. 熟悉单片机的基本原理和编程方法,掌握单片机的应用技术。
2. 学会使用LCD1602液晶显示屏,了解其工作原理和驱动方法。
3. 掌握万年历的设计与实现方法,提高自己的动手能力和实际操作技能。
4. 培养团队合作精神,提高自己的沟通能力和组织协调能力。
三、实习内容1. 硬件设计(1)选用AT89C51单片机作为核心控制器。
(2)使用LCD1602液晶显示屏显示日期、星期等信息。
(3)选用DS1302实时时钟模块获取当前时间。
(4)选用按键模块实现用户交互功能。
2. 软件设计(1)编写程序实现万年历的基本功能,包括日期显示、星期显示、时间设置等。
(2)编写程序实现实时时钟模块的初始化、数据读取和更新。
(3)编写程序实现按键模块的扫描和处理。
(4)编写程序实现LCD1602液晶显示屏的初始化、数据写入和显示控制。
3. 调试与优化(1)对硬件电路进行调试,确保电路连接正确,各模块工作正常。
(2)对软件程序进行调试,修复程序中的错误,优化程序性能。
(3)调整程序参数,使万年历显示效果更佳。
四、实习过程1. 硬件电路搭建根据设计要求,我首先搭建了万年历的硬件电路。
首先,将AT89C51单片机、LCD1602液晶显示屏、DS1302实时时钟模块和按键模块连接起来。
然后,对电路进行测试,确保各模块正常工作。
2. 软件编程在硬件电路搭建完成后,我开始编写软件程序。
首先,编写程序实现万年历的基本功能,包括日期显示、星期显示、时间设置等。
然后,编写程序实现实时时钟模块的初始化、数据读取和更新。
接着,编写程序实现按键模块的扫描和处理。
最后,编写程序实现LCD1602液晶显示屏的初始化、数据写入和显示控制。
实验报告4--万年历综合实验

实验报告
班级学号姓名同组人实验日期室温大气压成绩
3.2、系统时钟电路
LPC2100系列ARM7微控制器可使用外部晶振或外部时钟源,内部
运行速度更快(CPU最大操作时钟为60MHz)。
倘若不使用片内PLL功能及
3.3、键盘电路
3.4、LED显示电路
在显示方面,EasyARM2131开发板采用了一片74HC595驱动一位静态共阳
其时钟(SCK)、数据(SI)分别接到LPC2131的SPI接口的SCLK0、MOSI0
片选(RCK,即74HC595输出触发端)与P0.29口连接,由P0.29控制
输出(SQH)连接到LPC2131的SPI接口的MISO0,可用来读回数据。
这样连接就可以进行实验,并能把74HC595的移位输出读回来(由MISO0读回)。
这一部份电路通过在使用硬件SPI接口主方式时,要把SPI0/1的4个I/O口均设置为
而且SSEL0/1引脚不能为低电平,一般要接一个10KΩ的上拉电阻。
、蜂鸣器控制电路
如图1.11所示,蜂鸣器使用PNP三极管Q1进行驱动控制,当P0.7控制电平输出0
鸣器蜂鸣;当P0.7控制电平输出1时,Q1截止,蜂鸣器停止蜂鸣;若把JP6选择断开连接,
器停止蜂鸣。
Q1采用开关三极管8550,其主要特点是放大倍数高hFE = 300,最大集电极电流ICM =1500mA fT = 100MHz。
3.6实时时钟
3.6.1概述
实时时钟(RTC,Real Time Clock)提供一套计数器在系统上电和关闭操作时对时间进行测量,
3.7、PWM脉宽调制器3.7.1 概述。
2019-万年历实验报告-范文word版 (10页)

本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==万年历实验报告篇一:电子万年历实验报告重庆电力高等专科学校计算机科学系实训报告课程名称实验名称班级信息0911 姓名廖林单片机应用技术电子万年历学号 201X03020243 教师任照富日期 201X-12-28 地点一教七机房一、实训任务:1、看实训要求,计划出自己实训所要用元件,在网上查找资料。
2、思考仿真原理图,然后画出来(具体I/O口暂时不确定)。
3、在网上找一些程序,然后自己改一些,进行编译。
4、编译无误之后,跟原理图相联系,完成最终的仿真图。
5、进行最后的改写,把程序和仿真原理图确定下来。
6、根据仿真图形,制作出实物图。
7、在实物制作过程中,进行电路检查和最后的调试。
二、实训要求:要求:能显示阳历的年、月、日、星期、时、分、秒;能显示阴历的年、月、日;能进行日期、时间的调整。
扩展:能显示当前温度;有闹钟功能(至少2个)选择DS1302时钟芯片,温度传感器采用DS18B20数字温度传感器。
三、实训环境(软件、硬件):软件:keil protues7.5硬件:计算机2单片机的应用四、实训意义:在这快速发展的年代,时间对人们来说是越来越宝贵,在快节奏的生活时,人们往往忘记了时间,一旦遇到重要的事情而忘记了时间,这将会带来很大的损失。
因此我们需要一个定时系统来提醒这些忙碌的人,而数字化的钟表给人们带来了极大的方便。
由于单片机具有灵活性强、成本低、功耗低、保密性好等特点,所以电子日历时钟一般都以单片机为核心,外加一些外围设备来实现。
电子万年历作为电子类小设计不仅是市场上的宠儿,也是是单片机实验中一个很常用的题目。
因为它的有很好的开放性和可发挥性,因此对作者的要求比较高,不仅考察了对单片机的掌握能力更加强调了对单片机扩展的应用。
而且在操作的设计上要力求简洁,功能上尽量齐全,显示界面也要出色。
电子语音万年历实训报告

一、实训背景与目的随着科技的飞速发展,电子产品的应用越来越广泛,智能化、自动化已成为现代生活的趋势。
电子语音万年历作为一种结合了传统日历与现代电子技术的产品,不仅具有信息存储、查询的功能,还能提供语音播报,极大地方便了人们的生活。
本次实训旨在通过实际操作,了解电子语音万年历的设计原理、制作流程,提高学生的动手能力、创新能力和团队协作能力。
二、实训内容与过程1. 硬件选型与搭建(1)选择合适的微控制器作为核心控制单元,如STM32或Arduino等。
(2)设计电路板,包括电源电路、按键电路、显示电路、语音模块电路等。
(3)选择合适的显示屏,如OLED或LCD等,用于显示日期、星期等信息。
(4)选择语音模块,如ESP8266或ESP32等,实现语音播报功能。
2. 软件设计(1)编写程序,实现万年历的基本功能,如日期显示、星期显示、节假日查询等。
(2)设计语音播报功能,实现语音报时、语音查询等功能。
(3)优化程序,提高程序的稳定性和运行效率。
3. 系统调试与测试(1)连接电路板,进行硬件调试,确保各个模块正常工作。
(2)编写测试程序,对万年历的各项功能进行测试,确保功能完善。
(3)对语音模块进行调试,确保语音播报准确无误。
三、实训成果与分析1. 成果展示本次实训成功制作了一款电子语音万年历,具有以下功能:(1)日期显示:实时显示当前日期和星期。
(2)语音播报:可语音报时,语音查询日期、星期、节假日等信息。
(3)节假日查询:自动识别节假日,并提示用户。
2. 成果分析(1)本次实训提高了学生的动手能力,通过实际操作,掌握了电子语音万年历的设计与制作过程。
(2)培养了学生的创新意识,在实训过程中,学生可以根据自己的需求,对万年历的功能进行拓展,如添加天气查询、闹钟等功能。
(3)提高了学生的团队协作能力,在实训过程中,学生需要相互配合,共同完成实训任务。
四、实训心得与体会1. 学会了硬件选型与搭建在实训过程中,我学会了如何选择合适的微控制器、显示屏、语音模块等硬件,并掌握了电路板的设计与制作方法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
—實訓報告—(单片机实训报告)学院系别:机电工程学院
专业班级:电信BK31901
设计学生:张欢
指导老师:陈老师、阎老师
设计时间:2012年10月19日
万年历组装与调试及单片机实训报告
2012-10-219| 电信BK31901班张欢
一、实习时间:2012年10月15日至2012年10月19日
二、实习地点:机电实训楼
三、实习目的与要求:
1熟练C语言中if语句、for语句、while语句的使用。
2.掌握万年历的基本原理,学会分析基本的电路原理图。
3.学会利用Keil软件和proteus软件进行设计。
四、实习内容:
1.利用Keil软件对数码管(秒表)液晶(时钟)编程,并进行编译和链接。
2.掌握AT89C51芯片I/O口的功能及作用。
3.灵活运用C语言对中断、定时计数器及数码管进行编程设计。
4认真掌握proteus仿真软件,并用proteus画出电路图软件进行仿真。
5.掌握万年历的工作原理,学会贴片电容,贴片电阻,晶振集成块的识别与测试,进一步掌握和熟练焊接技术。
五、运用Keil软件对数码管及液晶进行编程设计并用proteus仿真
1.用数码管显示0—60的源程序:
#include<reg51.h>
#define uint unsigned char
#define uchar unsigned int
sbit K1=P3^7;
uchar i,Second_Counts,Key_Flag_Idx;
bit Key_State;
uchar code DSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f};
void DelayMS(uint x)
{ uchar t;
while(x--)
for(t=0;t<500;t++);}
void Key_Byent_Handle()
{ if(Key_State==0)
{Key_Flag_Idx=(Key_Flag_Idx+1)%3;
switch(Key_Flag_Idx)
{case 1:EA=1;ET0=1;TR0=1;break;
case 2:EA=0;ET0=0;TR0=0;break;
case 0:P0=0x3f;P2=0x3f;i=0;Second_Counts=0; }}} void main()
{P0=0x3f;
P2=0x3f;
i=0;
Second_Counts=0;
Key_Flag_Idx=0;
Key_State=1;
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
while(1)
{if(Key_State!=K1)
{DelayMS(10);//开关消抖
Key_State=K1;
Key_Byent_Handle();}}}
void DSY_keyfresh() interrupt 1
{TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
if(++i==2)
{i=0;
Second_Counts++;
P0=DSY_CODE[Second_Counts/10];
P2=DSY_CODE[Second_Counts%10];
if(Second_Counts==60)
Second_Counts=0;}}
2.用液晶显示年、月、日、字符串的源程序:
#include<reg52.h>
unsigned char code tab[]="welcome BK31901"; unsigned char code tab1[] ="2012-10-19"; unsigned char num;
sbit RS=P1^2;
sbit RW=P1^1;
sbit E =P1^0;
void delay(unsigned int z)
{unsigned int x,y;
for(x=z;x>0;x--)
for(y=0;y<150;y++);}
void write_com(unsigned char cmd)
{RS=0;
RW=0;
E=1;
P2=cmd;
E=0;
delay(2);}
void write_data(unsigned char dat)
{RS=1;
RW=0;
E=0;
P2=dat;
E=0;
delay(2);}
void init()
{write_com(0x38);
write_com(0x08);
write_com(0x01);
write_com(0x0f);
write_com(0x06);}
int main()
{init();
write_com(0x80);
for(num=0;num<17;num++)
{write_data(tab[num]);}
write_com(0x80-0x42);
for(num=0;num<11;num++)
{ write_data(tab1[num]);}
while(1);
return 0;}
3.用proteus画出电路图软件进行仿真
六、作品实物图片
七、心得体会
在本次单片机实训中,我们从焊接贴片电阻、贴片电容、电子元器件开始,到组装、调试、检验合格,完成了万年历的整个过程。
这样不仅加深了我们对理论知识的理解,而且增强了我们的实际动手能力,还引起了我们的浓厚兴趣,为后续的专业课的学习起到了很大的作用。
通过一个星期的学习,我了解到了焊插件元件与贴片元件的技巧等。
这些知识不仅在课堂上有效,对以后的电子工艺课的学习有很大的指导意义,在日常生活中更是有着现实意义;也对自己的动手能力是个很大的锻炼。
实践出真知,纵观古今,所有发明创造无一不是在实践中得到检验的。
没有足够的动手能力,就奢谈在未来的科研尤其是实验研究中有所成就。
总之,在这次实习之中我们学到了很多东西,在理论上,动手上,甚至在态度都有了提高。
通过这次实习我发现要干好一件事情必须要不怕困难,坚持到底,只有这样才会战胜困难,赢得最后的胜利!。