数字时钟设计课设报告
[数电课程设计数字电子时钟的实现] 电子时钟课程设计
![[数电课程设计数字电子时钟的实现] 电子时钟课程设计](https://img.taocdn.com/s3/m/09fa58d0af45b307e9719786.png)
[数电课程设计数字电子时钟的实现] 电子时钟课程设计课程设计报告设计题目:数字电子时钟的设计与实现班级:学号:姓名:指导教师:设计时间:摘要钟表的数字化给人们生产生活带来了极大的方便,大大的扩展了原先钟表的报时。
诸如,定时报警、按时自动打铃、时间程序自动控制等,这些,都是以钟表数字化为基础的。
功能数字钟是一种用数字电路实现时、分、秒、计时的装置,与机械时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。
从原理上讲,数字钟是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。
因此,此次设计与制作数字钟就是为了了解数字钟的原理,从而学会制作数字钟,而且通过数字钟的制作进一步的了解各种在制作中用到的中小规模集成电路的作用及使用方法。
通过此次课程设计可以进一步学习与各种组合逻辑电路与时序电路的原理与使用方法。
通过仿真过程也进一步学会了Multisim7的使用方法与注意事项。
本次所要设计的数字电子表可以满足使用者的一些特殊要求,输出方式灵活,如可以随意设置时、分、秒的输出,定点报时。
由于集成电路技术的发展,,使数字电子钟具有体积小、耗电省、计时准确、性能稳定、维护方便等优点。
关键词:数字钟,组合逻辑电路,时序电路,集成电路目录摘要 (1)第1章概述············································3第2章课程设计任务及要求·······························42.1设计任务············································42.2设计要求············································4第3章系统设计··········································63.1方案论证············································63.2系统设计············································63.2.1结构框图及说明·································63.2.2系统原理图及工作原理···························73.3单元电路设计········································83.3.1单元电路工作原理·······························83.3.2元件参数选择···································14第4章软件仿真·········································154.1仿真电路图··········································154.2仿真过程············································164.3仿真结果············································16第5章安装调试··········································175.1安装调试过程········································175.2故障分析············································17第6章结论···············································18第7章使用仪器设备清单··································19参考文献·················································19收获、体会和建议·········································20第1章概述数字集成电路的出现和飞速发展,以及石英晶体振荡器的广泛应用,使得数字钟的精度稳定度远远超过了老式的机械表,用数字电路实现对“时”、“分”、“秒”数字显示的数字钟在数字显示方面,目前已有集成的计数、译码电路,它可以直接驱动数码显示器件,也可以直接采用才COMS--LED光电组合器件,构成模块式石英晶体数字钟。
stm32数字时钟课程设计
![stm32数字时钟课程设计](https://img.taocdn.com/s3/m/6999e0712bf90242a8956bec0975f46527d3a7a5.png)
stm32 数字时钟课程设计一、课程目标知识目标:1. 学生能理解STM32的基本结构和工作原理,掌握其编程方法。
2. 学生能掌握数字时钟的基本原理,包括时钟源、分频器、计数器等组成部分。
3. 学生能了解实时时钟(RTC)的功能及其在STM32中的应用。
技能目标:1. 学生能运用C语言编写程序,实现STM32控制数字时钟的功能。
2. 学生能通过调试工具,对程序进行调试和优化,确保数字时钟的准确性。
3. 学生能运用所学知识,设计具有实用价值的数字时钟产品。
情感态度价值观目标:1. 培养学生对电子技术和编程的兴趣,激发其探究精神。
2. 培养学生团队合作意识,使其在项目实施过程中学会相互沟通、协作。
3. 培养学生严谨、细致、负责的工作态度,提高其解决实际问题的能力。
课程性质:本课程为实践性较强的课程,结合STM32和数字时钟知识,培养学生的动手能力和实际操作技能。
学生特点:学生具备一定的电子技术基础和C语言编程能力,对实际操作感兴趣,但可能缺乏项目实践经验。
教学要求:注重理论与实践相结合,引导学生主动探索,提高其分析问题、解决问题的能力。
在教学过程中,关注学生的个体差异,因材施教,使每位学生都能在原有基础上得到提高。
将课程目标分解为具体的学习成果,便于后续教学设计和评估。
二、教学内容本课程教学内容主要包括以下几部分:1. STM32基本原理与编程基础:介绍STM32的内部结构、工作原理,C语言编程基础及其在STM32中的应用。
- 教材章节:第一章至第三章- 内容:微控制器基础、STM32硬件结构、C语言编程基础、STM32编程环境搭建。
2. 数字时钟原理与设计:讲解数字时钟的基本原理、组成部分以及设计方法。
- 教材章节:第四章至第五章- 内容:时钟源、分频器、计数器、实时时钟(RTC)、数字时钟设计方法。
3. STM32实现数字时钟功能:结合STM32和数字时钟知识,指导学生动手实践,实现数字时钟功能。
数字电路数字时钟课程实验报告
![数字电路数字时钟课程实验报告](https://img.taocdn.com/s3/m/893c3a982cc58bd63186bdb7.png)
数字时钟设计实验报告一、设计要求:设计一个24小时制的数字时钟。
要求:计时、显示精度到秒;有校时功能。
采用中小规模集成电路设计。
发挥:增加闹钟功能。
二、设计方案:由秒时钟信号发生器、计时电路和校时电路构成电路。
秒时钟信号发生器可由振荡器和分频器构成。
计时电路中采用两个60进制计数器分别完成秒计时和分计时;24进制计数器完成时计时;采用译码器将计数器的输出译码后送七段数码管显示。
校时电路采用开关控制时、分、秒计数器的时钟信号为校时脉冲以完成校时。
三、电路框图:图一数字时钟电路框图四、电路原理图:(一)秒脉冲信号发生器秒脉冲信号发生器是数字电子钟的核心部分,它的精度和稳定度决定了数字钟的质量。
由振荡器与分频器组合产生秒脉冲信号。
振荡器: 通常用555定时器与RC构成的多谐振荡器,经过调整输出1000Hz脉冲。
分频器: 分频器功能主要有两个,一是产生标准秒脉冲信号,一是提供功能扩展电路所需要的信号,选用三片74LS290进行级联,因为每片为1/10分频器,三片级联好获得1Hz标准秒脉冲。
其电路图如下:译码器译码器译码器时计数器分计数器秒计数器校时电路秒信号发生器图二秒脉冲信号发生器(二)秒、分、时计时器电路设计秒、分计数器为60进制计数器,小时计数器为24进制计数器。
60进制——秒计数器秒的个位部分为逢十进一,十位部分为逢六进一,从而共同完成60进制计数器。
当计数到59时清零并重新开始计数。
秒的个位部分的设计:利用十进制计数器CD40110设计10进制计数器显示秒的个位。
个位计数器由0增加到9时产生进位,连在十位部计数器脉冲输入端CP,从而实现10进制计数和进位功能。
利用74LS161和74LS11设计6进制计数器显示秒的十位,当十位计数器由0增加到5时利用74LS11与门产生一个高电平接到个位、十位的CD40110的清零端,同时产生一个脉冲给分的个位。
其电路图如下:图三 60进制--秒计数电路60进制——分计数电路分的个位部分为逢十进一,十位部分为逢六进一,从而共同完成60进制计数器。
《电子技术》课程设计报告-数字电子钟设计
![《电子技术》课程设计报告-数字电子钟设计](https://img.taocdn.com/s3/m/47fe7d33c4da50e2524de518964bcf84b9d52d84.png)
《电子技术》课程设计报告-数字电子钟设计一、背景介绍数字电子钟是一个实时的计时器,它可以按照设定的时刻精确地表示时间。
它使用微处理器和时钟芯片来处理时间。
因此,它可以被视为一个微处理器系统,系统中含有存储器、计数器、报警功能等。
最新的电子时钟如石英钟使用特制石英晶片来制定时钟。
由于石英可以产生完美的电振动,因此可以更准确地检测时钟改变。
二、数字电子钟的设计原理1、时钟驱动电子时钟的操作需要一定的时间和精度,主要是依靠特殊的驱动器来实现的。
驱动器有石英、硅、力学和光学等多种。
其中石英芯片是电子时钟的核心部件并且最常用。
可以让电子时钟每秒产生32千分之一秒的精度。
2、晶振电路晶体振荡器电路是将电能转换成振荡信号和时钟信号的基础电路。
在电子时钟中,晶振电路可以将3.3V的DC电源转换成正弦波信号。
3、控制电路控制电路是接收电子时钟信号,并将其转换为可读取的数字信号的电路。
它通过检测当前的时钟值与它预设的标准值,来决定是否需要重新设定。
4、显示电路为了使时间显示准确,显示电路需要有一定的能力,它可以将控制电路经过变换后的数字转化为可视的数字或符号信号,比如LED。
我们首先使用PIC16F628A微控制器来控制数字电子钟,PIC16F628A是一款常用的单片机,在实现数字电子钟的最基本功能时天然的具有很多优势,即具有丰富的I/O口及高性能的CPU。
而在驱动这个数字电子时钟时,我们选择了普通的石英晶振,其工作电压为3.3V,频率为32.768kHz。
它的作用是将电源电压转换成正弦波信号,然后此信号可以被PIC单片机读取,从而实现全电子时钟功能。
在处理每秒钟走过的时间时,我们使用计数器根据晶振输入的时钟信号逐渐计数,而当计数器计数到一定值时,PIC单片机就知道一秒的时间已经过去,然后继续进行计算.最后,我们选用一个4位共阳极数码管来将这些数据转化为显示数字的动作,它从数据地址上读取数据,然后一次送到一位,就可以实时显示电子时钟的实时时间。
数电课程设计报告数字钟的设计
![数电课程设计报告数字钟的设计](https://img.taocdn.com/s3/m/67e1380511661ed9ad51f01dc281e53a59025153.png)
数电课程设计报告第一章设计背景与要求设计要求第二章系统概述设计思想与方案选择各功能块的组成工作原理第三章单元电路设计与分析各单元电路的选择设计及工作原理分析第四章电路的组构与调试遇到的主要问题现象记录及原因分析解决措施及效果功能的测试方法,步骤,记录的数据第五章结束语对设计题目的结论性意见及进一步改进的意向说明总结设计的收获与体会附图电路总图及各个模块详图参考文献第一章设计背景与要求一.设计背景与要求在公共场所,例如车站、码头,准确的时间显得特别重要,否则很有可能给外出办事即旅行袋来麻烦;数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确度和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用;数字钟是一种典型的数字电路,包括了组合逻辑电路和时序电路;设计一个简易数字钟,具有整点报时和校时功能;1以四位LED数码管显示时、分,时为二十四进制;2时、分显示数字之间以小数点间隔,小数点以1Hz频率、50%占空比的亮、灭规律表示秒计时;3整点报时采用蜂鸣器实现;每当整点前控制蜂鸣器以低频鸣响4次,响1s、停1s,直到整点前一秒以高频响1s,整点时结束;4才用两个按键分别控制“校时”或“校分”;按下校时键时,是显示值以0~23循环变化;按下“校分”键时,分显示值以0~59循环变化,但时显示值不能变化;二.设计要求电子技术是一门实践性很强的课程,加强工程训练,特别是技能的培养,对于培养学生的素质和能力具有十分重要的作用;在电子信息类本科教学中,课程设计是一个重要的实践环节,它包括选择课题、电子电路设计、组装、调试和编写总结报告等实践内容;通过本次简易数字钟的设计,初步掌握电子线路的设计、组装及调试方法;即根据设计要求,查阅文献资料,收集、分析类似电路的性能,并通过组装调试等实践活动,使电路达到性能要求;第二章系统概述设计思想与方案选择方案一 ,利用数字电路中学习的六十进制和二十四进制计数器和三八译码器来实现数字中的时间显示;方案二,利用AT89S51单片机和74HC573八位锁存器以及利用C语言对AT89S51进行编程来实现数字钟的时间显示;由于方案一通过数电的学习我们都比较熟悉,而方案二比较复杂,涉及到比较多我们没学过的内容,所以选择方案一来实施;简易数字钟电路主体部分是三个计数器,秒、分计数器采用六十进制计数器,而时计数器采用二十四进制计数器,其中分、时计数器的计数脉冲由校正按键控制选择秒、分计数器的溢出信号或校正10Hz计数信号;计数器的输出通过七段译码后显示,同时通过数值判断电路控制蜂鸣器报时;各功能块的组成分频模块,60进制计数器模块,24进制计数器模块,4位显示译码模块,正点报时电路模块,脉冲按键消抖动处理模块工作原理一.简易数字钟的基本工作原理是对1Hz标准频率秒脉冲进行计数;当秒脉冲个数累计满60后产生一个分计数脉冲,而分计数脉冲累计满60后产生一个时计数脉冲,电路主要由3个计数器构成,秒计数和分计数为六十进制,时计数为二十四进制;将FPGA开发装置上的基准时钟OSC作为输入信号通过设计好的分频器分成1Hz~10MHz8个10倍频脉冲信号;1Hz的脉冲作为秒计数器的输入,这样实现了一个基本的计时装置;通过4位显示译码模块,可以显示出时间;时间的显示范围为00时00分~23时59分;二.当需要调整时间时,可使用数字钟的时校正和分校正进行调整,数字钟中时、分计数器都有两个计数脉冲信号源,正常工作状态时分别为时脉冲和分脉冲;校正状态时都为5~10Hz的校正脉冲;这两种状态的切换由脉冲按键控制选择器的S 端来实现;为了更准确的设定时间,需要对脉冲按键进消抖动处理;三.电路在整点前10 秒钟内开始控制蜂鸣器报时,可采用数字比较器或逻辑门判断分、秒计数器的状态码值,以不同频率的脉冲控制蜂鸣器的鸣响;第三章单元电路设计与分析各单元电路的选择1分频模块,设计一个8级倍率为10 的分频电路,输出频率分别为1Hz 、10Hz、100 Hz、1k Hz、10k Hz、100k Hz、1 MHz、10MHz8组占空比为50%的脉冲信号;260进制计数器模块,采用两片74161级联;324进制计数器模块,采用两片74161级联;44位显示译码模块,由分频器,计数器,数据选择器,七段显示译码,3-8线译码器构成一个4位LED数码显示动态扫描控制电路;其中4位计数器用74161,数据选择器用74153,七段显示译码器部分采用AHDL硬件描述语言设计;5正点报时电路模块,该模块采用与门和数据选择器74153构成6脉冲按键消抖动处理模块,采用D触发器实现消抖动,从而能够比较精确地设定时间;设计及工作原理分析1分频模块要输出8级频率差为10倍的分频电路,可采用十进制计数器级联实现;集成十进制计数器的类型很多,比较常用的有74160、74162、74190、74192和7490等;这里采用7490来实现分频,7490是二-五-十进制加计数器,片上有一个二进制计数器和一个异步五进制计数器;QA是二进制加计数器的输出,QB、QC、QD是五进制加计数器的输出,位序从告到低依次为D,C,B;该分频器一共用到7片7490,初始信号输入到第一片7490的CLKB 端口,QD输出端连接到CLKA端,作为输入,从QA引出1MHz的output端口,并引线到第二片7490的CLKB端口,依此类推,直到第七片7490连接完成如附图所示;每片7490相当于一个五进制计数器和一个二进制计数器级联实现了十进制加计数,从而实现分频;分频模块图如图所示分频模块内部结构图如下图所示260进制计数器模块采用两片74161级联,如图,下面一片74161做成十进制的,初始脉冲从CLK输入,ENT和ENP都接高电平,而QD与QA用作为与非门的两个输入,与非门输出分别连接到自身的LDN端与上面一片74161的CLK端;上面一片74161的QC和QA端作为与非门的两个输入通过输出连接到自身的LDN,ENT 和ENP接高电平;下面一片实现从0000到1001即0~9十个状态码的计数,当下面一片为1001状态时,自身的LDN为低电平,此时QD,QC,QB,QA的状态恢复到0000,即从0开始从新计数,而上面一片74161的CLK电平改变,上面一片74161开始计数为0001,实现从0000~到0101即0到5六个状态码的计数,当上面一片状态为0101时,LDN为低电平,此时计数器为0000;这样子通过两片74161就实现了一个六十进制计数器;下图为六十进制计数器模块的示意图由六十进制计数模块构成的秒分计数如下图,下面那块六十进制技术模块表示为妙,上面那块六十进制计数模块表示为分;当妙计数模块的状态为0101 1001时,向分计数模块进位, 即通过74153M的输入C1,此时74153M输出接到分计数模块的输入端 ,通过74153M作为选择器,实现进位控制;324进制计数器模块采用两片74161级联,如图,下面一片74161做成十进制的,初始脉冲从CLK输入,ENT和ENP都接高电平,而QD与QA用作为与非门的两个输入分别连接到自身的LDN端与上面一片74161的CLK端;上面一片74161的QB非门的一个输入通过输出连接到自身的LDN,ENT 和ENP接高电平,并且上面74161的QB端和下面一块74161的QC端通过与非门输出接到两片74161的清零端CLRN;下面一片实现从0000到1001即0~9十个状态码的计数,当下面一片为1001状态时,自身的LDN为低电平,此时QD,QC,QB,QA的状态恢复到0000,即从0开始从新计数,而上面一片74161的CLK电平改变,上面一片74161开始计数为0001,实现从0000~到0010即0到2三个状态码的计数,当上面一片状态为0010即2时,下面一片状态为0100即4时,两块74161的CLRN为低电平,此时两块74161的状态都为0000,即实现了23时过后显示00时;这样子通过两片74161就实现了一个24进制计数器;下图为24进制计数器模块示意图由二十四进制计数模块构成的时计数模块如图,下面那块六十进制技术模块表示为分,上面那块24进制计数模块表示为时;当分计数模块的状态为0101 1001时,向时计数模块进位, 即通过74153M的输入C1,此时74153M输出接到时计数模块的输入端 ,通过74153M作为选择器,实现进位控制;二十四进制计数模块构成的时计数模块44位显示译码模块由分频器,计数器,数据选择器,七段显示译码,3-8线译码器构成一个4位LED数码显示动态扫描控制电路;4位计数器由74161构成;如下图所示74161构成的4位计数器数据选择器采用两片74153 和一片74153M两片74153实现连在一起实现对四个数字的选择,而一片74153M实现对小数点的选择;如下图所示74153M构成的数据选择器两片74153构成的数据选择器七段显示译码器部分采用AHDL硬件描述语言设计,语句如下:subdesign ymqdata_in3..0 :input;a,b,c,d,e,f,g :output;begintabledata_in3..0 =>a,b,c,d,e,f,g;b"0000" =>1,1,1,1,1,1,0;b"0001" =>0,1,1,0,0,0,0;b"0010" =>1,1,0,1,1,0,1;b"0011" =>1,1,1,1,0,0,1;b"0100" =>0,1,1,0,0,1,1;b"0101" =>1,0,1,1,0,1,1;b"0110" =>0,0,1,1,1,1,1;b"0111" =>1,1,1,0,0,0,0;b"1000" =>1,1,1,1,1,1,1;b"1001" =>1,1,1,0,0,1,1;b"1010" =>1,1,1,0,1,1,1;b"1011" =>0,0,1,1,1,1,1;b"1100" =>1,0,0,0,1,1,0;b"1101" =>0,1,1,1,1,0,1;b"1110" =>1,0,0,1,1,1,1;b"1111" =>1,0,0,0,1,1,1;end table;end;整个四位显示译码模块如图所示5正点报时电路模块该模块采用与门和数据选择器74153构成,如下图所示;7个输入端口的与门控制A,当时间在59分51s,53s,55s,57s,59s的时候,A为高电平1,当秒的个位数为9时,B为高电平1,A为1,B为0时,输出C1低频率信号,A为1,B为1时输出C3高频率信号,实现整点的不同频率的报时电路;整点报时电路模块6脉冲按键消抖动处理模块采用D触发器实现消抖动,从而能够精确地设定时间;校正状态为5HZ的校正脉冲,分频器输出的10HZ通过T触发器得到5HZ的校正脉冲;如图脉冲按键消抖动处理模块通过T触发器得到的5HZ校正脉冲第四章电路的组构与调试遇到的主要问题1在用74161做二十四进制计数器时,没有深入考虑,打算采用第一片六进制,第二片四进制级联而成,结果出现问题;2时、分调整按键没有安装消抖动装置;3在设置简易数字钟的分时,时计数器也会进;现象记录及原因分析1虽然也能够计数实现二十四进制,但是不能与七段显示译码器配合使用,不能显示直观的数值,这样给用户带来不便;2在下载调试的时候,我要进行时分调整,但是有时按一下子脉冲键会进两个数值,这样子给时分的设置带来了麻烦,原因是按键没有采用消抖动装置;3在调试的时候,打算通过按键调整分,但是发现时计数器也会进位,这就不符合要求了,原因是调整分时,各计数器都按正常状况在计数,所以会按正常情况产生进位;解决措施及效果1仍然采用两片74161,第一片可以从0~9,第二片只能从0~2,而且当第二片为2的时候,第一片到4的话就都清零复位,这样不仅实现了二十四进制计数器,而且能与七段显示译码器配合使用,直观的显示数字;2在脉冲控制按键上加上了D触发器,这样子可以达到消抖动的效果;3加上选择器,把两路信号分开,当调整分的时候,不对时计数器产生进位,这样子就不会产生十进位了,解决了这个问题;功能的测试方法、步骤,记录的数据1简易数字钟的测试,将电路图连好后,分析与综合,仿真,编译,下载到仪器上,表示秒的小数点按1Hz,占空比50%跳动,分从0~59计数,分过了59后,向时计数器进1;2整点点报时功能的测试,到了整点,即59分51s,53s,55s,57s时蜂鸣器低频率间断性鸣响,59分59秒时,蜂鸣器高频率鸣响一次;3时、分调整功能的测试,按分调整键,分按一定的频率逐次加一,但是时显示不变;按时调整键,时按一定的频率逐次加一,但是分显示不变;第五章结束语对设计题目的结论性意见及进一步改进的意向说明简易数字钟的设计中,主要运用了分频器,六十进制计数器,二十四进制计数器,动态扫描显示电路,选择器,按键消抖以及门电路等数字电路方面的知识;可以在简易数字钟的基础上加上24小时和12小时转换功能,秒表功能,闹钟功能,这样更能满足人们的使用需求;总结设计的收获与体会简易数字钟的设计及实验当中,我坚持了下来,上学期的数电我学的并不好,而且对软件应用的接受能力不强,刚开始的时候做的很慢,看到别人都做好了,心里比较着急,于是,我找出了数电课本,复习所涉及的知识点,并练习所学软件,终于有了进步,可以更上同学们的进度,但数字钟的设计一直困扰我,看到别人拓展功能都做好了,自己基本的都还没做好,心里很急;在设计的过程中,碰到了很多的困难,遇到了很多问题,不断地思考与尝试,以及向同学和老师请教,但还是没能完全设计好,以后有时间还得多去实验室尝试,争取做好一些拓展功能;通过这次设计,对上学期学习的数字电路的相关知识得到了复习和巩固,也查阅了一些相关的资料,也加深了我对数字电路应用的理解,总之这次的电子技术课程设计受益匪浅;参考文献:基于FPGA的数字电路系统设计西安电子科技大学出版社数字电子技术基础电子工业出版社数字电路与逻辑设计实验及应用人民邮电出版社附图1.分频模块分频器仿真波形下图为分频器线路图2.60进制计数器模块60进制计数器仿真波形3.24进制计数器模块24进制计数器仿真波形4. 4位显示译码模块七段显示译码器模块七段显示译码器部分采用AHDL硬件描述语言设计,语句如下:subdesign ymqdata_in3..0 :input;a,b,c,d,e,f,g :output;begintabledata_in3..0 =>a,b,c,d,e,f,g;b"0000" =>1,1,1,1,1,1,0;b"0001" =>0,1,1,0,0,0,0;b"0010" =>1,1,0,1,1,0,1;b"0011" =>1,1,1,1,0,0,1;b"0100" =>0,1,1,0,0,1,1;b"0101" =>1,0,1,1,0,1,1;b"0110" =>0,0,1,1,1,1,1;b"0111" =>1,1,1,0,0,0,0;b"1000" =>1,1,1,1,1,1,1;b"1001" =>1,1,1,0,0,1,1;b"1010" =>1,1,1,0,1,1,1;b"1011" =>0,0,1,1,1,1,1;b"1100" =>1,0,0,0,1,1,0;b"1101" =>0,1,1,1,1,0,1;b"1110" =>1,0,0,1,1,1,1;b"1111" =>1,0,0,0,1,1,1;end table;end;整个4位显示译码模块四位显示译码模块。
数字时钟课程设计报告
![数字时钟课程设计报告](https://img.taocdn.com/s3/m/63d2a5c4aa00b52acfc7ca25.png)
一.设计题目数字时钟仿真设计二.设计目的和要球1)目的掌握数字时钟的工作原理和设计方法,学会用Multisim10软件操作实验内容,掌握设计性试验的实验方法。
数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的应用。
数字钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。
因此,我们此次设计数字钟就是为了了解数字钟的原理,从而学会制作数字钟。
而且通过数字钟的制作进一步的了解各种在制作中用到的中小规模集成电路的作用及实用方法。
且由于数字钟包括组合逻辑电路和时序电路。
通过它可以进一步学习和掌握各种组合逻辑电路与时序电路的原理和方法。
2)要求(1)设计一个具有时、分、秒的十进制数字显示的计时器。
(2)具有手动校时、校分的功能。
(3)通过开关能实现小时的十二进制和二十四进制转换。
(4)具有整点报时的功能,应该是每个整点完成相应点数的报时,如3点钟响3声。
三.设计原理1)总体方案设计数字时钟由振荡器、分频器、计数器、译码现实、报时等电路组成。
其中,振荡器和分频器组成标准信号发生器,直接决定计时系统的精度。
由不同进制的计数器、译码器和显示器组成计时系统。
将标准秒信号送入采用六十进制的“秒计数器”,每累计60s就发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。
“分计数器”也采用六十进制计数器,每累计60min,发出一个“时脉冲”信号,该信号将被送到“时计数器”。
“时计数器”采用二十四进制或十二进制计时器,可实现对一天24h 或12h 的累计。
译码显示电路将“时”、“分”、“秒”计数器的输出状态通过六位七段译码器显示器显示出来,可进行整点报时,计时出现误差时,可以用校时电路校时、校分。
数字时钟的原理框图如图1所示。
2)单元电路设计1.秒脉冲产生电路秒脉冲产生电路用一个1Hz 的秒脉冲时钟信号源代替。
plc数字时钟课程设计
![plc数字时钟课程设计](https://img.taocdn.com/s3/m/126a25e0fc0a79563c1ec5da50e2524de418d054.png)
plc数字时钟课程设计一、教学目标本课程的教学目标是使学生掌握PLC数字时钟的基本原理和编程方法,培养学生运用PLC技术进行创新实践的能力。
具体分解为以下三个方面的目标:1.知识目标:使学生了解PLC的基本组成、工作原理和编程方法;掌握PLC数字时钟的硬件连接和程序设计;理解PLC在自动化控制系统中的应用。
2.技能目标:培养学生具备PLC数字时钟的硬件组装、编程调试能力;能够运用PLC技术解决实际工程问题。
3.情感态度价值观目标:培养学生对PLC技术的兴趣和热情,提高学生创新实践能力,培养学生团队协作和沟通交流的意识。
二、教学内容本课程的教学内容主要包括以下几个部分:1.PLC基础知识:介绍PLC的基本组成、工作原理和编程方法。
2.PLC数字时钟硬件设计:讲解PLC数字时钟的硬件连接方法,包括输入输出端口配置、时钟模块选用等。
3.PLC数字时钟程序设计:教授PLC数字时钟的程序设计方法,包括定时器、计数器、数据寄存器等编程应用。
4.PLC数字时钟调试与维护:介绍PLC数字时钟的调试方法,故障排查与解决,以及日常维护注意事项。
5.PLC技术应用案例分析:分析PLC在自动化控制系统中的应用案例,使学生能够将所学知识运用到实际工程中。
三、教学方法为了实现本课程的教学目标,将采用以下教学方法:1.讲授法:讲解PLC基础知识、数字时钟硬件设计和程序设计的基本原理。
2.案例分析法:分析PLC技术在实际工程中的应用案例,引导学生学以致用。
3.实验法:安排实验室实践环节,让学生动手操作,巩固所学知识。
4.讨论法:学生进行小组讨论,分享学习心得,互相答疑解惑。
四、教学资源为了支持本课程的教学,将准备以下教学资源:1.教材:选用权威、实用的PLC教材,为学生提供系统性的学习资料。
2.参考书:推荐学生阅读相关参考书籍,丰富学生的知识体系。
3.多媒体资料:制作课件、教学视频等多媒体资料,提高课堂教学效果。
4.实验设备:配备齐全的PLC实验设备,确保学生能够顺利进行实验操作。
简易数字钟实验报告
![简易数字钟实验报告](https://img.taocdn.com/s3/m/79c19a0203d8ce2f0066234c.png)
题目计算机控制技术综合课程设计
简易数字钟
二级学院电子信息与自动化
专 业电气工程及其自动化
班 级107070403
学生姓名冉静学号20
指导教师贺娟 雷李
考核项目
设计50分
平时成绩20分
答辩30分
设计质量20分
创新设计15分
报告质量15分
熟练程度20分
个人素质10分
得分
总分
考核等级
教师签名
简易数字时钟实验报告
1.方案一
简易的时钟,具有,整点报时的功能。但是没有秒钟的显示。接通电源后,程序开始执行。K1为设置现在时间功能键;K2为小时调整,按一下小时加一;K3为分钟调整,按一下为分钟加一;K4为完成键,设置完成后按下时钟进入正常的走时状态。
其中,P0口接的电阻为限流电阻,选用的数码显示管所需电流比较小;4位LED数码管的共阳极引脚分别与V1-V4三极管的集电极相连,三极管的基极分别通过限流电阻与单片机的P2端口的P2.0-P2.3引脚上。4位数码管显示器分别由4只三极管控制,例如,P2.0输出为低电平时V4三极管导通,与其相连的共阳极数码管显示器开始工作;P2.0输出高电平时V4三极管截止,与其相连的数码管显示器停止工作。
disdata[5]=s%10;//秒钟低位
for(i=0;i<6;i++)//循环显示
{
P1=0xff;
P1=seg7[disdata[i]];
P2=disp[i];
Delayms(2);//显示延时
}
}
void time0(void)interrupt 1 using 0 //时间计数函数
{
TH0=0xfc;//(65536-20000)/256;
数电课程实验报告——数字钟的设计
![数电课程实验报告——数字钟的设计](https://img.taocdn.com/s3/m/8c9f7233ddccda38366baf15.png)
.《数字电子技术》课程设计报告设计题目: 数字钟班级学号:1407080701221 1407080701216 1407080701218学生:志强企海清指导教师:周玲时间:2016.6.15-2016.6.16《数字电子技术》课程设计一、设计题目:数字钟的设计一、设计任务与要求:1.时钟显示功能,能够以十进制显示“时”、“分”、“秒”。
其中时为24进制,分秒为60进制。
2. 其他功能扩展:(1)设计一个电路实现时分秒校准功能。
(2)闹钟功能,可按设定的时间闹时。
(3)设计一个电路实现整点报时功能等。
在59分51秒、53秒、55秒、57秒输出750Hz 音频信号,在59分59秒时输出1000Hz信号,音频持续1s,在1000Hz荧屏结束时刻为整点。
二、设计方案:数字电子钟由石英晶体振荡器、分频器、计数器、译码器显示器和校时电路组成。
振荡器产生稳定的高频脉冲信号,作为数字钟的时间基准,然后经过分频器输出标准秒脉冲。
秒计数器满60后向分计数器进位,分计数器满60后向小时计数器进位,小时计数器按照“24翻1”规律计数。
计数器的输出分别经译码器送显示器显示。
计时出现误差时,可以用校时电路校时、校分。
三、芯片选定及各单元功能电路说明:实验器材及主要器件(1)CC4511 6片(2)74LS90 5片(3)74LS92 2片(4)74LS191 1片(5)74LS00 5片(6)74LS04 3片(7)74LS74 1片(8)74LS2O 2片(9)555集成芯片1片(10)共阴七段显示器6片(11)电阻、电容、导线等若干①振荡器石英晶体振荡器的特点是振荡频率准确、电路结构简单、频率易调整。
它还具有压电效应,在晶体某一方向加一电场,则在与此垂直的方向产生机械振动,有了机械振动,就会在相应的垂直面上产生电场,从而机械振动和电场互为因果,这种循环过程一直持续到晶体的机械强度限止时,才达到最后稳定。
这用压电谐振的频率即为晶体振荡器的固有频率。
单片机数字时钟课程设计报告
![单片机数字时钟课程设计报告](https://img.taocdn.com/s3/m/00ac2ccc195f312b3169a5ce.png)
第1章绪论1. 设计要求(1)系统可以按“秒”进行计时.(2)数字时钟可以显示小时(00-23)、分钟(00-59)和秒(00-59).(3)可通过按键K1来选择设置“小时”、“分钟”和“秒”.设置时可通过“加”和“减”按键(K2、K3)来调整时间;设置过程中时钟停止计时.(4)无键按下三秒后,自动进入时钟的计时程序.2. 设计方案采用AT89C51芯片作为硬件核心,其内部采用Flash ROM,具有4KB ROM 存储空间,能于3V的超低压工作,本系统的计时方案是利用单片机内部的定时/计数器进行中断定时,配合软件延时实现对时、分、秒的计时.整个系统的控制方案是:上电后系统自动进入时间显示,从00:00:00 开始计时.按下P1.0键,进入调秒状态,时钟停止计时;按P1.1或P1.2键可进行加1或减1操作;继续按P1.0键可分别进行分位、时调整;无键按下3秒钟后退出调整状态,自动进入时钟的计时和显示.整个系统的硬件原理框图如图1.1,它采用的是AT89C51单片机,只用了P1口.为了简化硬件电路,LED显示采用了动态扫描的方式实现,LED采用共阳极数码管,驱动电流由三极管9012提供.为了提高计数精度,所采用的晶振频率为12MHz.第2章硬件设计1单片机的选择本课程选用AT89C51型号的单片机. AT89C51 是美国ATMEL 公司生产的低电压,高性能CMOS8 位单片机,片内含4k bytes 的可反复擦写的只读程序存储器(PEROM)和128 bytes 的随机存取数据存储器(RAM ),器件采用ATMEL 公司的高密度、非易失性存储技术生产,兼容标准MCS-51 指令系统,片内置通用8 位央处理器(CPU)和Flash 存储单元,功能强大AT89C51 单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域.主要性能参数:·与MCS-51 产指令系统完全兼容·4k 字节可重擦写Flash 闪速存储器·1000 次擦写周期·全静态操作:0Hz-24MHz·三级加密程序存储器·128×8 字节内部RAM·32 个可编程I /O 口线·2 个16 位定时/计数器2. 显示方案由于系统要显示的内容较简单,显示量不多,所以选用数码管既方便又经济.LED有共阴极和共阳极两种.如图2.2所示.二极管的阴极连接在一起,通常此公共阴极接地,而共阳极则将发光二极管的阳极连接在一起,接入+5V的电压.一位显示器由8个发光二极管组成,其中7个发光二极管构成字型“8”的各个笔划(段)a~g,另一个小数点为dp发光二极管.当在某段发光二极管施加一定的正向电压时,该段笔划即亮;不加电压则暗.为了保护各段LED不被损坏,需外加限流电阻.图2.2 LED数码管结构原理图众所周知,LED显示数码管通常由硬件7段译码集成电路,完成从数字到显示码的译码驱动.本系统采用软件译码,以减小体积,降低成本和功耗,软件译码的另一优势还在于比硬件译码有更大的灵活性.所谓软件译码,即由单片机软件完成从数字到显示码的转换.从LED数码管结构原理可知,为了显示字符,要为LED显示数码管提供显示段码,组成一个“8”字形字符的7段,再加上1个小数点位,共计8段,因此提供给LED数码管的显示段码为1个字节.各段码位与显示段的对应关系如表2.2.表2.2 各段码位的对应关系需说明的是当用数据口连接LED数码管a~dp引脚时,不同的连接方法,各段码位与显示段有不同的对应关系.通常数据口的D0位与a段连接,D1位与b段连接, (7)与dp段连接,如表1所示,表2.3为用于LED数码管显示的十六进制数和空白字符与P的显示段码.根据AT89C2051单片机灌电流能力强,拉电流能力弱的特点,我们选用共阳数码管.将AT89C2051的P1.0~P1.7分别与共阳数码管的a~g及dp相连,高电平的位对应的LED 数码管的段暗,低电平的位对应的LED数码管的段亮,这样,当P0口输出不同的段码,就可以控制数码管显示不同的字符.例如:当P0口输出的段码为1100 0000,数码管显示的字符为0.表2.3 LED显示段码注:(1)本表所列各字符的显示段码均为小数点不亮的情况.(2)“空白”字符即没有任何显示.数码管显示器有二种工作方式,即静态显示方式和动态扫描显示方式.为节省端口及降低功耗,本系统采用动态扫描显示方式.动态扫描显示方式需解决多位LED数码管的“段控”和“位控”问题,本电路的“段控”(即要显示的段码的控制)通过P0口实现;而每一位的公共端,即LED数码管的“位控”,则由P3口控制.这种连接方式由于多位字段线连在一起,因此,要想显示不同的内容,必然要采取轮流显示的方式,即在某一瞬间,只让其中的某一位的字位线处于选通状态,其它各位的字位线处于断开状态,同时字段线上输出这一位相应要显示字符的字段码.在这一瞬时,只有这一位在显示,其他几位则暗.在本系统中,字位线的选通与否是通过PNP三极管的导通与截止来控制,即三极管处于“开关”状态.第3章软件设计1. 主程序主程序功能主要是初始化、正常现实时间和判断功能转换键.流程图如图3.1所示.图3.1 主程序流程图2. 定时器T0中断服务程序定时器T0用于时间计时.定时溢出中断周期可设为50ms,中断进入后,时钟计时累计20次(即1s)时,对秒计数单元进行加1操作.时钟计数单元在定义的6个单元70H~75H 中,70H~71H 存放秒数据,72H~73H存放分数据,74H~75H存放时数据.最大计时值为23小时59分59秒.在计数单元中采用十进制BCD码计数,秒、分、时之间满60进位.3.显示子程序数码管显示的数据放在内存单元70H~75H中,其中70H~71H存放秒数据,72H~73H]存放分数据,74H~75H存放时数据,每一单元内均为十进制BCD码.由于采用软件动态扫描实现数据显示功能,显示用的十进制BCD码数据的对应段码存放在ROM表中,显示时,先取出70H~75H中的某一地址中的数据,然后查表得对应的显示段码从P0口输出,P2口将对应的数码管位选中供电,就能显示该地址单元的数据值.4.定时器T1中断服务程序进行时间调整是,正在被调整的时间以闪烁的形式表现,定时器T1用于产生闪烁的时间间隔,每隔0.3s闪烁一次.5.调时功能程序通过按键K1来选择设置“小时”、“分钟”和“秒”.通过“加”和“减”按键(K2、K3)来调整时间图3.5时间设置流程图6.延时程序因为系统是动态显示,为了确保系统在有效显示时间范围内必须执行显示程序,所以使用延时程序.7. 结论这次课程设计项目虽然是最简单的数字时钟设计,但用的技术和知识是源于课本又远远高于课本的,比如说AT89C51基本操作知识,汇编语言方面的知识等.我负责的是软件设计的时间设置以及T1中断部分,运用到了按键部分以及定时器/计数器部分的知识.通过这次自己编写程序,使我摆脱了以往单纯的理论知识学习状态,并且在和实际设计的结合锻炼了我的综合运用所学的专业基础知识.不过在这次课设中我也遇到了不少问题,实际操作时才发现课堂知识和实际运用还是有差距的,不过最终还是在老师或同学的帮助下一个一个解决了.通过这次对课程设计,我也认识到自己对单片机应用方面的知识的贫乏,对于书本上的很多理论知识还不能灵活运用,有很多我们掌握的知识在等着我去学习,我会在以后的学习生活中弥补我所缺少的知识.同时还从中学到了一件很重要的东西,那就是如何从理论到实践的转化.此次的课程设计给我奠定了一个实践基础,我会在以后的学习,生活中磨练自己,使自己掌握更多的技术能力.8.参考文献[1]杨忠义.单片机课程设计指导.北京:清华大学出版社,2009.201~217[2]靳达.单片机应用系统开发实例导航.北京:人民邮电出版社,2004.1~37[3]南建辉.MCS-51单片机原理及应用实例.北京:清华大学出版社,2004.92~117[4]刘海成.单片机及应用系统设计原理与实践.北京:北京航天航空大学出版社,2009.129~180附录ORG 0000HAJMP MAINT ;转主程序NOPORG 000BHAJMP INT01 ;转定时器T0中断程序NOPORG 001BHAJMP INT11 ;转定时器T1中断程序NOPMAINT:MOV R0,#7FH ;00H~7FH单元清零CLR AWZ1:MOV @R0,ADJNZ R0,WZ1MOV SP,#30H ;置堆栈指针MOV 5AH,#0AH ;放入“熄灭符”数据MOV TMOD,#11H ;设T0,T1为16位定时器MOV TL0,#0B0H ;置50 ms定时初值MOV TH0,#3CHMOV TL1,#0B0HMOV TH1,#3CHSETB EA ;开中断SETB ET0 ;允许T0中断SETB TR0 ;启动T0MOV R4,#14H ;用于产生1 s定时MAINT1: LCALL XSZCX ;调用显示子程序JNB P1.0,SJTZ0 ;功能键按下,进入调时程序SJMP MAINT******T0中断服务程序******INT01:PUSH ACC ;保护现场PUSH PSWCLR ET0 ;关T0中断CLR TR0 ;关定时器T0MOV A,#0B7H ;修正中断响应时间ADD A,TL0MOV TL0,AMOV A,#3CHADDC A,TH0SETB TR0 ;启动定时器T0DJNZ R4,INT0U ;20次中断未到退出中断AD1:MOV R4,#14H ;R4重新赋值MOV R0,#51H ;指向秒计时单元(50H,51H)LCALL ADD1 ;调用加1 s程序MOV A,R3 ;秒数据放入ACLR C ;清进位标志CJNE A,#60H,AD2 ;小于60 s吗AD2:JC INT0U ;小于60 s退出中断CLR A ;大于或等于60 s,清秒计数单元MOV @R0,ADEC R0MOV @R0,AMOV R0,#57H ;指向分计时单元(56H,57H)ACALL ADD1 ;调用加1 min程序MOV A,R3 ;分数据放入ACLR CCJNE A,#60H,AD3 ;小于60 min吗AD3:JC INT0U ;小于60 min退出中断CLR A ;大于或等于60 min,清分计数单元MOV @R0,ADEC R0MOV @R0,AMOV R0,#59H ;指向小时计时单元(58H,59H)ACALL ADD1 ;调用加1 h程序MOV A,R3 ;小时数据放入ACLR CCJNE A,#24H,AD4 ;小于24 h吗AD4:JC INT0U ;小于24 h退出中断CLR A ;大于或等于24 h清小时计数单元MOV @R0,ADEC R0MOV @R0,AINT0U: MOV 52H,56H ;中断退出时将分、时计时单元数MOV 53H,57H ;据移入对应显示单元MOV 54H,58HMOV 55H,59HPOP PSW ;恢复现场POP ACCSETB ET0 ;开放T0中断RETI ;中断返回******显示子程序******XSZCX:MOV R1,#50H ;显示数据首址MOV R5,#0FEH ;扫描控制字初值MAXY:MOV A,R5 ;扫描控制字送AMOV P2,A ;输出扫描控制字MOV A,@R1 ;取显示数据MOV DPTR,#ABC ;取段码表首地址MOVC A,@A+DPTR ;取对应段码MOV P1,A ;P1口输出段码LCALL YS1MS ;延时1 msINC R1 ;显示地址增1MOV A,R5 ;扫描控制字送AJNB ACC.5,ENDOUT ;ACC.5为0时一次显示结束RL A ;控制字左移MOV R5,A ;制字送回R5中AJMP MAXY ;循环显示下一个数据ENDOUT: MOV P2,#0FFH ;一次显示结束,P2口复位MOV P1,#0FFH ;P1口复位RET ;子程序返回****** T1中断服务程序******INT11:PUSH ACC ;中断保护现场PUSH PSWMOV TL1,#0B0H ;装定时器T1初值MOV TH1,#3CHDJNZ R2,INT1U ;0.3 s未到退出中断MOV R2,#06H ;重装0.3 s定时用初值CPL 02H ;0.3 s定时到,对闪烁标志取反JB 02H,CCC1 ;02H位为1时显示单元“熄灭”MOV 52H,56H ;02H位为0时显示正常MOV 53H,57HMOV 54H,58HMOV 55H,59HINT1U:POP PSW ;恢复现场POP ACCRETI ;退出中断INT0U:POP PSW ;恢复状态字(出栈)POP ACC ;恢复累加器RETI ;中断返回******时钟时间调整程序******SET0:LCALL XSZCX ;通过调用显示时间程序延时消抖动JNB P1.0,SJTZ1SJMP MAINT1 ;功能键没有按下,显示时间SET1: CLR ET0 ;关闭定时器T0中断CLR TR0 ;关闭定时器T0MOV R2,#06H ;进入调时状态,置闪烁定时初值SETB ET1 ;允许T1中断SETB TR1 ;启动T1SET2:JNB P1.0,SET1 ;P1.0端为0(键未释放),等待CLR 01H ;置调分标志位为1SET4:JB P1.0,SET3 ;等待键按下JNB P1.0,HOUR ;有键按下,进入调小时状态JB P1.0,SET10 ;等待键按下JNB P1.0,MINUTE ;有键按下,进入调分状态JB P1.0,SET12 ;等待键按下JNB P1.0,SECOND ;有键按下,进入调秒状态MOV A,R3 ;取要调整的单元数据CLR CKMTES: SETB ET0 ;省电状态,开T0中断SETB TR0 ;启动T0(开时钟)KMA: JB P1.0,$ ;无按键按下,等待LCALL XSZCX ;通过调用显示时间程序延时消抖动JB P1.1,KMA ;是干扰返回等待KMA1: JNB P1.0,$ ;等待键释放LJMP MAINT1 ;返回主程序,显示时间HOUR: JNB P1.0,SET5 ;等待键释放SETB 01H ;置调小时标志位SET6: JB P1.0,SET9 ;等待键按下LCALL TM3s ;有键按下延时3秒LCALL XSZCX ;消抖JNB P1.0,STOP ;按下时间大于3秒,退出调整状态MOV R0,#70H ;小于3秒,调整小时JB P1.1,SET3 ;等待键按下JNB P1.1,ADD1 ;P1.1按下,调时间加1子程序JB P1.2,SET3 ;等待键按下JNB P1.2,SUB-H ;P1.2按下,调小时减1子程序MOV A,R3CLR CCJNE A,#24H,BJ24 ;计时单元与24比较BJ24: JC SET6,;小于24转SET6循环CLR A ;大于或等于24,则清零MOV @R0,ADEC R0MOV @R0,AAJMP SET6 ;转SET6循环MINUTE: JNB P1.0,SET10 ;等待键释放SETB 01H ;置调分钟标志位SET7: JB P1.0,SET11 ;等待键按下LCALL TM3s ;有键按下延时3秒LCALL XSZCX ;消抖JNB P1.0,STOP ;按下时间大于3秒,退出调整状态MOV R0,#70H ;小于3秒,调整分钟JB P1.1,SET11 ;等待键按下JNB P1.1,ADD1 ;P1.1按下,调时间加1子程序JB P1.2,SET11 ;等待键按下JNB P1.2,SUB-M ;P1.2按下,调分减1子程序MOV A,R3CLR CCJNE A,#60H,BJ601 ;计时单元与60比较BJ601: JC SET7,;小于24转SET7循环CLR A ;大于或等于24,则清零MOV @R0,ADEC R0MOV @R0,AAJMP SET7 ;转SET7循环SECOND: JNB P1.0,SET12 ;等待键释放SETB 01H ;置调秒钟标志位SET8: JB P1.0,SET13 ;等待键按下LCALL TM3s ;有键按下延时3秒LCALL XSZCX ;消抖JNB P1.0,STOP ;按下时间大于3秒,退出调整状态MOV R0,#70H ;小于3秒,调整分钟JB P1.1,SET13 ;等待键按下JNB P1.1,ADD1 ;P1.1按下,调时间加1子程序JB P1.2,SET13 ;等待键按下JNB P1.2,SUB-S ;P1.2按下,调时间减1子程序MOV A,R3CLR CCJNE A,#60H,BJ602 ;计时单元与60比较BJ602: JC SET8,;小于24转SET8循环CLR A ;大于或等于24,则清零MOV @R0,ADEC R0MOV @R0,AAJMP SET8 ;转SET8循环OUT: JNB P1.0,SETOUT1 ;退出调时状态,等待键释放LCALL XSZCX ;通过调用显示程序延时消抖动JNB P1.0,SETOUT ;是抖动,返回SETOUT等待MOV 20H,#00H ;清调时标志位CLR TR1 ;关闭T1CLR ET1 ;关T1中断SETB TR0 ;启动T0SETB ET0 ;开T0中断LJMP MAINT1 ;返回主程序SET1: LCALL XSZCX ;键释放等待时,调用显示子程序AJMP SET2 ;防止此时无时钟显示SET3:LCALL XSZCX ;等待调小时按键时时钟显示用AJMP SET4 ;调时等待SET5:LCALL XSZCX ;键释放等待时调用显示程序(调小时)AJMP SETHH ;防止键按下时无时钟显示SET9:LCALL XSZCXAJMP SET6SET10:LCALL XSZCX ;键释放等待时调用显示程序(调分钟)AJMP SETHH ;防止键按下时无时钟显示SET11:LCALL XSZCXAJMP SET7SET12:LCALL XSZCX ;键释放等待时调用显示程序(调秒钟)AJMP SETHH ;防止键按下时无时钟显示SET13:LCALL XSZCXAJMP SET8SETOUT1:LCALL XSZCXAJMP OUT****** 加1子程序******ADD1:MOV A,@R0 ;取出现计时数据放入ADEC R0 ;指向前一单元SWAP A ;A中高4位与低4位互换ORL A,@R0 ;前一单元中数据放入A中低4位ADD A,#01H ;A加1DA A ;十进制调整MOV R3,A ;移入R3寄存器ANL A,#0FH ;高4位变0MOV @R0,A ;放回前一地址单元MOV A,R3 ;取回R3中暂存数据INC R0 ;指向当前地址单元SWAP A ;A中高4位与低4位互换ANL A,#0FH ;高4位变0MOV @R0,A ;数据存入当前地址单元RET ;子程序返回****** 时减1子程序******SUB-H:MOV A,@R0 ;取当前计时单元数据到ADEC R0 ;指向前一地址SWAP A ;A中数据高4位与低4位交换ORL A,@R0 ;前一地址中数据放入A中低4位JZ SUB-H1 ;00减1为23(小时)DEC A ;A减1操作SUB-H11:MOV R3,A ;移入R3寄存器ANL A,#0FH ;高4位变0CLR C ;清进位标志SUBB A,#0FH;;时个位是否大于9SUB-H111:JC SUB-H110MOV @R0,#09H ;大于等于0AH,为9SUB-H10:MOV A,R3 ;取回R3中暂存数据INC R0 ;指向当前地址单元SWAP A ;A中数据高4位与低4位交换ANL A,#0FH ;高4位变0MOV @R0,A ;时十位数据放入RET ;子程序返回SUB-H1:MOV A,#23HAJMP SUB-H11SUB-H110:MOV A,R3 ;时个位小于0A不处理ANL A,#0FH ;高4位变0MOV @R0,A ;时个位数据放入AJMP SUB-H10******分减1子程序******SUB-M:MOV A,@R0 ;取当前计时单元数据到ADEC R0 ;指向前一地址SWAP A ;A中数据高4位与低4位交换ORL A,@R0 ;前一地址中数据放入A中低4位JZ SUB-M1DEC A ;A减1操作SUB-M11:MOV R3,A ;移入R3寄存器ANL A,#0FH ;高4位变0CLR C ;清进位标志SUBB A,#0AH;SUB-M111:JC SUB-M110MOV @R0,#09H ;大于等于0AH,为9SUB-M10:MOV A,R3 ;取回R3中暂存数据INC R0 ;指向当前地址单元SWAP A ;A中数据高4位与低4位交换ANL A,#0FH ;高4位变0MOV @R0,A ;数据放入当前地址单元中RET ;子程序返回SUB-M1:MOV A,#59HSUB-M110:MOV A,R3 ;移入R3寄存器ANL A,#0FH ;高4位变0MOV @R0,AAJMP SUB-M10****** 秒减1子程序******SUB-S:MOV A,@R0 ;取当前计时单元数据到ADEC R0 ;指向前一地址SWAP A ;A中数据高4位与低4位交换ORL A,@R0 ;前一地址中数据放入A中低4位JZ SUB-S1DEC A ;A减1操作SUB-S11:MOV R3,A ;移入R3寄存器ANL A,#0FH ;高4位变0CLR C ;清进位标志SUBB A,#0BH;SUB-S111:JC SUB-S110MOV @R0,#09H ;大于等于0AH,为9SUB-S10:MOV A,R3 ;取回R3中暂存数据INC R0 ;指向当前地址单元SWAP A ;A中数据高4位与低4位交换ANL A,#0FH ;高4位变0MOV @R0,A ;数据放入当前地址单元中RET ;子程序返回SUB-S1:MOV A,#14HAJMP SUB-S11SUB-S110:MOV A,R3 ;移入R3寄存器ANL A,#0FH ;高4位变0MOV @R0,A******延时子程序******TM1ms:MOV R6,#14H ;延时1 ms子程序TM1:MOV R7,#19HTM2:DJNZ R7,YS2DJNZ R6,YS1RETTM3s:LCALL TM05s ;延时3s子程序LCALL TM05sLCALL TM05sLCALL TM05sLCALL TM05sLCALL TM05sRETTM05s:MOV R3,#51H ;延时0.5 s子程序YS05s1:LCALL XSZCXDJNZ R3,YS05s1RETTAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH END西安建筑科技大学课程设计(论文)目录第1章绪论 (1)1. 设计要求 (1)2. 设计方案 (1)第2章硬件设计 (2)1 单片机的选择 (2)2. 显示方案 (2)第3章软件设计 (5)1. 主程序 (5)2. 定时器T0中断服务程序 (5)3. 显示子程序 (5)4. 定时器T1中断服务程序 (6)5. 调时功能程序 (6)6. 延时程序 (7)7. 结论 (7)8.参考文献 (8)附录 (9)。
数电课程设计数字电子钟报告
![数电课程设计数字电子钟报告](https://img.taocdn.com/s3/m/857b9d7931b765ce0508146f.png)
数字电子技术课程设计报告题目:数字钟的设计与制作时间:09-10学年第二学期18-19周院校:武汉纺织大学班级:测控081组员:夏亦冰李艳飞田传雪吴哲伦数字电子技术课程设计报告一.设计目的数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。
数字钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。
因此,我们此次设计与制做数字钟就是为了了解数字钟的原理,从而学会制作数字钟.而且通过数字钟的制作进一步的了解各种在制作中用到的中小规模集成电路的作用及实用方法.且由于数字钟包括组合逻辑电路和时叙电路.通过它可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法.二.实现功能1.要求内容1)时以24为周期2)分和秒以60为周期3)能显示时、分、秒4)具有校时功能,可以分别对时及分进行单独校时,使其校正到标准时间2. 发挥内容1)星期的显示2)计时过程具有报时功能三.元器件1.洞洞板2块2.0.47uF电容1个3.100nF电容1个4.共阴八段数码管7个5.网络线10米6.CD4511集成块7块7.CD4060集成块1块8.74HC390集成块4块9.74HC51集成块1块10.74HC00集成块4块11.74HC30集成块1块12.10MΩ电阻5个13.74HC00集成块4块14.L7805三端稳压管1个15.30pF瓷片电容2个16.9V电池1块17.单刀双掷开关2个18.单刀单置开关1个19.74HC10集成块1块各个芯片引脚图1.CD74HC3902.L7805稳压管3.CD4060 4.CD4511 5.74HC10 6.74HC307.74HC518.74HC00四、原理框图1.数字钟的构成数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路。
由于计数的起始时间不可能与标准时间(如北京时间)一致,故需要在电路上加一个校时电路,同时标准的1HZ 时间信号必须做到准确稳定。
最新数字钟实验报告
![最新数字钟实验报告](https://img.taocdn.com/s3/m/07cadcc1cd22bcd126fff705cc17552707225e3f.png)
最新数字钟实验报告实验目的:本实验旨在设计并构建一个数字时钟,通过编程和电子组件的使用,实现时间的精确显示和设置。
实验过程中,我们将学习如何使用微控制器、数码管显示以及编写相应的软件代码来控制时钟的运行。
实验材料:1. 微控制器(如Arduino UNO)2. 数码管显示模块3. 电阻、电容4. 跳线5. 电源适配器6. 编程软件(如Arduino IDE)实验步骤:1. 准备实验材料,并确保所有组件完好无损。
2. 连接微控制器与数码管显示模块,通过跳线将数码管的各个引脚与微控制器对应引脚相连。
3. 在Arduino IDE中编写数字钟的程序代码,包括时间设置、显示更新和闹钟功能。
4. 将编写好的代码上传至微控制器中。
5. 连接电源,测试数字钟是否能够正常运行,包括时间的显示、设置和闹钟功能。
6. 调整代码中的参数,确保时间显示的准确性和稳定性。
7. 记录实验数据和观察结果,对出现的问题进行分析和调试。
实验结果:通过实验,我们成功构建了一个数字钟,它能够显示小时、分钟和秒。
用户可以通过特定的按钮组合来设置时间,并且设定闹钟。
在测试过程中,时钟的显示准确无误,设置功能也运作正常。
闹钟在设定的时间准时响起,满足了实验的基本要求。
实验结论:本次实验验证了通过微控制器和数码管可以成功实现数字钟的设计和功能。
实验过程中遇到的问题主要涉及代码的优化和硬件的稳定性,通过调整代码和重新检查硬件连接,问题得到了解决。
最终,我们得到了一个功能完善、运行稳定的数字钟原型。
数字电子时钟课程设计报告
![数字电子时钟课程设计报告](https://img.taocdn.com/s3/m/c2808fa94693daef5ef73d81.png)
华北科技学院课程设计
分十位计数单元为 6 进制,当 QDQCQBQA 变成 0101 时, 通过与非门把它接回置数端,计数器的输入置为 0000,计数 器又从 0000 开始,如此重复,十位和个位合起来就是 60 进 制 。同 时 两 个 分 计 数 芯 片 的 脉 冲 输 入 端 接 秒 计 数 器 的 进 位 输 出 端 ,当 各 个 芯 片 开 始 工 作 时 ,秒 计 数 器 的 进 位 输 出 端 给 分 计 数 器 的 两 片 分 计 数 芯 片 的 输 入 高 电 平 脉 冲 ,使 分 计 数 器 开 始计数,当分计数器的输出为 59 状态时使两个芯片的置数 端工作,进行置数,同时分十位上的进位信号传输给“时” 个位的计数单元。分计数器的设计电路如图五所示。
图五 分计数器的设计电路
11
华北科技学院课程设计
(3)时计数器的设计 时计数单元为 24 进制计数器,其输出为 8421BCD 码。同样 采用十进制计数器 74160N 来实现时间计数单元的计数功能。 数字钟的“时”计数器为模 24 的计数器,它的个位是四进 制计数器,而十位则是二进制计数器,其计数规律为:
6
华北科技学院课程设计
增大。如果精度要求不高也可以采用由集成电路定时器 555 与 RC 组成的多谐振荡器。根据理论知识运用,运用 CB555 定时器与电阻电容组合设计多谐振荡器的振荡器的周期为 1 秒,即周期 T=1, 根 据 理 论 知 识 得 , 多 谐 振 荡 器 周 期 的 计 算 公 式 为 :, 多 谐 振 荡 器 频 率 的 计 算 公 式 为 :,占 空 比 的 计 算 公 式 为 :,通 过 以 上 公式计算多谐振荡器的周期频率的大小跟外接电阻的阻值。 运用 CB555 定时器设计多谐振荡器,由 CB555 定时器的参数 特性可知,当电源电压为 5V 时,在 100mA 的输出电流下输 出电压的典型值为 3.3V,所以取 VCC=5V 时可以满足对输出 周期为一秒的脉冲信号的要求。 令占空比 q=2/3,C=10uF 时,得=,则 , 即 3C=1,则 。 通过计算得电阻 R=48K,电容 C=10uF,因两个电阻的大小相 等,所以取两只阻值为 47K 的电阻和一个阻值为 2K 的电位 器串联,得到设计电路,如图二所示。
数字钟课程设计报告
![数字钟课程设计报告](https://img.taocdn.com/s3/m/9ef9452259fafab069dc5022aaea998fcd224062.png)
数字钟课程设计报告前言:随着科技的不断进步,数字化已经成为了各个领域的主流趋势。
数字技术也在教育领域得到广泛应用。
数字化教育为学生提供了更好的学习方式和体验,同时也给教育工作者带来了更多的创新空间。
本文将围绕数字化教育,探讨数字钟课程设计报告。
数字钟的设计:数字钟是一个数字化的学习工具,在各学科的教学中都得到了广泛应用。
数字钟的设计可以遵循以下步骤:1.确定教学目标:数字钟的设计必须遵循教学目标,以便为教师和学生提供最佳的学习体验,使教学更加生动有趣。
2.选择数字钟的类型:根据教学目标和特点,可以选择不同类型的数字钟,例如计时器、倒计时器、时间轴等。
3.选择数字钟的功能:数字钟的功能会影响到教学效果,因此需要根据教学目标和教学特性选择数字钟的功能。
4.美化数字钟的界面:美化数字钟的界面能够增加学生的学习兴趣,提高教学效果,从而实现教学目标。
数字钟的应用:数字钟是一种数字化教学工具,可以在各个学科的教学中得到广泛应用。
下面以数学为例,详细说明数字钟在数学教学中的应用。
数字钟可以用于教学观念的讲解。
在数学教学中,学习时间的观念非常重要。
使用数字钟可以帮助学生了解时间的本质,为学生认识到时间的重要性打下基础。
数字钟也可以用于学习数学运算。
例如,教师可以设置数字钟来进行加减乘除的计算,帮助学生提高计算速度和精确度。
数字钟还可以用于检查作业。
教师可以在数字钟上设置一个时间限制,让学生在规定时间内完成作业。
如果学生没有完成作业,数字钟将会提醒他们完成。
数字钟的优势:数字化教育工具的吸引力取决于它们的功能和灵活性。
数字钟虽然看起来简单,但它的实际用途非常重要。
它能够帮助教师更好地了解学生的学习情况,同时也能够更好地帮助学生提升学习效果。
数字钟优势如下:1、灵活性:数字钟可以根据教学需要进行设计和选择,可以在不同的学科中得到广泛应用。
2、互动性:数字钟可以与学生互动式地使用。
通过使用数字钟可以促进学生互动,提高学生的学习效果,帮助学生主动掌握学习内容。
eda课程设计数字时钟设计
![eda课程设计数字时钟设计](https://img.taocdn.com/s3/m/1d427759df80d4d8d15abe23482fb4daa58d1d3f.png)
eda课程设计数字时钟设计一、教学目标本课程旨在通过数字时钟设计项目,让学生掌握EDA(电子设计自动化)工具的基本使用,理解数字电路的设计原理,培养学生的动手实践能力和创新能力。
具体目标如下:1.知识目标:•掌握数字电路的基本概念和设计方法。
•学习常用的EDA工具,如Multisim、Proteus等,并能够运用它们进行数字电路的设计和仿真。
•了解时钟信号的产生和应用,理解RTC(实时时钟)的工作原理。
2.技能目标:•能够运用EDA工具设计简单的数字时钟电路。
•能够进行电路仿真,调试并优化设计。
•学会阅读和理解电子电路图,培养良好的电子工程实践能力。
3.情感态度价值观目标:•培养学生对电子科技的兴趣,增强其科技意识。
•培养学生团队协作精神和自主学习能力。
•培养学生解决问题的能力,增强其面对挑战的信心。
二、教学内容本课程的教学内容主要包括数字电路基础、EDA工具的使用、数字时钟设计原理和RTC的应用。
具体安排如下:1.数字电路基础:•数字逻辑门电路•组合逻辑电路•时序逻辑电路2.EDA工具的使用:•Multisim和Proteus的基本操作•数字电路图的绘制和仿真3.数字时钟设计原理:•常见的时钟信号生成电路•数字时钟电路的设计方法4.RTC的应用:•RTC的工作原理•RTC在数字时钟中的应用三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式,包括:1.讲授法:用于讲解数字电路基础和EDA工具的使用方法。
2.案例分析法:通过分析具体的数字时钟设计案例,让学生理解数字时钟的设计过程。
3.实验法:让学生动手实践,使用EDA工具进行数字时钟的设计和仿真。
四、教学资源为了支持教学,我们将准备以下教学资源:1.教材:选用《数字电路与EDA技术》作为主要教材。
2.参考书:提供《EDA技术教程》等参考书籍,供学生课后自主学习。
3.多媒体资料:制作课件和教学视频,用于课堂讲解和课后复习。
4.实验设备:提供计算机、EDA工具软件、电路仿真实验板等,供学生进行实验和实践。
数字电子钟设计电子设计课程设计报告
![数字电子钟设计电子设计课程设计报告](https://img.taocdn.com/s3/m/e6b56913960590c69fc37642.png)
数字电子钟设计电子设计课程设计报告电子技术课程设计报告——数字电子钟设计学院:课程:小组成员:姓名:学号:指导老师:日期:一、选择课题数字电子钟二、选题意义和技术指标及设计要求1、数字电子钟设计的意义:数字电子时钟早已成为人们生活中不可缺少的必需品,广泛用于个人家庭及车站、码头、剧院和办公室等公共场所,给人们的生活、工作、学习以及娱乐带来了极大的方便。
由于数字集成电路技术的发展使数字钟具有走时准确、性能稳定、携带方便等优点。
而且它还用于计时、自动报时及自动控制等各个领域。
数字电子时钟是采用数字电路实现对时、分、秒数字显示的计时装置,数字钟的精度、稳定度远远的超过老式的机械钟表,并且与机械时钟相比具有更高的准确性和直观性,因此具有更广泛的应用。
2、数字电子钟的设计要求1)数字电子钟的最基本计时功能要保证正常计时;2)数字电子钟需要有校时部分以防止走时不准,能做到快速调整时间;3)数字电子钟需要有整点报时功能以提醒整点时间的到来;4)尽量设计电路时要做到简洁人性化,尽量避免复杂的操作。
3、数字电子钟设计的目的1)熟练掌握我们半年来所学习的数字电子技术基础知识;2)通过设计电路,提高对各种集成电路芯片的认识与理解程度;3)熟悉逻辑电路的特点;4)学会熟练使用电路仿真软件如Multisim的使用;5)提高查找电路故障的能力,培养科学严谨的学习习惯。
4、数字电子钟的技术指标1)设计信号发生器并产生1HZ频率的时钟脉冲信号;2)使用7段数码管实现精准的“时”、“分”、“秒”显示计时;3)以24小时为一个循环计数周期;4)具有手动校时功能,可以随时调整时间防止时间走时不准。
三、电路设计原理分析1、整体设计方案数字电子钟是一种时许组合逻辑电路。
原理图如下:该系统由信号发生器、计数器、译码器、显示数码管等几部分组成。
该系统的工作过程是:信号发生器产生稳定的脉冲信号,输出的信号频率为1HZ,作为数字电子钟的基准信号。
数电课程设计报告-数字电子钟东北大学
![数电课程设计报告-数字电子钟东北大学](https://img.taocdn.com/s3/m/9b09cb66bf1e650e52ea551810a6f524ccbfcb63.png)
数电课程设计报告-数字电子钟东北大学第一篇:数电课程设计报告-数字电子钟东北大学课程设计报告设计题目:数字电子钟设计与实现班级:学号:姓名:指导教师:设计时间:摘要数字时钟已成为人们日常生活中必不可少的必需品,广泛于个人家庭以及办公室等公共场所,给人们的生活、学习、工作、娱乐带来了极大的方便。
由于数字集成电路技术的发展采用了先进的三石英技术,使数字时钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。
尽管目前市场上已有现成的数字时钟电路芯片出售,价格便宜、使用也方便,但鉴于数字时钟电路的基本组成包含了数字电路的组成部分,因此进行数定时钟的设计是必要的。
在这里我们将已学过的比较零散的数字电路的知识有机的、系统的联系起来用于实际,来增养我们的综合分析和设计电路的能力。
本次设计以数字时钟为主,实现对时、分、秒数字显示的计数器计时装置,周期为24小时,显示满为23时59分59秒并具4有校时功能的数电子时钟。
电路主要采用中规模的集成电路,本电路主要脉冲产生模块、校时模块、两个六十进制模块(分、秒)、一个二十四进制模块(时)和一个报时逻辑电路组成。
时、分、秒再通过BCD-7段译码显示屏显示出来。
关键词:计数器译码器校时目录概述2 课程设计任务及要求2.1 设计任务2.2 设计要求3 理论设计3.1方案论证3.2 系统设计3.2.1 结构框图及说明3.2.2 系统原理图及工作原理3.3 单元电路设计3.3.1秒脉冲电路设计3.3.2时、分、秒计数器电路3.3.3校时电路3.3.4译码显示电路3.3.5定时电路设计4.软件仿真4.1 仿真电路图4.2 仿真过程4.2 仿真结果5.结论6.使用仪器设备清单7.参考文献。
8.收获、体会和建议。
5 5 8 10 11 13 15 16181919202.课程设计及要求2.1设计任务数字电子时钟是一种用数字电路技术实现“时”、“分”、“秒”计时的装置。
单片机课程设计数字钟实验报告
![单片机课程设计数字钟实验报告](https://img.taocdn.com/s3/m/d40376cd8bd63186bcebbcca.png)
单片机课程设计:电子钟一、实现功能1、能够实现准确计时,以数字形式显示时、分、秒的时间。
2、小时以24小时计时形式,分秒计时为60进位,能够调节时钟时间。
3、闹钟功能,一旦走时到该时间,能以声或光的形式告警提示。
4、能够实现按键启动与停止功能。
5、能够实现整点报时功能。
6、能够实现秒表功能。
二、设计思路1、芯片介绍VCC:电源。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL 门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字系统原理与设计课程设计报告设计题目:数字时钟设计学生姓名:专业:电子科学与技术年级:指导老师:南通大学电子信息学院2015年7月8日摘要:数字时钟我们听到这几个字,第一反应就是我们所说的数字,不错数字时钟就是以数字显示取代模拟表盘的钟表,在显示上它用数字反应出此时的时间,相比模拟钟能给人一种一目了然的感觉,不仅如此它还能同时显示时、分、秒。
而且能对时、分、秒准确校时,这是普通钟所不及的。
数字时钟广泛应用于各个公共场所,成为人们日常生活中不可少的必需品。
数字时钟是一种显示时、分、秒的计时装置且具有校时、暂停功能,其计时周期为24小时,显示满刻度为23时59分59秒,秒计数器电路计满60 后触发分计数器电路,分计数器电路计满60 后触发时计数器电路,当计满24 小时后又开始下一轮的循环计数。
关键字:时、分、秒、校时、暂停目录摘要及关键字 (1)一. 前言 (3)1.实验目的 (3)2.实验思想 (3)二. 设计方案 (4)1.设计原理 (4)2.设计过程 (4)3.仿真实验及下载 (12)三. 总结体会 (14)四. 参考文献 (14)五. 附录 (15)1.管脚绑定 (15)一.前言1.实验目的在QuartusⅡ软件平台下,运用verilog硬件描述语言和DE2来实现数字时钟功能。
数字时钟包括组合逻辑电路和时序电路,能够正确显示时、分、秒,并有校时、暂停功能,要求在数码管上正确显示。
在完成基本要求的基础上,可进一步增加功能、提高性能,如增加闹铃功能。
2.实验思想本实验的难点主要在于如何使时钟正确显示,并在数码管上显示,在实验过程中,在输出波形时出现了问题,50MHz太大,波形输出所需时间太长,最后新建了一个文件,将输入时钟脉冲改为1Hz,这样波形输出所需时间就大大减少,顺利完成本实验。
二.设计方案1.设计原理数字时钟是一个对标准频率(1Hz)进行计数的计数电路。
数字时钟分为分频器、时计数器、分计数器、秒计数器,当秒计数器计满60后触发分计数器,分计数器计满60后触发时计数器,当计满24小时后又开始下一轮循环。
通过校时电路可对分和时进行校正,通过暂停键实现暂停功能。
数字时钟要完成显示需要6个数码管,数码管显示要用到7段数码显示译码器程序来正确显示时间。
2.设计过程(1)分频利用分频器将clk_50MHz变为频率为1Hz,这样使得数字时钟正常计数。
(2)计时当秒后一位小于9时,秒后一位一直加1,当秒后一位大于等于9,即为9时,下一个脉冲秒后一位为0,此时看秒前一位。
当秒前一位小于5时,秒前一位一直加1,当秒前一位大于等于5,即为5时,下一个脉冲秒前一位为0,此时看分后一位。
当分后一位小于9时,分后一位一直加1,当分后一位大于等于9,即为9时,下一个脉冲分后一位为0,此时看分前一位。
当分前一位小于5时,分前一位一直加1,当分前一位大于等于5,即为5时,下一个脉冲分前一位为0,此时看小时。
当小时前一位为2,此时当小时后一位小于3时,小时后一位一直加1,当小时后一位大于等于3,即为3时,下一个时钟脉冲小时前一位后一位均为0。
当小时前一位不为2,此时当小时后一位小于9时,小时后一位一直加1,当小时后一位大于等于9时,即为9时,下一个时钟脉冲小时后一位为0,小时前一位加1。
(3)校时,秒分时加1秒、分、时分开校时,秒与分均从0计到59,时从0计到23。
其中ss1与pause相当于一个,即ss1可写可不写。
(4)数码管显示(6个)DE2上的数码管为共阳极,即为低电平有效电路。
数码管如图所示。
以下为源程序:module clock(_50MHZ,pause,ss1,sm1,sh1,s0,s1,m0,m1,h0,h1); input _50MHZ,pause,ss1,sm1,sh1;reg [3:0] second0,second1,minute0,minute1,hour0,hour1;output reg [6:0] s0,s1,m0,m1,h0,h1;reg[32:0] Q1;reg _1HZ;always@(posedge _50MHZ )//分频beginif (Q1==24999999) //24999999//499begin Q1=0;_1HZ=~_1HZ;endelse if(pause==0) Q1=Q1+1'd1;endalways@(posedge _1HZ)//计时beginif(second0<4'b1001) second0<=second0+4'b1;elsebeginsecond0<=0;if(second1<4'b0101) second1<=second1+4'b1;elsebeginsecond1<=4'b0;if(minute0<4'b1001)minute0<=minute0+4'b1;elsebeginminute0<=4'b0;if(minute1<4'b0101)minute1<=minute1+4'b1;elsebeginminute1<=4'b0;if(hour1==4'b0010)beginif(hour0<4'b0011) hour0<=hour0+4'b1;else begin hour0<=0;hour1<=0;endendelsebegin if(hour0<4'b1001)hour0<=hour0+4'b1;else beginhour0<=4'b0;hour1<=hour1+4'b1;endendendendendendif(ss1==1)//秒+1begin if (second0<4'b1001)second0<=second0+4'b1;else begin second0<=4'b0;if(second1<4'b0101)second1<=second1+4'b1;else second1<=4'b0;endendif(sm1==1)//分钟+1begin if (minute0<4'b1001)minute0<=minute0+4'b1;else begin minute0<=4'b0;if(minute1<4'b0101)minute1<=minute1+4'b1;else minute1<=4'b0;endendif(sh1==1)//小时+1if(hour1==4'b0010)beginif(hour0<4'b0011) hour0<=hour0+4'b1;else begin hour0<=0;hour1<=0;endendelse begin if(hour0<4'b1001)hour0<=hour0+4'b1;else beginhour0<=4'b0;hour1<=hour1+4'b1;endendcase(second0)//数码管显示4'b0000:s0=7'b1000000;4'b0001:s0=7'b1111001;4'b0010:s0=7'b0100100;4'b0011:s0=7'b0110000;4'b0100:s0=7'b0011001;4'b0101:s0=7'b0010010;4'b0110:s0=7'b0000010;4'b0111:s0=7'b1111000;4'b1000:s0=7'b0000000;4'b1001:s0=7'b0010000; default:s0=7'b0000000; endcasecase(second1)4'b0000:s1=7'b1000000;4'b0001:s1=7'b1111001;4'b0010:s1=7'b0100100;4'b0011:s1=7'b0110000;4'b0100:s1=7'b0011001;4'b0101:s1=7'b0010010;4'b0110:s1=7'b0000010;4'b0111:s1=7'b1111000; 4'b1000:s1=7'b0000000; 4'b1001:s1=7'b0010000; default:s1=7'b0000000; endcasecase(minute0)4'b0000:m0=7'b1000000; 4'b0001:m0=7'b1111001; 4'b0010:m0=7'b0100100; 4'b0011:m0=7'b0110000; 4'b0100:m0=7'b0011001; 4'b0101:m0=7'b0010010; 4'b0110:m0=7'b0000010; 4'b0111:m0=7'b1111000; 4'b1000:m0=7'b0000000; 4'b1001:m0=7'b0010000; default:m0=7'b0000000; endcasecase(minute1)4'b0000:m1=7'b1000000; 4'b0001:m1=7'b1111001; 4'b0010:m1=7'b0100100;4'b0011:m1=7'b0110000; 4'b0100:m1=7'b0011001; 4'b0101:m1=7'b0010010; 4'b0110:m1=7'b0000010; 4'b0111:m1=7'b1111000; 4'b1000:m1=7'b0000000; 4'b1001:m1=7'b0010000; default:m1=7'b0000000; endcasecase(hour0)4'b0000:h0=7'b1000000; 4'b0001:h0=7'b1111001; 4'b0010:h0=7'b0100100; 4'b0011:h0=7'b0110000; 4'b0100:h0=7'b0011001; 4'b0101:h0=7'b0010010; 4'b0110:h0=7'b0000010; 4'b0111:h0=7'b1111000; 4'b1000:h0=7'b0000000; 4'b1001:h0=7'b0010000; default:h0=7'b0000000; endcasecase(hour1)4'b0000:h1=7'b1000000;4'b0001:h1=7'b1111001;4'b0010:h1=7'b0100100;4'b0011:h1=7'b0110000;4'b0100:h1=7'b0011001;4'b0101:h1=7'b0010010;4'b0110:h1=7'b0000010;4'b0111:h1=7'b1111000;4'b1000:h1=7'b0000000;4'b1001:h1=7'b0010000;default:h1=7'b0000000;endcaseendendmodule3.仿真实验及下载(1)利用QuartusⅡ软件输入程序,进行编译。