定时器中断实验——电子钟

2018-11-17 19:09

计算机科学与技术系

实 验 报 告

专业名称 计算机科学与技术 课程名称 单片机原理与应用 项目名称 定时器/中断实验——电子钟

班 级

学 号 姓 名

同组人员 无

实验日期 2016年4月8号

一、实验目的与要求

熟悉MCS51类cpu的定时器、中断系统编程方法、了解定时器的应用、实时程序的设计和调试技巧。

二、实验内容

2.1 实验完成内容

1、编写一个时钟程序,使用单片机定时器1产生一个50ms的定时中断,对定时中断计数,将时、分、秒显示在数码管上。

2、将单片机的P3.5口与独立按键K1相连。要求通过计数器对按键按压次数进行计数,并将计数结果显示在LED上,或者通过外部中断实现按键计数。要求显示范围为0-99。记满后从零开始重新计数。

2.2 芯片选型

ATMEL89C51单片机、LED数码显示管、独立按键

2.3 电路原理图

2.4 关键资源说明(所应用单片机内部资源及外围接口芯片的核心说明) 实验中用到了定时器T0,是由特殊功能寄存器TH0、TL0构成。工作方式寄存器TMOD的低四位用于控制T0的工作方式和启动模式,定时器/计数器控制寄存器TCON的低四位同样用于控制T0的启停和计数溢出标志位。

2.5 程序流程图

三、实验程序

STCP_595 EQU P2.0 SHCP_595 EQU P2.1 DS_595 EQU P2.2

HOUR EQU 30H;存放小时变量 MIN EQU 31H;存放分钟变量 SEC EQU 32H;存放秒钟变量 COUNT EQU 33H;5ms计数加1 ADDR EQU 34H;位选 DAT EQU 35H;段选 KEY EQU 36H;键值 ORG 0000H LJMP MAIN ORG 0003H LJMP X0_INT ORG 000BH LJMP T0_INT ORG 0100H

MAIN:

LCALL UNIT_TIMER

START: ;初始化一次 LCALL DISPLAY LJMP START UNIT_TIMER:

MOV TMOD,#01H;定时器0工作方式1 MOV TH0, #60;赋初值 MOV TL0, #176

SETB TR0;启动定时器0

SETB ET0;打开定时器0开关 SETB EX0 SETB IT0

MOV COUNT,#0 MOV SEC, #0 MOV MIN, #0 MOV HOUR,#0 MOV R1, #0 MOV KEY, #0

SETB EA;打开总开关 RET ;返回

T0_INT: ;中断服务程序 (获取 时 分 秒) PUSH ACC; PUSH PSW

MOV TH0, #60;赋初值 MOV TL0, #176

INC COUNT;每隔50ms加1 POP PSW POP ACC RETI X0_INT:

PUSH ACC PUSH PSW

LCALL DELAY//延时12ms消抖 LCALL DELAY

JB INT0,RECOVER1;MOV C,F2H; ;CJNE C,#0,RECOVER INC KEY MOV A,KEY

CJNE A,#100,RECOVER1 ;CJNE A,#64H,RECOVER MOV KEY,#0 RECOVER1: POP PSW POP ACC

RETI DISPLAY:

MOV A,COUNT

CJNE A,#20,RECOVER MOV COUNT,#0 INC SEC MOV A, SEC

CJNE A, #60,RECOVER MOV SEC,#0 INC MIN MOV A,MIN

CJNE A,#60,RECOVER MOV MIN,#0 INC HOUR MOV A,HOUR

CJNE A,#24,RECOVER

MOV SEC,#0 ;秒钟变量清除为0 MOV MIN,#0 ;分钟变量清除为0 MOV HOUR,#0 ;小时变量清除为0 MOV A,KEY

;CJNE A,#100,RECOVER ;CJNE A,#64H,RECOVER 乱码

MOV KEY,#0

RECOVER: //每时每刻都显示 MOV ADDR,#05H MOV A,SEC ;显示个位的秒 MOV B,#10 ;出错,与10H区别 10H表示16 DIV AB MOV R1,A MOV DAT,B

LCALL SEND_LED

MOV ADDR,#04H ;显示十位的秒 MOV DAT,R1

LCALL SEND_LED

MOV ADDR,#03H ;显示个位的分 MOV A,MIN MOV B,#10 DIV AB MOV R1,A MOV DAT,B

LCALL SEND_LED

MOV ADDR,#02H ;显示十位的分

不能放在这 否则出现


定时器中断实验——电子钟.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:信耶稣有什么好处

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: