单片机课程设计秒表

用89C51和两个数码管和按键组成一个多功能秒表!

1. 可通过M键切换显示模式:日期(年、月、日)、时间(小时、分、秒)、秒表(小时、分、秒、1/100秒)、闹钟(小时、分、秒)。
2. 在日期显示模式,可通过A键依次使年、月、日闪烁或变色,这时可通过I键加1调整。
3. 在时间显示模式,可通过A键依次使小时、分、秒闪烁或变色,这时可通过I键加1调整。
4. 在秒表显示模式,可通过I键切换(启动/暂停)计时,当暂停计时时可通过A键复位。
5. 在闹钟显示模式,可通过A键依次使On/Off标志、小时、分、秒闪烁或变色,这时可通过I键切换On/Off标志或加1调整。
6. 调整和秒表操作不影响日期和时间的准确性。
7. 可通过Q键结束程序。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-12-26
ORG 00H
F1: MOV P1,#OFCH
CALL TIMMING

MOV P1,#0F3H
CALL TIMMING

MOV P1,#0CFH
CALL TIMMING
JMP F1

TIMMING:
START: MOV R0,#11
JMP LOOP
D2:
DEC R0
LOOP:

MOV DPTR,#TABLE
CALL DISPLAY

CJNE R0,#00,D2

RET
DISPLAY:
MOV A,R0
MOV B,#10
DIV AB
MOV R1,A
MOV R2,B
MOV R3,#248
LOOP1:
MOV A,R2
CALL CHANGE
MOV P2,#01H
CALL DELAY

MOV A,R1
CALL CHANGE
MOV P2,#00H
CALL DELAY

DJNZ R3,LOOP1
CHANGE:
MOVC A,@A+DPTR
MOV P0,A
RET

DELAY: ;2ms延时
MOV R6,#4
D1: MOV R7,#248
DJNZ R7,$
DJNZ R6,D1
RET

TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

END
第2个回答  2012-03-28

刚弄的前几天,留着没什么用,给个元件钱就拿走

第3个回答  2011-12-26
想要完整版的不?什么都有

单片机秒表实验原理
单片机秒表实验的设计原理基于定时器\/计数器的功能,通过精确控制时间的测量与显示,实现从00-99分钟的计时和显示。该实验利用单片机内置的定时器\/计数器模块,通过预设不同的定时值来控制计时的进行。当启动计时后,定时器开始计数,每经过一定时间间隔,计数器加1,以此来记录时间。与此同时,显示电路与LE...

单片机秒表设计
用AT89C51设计一个2位的LED数码显示作为“秒表”,这应该是一个仿真题,可用两位一体的共阴数码管,用定时器T0定时,得到1秒计时。

基于51单片机,lcd1602怎么显示倒计时秒表? - 知乎
基于单片机的数字秒表设计,核心使用51系列的STC89C52单片机,结合LCD12864显示模块、语音播报模块及输入模块,实现功能如下:系统中控部分由STC89C52单片机负责,它接收输入信息并处理,控制输出。输入模块包括三个部分:DS1302时钟模块,用于获取时间、实现计时与倒计时;四个独立按键,用于设置时间、倒计时时间、控...

单片机如何用6个动态数码管设计一个秒表
单片机用6个动态数码管设计一个秒表定时器编写相应要求定时时间。初始化为工作模式1定时器定时时间为20ms,也就是定时器每溢出一次的时间为20ms,则溢出50次即为1秒钟。通过查询溢出标志位的值即可。

51单片机 秒表设计
\/\/ 51单片机 秒表,显示时间为0000—9999秒,启动、停止,(停止后再次启动复位)include<reg52.h> define uint unsigned int define uchar unsigned char uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};uchar bai,shi;uint...

单片机编程制作电子秒表能显示分(0-99),秒(0-59)
、位选(决定多位数码管中哪一位显示)、段选(决定数码管显示的数字),另外还有锁存器(教材P36,可通过控制锁存端来改变数据输出的状态)。上周单片机实验课的内容是编一个秒表,在4位数码管中分别显示分和秒还有分秒,即最多可显示“9:59.9”。这里我用两个键实现了秒表的启动\/暂停和清零功能,...

51单片机实现秒表,要求16进制进位
51单片机实现秒表, 0~9、A、b、C、d、E、F,16进制秒表。include<reg52.h> define uint unsigned int define uchar unsigned char uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};uchar bai,shi;uint a1,a2;sbit D1...

利用51单片机设计一个秒表 (一定要按要求做到0.01秒)
最低位,是0.01s 变化一次,一秒钟,变化 100 次。这么快,人的眼睛,分辨不出来。只能看到一个 8。停止时,才能看到稳定的数字。程序如下:include<reg52.h> sbit P3_5 =P3^5;unsigned char counet, m[4] = {0,0,0,0};void display(){ unsigned char code Tab[] = { 0xc0,0xf9,...

单片机怎么设计一个0-9的一位数秒表,用定时器实现 c语言程序及其注释...
include<reg52.h> \/\/ 包含51单片机寄存器定义的头文件 unsigned char code Tab[11]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};\/\/数码管显示0~9的段码表 unsigned char int_time; \/\/记录中断次数 unsigned char second; \/\/储存秒 \/ 函数功能:快速动态扫描...

51单片机的秒表计时器设计,求大神帮忙设计电路图和C语言程序!!_百度知...
void main(void){unsigned char i,j;TMOD=0x02;ET0=1;EA=1;second=0;P1=dispcode[second\/10];P2=dispcode[second%10];while(1){if(P3_5==0){for(i=20;i>0;i--)for(j=248;j>0;j--);if(P3_5==0){keycnt++;switch(keycnt){case 1:TH0=0x06;TL0=0x06;TR0=1;break;...

相似回答
大家正在搜