电子时钟实验报告-电子时钟.docx

上传人:王** 文档编号:1285540 上传时间:2024-06-09 格式:DOCX 页数:12 大小:84.06KB
下载 相关 举报
电子时钟实验报告-电子时钟.docx_第1页
第1页 / 共12页
电子时钟实验报告-电子时钟.docx_第2页
第2页 / 共12页
电子时钟实验报告-电子时钟.docx_第3页
第3页 / 共12页
电子时钟实验报告-电子时钟.docx_第4页
第4页 / 共12页
电子时钟实验报告-电子时钟.docx_第5页
第5页 / 共12页
电子时钟实验报告-电子时钟.docx_第6页
第6页 / 共12页
电子时钟实验报告-电子时钟.docx_第7页
第7页 / 共12页
电子时钟实验报告-电子时钟.docx_第8页
第8页 / 共12页
电子时钟实验报告-电子时钟.docx_第9页
第9页 / 共12页
电子时钟实验报告-电子时钟.docx_第10页
第10页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《电子时钟实验报告-电子时钟.docx》由会员分享,可在线阅读,更多相关《电子时钟实验报告-电子时钟.docx(12页珍藏版)》请在优知文库上搜索。

1、电子时钟实验报告一、实验目的学习8051定时器时间计时处理、按键扫描及1.ED数码管显示的设计方法。二、设计任务及要求利用实验平台上4个1.ED数码管,设计带有闹铃功能的数字时钟,要求:1 .在4位数码管上显示当前时间,显示格式为“时时分分”;2 .由1.ED闪动做秒显小;3 .利用按键可对时间及闹玲进行设置,并可显示闹玲时间。当闹玲时间到蜂鸣器发出音乐,按停止键使可使闹玲声停止。三、工作原理及设计思路利用单片机定时器完成计时功能,定时器0计时中断程序每隔5ms中断一次并当作一个计数,每中断一次计数加1,当计数200次时,那么表示IS到了,秒变量加1,同理再判断是否Imin钟到了,再判断是否I

2、h到了。为了将时间在1.ED数码管上显示,可采用静态显示法和动态显示法,由于静态显示法需要数据锁存器等较多硬件,可采用动态显示法实现1.ED显示。闹铃声由交流蜂鸣器产生,电路如右图,当P1.7输出不同频率的方波,蜂鸣器便会发出不同的声音。四、电路设计及描述(1)硬件连接局部:在ZKS-03单片机综合实验仪上有四位共阳1.ED数码管,其标号分别为1.ED11.ED4.为了节省MCU的I/O口,采用串行接口方式,它仅占用系统2个I/O口,即P1.O口和P1.l口,一个用作数据线SDA,另一个用作时钟信号线C1.K,它们都通过跳线选择器JPI相连。由于采用共阳1.ED数码管,它的阴极分别通过限流电阻

3、R20-R27连接到控制KD_0KD_Q7。这样控制8个发光二极管,就需要8个I/O口。但由于单片机的I/O口资源是有限的,因此常采用实验电路所示的串并转换电路来扩充系统资源。串并转换电路其实质是一个串入并处的移位存放器,串行数据再同步移位脉冲C1.K的作用下经串行数据线SDA把数据移位到KD_0KD_Q7端,这样仅需2根线就可以分别控制8个发光二极管的亮灭。而Po口只能作地址/数据总线,P2口只能作地址总线高8位,P3.0、P3.1作为串行输入、输出接口,实验仪上单片机可用作I/O的口仅有:Pl.O-P1.7,8位;P3.2、P3.3、P3.4、P3.5,4位。其中:P1.0用作数据线SDA

4、,P1.l用作时钟信号C1.K,所以P1.O和P1.l应该接对应跳线的A位,即跳线的中间和下面相连。PI.3、PI.4、P1.5和P1.6是四个数码管的位扫描线,其中P1.6对应数码管Wl,显示小时高位;P1.5对应数码管W2,显示小时低位;P1.4对应数码管W3,显示分钟高位;P1.3对应数码管W4,显示分钟低位。PI.7连接蜂鸣器电路,输出不同频率的方波,使其发出不同的声音。P1.2用来控制秒的闪烁显示。故,PI.2也应该接对应跳线的A位。其显示电路如下列图所示:P3.2、P3.3、P3.4、P3.5分别连接单刀双掷开关Sl、S2、S3、S4,从而输入上下电平。将S2S1定义为功能模式选择

5、开关;S3定义为分钟数调整开关;S4定义为小时数调整开关。当S2Sl=OO时,显示当前时间,不进行任何操作。当S2Sl=Ol时,显示当前时间,同时可进行时钟调整,假设S3=l,分钟数持续加1,假设S4=l,小时数持续加1。当S2Sl=10时,显示闹钟时间,同时可进行闹钟调整,假设S3=l,分钟数持续加1,假设S4=l,小时数持续加1。当S2Sl=Il时,显示当前时间,同时关闭闹钟。7段显示器的字形与共阳极时编码的对应关系如下表:显TK字符段码显示字符段码0COH7F8H1F9H880H2A4H990H3BOHA88H499HB83H592H无显示FFH682H音节设置原理:由不同频率的方波产生

6、,音节与频率的关系如表1所示。要产生音频方波,只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间。利用计时器计时此半周期时间,每当计时到后就将输出方波的I/O反相,然后重复计时此半周期时间再对I/O反相,就可在I/O脚得到此频率的方波。在ZKS-O3实验仪上,产生方波的I/O脚选用P1.7,通过跳线选择器JP相连。这样P1.7输出不同频率的方波,蜂鸣器便会发出不同的声音。另外,音乐的节拍是由延时实现的,如果1拍为0.4秒,1/4拍是0.1秒。只要设定延时时间,就可求得节拍的时间。延时作为根本延时时间,节拍值只能是它的整数倍,每个音节相应的定时器初值X可按下法计算:(1/2

7、)*(lf)=(12fose)*(2,6-)BPx=2,6-(fose24f)其中f:音调频率,当晶振fose=l1.0592MHz时,音节“1”相应的定时器初值为x,那么可得x=63777D=F921H其它的可同样求得。在单片机上控制一个音符唱多长可采用循环延时的方法来实现。将乐谱中的每个音符的音调及节拍变换成相应的音调参数和节拍参数,将他们做成数据表格,存放在存储器中,通过程序取出一个音符的相关参数,播放该音符,该音符唱完后,接着取出下一个音符的相关参数如此直到播放完毕最后一个音符,根据需要也可循环不停地播放整个乐曲。另外,对于乐曲中的休止符,一般将其音调参数设为FFH,FFH,其节拍参数

8、与其他音符的节拍参数确定方法一致,乐曲结束用节拍参数为OoH来表示。实验流程图:、TO溢出I时钟走时中断效劳程序,按键Y铃时间到?二闹铃中断效劳程序各按键r程序闹钟模块:计数模块:闹怜中断五、源程序代码及注释注:首先将单片机用到的主要存放器做下说明(如下);P1.2作秒的闪烁控制位;P1.7作响铃控制电平;P3.2、P3.3作模式选择键S2、S1;P3.4作分调整键S3(分钟数+1);P3.5作时调整键S4(小时数+1);RO为计数5ms的次数;Rl为秒数;R2为分钟数;R3为时钟数;R4在显示程序中作为向1.ED传递数据时的左移次数标志位;R4在音乐闹铃程序中读取TAB1.E中的数据;R5作

9、为节拍长度;40H作显示的分;41H作显示的时;42H作闹钟的分;43H作闹钟的时;63H、64H存放延时程序DE1.AY的延时数:60H、61H作定时器Tl的初值。*/主程序*SlBITP3.2;定义模式选择键S2、SlS2S3BITP3.4;定义时调整键S4,分调整键S3S4ORGOOOOHAJMPMAINORGOOOBH;T0的中断效劳程序的入口地址AJMPTIMER;跳转到时钟走时中断效劳程序ORGOOlBH;T1的中断效劳程序的入口地址AJMPA1.ARM_OPEN;跳转到闹钟响铃中断效劳程序ORG0030HMAIN:MOV40Hz00;显示的分MOV41Hz00;显示的时MOV42

10、H,#58;闹钟的分MOV43H,#23;闹钟的时MOVRO,#OOH;存放器清零(RO为计数5ms的次数,Rl为秒数,MOVRI,#OOH;R2为分钟数,R3为时钟数)MOVR2,#00HMOVR3,#00HMOVTMOD,#11H;设置TO,Tl处于工作方式1MOVTH0,#OEEH;设置定时器的初值MOVT1.0,#OOHSETBEA;允许总中断SETBETO;允许TO,Tl中断SETBETlSETBTRO;启动TO1.OOP:1.CA1.1.Displayi;调用显示程序1.CA1.1.A1.ARM;调用闹铃程序1.CA1.1.MODE;调用模式判断程序AJMP1.OOP.*时钟显示局

11、部*DISP1.AY1:MOVDPTR,#TABlMOVAz41HMOVB,#10DIVAB1.CA1.1.DISPlC1.RP1.6;1.EDl数码管显示数码,即小时的高位1.CA1.1.DE1.AYSETBP1.6JBP1.2JD;控制1.ED2数码管的小数点”dp“闪烁AJMPTDlTD:MOVA,BAJMPTD2TDl:MOVAzBADDAz#10TD2:1.CA1.1.DISPl;1.ED2数码管显示数码,即小时的低位1.CA1.1.DE1.AYSETBP1.5MOVAz40HMOVB,#10DIVAB1.CA1.1.DISPlC1.RP1.4;1.ED3数码管显示数码,即分钟的高位

12、1.CA1.1.DE1.AYSETBP1.4MOVAzB1.CA1.1.DISPlC1.RP1.3;1.ED4数码管显示数码,即分钟的低位1.CA1.1.DE1.AYSETBP1.3RETMOVR4,#08H;R4记作左循环的次数DUPl:R1.CA;A带进位左循环移位MOVSDA,CC1.RC1.K;上升沿触发数据接收SETBC1.KDJNZR4zDUPlRET*闹钟显月局*DISP1.AY2:Movdptr,#tabiMOVA,43HMOVB,#10DIVAB1.CA1.1.DISP2C1.RP1.6;1.EDl数码管显示数码,即小时的高位1.CA1.1.DE1.AYMOVAzB1.CA1.1.DISP2C1.RP1.5;1.ED2数码管显示数码,即小时的低位1.CA1.1.DE1.AYSETBPMOVAz42HMOVB,#10DIVAB1.CA1.1.DISP2C1.RP1.4;1.ED3数码管显示数码,即分钟的高位1.CA1.1.DE1.AYMOVAzB1.CA1.1.DISP2C1.RP1.3;1.ED4数码管显示数码,即分钟的低位1.CA1.1.DE1.AYRETMOVR4,#08H;R4记作左循环的次数DUP2:R1.CA;A带进位左循环移位MOVSDA,CC1.RC1.K;上升沿触发数据接收SETBC1.KDJNZR4zDUP2RET.*判断闹钟时间是否到*

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 数据结构与算法

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!