用 AT89C51 单片机设计一个秒表:00.0~99.9
求用单片机设计一个秒表 AT89C51
要求 1、按开关 K1 秒表开始计时,再按开关 K1 计时暂停,按开关 K2 秒表复位。
2、如果可以的话顺便发一下电路图
3、最好是用汇编编写程序
谢谢
悬赏分:100 - 解决时间:2010-5-30 08:33
最佳答案:
;--------------------------------------------------------
;说明:为了提高精度,下列给出的程序和电路图,比楼主提出的要求
; 增加了一位 0.1 秒的计数和显示功能,所以计时范围是 00.0~99.9s。
; 想得到以 00~99 形式计秒的网友,可到原题的网址去看原文。
;--------------------------------------------------------
;汇编程序如下。
;使用 T0 定时方式 1,每隔 50ms 中断一次,用于修改时间及显示
;使用外部中断 0、1,用于控制启动和清零
;========================================================
ORG 0000H
AJMP MAIN
ORG 0003H
AJMP X0_INT
ORG 000BH
AJMP T0_INT
ORG 0013H
AJMP X1_INT
MAIN:
MOV TMOD,#01H ;T0 定时方式 1
MOV TH0, #(65536-50000) / 256 ;50ms@12MHz
MOV TL0, #(65536-50000) MOD 256;
SETB TR0
SETB ET0 ;开启定时中断
SETB EX0
SETB EX1
SETB EA ;开中断
MOV R1, #0 ;0~99 秒计数