万年历实训报告

合集下载

数字万年历实训报告电气

数字万年历实训报告电气

一、实训目的随着科技的不断发展,电子产品的应用越来越广泛。

数字万年历作为一种常见的电子设备,具有显示日期、星期、农历、节假日等多种功能,给人们的生活带来了极大的便利。

为了更好地掌握电子产品的设计原理和制作方法,提高自身的实践能力,本次实训旨在通过设计和制作数字万年历,使学生对电子技术、电路设计、编程等方面有一个全面的认识和掌握。

二、实训内容1. 数字万年历的设计(1)功能需求分析根据用户需求,数字万年历应具备以下功能:1)显示日期、星期、农历、节假日等信息;2)具有闹钟功能,可设定闹钟时间、闹钟音量等;3)具有定时关机功能,可根据用户需求设定关机时间;4)具备背光功能,便于夜间使用;5)具有定时更新功能,可自动更新农历、节假日等信息。

(2)硬件设计1)主控芯片:选用STM32F103系列单片机,具有丰富的片上资源,易于编程和控制。

2)显示模块:采用TFT LCD显示屏,显示效果清晰,支持触摸操作。

3)按键模块:采用独立按键,实现功能选择、闹钟设置、关机等操作。

4)时钟模块:采用DS3231实时时钟模块,提供高精度的时间测量和闹钟功能。

5)背光模块:采用LED背光,可调节亮度,满足不同环境需求。

6)电源模块:采用DC-DC转换器,将5V输入电压转换为3.3V输出电压,为电路提供稳定电源。

(3)软件设计1)系统初始化:初始化各个模块,包括显示模块、按键模块、时钟模块等。

2)主循环:根据用户操作,实现功能切换、闹钟设置、关机等功能。

3)闹钟功能:实现闹钟时间设置、闹钟音量调节、闹钟提醒等功能。

4)定时关机功能:根据用户设置,实现定时关机功能。

5)背光功能:实现背光亮度调节,满足不同环境需求。

6)定时更新功能:自动更新农历、节假日等信息。

2. 数字万年历的制作(1)焊接电路板:按照电路图,焊接各个模块,确保电路连接正确。

(2)编程:使用Keil uVision5开发环境,编写STM32F103单片机程序,实现数字万年历的功能。

多功能电子万年历实训报告

多功能电子万年历实训报告

一、引言随着科技的发展,电子产品在我们的日常生活中扮演着越来越重要的角色。

作为电子信息专业的一名学生,我深知理论与实践相结合的重要性。

为了提高自己的动手能力和解决实际问题的能力,我参加了本次多功能电子万年历的实训项目。

通过本次实训,我不仅掌握了单片机的基本原理和编程方法,还学会了如何将理论知识应用于实际项目中。

二、实训目的1. 熟悉单片机的硬件结构和编程方法。

2. 掌握电子万年历的设计原理和实现方法。

3. 提高动手能力和解决实际问题的能力。

4. 培养团队协作和沟通能力。

三、实训内容本次实训主要围绕多功能电子万年历的设计与实现展开,主要包括以下几个方面:1. 硬件设计:选择合适的单片机作为核心控制单元,设计电路图,并焊接电路板。

2. 软件设计:编写程序,实现万年历的基本功能,如显示日期、时间、星期、闰年判断、闹钟等。

3. 温度采集:使用DS18B20温度传感器采集环境温度,并在LCD1602显示屏上显示。

4. 按键控制:设计按键电路,实现时间校准、闹钟设置、温度显示等功能。

四、实训过程1. 硬件设计:- 选择AT89C52单片机作为核心控制单元,因为它具有低功耗、高性能的特点。

- 设计电路图,包括晶振电路、复位电路、时钟电路、按键电路、LCD1602显示电路、温度传感器电路等。

- 焊接电路板,确保电路连接正确。

2. 软件设计:- 使用Keil软件编写程序,实现万年历的基本功能。

- 编写时间显示、闹钟、温度显示等模块的程序。

- 编写按键扫描程序,实现时间校准、闹钟设置、温度显示等功能。

3. 温度采集:- 使用DS18B20温度传感器采集环境温度。

- 将温度数据转换为数字信号,并在LCD1602显示屏上显示。

4. 按键控制:- 设计按键电路,实现时间校准、闹钟设置、温度显示等功能。

- 编写按键扫描程序,检测按键状态,并执行相应的操作。

五、实训结果经过努力,我成功完成了多功能电子万年历的设计与实现。

该万年历具有以下功能:1. 显示年、月、日、星期、时、分、秒。

电子万年历组装实训报告

电子万年历组装实训报告

一、实训目的本次实训旨在通过实际操作,让学生掌握电子万年历的组装流程,熟悉电子元器件的识别与使用,了解电路原理图的阅读与理解,以及电子产品的调试与故障排除。

通过本次实训,提高学生的动手能力、实践能力和团队协作精神,为后续相关课程的学习打下坚实基础。

二、实训内容1. 实训时间:2023年X月X日至2023年X月X日2. 实训地点:XX职业学院电子实验室3. 指导老师:XXX老师4. 实训目的:(1)掌握电子万年历的组装流程。

(2)熟悉电子元器件的识别与使用。

(3)了解电路原理图的阅读与理解。

(4)学会电子产品的调试与故障排除。

(5)培养团队协作精神。

5. 实训内容:(1)电子万年历的组装1)准备所需材料:STC89C52RC单片机、DS1302时钟芯片、LCD1602液晶显示屏、电阻、电容、晶体振荡器、按键、电源模块等。

2)根据电路原理图,连接各个电子元器件,确保连接正确。

3)调试电路,检查电路是否正常工作。

(2)电子万年历的程序编写1)了解STC89C52RC单片机的编程环境,如Keil uVision。

2)学习C语言编程,编写电子万年历的程序。

3)将程序烧录到单片机中,调试程序,确保程序正常运行。

(3)电子万年历的调试与故障排除1)观察电子万年历的显示效果,确保显示日期、星期、时间等无误。

2)检查电路连接是否牢固,排除虚焊、短路等故障。

3)优化程序,提高电子万年历的稳定性和可靠性。

三、实训过程1. 组装电子万年历(1)按照电路原理图,将各个电子元器件连接到单片机上。

(2)检查电路连接是否正确,确保没有短路、虚焊等故障。

(3)通电测试电路,确认电路正常工作。

2. 编写程序(1)学习C语言编程,了解电子万年历的程序结构。

(2)编写程序,实现日期、星期、时间的显示。

(3)调试程序,确保程序正常运行。

3. 调试与故障排除(1)观察电子万年历的显示效果,确保显示日期、星期、时间等无误。

(2)检查电路连接是否牢固,排除虚焊、短路等故障。

单片机实训报告万年历

单片机实训报告万年历

一、实训目的随着科技的发展,单片机在各个领域的应用越来越广泛。

本次实训旨在通过万年历的设计与实现,让学生深入了解单片机的编程与应用,提高学生的实践能力和创新意识。

通过万年历的设计,使学生掌握单片机的基本原理、编程技巧以及相关外设的使用。

二、实训内容本次实训以AT89C51单片机为核心,结合DS1302时钟芯片、LCD1602液晶显示屏和独立键盘,设计并实现一个具有年、月、日、星期、时分秒显示以及闰年判断功能的万年历。

三、实训步骤1. 需求分析- 显示当前日期和时间,包括年、月、日、星期、时分秒。

- 判断闰年,正确显示2月的天数。

- 允许用户通过按键调整日期和时间。

- 具有电源掉电保护功能,保证数据不丢失。

2. 硬件设计- 核心模块:AT89C51单片机- 时钟模块:DS1302时钟芯片,提供精确的日期和时间。

- 显示模块:LCD1602液晶显示屏,用于显示日期、时间和星期。

- 按键模块:独立键盘,用于调整日期和时间。

- 电源模块:锂电池,提供稳定的电源。

3. 软件设计- 主程序:负责初始化硬件、读取时间、显示时间和日期、处理按键输入等。

- 时钟模块:读取DS1302芯片中的时间,并进行处理。

- 显示模块:将时间、日期和星期显示在LCD1602液晶显示屏上。

- 按键处理模块:根据按键输入调整日期和时间。

4. 程序编写- 使用C语言进行程序编写,利用Keil软件进行编译和烧录。

5. 调试与测试- 对程序进行调试,确保功能正常。

- 对万年历进行测试,验证其准确性。

四、实训结果经过设计、编程、调试和测试,成功实现了万年历的功能。

万年历能够准确显示当前日期和时间,并具有闰年判断功能。

用户可以通过按键调整日期和时间,且在电源掉电的情况下,万年历仍能保持时间。

五、实训心得1. 实践出真知:通过本次实训,深刻体会到理论知识与实践应用相结合的重要性。

只有将所学知识运用到实际项目中,才能真正掌握单片机的编程与应用。

数字万年历实习报告

数字万年历实习报告

实习报告一、实习背景及目的随着科技的不断发展,数字电子技术在人们的生活中扮演着越来越重要的角色。

数字万年历作为一种实用性强的电子产品,不仅能够提供准确的日期信息,还能具备一些扩展功能,如节日提醒、闹钟等。

为了提高自己的实践能力和对数字万年历的了解,我选择了数字万年历设计制作作为实习项目。

本次实习的主要目的是通过实际操作,掌握数字万年历的设计原理和制作过程,提高自己的电子技术应用能力。

二、实习内容1. 数字万年历的设计在实习过程中,我首先学习了数字万年历的设计原理,了解了其核心组成部分,包括微控制器、显示模块、按键输入模块等。

在此基础上,我根据实习指导书提供的电路图和程序代码,设计了数字万年历的硬件电路和软件程序。

2. 数字万年历的组装在设计完成后,我开始进行数字万年历的组装工作。

首先将微控制器、显示模块、按键输入模块等元器件焊接在电路板上,然后连接电源模块和时钟模块。

在组装过程中,我学习了如何使用电烙铁、焊锡等工具,提高了自己的动手能力。

3. 数字万年历的调试与优化完成组装后,我开始对数字万年历进行调试。

通过反复测试,发现并解决了一些问题,如显示模块显示异常、按键响应不良等。

在解决问题过程中,我深入分析了电路原理和程序代码,掌握了数字万年历的运行机制。

最后,我对程序代码进行了优化,提高了数字万年历的运行效率。

三、实习收获1. 提高了自己的电子技术应用能力。

通过本次实习,我掌握了数字万年历的设计原理、组装方法和调试技巧,提高了自己在电子技术方面的实际操作能力。

2. 培养了动手能力和团队协作精神。

在实习过程中,我学会了如何使用各种电子工具,培养了动手能力。

同时,与同学们一起讨论问题、分享经验,提高了团队协作精神。

3. 增强了自己的问题解决能力。

在数字万年历的调试过程中,我遇到了各种问题,通过查阅资料、请教同学和老师,逐步解决问题,增强了自己的问题解决能力。

4. 加深了对数字电子技术的理解。

通过实习,我对数字电子技术的基本原理和应用有了更深入的了解,为今后学习相关课程和从事相关工作奠定了基础。

万年历实验报告

万年历实验报告

篇一:电子万年历实验报告重庆电力高等专科学校计算机科学系实训报告课程名称实验名称班级信息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. 硬纸板2. 尺子3. 铅笔4. 剪刀5. 胶水6. 彩色纸7. 圆规三、实验步骤1. 使用尺子和铅笔在硬纸板上绘制一个正方形,边长为20厘米。

2. 将正方形分成7个等分,每个小方格的边长为2.86厘米。

3. 使用圆规在彩色纸上绘制一个直径为2.86厘米的圆。

4. 将圆剪下来,并在其上方留下一段直线。

5. 将圆粘贴在正方形的左上角小方格内,并将直线向下延伸至第二行小方格的中心。

6. 在正方形的左上角小方格内写下月份的缩写,如1月、2月等。

7. 在第二行小方格内写下1、2、3等日期。

8. 重复步骤6和步骤7,直到填满整个正方形。

9. 在正方形的左上角小方格内写下星期几的缩写,如周一、周二等。

10. 将整个正方形的边缘用彩色纸包裹,以增加美观度。

四、实验结果通过以上步骤,我们成功制作了一个简易的万年历。

每个小方格对应一个日期,上方的直线表示该月份的第一天是星期几。

通过翻阅这个万年历,我们可以轻松地查找到任意日期所对应的星期几。

五、实验心得通过这次实验,我深刻理解了时间和日期的关系,以及闰年的概念。

制作万年历的过程中,我不仅学会了使用尺子、铅笔、剪刀等工具,还提高了我的手工能力和空间想象力。

此外,通过实践,我对日历的结构和设计有了更深入的了解。

六、实验拓展1. 可以尝试使用不同颜色的彩色纸来制作万年历,增加视觉效果。

2. 可以尝试增加一些特殊日期的标记,如节假日、生日等。

3. 可以尝试制作一个更大的万年历,包含更多年份和月份的信息。

七、结论通过本次实验,我们成功制作了一个简易的万年历,并通过实践加深了对时间、日期和闰年的理解。

这个万年历不仅具有实用性,还提高了我们的手工能力和空间想象力。

通过实践,我们对日历的结构和设计有了更深入的了解。

万年历实验报告c

万年历实验报告c

万年历实验报告c万年历实验报告一、引言万年历是一种用来记录时间和日期的工具,它可以帮助人们更好地组织日常生活和工作。

本实验旨在探究万年历的原理和功能,并通过实际操作来验证其准确性和可靠性。

二、实验设备和方法1. 实验设备:万年历软件、计算机、手机等。

2. 实验方法:通过使用万年历软件和其他设备,观察和记录不同日期和时间的显示情况,并与实际情况进行对比。

三、实验结果和讨论1. 日期显示准确性在实验过程中,我们发现万年历软件能够准确地显示当前日期,并且可以根据需要切换到其他日期。

无论是过去的日期还是将来的日期,软件都能正确地显示出来。

这表明万年历软件具有很高的日期显示准确性。

2. 节假日提醒功能万年历软件还具有节假日提醒功能,可以在特定的节假日提醒用户。

我们设置了几个节假日,如春节、国庆节等,并观察软件是否能够准确地提醒。

结果显示,软件能够在相应的节假日前一天或当天提醒用户,这对于人们合理安排假期和活动非常有帮助。

3. 日期计算功能万年历软件还提供了日期计算功能,可以根据用户输入的日期和天数,计算出未来或过去的日期。

我们进行了一些日期计算的实验,结果发现软件能够准确地计算出目标日期。

这对于人们进行时间规划和安排非常方便。

4. 多时区显示功能在实验中,我们还测试了万年历软件的多时区显示功能。

通过设置不同的时区,我们观察软件是否能够准确地显示不同地区的时间。

实验结果显示,软件能够根据设置的时区自动调整时间显示,确保用户能够准确了解不同地区的时间。

5. 天气预报功能一些万年历软件还提供了天气预报功能,可以显示当前和未来几天的天气情况。

我们对软件的天气预报功能进行了测试,结果显示软件能够准确地显示天气情况,并且提供了详细的天气信息。

这对于人们出行和活动的决策非常有帮助。

四、结论通过本实验,我们验证了万年历软件的准确性和可靠性。

它能够准确地显示日期、提醒节假日、进行日期计算、显示多时区时间以及提供天气预报等功能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《EDA技术及其应用》实训报告班级电信一班姓名 xx学号 xx 指导教师 xx2012年05月21 日xxxx学院10级机械电子工程系目录1.1前言 (4)1.2课题 (4)1.3 实验的目的及意义 (4)1.4 实验的内容及要求 (4)1.5 实验的地点 (4)1. 6 实验的器材 (4)1. 7 实验设计思想 (4)1.8各模块的设计程序和元件介绍 (5)1.9感想……………………………………………………….1.1 前言随着电子技术的不断发展与进步,电子系统的设计方法发生了很大的变化,基于EDA技术的设计方法正成为电子系统设计的主流,EDA技术已成为许多高职高专院校电类专业学生必须掌握的一门重要技术。

此次基于EDA技术的万年历实训,加强了同学们对EDA 工具QuartusII的使用方法、VHDL语言知识、FPGA开发技术的深入理解,通过万年历的功能实现和功能测试,详细介绍QuartusII的完整设计流程,在此基础上,进一步介绍面向复杂模块的使用方法。

其中包括年、月、日、时、分、秒以及调整、控制等各个模块的功能实现和仿真测试,进一揭示VHDL语言在语句应用和电路功能描述上的特点及其特殊用法,使我们在很短的时间内快速掌握了EDA这门重要技术。

1.2实验的课题:万年历1.3实验的目的及意义:(1)掌握EDA技术及FPGA技术的开发流程。

(2)掌握系统设计的方法和层次化设计的方法。

(3)掌握QuartusII软件的使用方法。

(4)掌握VHDL语言的程序设计、编写、编译和错误修改。

(5)掌握熟悉EDA实验箱的各个模块(6)掌握EDA试验箱与pc机的连接、下载和引脚绑定的全过程和方法,实现功能仿真。

1.4实验的内容及要求:(1)实现年、月、日、时、分、秒的显示并具有闰年判断计数的功能(2)在试验箱上通过按键实现年月日和时分秒的显示切换。

(3)利用试验箱和pc机进行功能测试并实现万年历的显示功能。

1.5实验的地点:xxx学院EDA实验室1.6实验的器材:硬件:计算机、EDA试验箱软件:QuartusII软件1.7实验设计思想:将万年历分为各个模块分项处理,每个小模块实现一个小的功能,最后在万年历的顶层文件中将各个模块整好在一起,实现万年历的整体功能。

这是万年历实验设计的整体思想。

1.8其中组成模块有:秒计时模块cnt60、分计时模块cnt60、时计时模块cnt24、日计时模块tian、月计时模块yue、年计时模块nian、调整模块tz、控制模块mux21,然后在顶层文件中连接个各个模块组成万年历的完整连接图,之后再pc机上进行编译,完成引脚绑定再下载到实验箱上,根据程序内容及引脚绑定通过按键控制和led灯的显示最终完成测试。

各模块设计:1、秒分时、年月日、调整控制模块设计程序(1)秒计时模块cnt60(六十进制计数器)程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity CNT60 isport(clk:in std_logic;CQ1,CQ2:out std_logic_vector(3 downto 0);COUT:OUT std_logic);end entity CNT60;architecture art of CNT60 issignal s1,s2:std_logic_vector(3 downto 0);beginprocess(clk)beginIF clk'event AND clk='1' then S1<=S1+1;IF S1=9 THEN S1<="0000";S2<=S2+1; END IF;IF s2=5 AND S1=9 then s1<="0000";s2<="0000"; COUT<='1';else COUT<='0'; end if; end if;CQ1<=S1;CQ2<=S2;end process;END art;将程序用QuartusII软件编译之后生成的cnt60模块元件如下图所示:(此模块实现六十进制计数,用它实现分和秒功能)(2)分计时模块cnt60:(六十进制计数器)分计时模块和秒计时秒快一样,同样是用六十进制计数器cnt60,程序和生成元件同上所述。

(3)时计时模块cnt24(二十四进制计数器)程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity CNT24 isport( clk:in std_logic;CQ1,CQ2:out std_logic_vector(3 downto 0);COUT:OUT std_logic);end entity CNT24;architecture art of CNT24 issignal s1,s2:std_logic_vector(3 downto 0);beginprocess(clk)beginIF clk'event AND clk='1' then S1<=S1+1;IF S1=9 THEN S1<="0000"; S2<=S2+1; END IF;if s2=2 AND S1=3 then s1<="0000";s2<="0000";COUT<='1';else COUT<='1'; end if; end if;CQ1<=S1;CQ2<=S2;end process;END art;将程序用QuartusII软件编译之后生成的cnt24模块元件如下图所示:(此模块实现二十四进制计数,用它实现小时功能)(4)天计时模块tian程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity tian isport(clk:in std_logic;ab:in std_logic_vector(1 downto 0);CQ1,CQ2:out std_logic_vector(3 downto 0);COUT:OUT std_logic);end entity tian;architecture art of tian issignal s1,s2:std_logic_vector(3 downto 0);beginbeginIF clk'event AND clk='1' then S1<=S1+1;IF S1=9 THEN S1<="0000"; S2<=S2+1; END IF; End if;CASE AB ISwhen"00"=>IF S2=2 AND S1=8 THENS1<="0000";S2<="0000";COUT<='1';ELSE COUT<='0';END IF;when"01"=>IF S2=2 AND S1=9 THENS1<="0000";S2<="0000";COUT<='1';ELSE COUT<='0';END IF;when"10"=>IF S2=3 AND S1=0 THENS1<="0000";S2<="0000";COUT<='1';ELSE COUT<='0';END IF;when"11"=>IF S2=3 AND S1=1 THENS1<="0000";S2<="0000";COUT<='1';ELSE COUT<='0';END IF;WHEN OTHERS=>NULL;END CASE;END IF;CQ1<=S1;CQ2<=S2;END art;将程序用QuartusII软件编译之后生成的tian模块元件如下图所示:(此模块实现的是天的计数功能,其中ab用来控制计数的进制,分为四种情况:28天、29天、30天和31天,其具体信号由月模块判断输出)(5)月计时模块yue程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity yue isport( clk:in std_logic;ab:out std_logic_vector(1 downto 0);r: in std_logic;CQ1,CQ2:out std_logic_vector(3 downto 0);COUT:OUT std_logic);end entity YUE;architecture art of yue issignal s1,s2:std_logic_vector(3 downto 0);beginbeginIF clk'event AND clk='1' then S1<=S1+1;IF S1=9 THEN S1<="0000"; S2<=S2+1; END IF;IF s2=1 and s1=2 then s1<="0001";s2<="0000"; COUT<='1';ELSE COUT<='0'; END IF;END IF;CASE s2&s1 iswhen"00000001"=>ab<="11";when"00000010"=>if r='0' thenab<="00"; else ab<="01"; end if;when"00000011"=>ab<="11";when"00000100"=>ab<="10";when"00000101"=>ab<="11";when"00000110"=>ab<="10";when"00000111"=>ab<="11";when"00001000"=>ab<="11";when"00001001"=>ab<="10";when"00010000"=>ab<="11";when"00010001"=>ab<="10";when"00010010"=>ab<="11";WHEN OTHERS=>NULL;END CASE;CQ1<=S1;CQ2<=S2;end process;END art;将程序用QuartusII软件编译之后生成的yue模块元件如下图所示:(此模块实现的是月的计数功能,在其输入信号中,r 用来判断是否为闰年,且在该模块中判断月份,为:一、三、五、七、八、十、十二月份时,ab<="11",每月为31天;为:四、六、九、十一月份时,ab<="10",每月为30天;二月份单独判断,当为闰年时,ab<="10",二月为28天,当为非闰年时,ab<="01",二月为29天。

相关文档
最新文档