‘壹’ 单片机八位自动显示时钟
使用尘旅扩展电路如74HC595等进行串转并,驱动时钟对应的数禅罩码管贺兄闹即可,也可以使用片选轮流选通进行动态显示。
‘贰’ 单片机仿真实时电子时钟为什么单独显示
因为
1. 实时显示当前时间;
2. 能够对时间进行设置;
3. 包括年月日,小时,分册简钟轮姿配腊指,秒.
‘叁’ 单片机电子时钟怎么显示
HOUR
EQU
40H
;存放时信息的单元
MINUTE
EQU
41H
;存放分信息的单元
SECOND
EQU
42H
;存放秒信息的单元
NUM
EQU
43H
;存放T0溢出次数的单元
ORG
0000H
;程序入口
AJMP
MAIN
ORG
0030H
;主程序入口
MAIN:MOV
SP,#60H
;指定堆栈栈底
MOV
HOUR,#00H
MOV
MINUTE,#00H
MOV
SECOND,#00H
;将时、分、秒分别清零
MOV
NUM,#0
MOV
TMOD,#01H
;设T0工作于方式1,用于定时
MOV
TH0,#4CH
;设置T0的初始值
MOV
TL0,#00H
MOV
IE,#00H
;关中断
SETB
TR0
;开启定时器T0
LOOP:NOP
NOP
ACALL
DISPLAY
;调用显示子程序
NOP
NOP
LOOP1:JB
TF0,TIME
;等待定时溢出
LJMP
LOOP1
TIME:CLR
TR0
;关闭定时器
PUSH
DPL
;保护现场
PUSH
DPH
PUSH
ACC
MOV
TH0,#4CH
;重新设置T0的值
MOV
TL0,#00H
SETB
TR0
;开启T0
MOV
A,NUM
INC
A
;溢出次数+1
MOV
NUM,A
CJNE
A,#0AH,TT1
;检测键盘
MOV
P1,#0FH
;设键盘迹孝初值
MOV
R0,#04H
;延时消抖
LCALL
DELAY
JNB
P1.0,T0C1
;为0表示P1.0按下,转T0C1调整秒
JNB
P1.1,T0C2
;为0表示P1.1按下,转T0C2调整分
JNB
P1.2,T0C3
;为0表示P1.2按下,转T0C3调整时
TT1:
CJNE
A,#140,RR4
MOV
NUM,#00H
T0C1:MOV
A,SECOND
INC
A
;秒单元内容加1
DA
A
;调整为侍顷BCD码
MOV
SECOND,A
CJNE
A,#60H,RR4
;不为60秒继续等待
setb
flag:
clr
flag
RR1:
MOV
SECOND,#00H
;为60秒将秒单元清零
T0C2:MOV
A,MINUTE
INC
A
;分单元内容加1
DA
A
;调整为BCD码
MOV
MINUTE,A
CJNE
A,#60H,RR4
;不为60分继续等待
RR2:
MOV
MINUTE,#00H
;为60分,分单元清零
T0C3:MOV
P1,#0F0H
;
1小时闪一次姿谈稿
LCALL
DELAY
;延时
MOV
P1,#0FH
MOV
A,HOUR
INC
A
;时单元内容加1
DA
A
;调整为BCD码
MOV
HOUR,A
CJNE
A,#24H,RR4
;不为24小时继续等待
RR3:
MOV
HOUR,#00H
;为24小时,时单元清零
RR4:
POP
ACC
;恢复现场
POP
DPH
POP
DPL
LJMP
LOOP
DELAY:MOV
R1,#10H
;延时子程序
DELAY1:MOV
R2,#20H
DJNZ
R2,$
DJNZ
R1,DELAY1
DJNZ
R0,DELAY
RET
DISPLAY:MOV
DPTR,#TAB
;送表头基地址
MOV
A,HOUR
ANL
A,#0FH
;屏蔽时高位
MOVC
A,@A+DPTR
;查时高位
MOV
P0,A
CLR
P2.6
;开显示
MOV
R0,#1
;延时消除鬼影
LCALL
DELAY
SETB
P2.6
;关显示
MOV
A,HOUR
ANL
A,#0F0H
SWAP
A
MOVC
A,@A+DPTR
MOV
P0,A
CLR
P2.7
MOV
R0,#1
LCALL
DELAY
SETB
P2.7
MOV
A,MINUTE
ANL
A,#0FH
MOVC
A,@A+DPTR
MOV
P0,A
CLR
P2.4
MOV
R0,#1
LCALL
DELAY
SETB
P2.4
MOV
A,MINUTE
ANL
A,#0F0H
SWAP
A
MOVC
A,@A+DPTR
MOV
P0,A
CLR
P2.5
MOV
R0,#1
LCALL
DELAY
SETB
P2.5
MOV
A,SECOND
ANL
A,#0FH
MOVC
A,@A+DPTR
MOV
P0,A
CLR
P2.2
MOV
R0,#1
LCALL
DELAY
SETB
P2.2
MOV
A,SECOND
ANL
A,#0F0H
SWAP
A
MOVC
A,@A+DPTR
MOV
P0,A
CLR
P2.3
MOV
R0,#1
LCALL
DELAY
SETB
P2.3
RET
TAB:
DB
0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
END
‘肆’ 单片机设计动态显示时间6:00怎么设置
从左到右的开关控制分别为:秒设置、分设置、时设置、敏拍团进入时间设置(设置时间需要按一下这个再按前面3个按键设置)、闹钟设置(通过前面3个按键设置)、保存设置(设置完成后按下保存并退出)。
图片
时钟可以显示到秒位
数码管用的是共阴,共阳的话加三极管闲麻烦,没加。
数码管a~g接的P0口,没用10K排阻上拉,试了下觉得亮度太低了,就都换成了2K的作为上拉。
图片
有兴趣的可以给加上温度传感器,可以显示温度(我这里面就没加了)
初学单片机没多久,欢迎大佬指导。
材料如下:89C52*1
4位数码管*1+2位数码管*1(当然如桥橘果有六位的也可以直接用,找不到其他数码管了就这么混搭了)
有源蜂鸣器*1(试过无源,但时间计算过于占用资源导致发声不是很完美,大佬可以改一下)
轻触开关*7(1个用于复位,其余六个用于设置) + 自锁开关*1
电池*1 + 5V稳压*1
单片机源码:
#include
#define uint unsigned int
#define uchar unsigned char
sbit WE1=P2^5;
sbit WE2=P2^4;
sbit WE3=P2^3;
sbit WE4=P2^2;
sbit WE5=P2^1;
sbit WE6=P2^0;
sbit K1=P1^0; //设置小时位
sbit K2=P1^1; //设置分位
sbit K3=P1^2; //设置秒位
sbit K4=P1^3; //进入时间设置
sbit K5=P1^4; //进入闹钟设置
sbit K6=P1^5; //退出设置
sbit BZ=P1^6; //蜂鸣器接口
uchar code table[]={
0XC0,0XF9,0XA4,
0XB0,0X99,0X92,
0X82,0XF8,0X80,
0X90};
uint tt=0,i=0,j=0,T=0,R=0,S;
uint W1=0,W2=0,W3=0,W4=0,W5=0,W6=0; //当前时间位,依次接P0口即可,即W1=P0^0,W2=P0^2.....以此类推
uint WD1=0,WD2=0,WD3=0,WD4=0,WD5=0,WD6=0; //闹钟时间位,用于储存设置的闹钟时间,不接
void delay(uint); //软延时
//void delay1(uint);
void js(void); //时钟进位定义
void key(void); //按键
void XS(uint,uint,uint,uint,uint,uint); //动态扫描数码管显示
void xhsz(uint,uint,uint,uint,uint,uint,uint); //时钟位设置函数
void main()
{
P1=0X0;
TMOD=0X01;
TH0=(65536-49971)/256;
TL0=(65536-49971)%256;
//TH1=(65536-65535)/256; //定时器二(贺巧未启用)
//TL1=(65536-65535)%256;
EA=1;
ET0=1;
//ET1=1;
TR0=1;
//TR1=1;
while(1)
{
key();
XS(W1,W2,W3,W4,W5,W6);
js();
if(WD1==W1&&WD2==W2&&WD3==W3&&WD4==W4&&WD5==W5&&WD6==W6) //闹钟定时判断
T=1;
}
}
void xhsz(uint Q1,uint Q2,uint Q3,uint Q4,uint Q5,uint Q6,uint Y) //输入需要设置的位Q1~Q6,末尾输入1则将值赋给W1~W6,输入0则赋给WD1~WD6
{
while(1)
{
if(Y==1)
{
W1=Q1;W2=Q2;W3=Q3;W4=Q4;W5=Q5;W6=Q6;
}
if(Y==0)
{
WD1=Q1;WD2=Q2;WD3=Q3;WD4=Q4;WD5=Q5;WD6=Q6;
}
if(K1==1)//秒调
{
delay(10);
if(K1==1)
{
while(K1==1)
XS(Q1,Q2,Q3,Q4,Q5,Q6);
Q1++;
‘伍’ 带温度显示电子钟单片机系统设计意义
带温度显示电子钟单片机系统设计意义:可以了解温度的变化。
带有温度的的电子钟单片机的日历显示系统,本设计能显凯辩示公历年、月、日,让孙尘以及时、分、秒、温度、星期等信息,可以使人们随时都可以了解温度以及时间的变化。
温度,是表示物坦禅体冷热程度的物理量,微观上来讲是物体分子热运动的剧烈程度。
‘陆’ 51单片机做数字电子钟
这么复杂的东西给这么少分 晕死了 你也太小气了吧,分多的话还可能帮你动动脑
‘柒’ 51单片机控制数码管显示时钟,独立按键怎么弄
独立按键处理起来是非常简单的,一般都是IO口单独控制,所以只需要消抖和判断按键按下抬起状态就好。比如:
sbitkey=P1^0;
if(key==0)
{
delay(10);
if(key==0)
{
keyval=1;
while(key==0);
}
}
‘捌’ 51单片机时钟显示不出来,只有65
连接数据重置。
1、首先打开电脑晌滑孙。
2、用数据线连接51单片机时宴链钟,在系统页面中。
3、找到数让亩据重置,点击重置数据,即可。
‘玖’ 51单片机 1602显示DS1302时钟
先用你的程序
在
Proteus
上
仿真一下
确保
程序
正确
后
更换一下
时钟芯片
或者
在时钟芯片电源处
并联
两个
103P
电容
试试
‘拾’ 51单片机如何实时显示时间
单片机实时显示时间,可以用ds1302产生时钟,然后计算时钟,并送出结果。