51单片机编程制作电子钟时间问题。
具体是什么问题?发一下程序和原理图
以下是一段按键调整时间的程序。
LED6:
LCALL DISPLAY
JNB P1.0,CLEAR //;判断键盘输入
JNB P1.1,SET_MINUTE
JNB P1.2,SET_HOUR
AJMP LED6
CLEAR:
LCALL DISPLAY
JNB P1.0,CLEAR
MOV 30H,#12H //;时钟显示复位 A键
MOV 31H,#0
MOV 32H,#0
SJMP LED6
SET_MINUTE:
LCALL DISPLAY
JNB P1.1,SET_MINUTE
MOV A,31H //;调节分加1 B键
CJNE A,#59H,MIN
MOV 31H,#0
SJMP LED6
SET_HOUR:
LCALL DISPLAY
JNB P1.2,SET_HOUR
MOV R1,#30H //;调节时加1 C键
MOV A,@R1
CJNE A,#23H,HOUR // 比较立即数和A,不相等则转移
MOV 30H,#0
MIN:
ADD A ,#1 //将1加到累加器
DA A // 累加器十进制调整
MOV 31H,A
LCALL DELAY1
AJMP LED6
HOUR:
ADD A,#1
DA A
MOV 30H,A
LCALL DELAY1
AJMP LED6
我用51单片机设计了一个电子钟,但是不精确,误差很大,请问有那些可能的原...
用时钟芯片:ds1302
用C51单片机制作电子闹钟。
include <reg51.h> typedef unsigned int uint;typedef unsigned char uchar;sbit DS1302_SDA=P1^0;sbit DS1302_SCK=P1^1;sbit DS1302_RST=P1^2;sbit KEY1=P3^0;sbit KEY2=P3^1;sbit KEY3=P3^2;sbit KEY4=P3^3;sbit BEEP=P3^7;uchar code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x...
题目:电子时钟 1.任务 以AT89C51单片机为核心的时钟,在LED显示器上显示...
include<reg52.h> \/\/#include<intrins.h> define uint unsigned int define uchar unsigned char sbit key1=P3^4;\/\/按键1 sbit key2=P3^5;\/\/按键2 sbit key3=P3^6;\/\/按键3 sbit key4=P3^7;\/\/按键4 sbit dula=P2^2; \/\/取段 sbit wela=P2^3; \/\/取位 uchar code table[]={ 0x...
求用单片机c语言做一个电子时钟,实现调时、显示、整点报时等功能。
(1)用数字逻辑集成块实现;(2)时间以24小时为一个周期,显示时、分、秒;(3)计时过程具有报时功能,当时间到达整点前5秒进行蜂鸣报时;(4)为了保证计时的稳定及准确须由晶体振荡器提供表针时间基准信号。c51单片机 晶振为11.0592MHz include<reg52.h> define HOUR1 1 define HOUR0 0 de...
如何用51单片机制作简易电子钟
MOV TMOD,#00000001B ;定时\/计数器0工作于方式1 MOV TH0,#3CH MOV TL0,#0B0H ;即数15536 SETB EA ;开总中断允许 SETB ET0 ;开定时\/计数器0允许 SETB TR0 ;定时\/计数器0开始运行 LOOP: ;判断时钟进位程序 MOV A,R1 CJNE A,#60,LOOP1 ;R1等于60吗?MOV R1,#0 INC R2 ;R...
利用单片机的定时器和数码管,设计一个电子时钟
给你个电路和程序,\/\/前几天帮一个网友写,单片机定时时钟在调节功能,可以参考一下我程序 \/ 6位数码管显示电子钟 功能: 按键加,按键减, 按键,启动和停止。\/ include "REG52.H"sbit SHUG_01 = P2^0; \/\/数码管1 sbit SHUG_02 = P2^1; \/\/数码管2 sbit SHUG_03 = P2^2; ...
单片机控制多位数码管的电子时钟程序
用单片机控制多位数码管的电子时钟,用独立按键进行控制,可显示时间,日期,有闹钟功能,独立按键进行时间日历,闹钟设置 软件编程: keil工程C语言代码:\/*** 项目名称:数码管电子时钟 实现功能:数码管显示时间、日期,时间、日 期可调,可设置闹钟,闹铃响一分钟。 ***\/ #include reg52.h #define...
单片机做闹钟程序中,如何用定时器中断计时一个时间,闹钟时间到时就响...
1设置变量 uchar TC_20ms;20毫秒计数 uchar TC_100ms;100毫秒计数 uchar TC_1s;1秒计数 uchar TC_60s;60秒计数 uchar TC_3600s;1小时计数 uchar TF_200ms;20毫秒到时标记 uchar TF_100ms;100毫秒到时标记 uchar TF_1s;1秒到时标记 uchar TF_60s;60秒到时标记 uchar TF_3600s;1...
汇编语言单片机电子钟 无法设置时间
从255(0FFH)开始每次减一,255次,共255*3-1=764次,最后一次不跳转,只有两个时钟,所以减一,再加上第一条指令的一个时钟,结果是255个时钟,如果时钟周期是一微秒,那么延时了255微秒。第二个延时程序有两个循环,结果是(765+3)*765个时钟,再乘以时钟周期就是延时时间了。自己分析吧。
求c51单片机电子钟程序(c语言)
D_SCL = 0; \/\/送一时钟 out<<=1; \/\/左移 } } \/\/=== 写命令函数 === void lcd_wcmd(uchar cmd){ LCD_RS = 0;LCD_RW = 0;LCD_EN = 0;send_out(cmd);LCD_EN = 1;LCD_EN = 0 ;} \/\/=== 写数据函数 === void lcd_wdat(uchar dat){ LCD_RS = 1;LCD_RW =...