ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:1.84MB ,
资源ID:2804135      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2804135.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(电子时钟程序设计 单片机报告.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

电子时钟程序设计 单片机报告.docx

1、电子时钟程序设计 单片机报告单片机原理实验报告 电子时钟程序设计一 、实验目的1、学习8051系列单片机SST89E58RD定时器时间计时处理2、学习按键扫描电路的应用3、掌握LED数码管动态显示的设计方法 二、设计任务及要求 利用实验平台上4个LED数码管, 设计带有闹铃功能的数字时钟,要求: 1、 在4位数码管上显示当前时间,显示格式为“时时分分” ;2、 由LED闪动做秒显示;3、 利用按键可对时间及闹玲进行设置,并可显示闹玲时间。当闹玲时间到蜂鸣器发出声响,按停止键使可使闹玲声停止。 三、实现功能概述1、4位7段数码管上显示当前时间,显示格式为“时时 . 分分”,第三位小数点同时闪烁做

2、秒显示; 2、由红色LED闪动做秒显示; 3、利用按键可对时间及闹铃时间进行设置,可显示闹铃时间。4、闹铃时间到,蜂鸣器持续鸣响;四、工作原理及设计思路 1:利用单片机定时器完成计时功能,定时器0计时中断程序每隔5ms中断一次并当作一个计数,每中断一次计数加1,当计数200次时,则表示1s到了,秒变量加1,同理再判断是否1min钟到了,再判断是否1h到了。为了将时间在LED数码管上显示,可采用静态显示法和动态显示法,由于静态显示法需要数据锁存器等较多硬件,可采用动态显示法实现LED显示。 闹铃声由交流蜂鸣器产生,电路如右图,当P1.7输出不同频率的方波,蜂鸣器便会发出不同的声音。 图:蜂鸣器电

3、路2:硬件电路设计及描述由于扩展了外部存储器, P0口只能作地址/数据总线,P2口只能作地址总线高8位,P3.7、P3.6作为外部数据存储器读写信号。P3.0、P3.1作为串行输入、输出接口,在仿真模式下完成与PC机的通信,故也不可用。实验仪上单片机可用作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对应数码管

4、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,从而输入高低电平。将S2 S1 定义为功能模式选择开关;S3 定义为分钟数调整开关;S4 定义为小时数调整开关。当S2 S1=00时,显示当前时间,不进行任何操作。当S2 S1=01时, 显示当前时间,同时可进行时钟调整,若S3=1,分钟数持续加1,若S4=1,小时数持续

5、加1。当S2 S1=10时,显示闹钟时间,同时可进行闹钟调整,若S3=1,分钟数持续加1,若S4=1,小时数持续加1。当S2 S1=11 时,显示当前时间,同时关闭闹钟五、主要模块设计流程及描述1主模块设计概述2时钟走时中断服务模块模块设计描述:1 进行各端口配置、程序初始化、开定时器0中断及启动计数2 循环调用时钟显示、响铃判断、按键判断子程序3 在调用子程序时,若定时器T0计满产生中断,则开始执行时钟走时中断服务程序4 若响铃开关打开,且闹铃时间到来,定时器T1计满产生中断,则执行闹钟响铃中断服务程序3显示模块本实验使用的数码管为4位共阳数码管,LED的公共阳极接高电平,某个阴极接低电平时

6、,相应的段被点亮显示,为显示不同的字形,显示器各字段所加的电平是不同的,编码也随之不同,7段显示器的字形与共阳极时编码的对应关系如下表显示字符段码显示字符段码0COH7F8H1F9H880H2A4H990H3B0HA88H499HB83H592H无显示FFH682H显示信号由P0.0P0.7输出至74HC573锁存,位选信号由P2.0P2.3输出,经过三极管接到数码管的位选端W1W4。以P0.3为例,当P0.3为低电平时,三极管Q5工作与饱和状态,基极饱和电流约为10mA,集电极为高电平,使选中的数码管点亮。当P0.3为高电平时,三极管Q5工作于截止状态,所以集电极没有电压,相应的数码管灭。每

7、次只允许P0.3P0.6中的一位为低电平,选中相应的数码管,由于扫描速度很快,人的视觉会有暂留效应,所以看到的数码管是都亮的。4校时模块校时模块主要是通过软件来实现的。校时模块可以调整时间和闹钟,这些通过按键扫描电路来判断。以闹铃校时为例,流程如下:5计时模块计时模块是通过定时器0来实现的。定时器1每5ms中断一次,达到200次中断则达到1s时间。计时模块流程图如下:六、源程序代码及注释注:首先将单片机用到的主要寄存器做下说明(如下);P1.2 作秒的闪烁控制位;P1.7 作响铃控制电平;P3.2 、P3.3 作模式选择键S2、S1;P3.4 作分调整键S3(分钟数+1);P3.5 作时调整键

8、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.1ORG 0000

9、HAJMP MAINORG 000BH ;T0的中断服务程序的入口地址AJMP TIMER ;跳转到时钟走时中断服务程序ORG 001BH ;T1的中断服务程序的入口地址AJMP ALARM_OPEN ;跳转到闹钟响铃中断服务程序ORG 0030HMAIN: 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,#00H MOV R3,#00H MOV TMOD

10、,#11H ;设置T0,T1处于工作方式1 MOV TH0,#0EEH ;设置定时器的初值 MOV TL0,#00H SETB EA ;允许总中断 SETB ET0 ;允许T0,T1中断 SETB ET1 SETB TR0 ;启动T0LOOP: LCALL DISPLAY1 ;调用显示程序 LCALL ALARM ;调用闹铃程序 LCALL MODE ;调用模式判断程序 AJMP LOOP;* 时钟显示部分 *DISPLAY1: MOV DPTR,#TAB1 MOV A,41H MOV B,#10 DIV AB LCALL DISP1 CLR P1.6 ;LED1数码管显示数码,即小时的高位

11、LCALL DELAY SETB P1.6 JB P1.2,TD ;控制LED2数码管的小数点dp闪烁 AJMP TD1TD: MOV A,B AJMP TD2TD1: MOV A,B ADD A,#10TD2: LCALL DISP1 ;LED2数码管显示数码,即小时的低位 CLR P1.5 LCALL DELAY SETB P1.5 MOV A,40H MOV B,#10 DIV AB LCALL DISP1 CLR P1.4 ;LED3数码管显示数码,即分钟的高位 LCALL DELAY SETB P1.4 MOV A,B LCALL DISP1 CLR P1.3 ;LED4数码管显示数

12、码,即分钟的低位 LCALL DELAY SETB P1.3 RETDISP1: MOVC A,A+DPTR ;LED串并转换口从P1.0接收 MOV R4,#08H ;R4记作左循环的次数DUP1: RLC A ;A带进位左循环移位 MOV SDA,C CLR CLK ;上升沿触发数据接收 SETB CLK DJNZ R4,DUP1 RET;* 闹钟显示部分 *DISPLAY2: MOV DPTR,#TAB1 MOV A,43H MOV B,#10 DIV AB LCALL DISP2 CLR P1.6 ;LED1数码管显示数码,即小时的高位 LCALL DELAY SETB P1.6 MO

13、V A,B LCALL DISP2 CLR P1.5 ;LED2数码管显示数码,即小时的低位 LCALL DELAY SETB P1.5 MOV A,42H MOV B,#10 DIV AB LCALL DISP2 CLR P1.4 ;LED3数码管显示数码,即分钟的高位 LCALL DELAY SETB P1.4 MOV A,B LCALL DISP2 CLR P1.3 ;LED4数码管显示数码,即分钟的低位 LCALL DELAY SETB P1.3 RETDISP2: MOVC A,A+DPTR ;LED串并转换口从P1.0接收 MOV R4,#08H ;R4记作左循环的次数DUP2: RLC A ;A带进位左循环移位 MOV SDA,C CLR CLK ;上升沿触发数据接收 SETB CLK DJNZ R4,DUP2 RET;* 判断闹钟时间是否到来 *ALARM:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1