文档详情

单片机定时器中断-秒表设计.pdf

发布:2017-07-18约4.33千字共5页下载文档
文本预览下载声明
一、实验目的 练习单片机汇编语言编程,学习按键和定时器的设计。 二、实验设备 LY5A-L2A单片机开发板1套 PC机1台 三、设计内容 1.按键的设计 2.设计一程序实现按1键启动或按2键停止数码管做精确的秒计数。(要求精度达到 0.1S) 3.在proteus中仿真设计 四、设计原理及步骤 总体思路: 用AT89C51设计一个3位LED数码显示 “秒表”,显示时间为00~9990毫秒,每 10毫 秒自动加一。当按 “开始”按键,开始计数,数码管显示从00开始每秒自动加一;按 “暂 停”按键,系统暂停计数,数码管显示当时的计数;按 “复位”按键,系统清零,数码管 显示00。 利用AT89S52单片机的定时器,使其能精确计时。利用中断系统使其实现启动、暂停以 及复位清零的功能,P0 口输出段码数据,P1.0~P1.2连上译码器作为位选,P1.7和P1.6接 口的两个按钮分别实现启动暂停和复位功能。 计时器采用T0 中断实现,定时溢出中断周期为10ms,当溢出中断后向CPU发出溢出中 断请求,每发出100次中断请求就对 1s位 (即最后一位)加一,以此类推,直到9.99s为 止。 五、设计程序 1 开始 选择定时器 定时器赋初值 转到显示程序 设置中断 变量一加一 按键一启动 设置变量二 按键二停止 (百位) 选择定时器、调用 Y 中断 是否为10 N 设置变量一 (十位、个位) 显示程序 N 是否为100 Y 实验源程序: ORG 0000H LJMP MAIN ORG 000BH 2 LJMP TIMER ORG 0200H MAIN: MOV TMOD,#01H ;选择定时器一 MOV TH0,#0D8H ;定时器赋初值 MOV TL0,#0F0H MOV IE,#82H CLR TR0 CLR A MOV 37H,A MOV 38H,A J1: JB P3.7,J2 ;一键启动,否转到J2 CLR A MOV 37H,A MOV 38H,A SETB TR0 SJMP J3 ;转到J3 J2: JB P3.6,J3
显示全部
相似文档