00--99的秒表电路。你是要单片机做的还是要数字电路74LS161做的。
S_SET BIT P1.0 ;数字钟秒控制位
M_SET BIT P1.1 ;分钟控制位
H_SET BIT P1.2 ;小时控制位
LED_BIT_1 EQU 30H ; 存放8位数码管的段码
LED_BIT_2 EQU 31H
LED_BIT_3 EQU 32H
LED_BIT_4 EQU 33H
LED_BIT_5 EQU 34H
LED_BIT_6 EQU 35H
LED_BIT_7 EQU 36H
LED_BIT_8 EQU 37H ;
SECOND EQU 60H
MINUTE EQU 61H
HOUR EQU 62H
TCNT EQU 63H
ORG 00H ;初始化程序 ,设置初始密码
SJMP START
ORG 0BH
LJMP INT_T0
START: mov p3,00h
MOV DPTR,#TABLE
MOV HOUR,#0
MOV MINUTE,#0
MOV SECOND,#0
MOV TCNT,#0
MOV TMOD,#01H
MOV TH0,#03ch ;定时50毫秒
MOV TL0,#03ch
MOV IE,#082H
SETB TR0
MOV LED_BIT_1,#00H ;段码存储区清0
MOV LED_BIT_2,#00H
MOV LED_BIT_3,#00H
MOV LED_BIT_4,#00H
MOV LED_BIT_5,#00H
MOV LED_BIT_6,#00H
MOV LED_BIT_7,#79H
MOV LED_BIT_8,#73H
mov r0,11h
mov r1,11h
mov r2,11h
MOV TMOD,#01H
MOV TH0,#0fdh
MOV TL0,#0fdh
MOV IE,#82H
LJMP A1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
A01: LCALL ds3
JNB S_SET,S01
JNB M_SET,S02
JNB H_SET,S03 ;调用时间显示
JB P1.4, A01
ljmp a1
S01: LCALL DLY_S ;去抖动
JB p1.0,A01
INC r0 ;秒值加1
MOV A, r0
CJNE A,#60,J000 ;判断是否加到60秒
MOV r0,#0
LJMP K001
S02: LCALL DLY_S
JB M_SET,A01
K001: INC r1 ;分钟值加1
MOV A, r1
CJNE A,#60,J001 ;判断是否加到60分
MOV r1,#0
LJMP K002
S03: LCALL DLY_S
JB H_SET,A01
K002: INC r2 ;小时值加1
MOV A,r2
CJNE A,#24,J002 ;判断是否加到24小时
MOV r0,#0
MOV r1,#0
MOV r2,#0
LJMP A01
J000: JB p1.0,A01 ;等待按键抬起
LCALL ds3
SJMP J000
J001: JB M_SET,A01
LCALL ds3
SJMP J001
J002: JB H_SET,A01
LCALL ds3
SJMP J002
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
A1:
LCALL DISPLAY
;调用时间显示
clr p3.0
JNB S_SET,S1
JNB M_SET,S2
JNB H_SET,S3
JNB P1.4 ,a01
mov a,r2
cjne a, HOUR,A1111
mov a ,r1
cjne a, MINUTE,A1111
setb p3.0
A1111: JB P1.3, A1
LCALL A0
LJMP A1
S1: LCALL DLY_S ;去抖动
JB S_SET,A1
INC SECOND ;秒值加1
MOV A, SECOND
CJNE A,#60,J00 ;判断是否加到60秒
MOV SECOND,#0
LJMP K01
S2: LCALL DLY_S
JB M_SET,A1
K01: INC MINUTE ;分钟值加1
MOV A, MINUTE
CJNE A,#60,J01 ;判断是否加到60分
MOV MINUTE,#0
LJMP K02
S3: LCALL DLY_S
JB H_SET,A1
K02: INC HOUR ;小时值加1
MOV A,HOUR
CJNE A,#24,J02 ;判断是否加到24小时
MOV HOUR,#0
MOV MINUTE,#0
MOV SECOND,#0
LJMP A1
J00: JB S_SET,A1 ;等待按键抬起
LCALL DISPLAY
SJMP J00
J01: JB M_SET,A1
LCALL DISPLAY
SJMP J01
J02: JB H_SET,A1
LCALL DISPLAY
SJMP J02
INT_T0: MOV TH0,#3ch ;定时器中断服务程序
MOV TL0,#3ch ;对秒,分钟和小时的计数
INC TCNT
MOV A,TCNT
CJNE A,#20,RETUNE ;计时1秒
INC SECOND
MOV TCNT,#0
MOV A,SECOND
CJNE A,#60,RETUNE
INC MINUTE
MOV SECOND,#0
MOV A,MINUTE
CJNE A,#60,RETUNE
INC HOUR
MOV MINUTE,#0
MOV A,HOUR
CJNE A,#24,RETUNE
MOV HOUR,#0
MOV MINUTE,#0
MOV SECOND,#0
MOV TCNT,#0
RETUNE: RETI
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;DIS3闹铃设置子程序
DS3: MOV A,r0 ;显示毫秒
MOV B,#10
DIV AB
CLR P2.6
MOVC A,@A+DPTR
MOV P0,A
LCALL DLY_S
SETB P2.6
MOV A,B
CLR P2.7
MOVC A,@A+DPTR
MOV P0,A
LCALL DLY_S
SETB P2.7
CLR P2.5
MOV P0,#40H ;显示分隔符
LCALL DLY_S
SETB P2.5
MOV A,r1 ;显示分钟
MOV B,#10
DIV AB
CLR P2.3
MOVC A,@A+DPTR
MOV P0,A
LCALL DLY_S
SETB P2.3
MOV A,B
CLR P2.4
MOVC A,@A+DPTR
MOV P0,A
LCALL DLY_S
SETB P2.4
CLR P2.2
MOV P0,#40H ;显示分隔符
LCALL DLY_S
SETB P2.2
MOV A,r2 ;显示shi
MOV B,#10
DIV AB
CLR P2.0
MOVC A,@A+DPTR
MOV P0,A
LCALL DLY_S
SETB P2.0
MOV A,B
CLR P2.1
MOVC A,@A+DPTR
MOV P0,A
LCALL DLY_S
SETB P2.1
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;DIS3
DISPLAY: ;显示时间控制子程序
MOV A,SECOND ;显示秒
MOV B,#10
DIV AB
CLR P2.6
MOVC A,@A+DPTR
MOV P0,A
LCALL DLY_S
SETB P2.6
MOV A,B
CLR P2.7
MOVC A,@A+DPTR
MOV P0,A
LCALL DLY_S
SETB P2.7
CLR P2.5
MOV P0,#40H ;显示分隔符
LCALL DLY_S
SETB P2.5
MOV A,MINUTE ;显示分钟
MOV B,#10
DIV AB
CLR P2.3
MOVC A,@A+DPTR
MOV P0,A
LCALL DLY_S
SETB P2.3
MOV A,B
CLR P2.4
MOVC A,@A+DPTR
MOV P0,A
LCALL DLY_S
SETB P2.4
CLR P2.2
MOV P0,#40H ;显示分隔符
LCALL DLY_S
SETB P2.2
MOV A,HOUR ;显示小时
MOV B,#10
DIV AB
CLR P2.0
MOVC A,@A+DPTR
MOV P0,A
LCALL DLY_S
SETB P2.0
MOV A,B
CLR P2.1
MOVC A,@A+DPTR
MOV P0,A
LCALL DLY_S
SETB P2.1
&nbs
有00—99的秒表电路吗
00--99的秒表电路。你是要单片机做的还是要数字电路74LS161做的。 S_SET BIT P1.0 ;数字钟秒控制位 M_SET BIT P1.1 ;分钟控制位 H_SET BIT P1.2 ;小时控制位 LED_BIT_1 EQU 30H ; 存放8位数码管的段码 LED_BIT_2 EQU 31H LED_BIT_3 EQU 32H LED_BIT_4 EQU 33H LED_BIT_5 EQU 34H ...
设计一电子秒表,从00到99计数,不要用单片机
不用单片机,就得用数字电路了。用两片十进制加\/减计数器,74LS168,再用两片译码器,74LS247,用两个共阳数码管,就行了。要求时钟脉冲频率要精确才行。
单片机秒表实验原理
综上所述,单片机秒表实验通过精确控制定时器\/计数器和显示电路的工作,实现了从00-99分钟的计时和显示,并具备开始、停止和复位功能。这一设计不仅展示了单片机在计时应用中的强大功能,也为进一步的实验和项目开发提供了基础。
数码管秒表 00-99计时 求电路图 和程序
include <reg52.h> define uchar unsigned char define uint unsigned int uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};uint a,b,ss,sg,gs,gg;sbit P3_0=P3^0;void delay(uint z){ uint x,y;for (x=z;x>0;x--)for (y=250;y>0;y--);}...
求大神写一下单片机at89c52控制秒表电路循环显示0到99的程序
uchar nums[10]={0xc0,0xf9,0xa4,0xB0,0x99,0x92,0x82,0xf8,0x80,0x98};init();while(1){ if(s2==0 && ispause==0){ if(s2==0){ while(s2==0);ispause=1;pause();} } else if(s3==0 && ispause==1){ if(s3==0){ while(s3==0);ispause=0;pause();} } if(...
用51单片机设计3位led数码显示管作秒表00.0-99.0求设计电路与c语言程 ...
} void main(void)\/\/主程序 { init();\/\/初始状态设定 while(1){ display(a\/2);\/\/显示计数值,以十分之一秒为单位 } } void timer0(void)interrupt 1\/\/中断子程序 { TH0=(655536-50000)\/256;TL0=(655536-50000)%256;a++;if(a==1980)a=0;\/\/1980次是99秒 } ...
数字秒表的设计 秒表是人们日常生活常用的测时仪器,它能够简单地完成计...
1.设计一个数字秒表,要求从00:00秒开始计时,最大计时时间为99:99秒。并且具有启动、暂停和清零(复位)等功能。? 2.画出硬件连接电路图,说明各个控制信号的作用。? 3.画出程序流程图,编写程序,硬件连接调试,直至正确。? 4.编写课程设计报告。 求汇编程序 和 所需器件!!万分感谢了 这...
数字式秒表电路
如图所示,供参考。已仿真
设计一个秒表,数码管 00,01--60,00,每秒走一个数,用verilog语言。_百度...
1. “分分:秒秒”计数器设计 我们要实现“分分:秒秒”显示的电子秒表,需要设计计数频率为1Hz 的 计数器。因为“分分:秒秒”的结构对应有4个十进制数字(个位的秒,十位的 秒,个位的分,十位的分),如果采用统一计数再分别求出“分分:秒秒” 对应 的4个十进制数字进行译码显示,则求解...
设计一个数字秒表
数字秒表电路设计2007年12月18日 星期二 下午 09:16 数字秒表电路设计 一、工作原理 本电路由启动、清零复位电路、多谐振荡电路、分频计数电路、译码显示电路等组成。如下图所示:启动清零复位电路主要由U6A、U6B、U7B、U7D组成,其本质是一个RS触发器和单稳态触发器。J1控制数字秒表的启动和停止,J2...