单片机课程设计电子时钟

上传人:博****1 文档编号:510777624 上传时间:2024-01-06 格式:DOC 页数:19 大小:2.41MB
返回 下载 相关 举报
单片机课程设计电子时钟_第1页
第1页 / 共19页
单片机课程设计电子时钟_第2页
第2页 / 共19页
单片机课程设计电子时钟_第3页
第3页 / 共19页
单片机课程设计电子时钟_第4页
第4页 / 共19页
单片机课程设计电子时钟_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《单片机课程设计电子时钟》由会员分享,可在线阅读,更多相关《单片机课程设计电子时钟(19页珍藏版)》请在金锄头文库上搜索。

1、单片机课程设计实验报告课设名称:电子时钟姓名 班级 学号 任课教师: 时间 2011-12-14 课设名称电子时钟一、实验目的 1掌握单片机编程的流程,以及程序的调试方式。2了解LED动态显示原理及动态显示程序设计方法。3学习8051定时器时间计时处理、按键扫描的设计方法。二、设计任务和要求 利用4个LED数码管, 设计带有闹铃功能的数字时钟(实验台或自行焊接),要求:1 在4位数码管上显示当前时间。显示格式“时时.分分”。2 由LED灯闪动做秒显示。3 利用开关可对时间及闹玲进行设置,并可显示闹玲时间。 4 当闹玲时间到由P1.7控制蜂鸣器发出声响,并可通过开关使它停止。三、设计原理与思路原

2、理部分:LED动态显示原理:数码管的动态显示利用视觉暂留作用,使得人眼看到的是静态的不变的显示,视觉暂留时间约为0.01秒,因而每次显示的时间间距要比较短。本实验选择的是每5毫秒显示一个比特。首先以串行方式由SDA口向LED显示器数据端口发送第一个8位数据,这时发送位码数据0BFH到P1口,此时由于P1.6位低电平而其他口都为高电平,因此只有LED1数码管显示该数码。这样就可以发送第二个数据,同时应使其对应的位码为低电平且保证其他位为高电平。依次类推,对各显示器进行扫描,显示器分时轮流工作。虽然买此只有一个显示器显示,但由于人的视觉暂留现象我们仍会感觉所有的显示器都在同时显示。它的优点是硬件电

3、路简单,占用较少的I/O口,但其传送速度相对较慢。 由数码管的显示原理,再考虑到数码管上显示的数字对应与一个八位的二进制数,09一共十个,把这些数存到程序存储器的TABLE表中,将DPTR作为指针,用R1R4(或任意四个单元)分别存储实际的时和分的数字,把寄存器存储的数字作为偏移量,这样,就把实际的数字和数码管中显示的数字对应起来了。设计及思路部分:1.硬件设计部分:通过跳将单片机的P1口中的控制线与数码管显示电路如图1所示相连(在实验箱上即将P10、P11、P13、P14、P15、P16接至A位)它们的作用是:P1.3、P1.4、P1.5和P1.6是四个数码管的位扫描线,其中P1.6对应数码

4、管W1,显示小时高位;P1.5对应数码管W2,显示小时低位;P1.4对应数码管W3,显示分钟高位;P1.3对应数码管W4,显示分钟低位。 实验中用P1.2口作为脉冲输出端,将P1.2口连到一个二极管,做秒显示;P3.2,P3.3,P3.4,P.5分别与4个拨动开关连接,做时间显示和闹铃的控制;P1.7则连接到蜂鸣器。实验中要利用单片机定时器完成计时功能,定时器T0计时中断程序每隔5ms中断一次并当作一个计数,每中断一次计数加1,当计数200次时,则表示1s到了,秒变量加1,同理再判断是否1min钟到了,再判断是否1h到了。为了将时间在LED数码管上显示,可采用静态显示法和动态显示法,由于静态显

5、示法需要数据锁存器等较多硬件,可采用动态显示法实现LED显示。显示电路如图1所示: 图1闹铃声由交流蜂鸣器产生,电路如图2,当P1.7输出不同频率的方波,.蜂鸣器便会发出不同的声音。 图2数码管显示设计:四位共阳LED数码管,其标号分别为LED1LED4。为了节省MCU的I/O口,采用串行接口方式,它仅占用系统2个I/O口,即P1.0口和P1.1口,一个用作数据线SDA,另一个用作时钟信号线CLK,它们都通过跳线相连。其中串并转换电路部分我选用的是集成芯片74HC595,74HC595是8位串行输入/输出或者并行输出移位寄存器,具有高阻关断状态。 4位共阳LED数码管与P87C52X2的连接如

6、上面图1所示。其中,KD_Q0-KD_Q7为LED显示器数据线即段码线,EBIT1-EBIT4位LED显示器的位码扫描线,它们通过跳线与P1.3-P1.6相连,低电平有效,且任何时候仅有一位输出低电平,显示时对各显示器进行动态扫描,显示器分时轮流工作。虽然每次只有一个显示器显示,但是由于人的视觉暂留现象我们仍会感觉所有的显示器都在同时显示。由于实验采用的是共阳LED数码管,它的阴极分别通过限流电阻R20-R27连接到控制KD_0-KD_Q7。这样控制8个发光二极管,就需要8个I/O口。但由于单片机的I/O口资源是有限的,因此常采用实验电路所示的串并转换电路来扩充系统资源。串并转换电路其实质是一

7、个串入并处的移位寄存器,串行数据再同步移位脉冲CLK的作用下经串行数据线SDA把数据移位到KD_0-KD_Q7端,这样仅需2根线就可以分别控制8个发光二极管的亮灭。2.软件设计部分:闹铃设置:通过P3.4口控制闹铃设置,与拨动开关连接,高电平有效,当P3.4口变成高电平时,进入闹铃设置,用P3.2和3.3分别控制分和时的设置,也与拨动开关连接,高电平有效,当P3.2变成低电平时回到主程序。时间设定:通过P3.5口控制时间设定,与拨动开关连接,低电平有效,当P3.3口变成低电平时,进入时间设置,同样用P3.2和3.3口控制分和时的设置,也与拨动开关连接,低电平有效,当P3.3口变成高电平时回到主

8、程序。蜂鸣器:用四个地址存储闹铃时间的偏移量,判断当前的时间与闹铃时间是否完全一样,相同时驱动闹铃,实验板上的蜂鸣器是交流驱动的,因此当到达闹铃时刻时,给P1.7口几个脉冲,频率控制在人耳可以听到的范围内。I/O口的说明:P1口: 用来控制数码管的显示,其中P1.2作为秒脉冲输出口,P1.7控制蜂鸣器P3口: P3.2控制设定中的分钟的设定,与拨动开关相连,高电平有效 P3.3控制设定中的小时的设定,与拨动开关相连,高电平有效P3.4控制闹铃设定,与拨动开关相连,高电平设置闹铃,低电平锁定闹铃时间 P3.5控制时间及闹钟的开关设定,与拨动开关相连,低电平有效允许时间的设定和关掉闹铃3.程序流程

9、图部分:(1)、开关扫描程序:开关1和2用来调整时钟的分与时;开关3用来控制显示时间或闹钟;开关4用来控制时间的可调与否,同时控制闹铃的开与关。(2)、T0中断服务程序:采用定时器T0计时,中断程序每隔5ms中断一次计数加1,当计数200次时,则表示1s到了,秒变量加1,同理再判断是否1分钟到了,再判断是否1小时到了,再判断是否24小时到了。(3)、显示部分: 程序流程图如下:4.程序部分:-; 中断入口程序 ; ;-;ORG 4000H;程序执行开始地址AJMP MAIN;跳到标号MAIN执行ORG 000BH;定时器T0中断程序入口AJMP INTT0;跳到INTT0执行;-; 主 程 序

10、 ;-; MAIN:MOV TMOD,#01H;定时器T0工作于方式1MOV 20H,#198 ;T0溢出次数为200次 MOV 40H,#00H;时钟的时清零 MOV 41H,#00H ;时钟的分清零 MOV 42H,#00H ;时钟的秒清零 MOV 43H,#00H ;闹钟的时清零 MOV 44H,#00H ;闹钟的分清零 SETB ET0 ;允许T0中断 SETB EA;总中断开放 MOV TH0,#0ECH;5ms定时初值0EC78H MOV TL0,#78H; SETB TR0 ;启动定时器T0;-; 开关扫描程序 ;-; HERE:JB P3.2,HERE1 ;判断是否按下,按下则

11、跳到HERE1调整时钟的分 JB P3.3,HERE2 ;判断是否按下,按下则跳到HERE2调整时钟的时 JB P3.4,HERE3 ;判断是否按下,按下则跳到HERE3调整闹钟 JB P3.5,HERE4 ;判断是否按下,按下则跳到HERE4停止闹钟响 LCALL DISC;调用显示时钟程序 LCALL RIN;调用判断闹钟程序 AJMP HERE;重复执行 HERE4:LJMP HERE44;调用停止闹铃 HERE1:LCALL DISC;调用显示时钟程序 MOV 45H,#10 ;延时,减慢分钟调整速度,使人眼能看清分钟变化 LCALL DISC; DL1:MOV 46H,#0FAH;

12、LCALL DISC;延时过程中要调用显示程序,使显示不闪烁 DL2:NOP; NOP; DJNZ 46H,DL2;内循环0FAH次 DJNZ 45H,DL1;外循环10次 总共60s MOV A,#01H ;时钟的分钟加1 ADD A,41H; MOV 41H,A; CJNE A,#60,LM;判断分钟是否为60,不为60则跳到LM MOV 41H,#00H;为60则分钟清零 MOV A,#01H;时钟的时加1 ADD A,40H; MOV 40H,A; CJNE A,#24,LM;判断时是否为24,不为24则跳到LM MOV 40H, #00H ;为24则时清零 LM:JB P3.2,HERE1 ;判断是否按下,按下则跳到HERE1 AJMP HERE;没按下则跳到HERE HERE2:LCALL DISC;调用显示时钟程序 MOV 45H,#10 ;延时,减慢时的调整速度,使人眼能看清时的变化 LCALL DISC; DL3:MOV 46H,#0FAH; LCALL DISC;延时过程中要调用显示程序,使显示不闪烁 DL4:NOP; NOP; DJNZ 46H,DL4; DJNZ 45H,DL3; MOV A,#01H ;时钟的时加1

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号