电子时钟实验报告_电子时钟
多功能电子时钟实训报告
一、实训目的本次实训旨在通过学习单片机技术,设计并实现一个基于单片机的多功能电子时钟系统。
通过实训,使学生掌握以下知识和技能:1. 熟悉单片机的基本原理和编程方法;2. 掌握电子时钟系统的硬件设计、软件编程和调试方法;3. 提高动手能力和实际应用能力。
二、实训内容1. 系统硬件设计(1)核心控制器:选用AT89C51单片机作为系统的核心控制器。
(2)时钟芯片:使用DS1302实时时钟芯片,提供精确的时间信号。
(3)液晶显示屏:选用1602液晶显示屏,用于显示时间、日期、温度等信息。
(4)按键模块:设计包含时间设置键、日期设置键、闹钟设置键等的按键模块。
(5)温度传感器:使用DS18B20温度传感器,用于检测环境温度。
(6)电源模块:为整个系统提供稳定的工作电压。
2. 系统软件设计(1)主程序:负责系统初始化、时钟显示、闹钟提醒、温度检测等功能。
(2)中断程序:负责时钟中断、闹钟中断、温度中断等。
(3)显示程序:负责液晶显示屏的显示内容更新。
(4)按键处理程序:负责按键扫描、按键消抖、按键功能处理等。
三、实训过程1. 硬件搭建(1)根据设计图纸,焊接电路板。
(2)连接单片机、时钟芯片、液晶显示屏、按键模块、温度传感器和电源模块。
(3)检查电路连接是否正确,确保系统硬件正常工作。
2. 软件编程(1)编写主程序、中断程序、显示程序和按键处理程序。
(2)使用C语言进行编程,并利用Keil软件进行编译。
(3)将编译好的程序烧录到单片机中。
3. 调试与优化(1)在Proteus仿真软件中,对系统进行仿真调试。
(2)检查程序运行是否正常,优化程序代码。
(3)对硬件电路进行调整,确保系统稳定运行。
四、实训结果1. 系统功能实现(1)显示当前时间、日期和温度。
(2)设置闹钟时间,并在设定时间响起。
(3)计时器功能,可以记录时间。
(4)温度检测功能,实时显示环境温度。
2. 系统稳定性通过仿真和实际测试,系统稳定运行,满足设计要求。
电子时钟实验报告
电⼦时钟实验报告综合实验报告(电⼦钟)⼀、实验⽬的主要⽬的是回顾《微机原理与应⽤》以及其他课程所学知识,并能灵活运⽤到实验当中。
掌握8253A、7段数码管,8259A、8255A的应⽤。
⼆、实验设备STAR 系列实验仪⼀套、PC 机⼀台。
三、实验内容利⽤STAR ES598PCI实验仪设计⼀个具有时、分、秒显⽰功能的电⼦时钟,并定义⼀个启动键,当按下该键时时钟从当前设定值开始⾛时,时间数据可⽤数码管显⽰。
(1) 利⽤8253计数器对标准时钟信号计数,分别实现时、分、秒计时(2) 键盘设定⼀个按键,当按键按下则从已设定的时间开始计时(已设定的时间值可在显⽰缓冲区中预置)(3) 时、分、秒的数值均显⽰在数码管上四、实验步骤1、主机连线说明:E5 区:CLK —— B2 区:2ME5 区:CS、A0 —— A3 区:CS5、A0E5 区:A、B、C、D —— G5 区:A、B、C、DB3 区:CS、A0 —— A3 区:CS1、A0B3 区:INT、INTA —— ES8088:INTR、INTAB3 区:IR0 —— C5 区:OUT0C5 区:CS(8253)、A0、A1 —— A3 区:CS2、A0、A1C5 区:GATE0 —— C1 区:VCCC5 区:CLK0 —— B2 区:62.5K2、运⾏程序,按G5 区的F 键,设置时钟初值;3、观察G5 区数码管上显⽰的时间是否正确。
五、实验流程图设置时间⼦程序:8253⼦程序:六、实验程序.MODEL TINYEXTRN Display8:NEAR, GetKeyA:NEAR, GetKeyB:NEAR IO8259_0 EQU 0F000HIO8259_1 EQU 0F001HCon_8253 EQU 0E003HT0_8253 EQU 0E000H.STACK 200.DATAhalfsec DB 0 ;0.5秒计数Sec DB 0 ;秒Min DB 0 ;分hour DB 0 ;时buffer DB 8 DUP(0) ;显⽰缓冲区,8个字节buffer1 DB 8 DUP(0) ;显⽰缓冲区,8个字节bNeedDisplay DB 0 ;需要刷新显⽰number DB 0 ;设置哪⼀位时间bFlash DB 0 ;设置时是否需要刷新.CODESTART: MOV AX,@DATAMOV DS,AXMOV ES,AXNOPmov sec,0 ;时分秒赋为00:00:00mov min,0mov hour,0MOV bNeedDisplay,1 ;显⽰初始值CALL Init8253CALL Init8259CALL WriIntverSTIMAIN: CALL GetKeyA ;按键扫描JNB Main1CMP AL,0FH ;设置时间JNZ Main1CALL SetTimeMain1: CMP bNeedDisplay,0JZ MAINCALL Display_LED ;显⽰时分秒MOV bNeedDisplay,0 ;1s定时到刷新转速Main2: JMP MAIN ;循环进⾏实验内容介绍与测速功能测试SetTime PROC NEAR LEA SI,buffer1CALL TimeToBufferMOV Number,0Key: CMP bFlash,0JZ Key2LEA SI,buffer1LEA DI,bufferMOV CX,8REP MOVSBCMP halfsec,0JNZ FLASHMOV BL,numberNOT BLAND BX,07HLEA SI,bufferMOV BYTE PTR [SI+BX],10H ;当前设置位置产⽣闪烁效果FLASH: LEA SI,buffer CALL Display8MOV bFlash,0Key2: CALL GetKeyAJNB KeyCMP AL,0EH ;放弃设置JNZ Key1JMP ExitKey1: CMP AL,0FHJZ SetTime8SetTime1: CMP AL,10JNB Key ;⽆效按键CMP number,0JNZ SetTime2CMP AL,3 ;调整时的⼗位数JNB KeyMOV buffer1 + 7,ALJMP SetTime7SetTime2: CMP number,1JNZ SetTime3CMP buffer1 + 7,2JB SetTime2_1 ;修改后可以在设置时间时,设置时钟为04到09之间的数值 CMP AL,4 JNB KeySetTime2_1: MOV buffer1 + 6,ALINC numberJMP SetTime7SetTime3: CMP number,3JNZ SetTime4CMP AL,6 ;调整分的⼗位数JNB KeyMOV buffer1 + 4,ALJMP SetTime7SetTime4: CMP number,4JNZ SetTime5MOV buffer1 + 3,AL ;调整分的个位数INC numberJMP SetTime7SetTime5: CMP number,6JNZ SetTime6CMP AL,6 ;调整秒的⼗位数JB SetTime5_1JMP KeySetTime5_1: MOV buffer1 + 1,ALJMP SetTime7SetTime6: MOV buffer1,AL ;调整秒的个位数SetTime7: INC numberCMP number,8JNB SetTime8MOV bFlash,1 ;需要刷新JMP KeySetTime8: MOV AL,buffer1 + 1 ;确认MOV BL,10MUL BLADD AL,buffer1MOV sec,AL ;秒MOV AL,buffer1 + 4MUL BLADD AL,buffer1 + 3MOV min,AL ;分MOV AL,buffer1 + 7MUL BLADD AL,buffer1 + 6CMP al,18h ;修改后可以解决时间设置时,时钟设置为24以上的数值 JNB exit MOV hour,AL ;时JMP ExitExit: RETSetTime ENDP;hour min sec转化成可显⽰格式TimeToBuffer PROC NEARMOV AL,secXOR AH,AHMOV BL,10DIV BLMOV [SI],AHMOV [SI + 1],AL ;秒MOV BYTE PTR [SI + 2],10H ;这位不显⽰MOV AL,minXOR AH,AHDIV BLMOV [SI + 3],AHMOV [SI + 4],AL ;分MOV BYTE PTR [SI + 5],10H ;这位不显⽰MOV AL,hourXOR AH,AHDIV BLMOV [SI + 6],AHMOV [SI + 7],AL ;时RETTimeToBuffer ENDP;显⽰时分秒Display_LED PROC NEAR LEA SI,bufferCALL TimeToBufferLEA SI,bufferCALL Display8 ;显⽰RETDisplay_LED ENDP;0.5s产⽣⼀次中断Timer0Int: PUSH AXPUSH DXMOV bFlash,1INC halfsecCMP halfsec,2JNZ Timer0Int1MOV bNeedDisplay,1MOV halfsec,0INC secCMP sec,60JNZ Timer0Int1MOV sec,0INC minCMP min,60JNZ Timer0Int1MOV min,0INC hourCMP hour,24JNZ Timer0Int1MOV hour,0Timer0Int1: MOV DX,IO8259_0 MOV AL,20HOUT DX,ALPOP DXPOP AXIRETInit8253 PROC NEARMOV DX,Con_8253MOV AL,34HOUT DX,AL ;计数器T0设置在模式2状态,HEX计数 MOV DX,T0_8253 MOV AL,12HOUT DX,ALMOV AL,7AHOUT DX,AL ;CLK0=62.5kHz,0.5s定时RETInit8253 ENDPInit8259 PROC NEARMOV DX,IO8259_0MOV AL,13HOUT DX,ALMOV DX,IO8259_1MOV AL,08HOUT DX,ALMOV AL,09HOUT DX,ALMOV AL,0FEHOUT DX,ALRETInit8259 ENDPWriIntver PROC NEARPUSH ESMOV AX,0MOV ES,AXMOV DI,20HLEA AX,Timer0IntSTOSWMOV AX,CSSTOSWPOP ESRETWriIntver ENDPEND START七、实验结果⼋、实验⼼得通过这两天的实习使我对微机原理有了更深⼊的了解,原来只是停留在想象中的,就像⼀些编写的程序也只是通过⾃我检查来看程序是否错误,有些问题很难发现,但是通过这两天的实习,使原本空洞的知识进⼊了实际的操作中,特别是对对电⼦钟的实验发现微机原理可以实验很多东西,我们现实中的很多东西都是通过微机原理的编程实现的,⽐如⼗字路⼝的红绿灯、数字式温度计、语⾳模块、光照强度的测试……,切实体验到了微机原理的功能强⼤以及它的重要性。
电子时钟设计实验报告
编号符号引脚说明编号符号引脚说明1 VSS 电源地9 D2 Data I/O2 VDD 电源正极10 D3 Data I/O3 V L 液晶显示偏压信号11 D4 Data I/O4 R S 数据/命令选择端12 D5 Data I/O5 R/W 读/写选择端13 D6 Data I/O6 E 使能信号14 D7 Data I/O7 D0 Data I/O 15 BLA背光源正极8 D1 Data I/O 16 BLK 背光源负极单片机电子时钟设计报告一、设计任务本次课程设计的电子时钟电路,是基于单片机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:显示开及光标设置。
电子时钟数电实验报告
课题数字电子钟的设计与调试通信与信息工程学院通信工程1301班安森昊 1307020121一、设计目标(1)通过设计与实践,制作出具有准确显示小时,分,秒的数字钟。
(2)数字中的功能要求:准确计时,以数字形式显示时、分、秒的时间,小时计时要求为“24翻1”,分和秒计时要求为60进制。
二、概括(1)数字钟简介20世纪末,电子技术获得飞快发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力的推动了社会生产力的发展和社会信息化的提升,同时也使现代产品性能进一步的提高,产品的更新换代的节奏也越来越快。
数字钟已成为人们日常生活中的必不可少的必需品,广泛应用于个人的家庭以及车站、码头、剧场、办公室等公共场所,给人们的生活、学习、工作、娱乐、带来极大的方便。
由于数字集成电路技术的发展和才用了先进的石英技术,使数字钟具有走时准确、性能稳定、集成电路有体积小、功耗小、功能多、携带方便等优点。
因此在许多电子设备中被广泛使用。
(2)设计思路要想构成数字钟,首先应选择一个脉冲源——能自动地产生稳定的标准时间脉冲信号。
而脉冲源产生的脉冲信号地频率较高,因此,需要进行分频,使得高频脉冲信号变成适合于计时的低频脉冲信号,即“秒脉冲信号”(频率为1Hz)。
经过分频器输出的秒脉冲信号到计数器中进行计数。
由于计时的规律是:60秒=1分,60分=1小时,24小时=1天,就需要分别设计60进制,24进制计数器,并发出驱动信号。
各计数器输出信号经译码器、驱动器到数字显示器,是“时”、“分”、“秒”得以数字显示出来。
三、主要实验器材四、设计框图五、设计单元电路(1)振荡器振荡电路是数字中的核心,主要用来产生时间标准信号,数字钟的精度,主要取决于时间标准信号的频率及其稳定度。
一般来说,振荡器的频率越高,计时精度越高。
通常采用石英晶体震荡器经过分频得到这一信号,也可采用由与门电路或555定时器构成的多谐振荡器作为时间标准信号源。
本设计方案采用的是集成电路定时器555与RC组成的多谐振荡器,如图所示:接通电源后,电容C1被充电,VC1上升,当VC1上升到2/3VCC时,触发器被复位,同时放点BJTT导通,此时Vo为低电平,电容C1通过R和T放点,使VC1下降。
单片机电子时钟课程设计实验报告(1)
单片机电子时钟课程设计实验报告(1)单片机电子时钟课程设计实验报告一、实验内容本次实验的主要内容是使用单片机设计一个电子时钟,通过编程控制单片机,实现时钟的显示、报时、闹钟等功能。
二、实验步骤1.硬件设计根据实验要求,搭建电子时钟的硬件电路,包括单片机、时钟模块、显示模块、按键模块等。
2.软件设计通过C语言编写单片机程序,用于实现时钟功能。
3.程序实现(1)时钟显示功能通过读取时钟模块的时间信息,在显示模块上显示当前时间。
(2)报时功能设置定时器,在每个整点时,通过发出对应的蜂鸣声,提示时间到达整点。
(3)闹钟功能设置闹钟时间和闹铃时间,在闹钟时间到达时,发出提示蜂鸣,并在屏幕上显示“闹钟时间到了”。
(4)时间设置功能通过按键模块实现时间的设置,包括设置小时数、分钟数、秒数等。
(5)年月日设置功能通过按键模块实现年月日的设置,包括设置年份、月份、日期等。
三、实验结果经过调试,电子时钟的各项功能都能够正常实现。
在运行过程中,时钟能够准确、稳定地显示当前时间,并在整点时提示时间到达整点。
在设定的闹铃时间到达时,能够发出提示蜂鸣,并在屏幕上显示“闹钟时间到了”。
同时,在需要设置时间和年月日信息时,也能够通过按键进行相应的设置操作。
四、实验感悟通过本次实验,我深刻体会到了单片机在电子设备中的广泛应用以及C 语言在程序设计中的重要性。
通过实验,我不仅掌握了单片机的硬件设计与编程技术,还学会了在设计电子设备时,应重视系统的稳定性与可靠性,并善于寻找调试过程中的问题并解决。
在今后的学习和工作中,我将继续加强对单片机及其应用的学习与掌握,努力提升自己的实践能力,为未来的科研与工作做好充分准备。
电子时钟实验报告
电子时钟实验报告电子时钟实验报告_电子时钟电子时钟实验报告一、实验目的学习8051定时器时间计时处理、按键扫描及LED数码管显示的设计方法。
二、设计任务及要求利用实验平台上4个LED数码管,设计带有闹铃功能的数字时钟,要求:1.在4位数码管上显示当前时间,显示格式为“时时分分”;2.由LED闪动做秒显示;3.利用按键可对时间及闹玲进行设置,并可显示闹玲时间。
当闹玲时间到蜂鸣器发出音乐,按停止键使可使闹玲声停止。
三、工作原理及设计思路利用单片机定时器完成计时功能,定时器0计时中断程序每隔5ms中断一次并当作一个计数,每中断一次计数加1,当计数200次时,则表示1s到了,秒变量加1,同理再判断是否1min钟到了,再判断是否1h到了。
为了将时间在LED数码管上显示,可采用静态显示法和动态显示法,由于静态显示法需要数据锁存器等较多硬件,可采用动态显示法实现LED显示。
闹铃声由交流蜂鸣器产生,电路如右图,当P1.7输出不同频率的方波,蜂鸣器便会发出不同的声音。
四、电路设计及描述(1) 硬件连接部分:在ZKS-03单片机综合实验仪上有四位共阳LED数码管,其标号分别为LED1~LED4。
为了节省MCU的I/O口,采用串行接口方式,它仅占用系统2个I/O口,即P1.0口和P1.1口,一个用作数据线SDA,另一个用作时钟信号线CLK,它们都通过跳线选择器JP1相连。
由于采用共阳LED数码管,它的阴极分别通过限流电阻R20~R27连接到控制KD_0~KD_Q7。
这样控制8个发光二极管,就需要8个I/O口。
但由于单片机的I/O口资源是有限的,因此常采用实验电路所示的串并转换电路来扩充系统资源。
串并转换电路其实质是一个串入并处的移位寄存器,串行数据再同步移位脉冲CLK的作用下经串行数据线SDA把数据移位到KD_0~KD_Q7端,这样仅需2根线就可以分别控制8个发光二极管的亮灭。
而P0口只能作地址/数据总线,P2口只能作地址总线高8位,P3.0、P3.1作为串行输入、输出接口,实验仪上单片机可用作I/O的口仅有:P1.0--P1.7 ,8位;P3.2、P3.3、P3.4、P3.5 ,4位。
电子时钟的电子设计实习报告
电子时钟的电子设计实习报告一、实习目的与要求本次电子设计实习的主要目的是让我们了解和掌握电子时钟的设计与制作过程,培养我们动手实践能力和团队协作精神。
要求我们能够根据给定的功能要求,设计并制作一个电子时钟,实现小时、分钟和秒的显示功能。
二、实习内容与过程1. 需求分析:根据实习任务,我们首先进行了需求分析,明确了电子时钟需要实现的功能,包括小时、分钟和秒的显示,以及时间的设定和调整等功能。
2. 方案设计:在需求分析的基础上,我们设计了电子时钟的总体方案。
采用了MCU(Micro Control Unit,微控制器)作为核心控制器,实现时间的计算和显示控制。
同时,选择了合适的时钟芯片和显示模块,完成了硬件选型。
3. 硬件制作:根据方案设计,我们进行了电路原理图的设计,并选择了合适的元器件进行硬件制作。
主要包括MCU、时钟芯片、显示模块、按键模块等。
4. 软件编程:我们编写了MCU的程序代码,实现了时间的计算、显示控制以及时间的设定和调整等功能。
同时,通过调试和优化代码,保证了时钟的准确性和稳定性。
5. 系统测试:完成了硬件和软件的集成后,我们对电子时钟进行了系统测试。
测试内容包括时间的准确性、显示功能的正常运行以及时间的设定和调整等功能。
三、实习成果与总结通过本次实习,我们成功设计并制作了一个电子时钟,实现了小时、分钟和秒的显示功能,以及时间的设定和调整等功能。
在实习过程中,我们不仅掌握了电子时钟的设计方法和制作流程,还培养了团队协作和动手实践能力。
通过本次实习,我们深刻认识到了电子设计的重要性和实践意义。
在今后的学习和工作中,我们将不断努力,不断提高自己的电子设计能力,为我国的电子产业做出贡献。
单片机电子时钟实验报告
单片机电子时钟实验报告一、实验目的:1.了解单片机的基本知识和工作原理;2.掌握单片机的时钟生成方法;3.实现一个基本的电子时钟。
二、实验器材:1.STC89C52单片机开发板;2.LCD1602液晶显示屏;3.外部晶体振荡器;4.面包板、杜邦线等。
三、实验原理:单片机是由一个集成电路芯片组成的微型计算机系统。
它具有高度集成和灵活应用的特点,被广泛应用于各种电子设备中。
STC89C52是一种常见的单片机,具有可编程的特点,可以通过编写程序实现各种功能。
为了实现电子时钟功能,我们需要了解单片机的时钟生成方法。
单片机一般内部包含一个振荡器电路,通过外部晶体振荡器提供的时钟信号来控制单片机的工作速度。
具体实现时钟功能需要通过编写程序生成一个固定频率的脉冲信号,并通过控制液晶显示屏显示当前的时间。
四、实验步骤:1.将STC89C52单片机开发板、液晶显示屏、外部晶体振荡器等连接起来,按照电路图进行布线。
2.编写程序,通过设置定时器,生成1毫秒的定时中断信号。
在中断程序中,获取当前的系统时间,并进行相应的显示。
4.观察液晶显示屏,检查是否显示当前的时间,如正常显示,则实验成功。
五、实验结果与分析:经过实验,我们成功实现了一个简单的电子时钟。
液晶显示屏能够正常显示当前的时间,而且精度较高。
实验过程中,我们对单片机的工作原理和编程方法有了更深入的了解。
六、实验心得与体会:通过这次实验,我掌握了单片机的基本知识和工作原理,并实际编写了一个电子时钟程序。
通过实际操作,我对单片机的应用有了更深入的理解,也提高了动手能力和解决问题的能力。
在今后的学习和工作中,我将继续深入学习单片机的原理和应用,不断提高自己的技术水平。
电子钟实验报告
电子钟实验报告电子钟实验报告引言:电子钟是一种利用电子技术来实现时间显示的装置,它不仅能够准确地显示时间,还具备了一些其他功能,如闹钟、温度显示等。
在本次实验中,我们将通过搭建一个简单的电子钟来了解其基本原理和工作方式。
一、材料与方法本次实验所需材料包括:Arduino开发板、LCD液晶显示屏、实时时钟模块、电阻、电容等。
我们首先将这些材料按照电路图连接起来,然后通过编写Arduino代码来实现时间的显示和功能的控制。
二、电子钟的原理电子钟的核心部分是实时时钟模块,它通过与Arduino开发板的连接,提供准确的时间信号。
实时时钟模块内部有一个独立的时钟电路,可以独立运行,并通过I2C总线与Arduino进行通信。
当我们将时间信息发送给实时时钟模块后,它会自动更新时间,并通过Arduino控制LCD显示屏来显示时间。
三、电路连接与编程我们首先将Arduino开发板与实时时钟模块通过I2C总线连接,然后将LCD显示屏与Arduino开发板连接。
接下来,我们需要编写Arduino代码来实现时间的显示和功能的控制。
在代码中,我们需要使用实时时钟模块的库函数来获取当前时间,并将其发送给LCD显示屏进行显示。
同时,我们还可以通过编写代码来实现一些其他功能,如闹钟、温度显示等。
四、实验结果与分析经过搭建电路和编写代码后,我们成功地实现了一个简单的电子钟。
通过观察LCD显示屏,我们可以清晰地看到当前的时间,并且可以通过按键来控制闹钟的开关和设置温度显示。
这个电子钟不仅具备了时间显示的功能,还具备了一些其他实用的功能,为我们的生活带来了便利。
五、实验总结通过本次实验,我们深入了解了电子钟的原理和工作方式,并通过实际操作来搭建了一个简单的电子钟。
在实验过程中,我们不仅学会了如何连接电路和编写代码,还锻炼了自己的动手能力和解决问题的能力。
电子钟作为一种常见的电子设备,广泛应用于我们的日常生活中,通过本次实验,我们对其有了更深入的了解。
电子时钟实习报告
一、实习背景随着科技的不断发展,电子时钟因其精确、方便、美观等特点,已成为现代生活中不可或缺的电子产品。
为了更好地了解电子时钟的设计与制作过程,提高自己的实践能力,我参加了本次电子时钟实习。
二、实习目的1. 了解电子时钟的基本原理和电路组成。
2. 掌握电子时钟的设计与制作方法。
3. 提高自己的动手能力和团队协作能力。
三、实习内容1. 电子时钟基本原理电子时钟是一种利用电子技术实现计时功能的设备。
其主要原理是利用晶振产生稳定频率的信号,经过计数器进行计数,最终由显示器显示时间。
2. 电子时钟电路组成电子时钟电路主要由以下几个部分组成:(1)晶振:产生稳定频率的信号。
(2)计数器:对晶振信号进行计数。
(3)译码器:将计数器的输出转换为显示器可识别的信号。
(4)显示器:显示时间。
(5)复位电路:实现电子时钟的复位功能。
3. 电子时钟设计与制作(1)设计过程在设计电子时钟的过程中,首先要确定所需的功能,如显示时分秒、闹钟等。
然后根据功能需求,选择合适的电子元件和电路模块。
最后,根据电路原理图进行电路板的设计。
(2)制作过程在制作电子时钟的过程中,需要完成以下步骤:①元器件焊接:按照电路原理图,将元器件焊接在电路板上。
②电路板制作:根据电路原理图,制作电路板。
③电路调试:将电路板上的元器件进行调试,确保电路正常工作。
④组装:将电路板、显示器、电池等部件组装在一起。
⑤测试:对组装好的电子时钟进行测试,确保其功能正常。
四、实习成果通过本次电子时钟实习,我取得了以下成果:1. 掌握了电子时钟的基本原理和电路组成。
2. 学会了电子时钟的设计与制作方法。
3. 提高了动手能力和团队协作能力。
五、实习体会1. 理论与实践相结合:在实习过程中,我深刻体会到理论与实践相结合的重要性。
只有将所学知识运用到实际操作中,才能真正掌握电子时钟的设计与制作方法。
2. 注重细节:在制作电子时钟的过程中,细节决定成败。
我学会了如何注意电路板焊接、元器件安装等细节,确保电子时钟的正常工作。
数字电子钟课程实验报告
题目数字电子钟制作与调试姓名班级学号指导教师2010年12月28日数字电子时钟装配报告一、设计任务设计并制作一个电子时钟,显示当前时间,使用电子元气套件组装好数字电子钟,并接通电源调试,使其能正常显示数字并且能够调时,分,秒功能。
熟悉和正确使用电烙铁,能在操作过程中发现问题并且通过自己独立思考和仔细分析发现问题出现的地点并解决问题。
二、设计准备和工具1、准备好电烙铁、松香、焊锡丝、剪钳、万用表、夹子等常2、找一个安全平整的工作台,打开元件包,对着元件清单,清点元件。
3、分析电路原理图,了解工作原理,并将原理图和电路板对照,深刻印象。
4、用万用表分别测量各个远见的好坏,进一步巩固已经学到的知识三、电路设计1、电路原理图及其原理分析大屏幕数字钟套件采用6位数字(二十四小时制)显示,格式为“时时:分分:秒秒”,电路板尺寸为330MM*70MM,是以前大屏幕数字钟的改进版,解决了以前大屏幕数字钟显示数字“6”和“9”不美观的现象;解决了发光二极管引脚焊盘间距过大容易插坏LED的现象;解决了用户如果自己安装外壳时,电源和外接调时开关不方便安装的现象。
纯硬件电路,每个笔画由三个LED组成,频差为-200PPM的石英晶体定时,走时精度高。
工作电压:交流5V—9V,直流6V—10V。
四、电源接线图板外接线图:(板外接线图只提供参考,具体元件没有配备)时间设置:板上不带设置开关,调整时间需要导线分别短接对应插针。
(1). 短接“COM”和“H”插针,快速走时显示,等“小时”显示到需要的时间后,断开短接;(2.)短接“COM”和“M”插针,快速走时显示,等“分钟”显示到需要的时间后,断开短接;(3.)短接“COM”和“S”插针,快速走时显示,等“秒钟”显示到需要的时间后,断开短接;( 4. ) 短接“COM”和“T”插针,停止走五、元器件及其参数依据元器件的规格,依次把元器件装配在电路板上,我们就可以进行最后的通电调试了。
电子时钟实验报告
电子时钟实验报告电子时钟实验报告引言:电子时钟是一种使用数字显示时间的现代化设备,它在我们的日常生活中起着重要的作用。
本次实验旨在通过制作一个简单的电子时钟,了解其工作原理和基本构造,并对其进行测试和改进。
一、实验材料和设备本次实验所需材料和设备包括:电子元件(电阻、电容、二极管等)、集成电路、面包板、电源、示波器、万用表等。
二、实验步骤1. 准备工作首先,我们需要准备好所需的电子元件和设备,并将它们连接在面包板上。
确保连接正确无误后,将面包板连接到电源上。
2. 时钟电路设计我们设计的电子时钟采用了数字时分秒的显示方式。
为了实现这一功能,我们使用了一个集成电路来控制时钟的计时和显示功能。
通过连接电阻和电容,我们可以调整时钟的频率和精度。
3. 时钟电路测试在完成时钟电路的设计后,我们需要进行测试以确保其正常工作。
首先,我们使用示波器来观察时钟信号的波形,并检查其频率和稳定性。
然后,我们使用万用表来测量电压和电流,确保电路中没有异常。
4. 时钟显示改进为了提高时钟的显示效果,我们可以对电子时钟进行改进。
例如,我们可以增加背光功能,使时钟在光线较暗的环境下也能清晰可见。
此外,我们还可以增加闹钟功能,使时钟能够发出声音提醒我们。
5. 结果分析通过实验,我们成功制作了一个简单的电子时钟,并对其进行了测试和改进。
我们发现,该时钟具有较高的准确性和稳定性,能够准确显示时间。
同时,通过添加背光和闹钟功能,我们提高了时钟的实用性和便利性。
6. 实验总结本次实验使我们更加深入地了解了电子时钟的工作原理和构造。
通过实践,我们不仅学会了如何制作一个简单的电子时钟,还了解了如何测试和改进它。
这对我们理解电子时钟的应用和发展具有重要意义。
结论:通过本次实验,我们成功制作了一个简单的电子时钟,并对其进行了测试和改进。
我们深入了解了电子时钟的工作原理和构造,并发现其具有较高的准确性和稳定性。
通过实践,我们不仅学会了如何制作一个电子时钟,还了解了如何测试和改进它。
电装实习电子钟实验报告
一、实习目的本次电子钟实验旨在通过实际操作,让学生了解和掌握电子钟的基本工作原理,熟悉电子元器件的识别和使用,提高学生的动手能力和电路设计能力。
通过实验,使学生能够熟练掌握电子钟的组装、调试和维修方法,为今后从事相关电子技术工作打下坚实基础。
二、实验器材1. 74LS90计数器芯片(4片)2. 74LS20异或门芯片(1片)3. 555定时器芯片(1片)4. 74LS04六反相器芯片(1片)5. 3.5795MHz晶振(1个)6. 电阻、电容、二极管等电子元器件7. 万用表、电烙铁、焊接工具、面包板等三、实验原理电子钟的原理是利用晶振产生稳定的振荡信号,通过计数器进行计时,并通过显示模块显示时间。
具体工作流程如下:1. 晶振产生3.5795MHz的振荡信号,经过555定时器整形后,得到1Hz的方波信号。
2. 1Hz的方波信号输入到74LS90计数器,计数器进行计数,计数结果为秒。
3. 计数器输出高电平后,通过异或门产生一个脉冲信号,输入到下一个计数器,实现分和时的计数。
4. 计数结果通过74LS04六反相器进行电平转换,输入到显示模块,显示时间。
四、实验步骤1. 按照电路图连接电路,将晶振、555定时器、计数器、异或门、六反相器等芯片插入面包板。
2. 将电阻、电容、二极管等电子元器件按照电路图连接到面包板。
3. 使用万用表检测电路的各个节点电压,确保电路连接正确。
4. 通电测试电路,观察计数器和显示模块是否正常工作。
5. 调整电路参数,使电子钟的显示时间与实际时间一致。
五、实验结果与分析1. 实验成功组装了一台电子钟,计时精度较高。
2. 通过实验,掌握了电子钟的基本工作原理和电路设计方法。
3. 学会了电子元器件的识别和使用,提高了动手能力。
六、实验总结本次电子钟实验,使我们对电子钟的工作原理有了更深入的了解,提高了动手能力和电路设计能力。
在实验过程中,我们遇到了一些问题,如电路连接错误、元器件损坏等,通过查阅资料、请教老师和同学,最终解决了问题。
电子实习数字钟实验报告
数字钟实验报告一、实验目的1. 学习数字电路的设计与实践,提高动手能力。
2. 了解和掌握数字电子钟的工作原理及制作方法。
3. 培养严谨的科学态度和良好的团队协作精神。
二、实验任务及要求1. 设计并制作一个具有时、分、秒显示功能的数字电子钟。
2. 电子钟应具备校时功能,能手动调整时、分。
3. 电子钟在24小时内整点报时,从59分50秒开始,每2秒钟响一声,共响5次。
4. 电子钟在6--22点之间每整点报时,23--5点之间整点不报时。
三、实验原理及设计思路1. 实验原理数字电子钟主要由石英晶体振荡器、分频器、计数器、译码器、显示器等组成。
石英晶体振荡器产生1Hz的基准信号,分频器将1Hz信号分频得到秒信号,计数器对秒信号进行计数实现时、分、秒的显示,译码器将计数器的输出信号转换为显示器所需的信号,显示器以数字形式显示时间。
2. 设计思路(1)选用合适的石英晶体振荡器,确保电子钟的走时准确。
(2)设计分频器,将1Hz信号分频得到秒信号。
(3)设计计数器,实现时、分、秒的计数功能。
(4)设计译码器,将计数器的输出信号转换为显示器所需的信号。
(5)设计显示器,以数字形式显示时间。
(6)设计校时电路,实现手动调整时、分功能。
(7)设计整点报时电路,实现整点报时功能。
四、实验步骤1. 搭建石英晶体振荡器电路,确保输出1Hz的基准信号。
2. 设计并搭建分频器电路,将1Hz信号分频得到秒信号。
3. 设计并搭建计数器电路,实现时、分、秒的计数功能。
4. 设计并搭建译码器电路,将计数器的输出信号转换为显示器所需的信号。
5. 设计并搭建显示器电路,以数字形式显示时间。
6. 设计并搭建校时电路,实现手动调整时、分功能。
7. 设计并搭建整点报时电路,实现整点报时功能。
8. 调试并优化电路,确保电子钟的正常运行。
五、实验结果与分析1. 实验结果经过以上步骤,我们成功制作了一个具有时、分、秒显示功能的数字电子钟。
实验结果显示,电子钟走时准确,能手动调整时、分,整点报时功能正常,符合实验要求。
电子时钟实验报告
电⼦时钟实验报告单⽚机原理及应⽤设计报告题⽬电⼦时钟的设计专业物理学院部物理与电⼦⼯程学院学号-----------姓名-----------指导教师-----------答辩时间⼆0⼀⼆年五⽉⼯作时间:2012年5⽉基于单⽚机的电⼦时钟系统的设计指导教师:---学⽣:---关键词:单⽚机;电⼦时钟;键盘控制器;⽬录第⼀章总体设计 (1)第⼆章系统硬件设计 (2)2.1 硬件电路 (2)2.1.1 单⽚机最⼩系统 (3)2.1.2 键盘电路 (5)2.1.3 显⽰电路 (5)第三章系统软件设计 (6)3.1主程序流程图 (6)3.2 主要⼦程序的流程图 (7)第四章系统仿真 (8)第五章综合调试与问题的解决 (9)5.1 硬件调试 (9)5.2 软件调试问题及解决 (9)结论 (10)参考⽂献 (10)附录 (11)第⼀章总体设计1.1 设计要求电⼦时钟的计时范围00时00分00秒⾄23时59分59秒,由按键来调节时钟时间,时分秒都可以调整。
1.2 设计思路根据设计的要求可确定如下的设计思路:利⽤AT89C52系统单⽚机,LCD 液晶显⽰器,键盘等⼀些辅助元件来⽣成时钟电路已达到设计要求,然后通过编写相应的程序来实现对时钟的调试和控制。
1.3 电路的设计⽅案随着单⽚机技术的飞速发展,通过单⽚机对控制对象的控制⽇益成为今后⾃动控制领域的⼀个发展⽅向。
采⽤MCS--52单⽚机来对时间进⾏控制,不仅具有控时⽅便,组太简单和灵和性⼤等优点,⽽且可以⼤幅度的提⾼控制时间的技术指标。
从⽽可以⼤⼤提⾼产品的质量和数量,因此单⽚机对时间的控制问题是⼀个⼯业⽣产上经常会遇到的问题。
经过设计和元器件的功能,设计要求和设计思路,确定相应的设计⽅案,该电路有多部分组成,如控制键盘的输⼊电路,单⽚机的时钟电路,LCD 液晶显⽰时间电路等。
所以根据上述条件作出相应的实时时钟电路总的框图,然后开始设计内部驱动程序,是各种芯⽚按照相应的程序实现特定的功能,之后按照程序的设计,将相应的管脚连接调试,看是够能实现特定的功能。
电子时钟实验报告
实验6 数字电子钟的设计一、实验目的1、学会综合运用常用电路单元设计数字系统2、学会组装调试技术3、完成数字钟的基本功能及扩展电路的设计任务二、实验原理数字钟是一个将“时”,“分”,“秒”显示于人的视觉器官的计时装置。
它的计时周期为12小时,显示满刻度为12时59分59秒,另外有报时功能。
因此,一个基本的数字钟电路主要由译码显示器、“时”,“分”,“秒”计数器、报时电路和振荡器组成。
干电路系统由秒信号发生器、“时、分、秒”计数器、译码器及显示器、整点报时电路组成。
秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,一般用石英晶体振荡器加分频器来实现。
将标准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,每累计60秒发现胡一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。
“分计数器”也采用60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时计数器”。
“时计数器”采用12进制计时器,可实现对12小时的累计。
译码显示电路将“时”、“分”、“秒”计数器的输出状态菁七段显示译码器译码,通过六位LED 七段显示器显示出来。
整点报时电路时根据计时系统的输出状态产生一脉冲信号,然后去触发一音频发生器实现报时。
1、振荡器振荡器的作用是产生时间标准信号。
数字钟的精度就是主要取决于时间标准信的频率和稳定度。
2、计数器根据计数周期分别组成两个60进制(秒、分)和一个12进制(时)的计数器。
把它们适当连接可以构成秒、分、时的计数,实现计时功能。
3、译码和数码显示电路译码和数码显示电路是将数字钟的计时状态直观清晰地反映出来。
可被人们的视觉器官所接受。
显示器件选用LED七段数码管。
在译码显示电路输出信号的驱动下,显示出清晰直观的数字符号。
4、报时电路当数字钟显示整点时,应能报时。
要求当数字钟的“分”和“秒”计数器计到59分50秒时,驱动音响电路。
5、原理框图6、实现方案自行选择芯片,例如74LS90、74LS192、74LS160、74LS161、555、晶振等常用数字电路集成电路,来完成电路的设计与调试,并最终完成设计。
数字电子钟 实验报告
课题一数字电子钟电子钟是一种高精度的计时工具,它采用了集成电路和石英技术,因此走时精度高,稳定性能好,使用方便,且不需要经常调校。
电子钟根据显示方式不同,分为指针式电子钟和数字式电子钟。
指针式电子钟采用机械传动带动指针显示;而数字式电子钟则是采用译码电路驱动数码显示器件,以数字形式显示。
这些译码显示器件,利用集成技术可以做的非常小巧,也可以另加一定的驱动电路,推动霓红灯或白炽灯显示系统,制做成大型电子钟表。
因此,数字式电子钟用途非常广泛。
一、课程设计(综合实验)的目的与要求设计一个具有如下功能的数字电子钟:1.基本功能(1)能直接显示时、分、秒;(2)能正确计时,小时采用二十四进制,分和秒采用60进制;(3)有校时功能,手动调整时、分;2.扩展功能(1)能进行24小时整点报时,要求从59分50秒开始,每2秒钟响一声,共响5次;每响一次声音持续0.5秒。
(2)要求只在6--22点之间每整点报时,23--5点之间整点不报时;(3)具有任意几点几分均可响铃的闹钟控制电路。
响铃1分钟,可人为通过开关使响铃提前终止;二、设计(实验)正文数字电子钟实际上是一个对标准频率(1HZ)进行计数并通过数码管显示的计数电路,由于计数的起始时间与标准时间(如北京时间)不一致,故需要在电路上加一个校时电路。
标准的1HZ时间信号必须准确稳定,可以使用555定时器设计1HZ的振荡电路。
时间计数电路由秒计数器(个位,十位)、分计数器(个位,十位)电路构成,秒个位和秒十位计数器、分个位和分十位计数器均为60进制计数器,而根据设计要求,时个位和时十位计数器为24进制计数器。
1.系统原理框图如下:2.1 分、秒计时器分、秒计时器均为60进制计数器,当秒计时器接受到一个秒脉冲时,秒计数器个位开始从1计数到9,同时在个位计数产生进位时将进位接秒计数器的十位计数器CLK,此时秒显示器将显示00、01、02、...、59、00;每当秒计数器数到00时,就会产生一个脉冲输出送至分计时器,此时分计数器数值在原有基础上加1,其显示器将显示00、01、02、...、59、00,当分计数器产生进位时,将会在进位端产生高电平,进而触发电路,驱动蜂鸣器,起到整点报时的功能。
电子时钟实验报告
电子时钟实验报告一,实验目的1. 学习8051定时器时间计时处理、按键扫描及LED数码管显示的设计方法。
2. 设计任务及要求利用实验平台上4个LED数码管,设计带有闹铃功能的数字时钟二,实验要求A.基本要求:1:可以正常准确的显示时间.2:可以通过键盘输入来对时间进行调整.3:能够以两种时钟表示方式显示时间.B.扩展部分:三,实验基本原理利用单片机定时器完成计时功能,定时器0计时中断程序每隔0.05s中断一次并当作一个计数,设定定时1秒的中断计数初值为20,每中断一次中断计数初值加1,当加到20时,则表示1s到了,秒变量加1,同理再判断是否1min钟到了,再判断是否1h到了。
为了将时间在LED数码管上显示,可采用静态显示法和动态显示法,由于静态显示法需要译码器,数据锁存器等较多硬件,可采用动态显示法实现LED显示,通过对每位数码管的依次扫描,使对应数码管亮,同时向该数码管送对应的字码,使其显示数字。
由于数码管扫描周期很短,由于人眼的视觉暂留效应,使数码管看起来总是亮的,从而实现了各种显示。
四,实验设计分析针对要实现的功能,采用AT89S52单片机进行设计,AT89S52 单片机是一款低功耗,高性能CMOS8位单片机,片内含4KB在线可编程(ISP)的可反复擦写1000次的Flash只读程序存储器,器件采用高密度、非易失性存储技术制造,兼容标准MCS- 51指令系统及80C51引脚结构。
这样,既能做到经济合理又能实现预期的功能。
在程序方面,采用分块设计的方法,这样既减小了编程难度、使程序易于理解,又能便于添加各项功能。
程序可分为闹钟的声音程序、时间显示程序、日期显示程序,秒表显示程序,时间调整程序、闹钟调整程序、定时调整程序,延时程序等。
运用这种方法,关键在于各模块的兼容和配合,若各模块不匹配会出现意想不到的错误。
首先,在编程之前必须了解硬件结构尤其是各引脚的用法,以及内部寄存器、存储单元的用法,否则,编程无从下手,电路也无法设计。
电子钟课程设计实验报告
电子钟课程设计实验报告实验报告:电子钟课程设计一、实验目的:1. 掌握电子时钟的硬件设计和软件编程方法。
2. 熟悉数字电路的设计和实现。
3. 提高电路设计和实验能力。
二、实验设备和材料:1. FPGA 开发板。
2. 七段数码管。
3. 按钮开关。
4. 时钟电路。
三、实验原理:本电子钟的基本原理是通过 FPGA 芯片实时计数,并将计数结果转化为时间的显示。
时钟电路提供一个恒定的时钟信号,FPGA 芯片在每个时钟脉冲到来时进行计数,并将计数结果转化为显示在七段数码管上。
按钮开关用于设置时间。
四、实验步骤:1. 确定时钟信号的频率,并设计时钟电路,将时钟信号连接到FPGA 开发板上的时钟输入引脚。
2. 将七段数码管分别连接到 FPGA 开发板上的输出引脚。
3. 设计计数模块,包括计数器和时钟信号的同步控制。
4. 设计显示模块,将计数结果转化为七段数码管的控制信号。
5. 设计按钮开关控制模块,用于设置时间和调整闹钟参数等功能。
6. 将上述模块整合在一起,并进行综合和实现。
7. 进行电路调试和测试,检查电子钟的功能是否正常。
五、实验结果:经过调试和测试,实验电子钟正常工作,能够实时显示当前时间,并且可以通过按钮开关进行时间设置和闹钟调整。
六、实验总结:通过本次实验,我掌握了电子时钟的硬件设计和软件编程方法,提高了数字电路设计和实验能力。
通过学习和实践,我深刻理解了数字电路和时序控制的基本原理,并能够将其应用到实际项目中。
我还发现,在设计和实现电子钟的过程中,需要注意时序控制的正确性,以确保信号的稳定和正确传递。
电子时钟实验报告
单片机原理及应用设计报告题目电子时钟的设计专业物理学院部物理与电子工程学院学号-----------姓名-----------指导教师-----------答辩时间二0一二年五月工作时间:2012年5月基于单片机的电子时钟系统的设计指导教师:---学生:---关键词:单片机;电子时钟;键盘控制器;目录第一章总体设计2第二章系统硬件设计32.1 硬件电路32.1.1 单片机最小系统52.1.2 键盘电路62.1.3 显示电路7第三章系统软件设计73.1主程序流程图73.2 主要子程序的流程图9第四章系统仿真10第五章综合调试与问题的解决115.1 硬件调试115.2 软件调试问题及解决11结论12参考文献12附录13第一章 总体设计1.1 设计要求电子时钟的计时X 围00时00分00秒至23时59分59秒,由按键来调节时钟时间,时分秒都可以调整。
1.2 设计思路根据设计的要求可确定如下的设计思路:利用AT89C52系统单片机,LCD 液晶显示器,键盘等一些辅助元件来生成时钟电路已达到设计要求,然后通过编写相应的程序来实现对时钟的调试和控制。
1.3 电路的设计方案随着单片机技术的飞速发展,通过单片机对控制对象的控制日益成为今后自动控制领域的一个发展方向 。
采用MCS--52单片机来对时间进行控制,不仅具有控时方便,组太简单和灵和性大等优点,而且可以大幅度的提高控制时间的技术指标。
从而可以大大提高产品的质量和数量,因此单片机对时间的控制问题是一个工业生产上经常会遇到的问题。
经过设计和元器件的功能,设计要求和设计思路,确定相应的设计方案,该电路有多部分组成,如控制键盘的输入电路,单片机的时钟电路,LCD 液晶显示时间电路等。
所以根据上述条件作出相应的实时时钟电路总的框图,然后开始设计内部驱动程序,是各种芯片按照相应的程序实现特定的功能,之后按照程序的设计,将相应的管脚连接调试,看是够能实现特定的功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电子时钟实验报告一、实验目的学习8051定时器时间计时处理、按键扫描及LED数码管显示的设计方法。
二、设计任务及要求利用实验平台上4个LED数码管,设计带有闹铃功能的数字时钟,要求:1.在4位数码管上显示当前时间,显示格式为“时时分分”;2.由LED闪动做秒显示;3.利用按键可对时间及闹玲进行设置,并可显示闹玲时间。
当闹玲时间到蜂鸣器发出音乐,按停止键使可使闹玲声停止。
三、工作原理及设计思路利用单片机定时器完成计时功能,定时器0计时中断程序每隔5ms中断一次并当作一个计数,每中断一次计数加1,当计数200次时,则表示1s到了,秒变量加1,同理再判断是否1min钟到了,再判断是否1h到了。
为了将时间在LED数码管上显示,可采用静态显示法和动态显示法,由于静态显示法需要数据锁存器等较多硬件,可采用动态显示法实现LED显示。
闹铃声由交流蜂鸣器产生,电路如右图,当P1.7输出不同频率的方波,蜂鸣器便会发出不同的声音。
四、电路设计及描述(1)硬件连接部分:在ZKS-03单片机综合实验仪上有四位共阳LED数码管,其标号分别为LED1~LED4。
为了节省MCU的I/O口,采用串行接口方式,它仅占用系统2个I/O 口,即P1.0口和P1.1口,一个用作数据线SDA,另一个用作时钟信号线CLK,它们都通过跳线选择器JP1相连。
由于采用共阳LED数码管,它的阴极分别通过限流电阻R20~R27连接到控制KD_0~KD_Q7。
这样控制8个发光二极管,就需要8个I/O口。
但由于单片机的I/O口资源是有限的,因此常采用实验电路所示的串并转换电路来扩充系统资源。
串并转换电路其实质是一个串入并处的移位寄存器,串行数据再同步移位脉冲CLK的作用下经串行数据线SDA把数据移位到KD_0~KD_Q7端,这样仅需2根线就可以分别控制8个发光二极管的亮灭。
而P0口只能作地址/数据总线,P2口只能作地址总线高8位,P3.0、P3.1作为串行输入、输出接口,实验仪上单片机可用作I/O的口仅有:P1.0--P1.7,8位;P3.2、P3.3、P3.4、P3.5,4位。
其中:P1.0用作数据线SDA,P1.1用作时钟信号CLK,所以P1.0和P1.1应该接对应跳线的A位,即跳线的中间和下面相连。
P1.3、P1.4、P1.5和P1.6是四个数码管的位扫描线,其中P1.6对应数码管W1,显示小时高位;P1.5对应数码管W2,显示小时低位;P1.4对应数码管W3,显示分钟高位;P1.3对应数码管W4,显示分钟低位。
P1.7连接蜂鸣器电路,输出不同频率的方波,使其发出不同的声音。
P1.2用来控制秒的闪烁显示。
故,P1.2也应该接对应跳线的A位。
其显示电路如下图所示:P3.2、P3.3、P3.4、P3.5分别连接单刀双掷开关S1、S2、S3、S4,从而输入高低电平。
将S2S1定义为功能模式选择开关;S3定义为分钟数调整开关;S4定义为小时数调整开关。
当S2S1=00时,显示当前时间,不进行任何操作。
当S2S1=01时,显示当前时间,同时可进行时钟调整,若S3=1,分钟数持续加1,若S4=1,小时数持续加1。
当S2S1=10时,显示闹钟时间,同时可进行闹钟调整,若S3=1,分钟数持续加1,若S4=1,小时数持续加1。
当S2S1=11时,显示当前时间,同时关闭闹钟。
7段显示器的字形与共阳极时编码的对应关系如下表:(2)音节设置原理:由不同频率的方波产生,音节与频率的关系如表1所示。
要产生音频方波,只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间。
利用计时器计时此半周期时间,每当计时到后就将输出方波的I/0反相,然后重复计时此半周期时间再对I/O反相,就可在I/O脚得到此频率的方波。
在ZKS-03实验仪上,产生方波的I/O脚选用P1.7,通过跳线选择器JP1将单片机的P1.7与蜂鸣器的驱动电路相连。
这样P1.7输出不同频率的方波,蜂鸣器便会发出不同的声音。
另外,音乐的节拍是由延时实现的,如果1拍为0.4秒,1/4拍是0.1秒。
只要设定延时时间,就可求得节拍的时间。
延时作为基本延时时间,节拍值只能是它的整数倍,每个音节相应的定时器初值X可按下法计算:(1/2)*(1/f)=(12/fose)*(216-x)即x=216-(fose/24f)其中f:音调频率,当晶振fose=11.0592MHz时,音节“1”相应的定时器初值为x,则可得x=63777D=F921H其它的可同样求得。
在单片机上控制一个音符唱多长可采用循环延时的方法来实现。
将乐谱中的每个音符的音调及节拍变换成相应的音调参数和节拍参数,将他们做成数据表格,存放在存储器中,通过程序取出一个音符的相关参数,播放该音符,该音符唱完后,接着取出下一个音符的相关参数……,如此直到播放完毕最后一个音符,根据需要也可循环不停地播放整个乐曲。
另外,对于乐曲中的休止符,一般将其音调参数设为FFH,FFH,其节拍参数与其他音符的节拍参数确定方法一致,乐曲结束用节拍参数为00H来表示。
(3)实验流程图:闹钟模块:计数模块:五、源程序代码及注释注:首先将单片机用到的主要寄存器做下说明(如下);P1.2作秒的闪烁控制位;P1.7作响铃控制电平;P3.2 、P3.3作模式选择键S2、S1;P3.4 作分调整键S3(分钟数+1);P3.5 作时调整键S4(小时数+1);R0为计数5ms的次数;R1为秒数;R2为分钟数;R3为时钟数;R4在显示程序中作为向LED传递数据时的左移次数标志位;R4在音乐闹铃程序中读取TABLE中的数据;R5作为节拍长度;40H作显示的分;41H作显示的时;42H作闹钟的分;43H作闹钟的时;63H、64H存放延时程序DELAY的延时数;60H、61H作定时器T1的初值。
;******************************主程序*****************************************S1 BIT P3.2 ;定义模式选择键S2、S1S2 BIT P3.3S3 BIT P3.4 ;定义时调整键S4,分调整键S3S4 BIT P3.5SDA BIT P1.0CLK BIT P1.1ORG0000HAJMP MAINORG 000BH ;T0的中断服务程序的入口地址AJMP TIMER ;跳转到时钟走时中断服务程序ORG 001BH ;T1的中断服务程序的入口地址AJMP ALARM_OPEN ;跳转到闹钟响铃中断服务程序ORG0030HMAIN: MOV 40H,#00 ;显示的分MOV 41H,#00 ;显示的时MOV 42H,#58 ;闹钟的分MOV 43H,#23 ;闹钟的时MOV R0,#00H;寄存器清零(RO为计数5ms的次数,R1为秒数,MOV R1,#00H ;R2为分钟数,R3为时钟数)MOV R2,#00HMOV R3,#00HMOV TMOD,#11H;设置T0,T1处于工作方式1MOV TH0,#0EEH;设置定时器的初值MOV TL0,#00HSETB EA ;允许总中断SETB ET0 ;允许T0,T1中断SETB ET1SETB TR0 ;启动T0LOOP: LCALL DISPLAY1 ;调用显示程序LCALL ALARM ;调用闹铃程序LCALL MODE ;调用模式判断程序AJMP LOOP;************************************时钟显示部分*****************************DISPLAY1:MOV DPTR,#TAB1MOV A,41HMOV B,#10DIV ABLCALL DISP1CLR P1.6 ;LED1数码管显示数码,即小时的高位LCALL DELAYSETB P1.6JB P1.2,TD ;控制LED2数码管的小数点"dp"闪烁AJMP TD1TD: MOV A,BAJMP TD2TD1: MOV A,BADD A,#10TD2: LCALL DISP1 ;LED2数码管显示数码,即小时的低位CLR P1.5LCALL DELAYSETB P1.5MOV A,40HMOV B,#10DIV ABLCALL DISP1CLR P1.4 ;LED3数码管显示数码,即分钟的高位LCALL DELAYSETB P1.4MOV A,BLCALL DISP1CLR P1.3 ;LED4数码管显示数码,即分钟的低位LCALL DELAYSETB P1.3RETDISP1: MOVC A,@A+DPTR ;LED串并转换口从P1.0接收MOV R4,#08H ;R4记作左循环的次数DUP1: RLC A ;A带进位左循环移位MOV SDA,CCLR CLK ;上升沿触发数据接收SETB CLKDJNZ R4,DUP1RET;************************************闹钟显示部分*****************************DISPLAY2:MOV DPTR,#TAB1MOV A,43HMOV B,#10DIV ABLCALL DISP2CLR P1.6 ;LED1数码管显示数码,即小时的高位LCALL DELAYSETB P1.6MOV A,BLCALL DISP2CLR P1.5 ;LED2数码管显示数码,即小时的低位LCALL DELAYSETB P1.5MOV A,42HMOV B,#10DIV ABLCALL DISP2CLR P1.4 ;LED3数码管显示数码,即分钟的高位LCALL DELAYSETB P1.4MOV A,BLCALL DISP2CLR P1.3 ;LED4数码管显示数码,即分钟的低位LCALL DELAYSETB P1.3RETDISP2: MOVC A,@A+DPTR ;LED串并转换口从P1.0接收MOV R4,#08H ;R4记作左循环的次数DUP2: RLC A ;A带进位左循环移位MOV SDA,CCLR CLK ;上升沿触发数据接收SETB CLKDJNZ R4,DUP2RET;********************************判断闹钟时间是否到来*************************ALARM:MOV A,40HCJNE A,#00H,MUSIC ;整点闹铃LJMP B2MUSIC: MOV A,43HCJNE A,41H,B1MOV A,42HCJNE A,40H,B1 ;音乐闹铃SETB P1.7MOV 70H,#00HNEXT: MOV A,70HMOV DPTR,#TABLE ;从TABLE中读取数据——声响时间MOVC A,@A+DPTRMOV R4,A ;将TABLE中读取的数据存放在R4JZ END0ANL A,#0FHMOV R5,A ;R5作为节拍长度MOV A,R4SWAP AANL A,#0FHJNZ SINGCLR TR1JMP D1SING: DEC AMOV 62H,ARL AMOV DPTR,#TABLE1 ;从TABLE1中读取数据——声调MOVC A,@A+DPTRMOV TH1,A ;设定TH1值MOV 61H,AMOV A,62HRL AINC AMOVC A,@A+DPTRMOV TL1,A ;设定TL1值MOV 60H,AMOV TH1,61HMOV TL1,60HSETB TR1D1: ACALL DELAY0 ;声音延时INC 70HLCALLMODEJMP NEXTEND0: CLR TR1JMP MUSICDELAY0:MOV R7,#2 ;R5的值就是声响持续时间D2: MOV R6,#214D3: MOV R4,#245DJNZ R4,$DJNZ R6,D3DJNZ R7,D2DJNZ R5,DELAY0RETB1: CLR TR1RETB2:MOV 61H,#0FEHMOV 60H,#033HMOV TH1,61HMOV TL1,60H ;方波频率设为1KHzSETB TR1;********************************闹钟响铃中断服务程序************************ALARM_OPEN:PUSH ACCPUSH PSWMOV TH1,61HMOV TL1,60HCPL P1.7POP PSWPOP ACCRETI;********************************时钟走时中断服务程序*************************TIMER: MOV TH0,#0ECH ;重新对T0赋值,设置中断时间为5ms MOV TL0,#78HMOV 40H,R2MOV 41H,R3INC R0 ;计数5ms的次数加1CJNE R0,#200,BACK ;不够200次,跳转到BACKCPL P1.2 ;够200次,P1.2翻转控制LED闪动一下MOV R0,#00H ;计数5ms的次数清0,秒数加1INC R1CJNE R1,#60,BACK ;不够60秒,跳转到BACKMOV R1,#00H ;够60秒,秒数清0,分钟加1INC R2CJNE R2,#60,BACK ;够60分钟,跳转到BACKMOV R2,#00H ;够60分钟,分钟数清0,小时数加1INC R3CJNE R3,#24,BACK ;够24小时,跳转到BACKMOV R3,#00H ;够24小时,小时数清0BACK: RETI;***********************************按键判断部分*****************************MODE: MOV A,P3 ;软件消抖后再判断LCALL DELAYCJNE A,P3,MODEANL A,#0CH ;对S2、S1的值判断CJNE A,#00H,LOP1AJMP T_BACK ;模式为00,开T1中断LOP1: CJNE A,#04H,LOP2AJMP T_CHANGE ;模式为01,进行时间调整LOP2: CJNE A,#08H,LOP3AJMP A_CHANGE ;模式为10,进行闹铃调整LOP3: AJMP A_CLOSE ;模式为11,关闭闹钟;.............................时钟调整...............................T_CHANGE:LCALL DISPLAY1LCALL DELAY1JNB S3,T_HOUR ;S3为0,判断S4T_MIN: MOV R5,40HINC R5 ;S3为1,分钟数加1CJNE R5,#60,LOP4MOV R5,#00HLOP4: MOV 40H,R5MOV R2,40HAJMP MODET_HOUR:JNB S4,MODE ;S4为0,跳转到MODE MOV R5,41HINC R5CJNE R5,#24,LOP5MOV R5,#00HLOP5: MOV 41H,R5MOV R3,41HAJMP MODE ;.............................闹铃调整................................A_CHANGE:LCALL DISPLAY2LCALL DELAY2JNB S3,A_HOUR ;S3为0,判断S4A_MIN: MOV R5,42HINC R5 ;S3为1,分钟数加1CJNE R5,#60,LOP6MOV R5,#00HLOP6: MOV 42H,R5AJMP MODEA_HOUR:JNB S4,MODE ;S4为0,跳转到MODEMOV R5,43HINC R5 ;S4为1,小时数加1CJNE R5,#24,LOP7MOV R5,#00HLOP7: MOV 43H,R5AJMP MODE ;............................返回.................................T_BACK:SETB ET1 ;开T1中断RETA_CLOSE:CLR ET1 ;关T1中断RET;************************************延时程序********************************DELAY:MOV 63H,#5HD5: MOV 64H,#0FFHDJNZ 64H,$DJNZ 63H,D5RET;************************************延时程序1********************************DELAY1:MOV R7,#50HD6: LCALL DISPLAY1DJNZ R7,D6RET;************************************延时程序2********************************DELAY2:MOV R7,#50HD7: LCALL DISPLAY2DJNZ R7,D7RET;********************************数码管显示的字形表***************************TAB1:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;数字0~9,不带小数点"dp"DB40H,79H,24H,30H,19H,12H,02H,78H,00H,10H ;数字0~9,带小数点"dp";**********************************音乐的节拍表*******************************TABLE: DB82H,01H,81H,94H,84H,0B4H,0A4H,04HDB82H,01H,81H,94H,84H,0C4H,0B4H,04HDB82H,01H,81H,0F4H,0D4H,0B4H,0A4H,94HDB0E2H,01H,0E1H,0D4H,0B4H,0C4H,0B4H,04HDB82H,01H,81H,94H,84H,0B4H,0A4H,94HDB0E2H,01H,0E1H,0D4H,0B4H,0C4H,0B4H,04HDB82H,01H,81H,0F4H,0D4H,0B4H,0A4H,94HDB0E2H,01H,0E1H,0D4H,0B4H,0C4H,0B4H,04HDB00H;***************************由音乐音符设置的T1计数值**************************TABLE1: D W64260,64440,64524,64580,64684,64777,64820,64898 ;音符计数值DW64968,65030,65058,65110,65157,65178,65217END六、实验过程:启动Keil,新建一个工程,然后选择芯片(Philips——P80/P87C52X2)。