当前位置:首页 » 软件设计 » 电子钟设计

电子钟设计

发布时间: 2020-12-15 04:43:58

『壹』 用51单片机设计一个电子钟

巧了,国亲无聊做了一个玩玩,给你看看把,其实电子钟挺简单的,下面是程序:

#include<reg52.h>

#defineucharunsignedchar

#defineuintunsignedint

sbitch=P3^2;

sbitkey=P3^5;

sbitkey1=P3^4;

uchart0,numn,numy,numr,nums,numf,numm,sw,w,q,b,s,g,sw1,w1,q1,b1,s1,g1,rq,temp,x;

uintu;

voidinit();

voiddisplay(uchar,uchar,uchar,uchar,uchar,uchar);

voiddelay(uintz)

{

uintx,y;

for(x=z;x>0;x--)

for(y=70;y>0;y--);

}

voidmain()

{

init();

while(1)

{

if(rq==1)

{

if(rq==1)

display(sw,w,q,b,s,g);

}

elseif(rq==2)

{

if(rq==2)

display(sw1,w1,q1,b1,s1,g1);

}

elseif(rq==3)

{

if(rq==3)

display(w,w,w,w,w,w);

}

elseif(rq==4)

{

uchari;

temp=0x01;

for(i=0;i<8;i++)

{

P1=~temp;

delay(100);

temp<<=1;

}

temp=0x80;

for(i=0;i<8;i++)

{

P1=~temp;

delay(100);

temp>>=1;

}

temp=0x01;

for(i=0;i<8;i++)

{

P1=temp;

delay(100);

temp<<=1;

}

temp=0x7F;

for(i=0;i<8;i++)

{

P1=temp;

delay(100);

temp>>=1;

}

}

else

rq=1;

}

}

voidinit()

{

rq=1;

x=1;

nums=22;

numf=0;

numm=0;

numn=9;

numy=10;

numr=15;

TMOD=0x11;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

IT0=1;

IT0=2;

EA=1;

EX0=1;

EX1=1;

ET0=1;

TR0=1;

ET1=1;//IE=0x82//CPU开中断,CT0开中断

}

voidtimer0()interrupt1

{

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

t0++;

if(key==0)

{

delay(50);

if(key==0)

{

x++;

while(key==0);

}

}

if(x==2&rq==1)

{

//P0=0xf3;

if(key1==0)

{

numf++;

while(key1==0);

}

}

elseif(x==3&rq==1)

{

//P0=0xfc;

if(key1==0)

{

nums++;

while(key1==0);

}

}

elseif(x==2&rq==2)

{

//P0=0xcf;

if(key1==0)

{

numr++;

while(key1==0);

}

}

elseif(x==3&rq==2)

{

//P0=0xf3;

if(key1==0)

{

numy++;

while(key1==0);

}

}

elseif(x==4&rq==2)

{

//P0=0xfc;

if(key1==0)

{

numn++;

while(key1==0);

}

}

else

{

x=1;

}

if(t0==20)

{

t0=0;

numm++;

}

if(numm==60)

{

numm=0;

numf++;

}

if(numf==60)

{

for(u=500;u>0;u--)

{

bell=0;

delay(1);

bell=1;

delay(1);

}

numf=0;

nums++;

}

if(nums==24)

{

nums=0;

numr++;

}

if(numr==30)

{

numr=0;

numy++;

}

if(numy==12)

{

numy=0;

numn++;

}

if(numn==100)

{

numn=0;

}

g=numm%10;

s=numm/10;

b=numf%10;

q=numf/10;

w=nums%10;

sw=nums/10;

g1=numr%10;

s1=numr/10;

b1=numy%10;

q1=numy/10;

w1=numn%10;

sw1=numn/10;

}

voidexert0()interrupt0

{

delay(50);

rq++;

while(ch==0);

}

voidt0int()interrupt3

{

TR1=0;

bell=!bell;

TH1=timer0h;

TL1=timer0l;

TR1=1;

}

voidexert1()interrupt2

{

rq=100;

}

voiddisplay(ucharsw,ucharw,ucharq,ucharb,uchars,ucharg)

{

P2=tab[sw];

P0=tabwe[0];

delay(5);

P0=0xff;

P2=tab[w];

P0=tabwe[1];

delay(5);

P0=0xff;

P2=tab[q];

P0=tabwe[2];

delay(5);

P0=0xff;

P2=tab[b];

P0=tabwe[3];

delay(5);

P0=0xff;

P2=tab[s];

P0=tabwe[4];

delay(5);

P0=0xff;

P2=tab[g];

P0=tabwe[5];

delay(5);

P0=0xff;

}

下面这个是电路图,图我没有画啊,不过我用仿真去做,应该跟电路图差不多了,你可以参考下,可以实现流水灯,闹铃,日期,时间,等功能,上面给你的是按照你的要求,另外我懒得改了所以多了个功能就是可以看日期,你看上面的程序,第一个按钮ch,按一下查看日期,再按一下查看温度(被删了,随机现在是随机显示一个数字),再按一下是流水灯,再按一下又回到时间,另外两个键key/key1;按key是选择锁定分还是时,如果你当前显示的是日期的话就是顺序锁定日,月,年,按key1调整,图上显示的是22点00分09秒,就这样了

设计方案的话..........呵呵,AT89S52+6个数码管+11.0592晶振+2个30P电容+3个按钮+1个10UF电容如图连接,你自己去写方案把,分数给那么少,就只帮你那么多了

『贰』 数子电子时钟设计,使用160芯片,如何设计它的年月日

有两种可能来:一这个设计被人修改自了,原设计是基于8031的由于片内没有rom故要外接储存电路,但是设计电路却没有大的改动!这个可能性比较大!二:由于程序比较大,或者对储存的一些要求需要加储存电路(可能性较小)。其实用AT89C51程序在2KB可以不加外部储存电路的!

『叁』 数字电子钟设计用汇编

有一个8086的给你借鉴一下,希望对你有用。


.486
DATA SEGMENTAT0USE16
ZDXL EQU20H ;中断向量(20H)
OPORTEQU3A0H ;8259偶地址
JPORTEQU3A8H ;8259奇地址
PORT1EQU340H ;段地址
PORT2EQU360H ;位地址
DS0 EQU300H ;8253通道0
DSC EQU30CH ;8253控制口
COUNT EQU50
ORG 4000H
DATA1 DB6DUP(?)
ORG 4040H
DATA2 DB3DUP(?)
DATA ENDS

CODE SEGMENTUSE16
ASSUMECS:CODE,DS:DATA,ES:DATA
ORG2000H
BEG:CLI
JMPSTART
TABDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,
DB7FH,67H,77H,7CH,39H,5EH,79H,71H;段码表
TIMERDB0 ;延时、计数初值
START:
MOVAX,DATA ;初始化
MOVDS,AX
MOVES,AX
MOVAX,0
MOVSS,AX
MOVSP,1000H
INIT8253:
MOVDX,DSC
MOVAL,00010110B ;方式3,方波发生器
OUTDX,AL
MOVDX,DS0
MOVAL,0BH
OUTDX,AL
MOVAL,0E9H
OUTDX,AL
SETVECT:
MOVDI,0
MOVDX,OFFSETSERVER ;中断服务子程序偏移地址
MOVZDXL[DI],DX;送中断向量低位
MOVDX,CS ;中断服务子程序段地址
MOVZDXL[DI+2],DX;送中断向量高位
INIT8259:
MOVAL,00010011B ;ICW1
MOVDX,OPORT
OUTDX,AL
MOVAL,00001000B ;ICW2
MOVDX,JPORT
OUTDX,AL
MOVAL,00001101B ;ICW4
MOVDX,JPORT
OUTDX,AL
MOVAL,11111110B ;OCW1
MOVDX,JPORT
OUTDX,AL
MOVAL,20H ;EOI(20H)
MOVDX,OPORT
OUTDX,AL
AGAIN:
STI ;开中断
CALLCZ ;调拆字
CALLDISP ;调显示
JMPAGAIN

CZPROC
PUSHCX
LEASI,DATA1 ;SI=拆字,取数
LEADI,DATA2 ;DI=显示缓冲区首址
CZ0:
MOVBL,[SI]
ANDBL,0F0H;BL=
MOVCL,4
ROLBL,CL
MOV[DI],BL;(DI)=
INCDI
MOVBL,[SI]
ANDBL,0FH;BL=
MOV[DI],BL
INCSI
INCDI
CMPSI,08H;....
JBECZ0
POPCX
RET
CZ ENDP
DISP PROC ;显示子程序
PUSHCX
PUSHDX
LEABX,TAB
LEASI,DATA2
MOVAH,0C1H
DISP1:
MOVDX,PORT2
MOVAL,AH
OUTDX,AL ;AL=,AL=位输出
MOVDX,PORT1
MOVAL,[SI]
XLAT
OUTDX,AL ;AL=,AL=段输出
MOVCX,0200H
LOOP$
INCSI
SALAH,1
ORAH,0C0H
CMPAH,0C0H
JNZDISP1
POPDX
POPCX
RET
DISPENDP
SERVERPROC ;8253中断入口
CLI
PUSHAX
PUSHCX
PUSHDX
PUSHSI
PUSHDI
LEASI,TIMER
MOVAL,[SI]
INCAL
CMPAL,… ;与延时、计数值终值比较
JBWORK ;大于、等于(到1秒)转移
MOV[SI],AL ;[SI]=,[SI]=,[SI]=
JMPEXIT
WORK:
MOVAL,0
MOV[SI],AL
LEASI,DATA2+2
MOVAL,[SI]
INCAL
AAA ;..十进制调整
CMPAL,60 ;...与60秒比较
JBMINUTE ;...大于、等于(60秒)转移
MOV[SI],AL
JMPEXIT
MINUTE:
MOVAL,0
MOV[SI],AL
LEASI,DATA2+1
MOVAL,[SI]
INCAL
AAA ;...十进制调整
CMPAL,60 ;...与60分比较
JBHOURE ;...大于、等于(60分)转移
MOV[SI],AL
JMPEXIT
HOURE:
MOVAL,0
MOV[SI],AL
LEASI,DATA2
MOVAL,[SI]
INCAL
AAA ;...十进制调整
CMPAL,24 ;...与24小时比较
JBNEXT ;...大于、等于(24小时)转移
MOV[SI],AL
JMPEXIT
NEXT:
MOVAL,0
MOV[SI],AL
EXIT:
MOVAL,20H
MOVDX,OPORT
OUTDX,AL
POPDI
POPSI
POPDX
POPCX
POPAX
RET
SERVERENDP
CODE ENDS
ENDBEG

『肆』 基于单片机的电子钟的设计

非常简单,这是随着大自然的一个摇摆计算

『伍』 电子钟设计原理图

设计题目 电子钟
具有6个led 显示器,分别显示 时,分,秒
要求能设置时间,并且时间精度,每天误差小于30秒。
主要任务
1) 设计控制系统数字电子电路部分的电原理图
2) 按照电原理图制作实物(制线路版,焊接)
3) 编制单片机控制程序
4) 综合调式
以上设计先把电原理图和程序用电子邮件寄来,然后再做样机调式。
程序范列
;实用单片机电子钟的制作
;主程序(MAIN),如下:
ORG 0000H
AJMP MAIN
ORG 000BH
AJMP TIME

ORG 0300H
MAIN:
mov 20h,#00h
MOV 21H,#00H
MOV 22H,#00H
MOV 23H,#00H
MOV IP,#02H ;IP,IE初始化
MOV IE,#82H
MOV TMOD,#01H ;设定定时器工作方式?
MOV TL0,#0B0H
MOV TH0,#3CH
SETB TR0 ;启动定时?
MOV SP,#40H ;重设堆栈指针
NEXT: LCALL DISP ;调用显示子程序?
LCALL KEY ;调用按键检测子程序
JZ NEXT ;
LCALL ANKEY ;调用按键处理子程序
SJMP NEXT ;重新循环
NOP
NOP
NOP
;定时中断处理程序:
TIME: PUSH ACC ;保护现场
PUSH PSW
MOV TL0,#0B4H ;赋定时初值
MOV TH0,#3CH
INC 20H ;
MOV A,20H
CJNE A,#20,RETI1
MOV 20H,#00H ;一秒钟时间到
MOV A,21H
ADD A,#01H
DA A
MOV 21H,A
CJNE A,#60H,RETI1
MOV 21H,#00H ;一分钟时间到
MOV A,22H
ADD A,#01H
DA A
MOV 22H,A
CJNE A,#60H,RETI1
MOV 22H,#00H ;一小时时间到
MOV A,23H
ADD A,#01H
DA A
MOV 23H,A
CJNE A,#24H,RETI1
MOV 23H,#00H ;到时间达到24小时,清零.
RETI1: POP PSW ;恢复现场
POP ACC
RETI ;中断返回?
NOP
NOP

;显示子程序
DISP: ANL 2FH,#10H ;处理小数点
MOV A,21H ;处理秒21H-->2DH,2EH
ANL A,#0FH
ORL A,2FH
MOV 2FH,A
MOV A,21H
ANL A,#0F0H
SWAP A
MOV 2EH,A
ANL 2DH,#10H
MOV A,22H ;处理分钟22H-->2CH,2DH
ANL A,#0FH
ORL A,2DH
MOV 2DH,A
MOV A,22H
ANL A,#0F0H
SWAP A
MOV 2CH,A
ANL 2BH,#10H
MOV A,23H ;处理小时23H-->2AH,2BH
ANL A,#0FH
ORL A,2BH
MOV 2BH,A
MOV A,23H
ANL A,#0F0H
SWAP A
MOV 2AH,A
MOV R0,#2FH ;显示偏移量
MOV R3,#06H
MOV DPTR,#TABLE
MOV A,#0BFH
LOOP1: MOV B,A ;
MOV P2,a
MOV A,@R0
MOVC A,@A+DPTR
MOV P0,a ;送显示
MOV R2,#80H ;延时
DJNZ R2,$
DEC R0
MOV A,B
RR A
DJNZ R3,LOOP1 ;循环显示
RET

TABLE: db 28h,7eh,0a2h,62h,74h,61h,21h ;不带小数点
DB 7ah,20h,60h,00,00,00,00,00,00
DB 8H,5eH,82H,42H,54H,41H,1H,5aH ;带小数点
DB 00H,40H,00,00,00,00,00,00
NOP
NOP
;按键判断程序
KEY: MOV P3,#0FFH ;
MOV A,P3
CPL A
ANL A,#3CH
JZ RETX ;无键按下则返回
LCALL DISP ;
LCALL DISP
MOV A,P3
CPL A
ANL A,#3CH
JZ RETX ;键盘去抖动。
MOV R6,A ;将键值存入R6。
LOOP2: LCALL DISP ;
MOV A,P3
CPL A
ANL A,#3CH
JNZ LOOP2 ;等待键释放
MOV A,R6
RETX: RET
NOP
NOP
;按键处理子程序
ANKEY: CLR EA ;关中断
LX: MOV A,R6
JB ACC.2,L1 ;是功能键转L1
JB ACC.3,L2 ;是确认键转L2
JB ACC.4,L3 ;是减1键转L3
JNB ACC.5,L12 ;不是增1键,转L12
JB 2BH.4,L6 ;判断使哪一位(时、分、秒)的值加1
JB 2DH.4,L8
JB 2FH.4,L9

L12: LCALL DISP
LCALL DISP
LCALL KEY ;判断有无键按下。
JZ L12
LJMP LX

L2: MOV 25H,#00H ;确认键处理程序
CLR 2BH.4
CLR 2DH.4
CLR 2FH.4
SETB EA
RET

L3: JB 2BH.4,L61 ;增一键处理程序
JB 2DH.4,L81
JB 2FH.4,L91
AJMP L12

L1: MOV A,25H ;功能键处理程序
JZ LB1
JB ACC.0,LB2
JB ACC.1,LB3
JNB ACC.2,L12
LB1: MOV 25H,#01H ;25H单元是标志位,(25H)=01H调节时单元的值
SETB 2BH.4
CLR 2DH.4
CLR 2FH.4
AJMP L12

LB3: MOV 25H,#04H ;25H单元是标志位,(25H)=01H调节秒单元的值
SETB 2FH.4
CLR 2DH.4
CLR 2BH.4
AJMP L12

LB2: MOV 25H,#02H ;25H单元是标志位,(25H)=01H调节分单元的值
SETB 2DH.4
CLR 2BH.4
CLR 2FH.4
AJMP L12

L61: AJMP L611 ;
L81: AJMP L811 ;
L91: AJMP L911
L6: MOV A,23H ;时加一
ADD A,#01H
DA A
MOV 23H,A
CJNE A,#24H,L15
L15: JC L112
MOV 23H,#00H
L112: AJMP L12

L8: MOV A,22H ;分加一
ADD A,#01H
DA A
MOV 22H,A
CJNE A,#60H,L16
L16: JC L112
MOV 22H,#00H
AJMP L12

L9: MOV A,21H ;秒加一
ADD A,#01H
DA A
MOV 21H,A
CJNE A,#60H,L17
L17: JC L112
MOV 21H,#00H
AJMP L12

L611: MOV A,23H ;时减一
ADD A,#99H
DA A
MOV 23H,A
CJNE A,#99H,L112
MOV 23H,#23H
AJMP L12

L811: MOV A,22H ;分减一
ADD A,#99H
DA A
MOV 22H,A
CJNE A,#99H,L112
MOV 22H,#59H
AJMP L12

L911: MOV A,21H ;秒减一
ADD A,#99H
DA A
MOV 21H,A
CJNE A,#99H,L112
MOV 21H,#59H
AJMP L12
NOP
NOP
END

『陆』 多功能电子时钟的设计与制作

一般来说数字钟要完成的基本功能是利用数码管、按键、蜂鸣器完成版24小时制时间显示权(输入时钟脉冲一般要求为1024Hz),时间调节,闹钟设定,整点报时。我不知道你是用vhdl和实验箱做还是直接用现有元件完成电路板,后者可能要麻烦一点我没做过,前一种方法可能容易一定,可以自己增加一些功能,比如日期显示,和闹钟开关。难度在于要利用设计软件进行设计或仿真,需要摸清软件的脾性,vhdl并没有c语言那么容易掌握。我不清楚你到底哪个地方有问题,能不能再说清楚点?

『柒』 谁有电子钟的设计原理图

http://www.scuec.e.cn/jsj/zidonghua/article/uploadfile/200712/20071208015119289.jpg http://www.picavr.com/upload/2008_01/08010721328954.jpg http://www.picavr.com/n1729c24.aspx 网页上有详细的做法和程序

记得采纳啊

『捌』 电子钟设计

一、数字钟的组成与基本原理
一、课程名称:数字电子钟的设计。
二、内容:设计并制作一台数字电子钟,完成设计说明书。
三、设计内容及要求:
设计内容:要求由所学的数字电子知识以及查阅有关资料设计并制作出一台数字电子钟。而且要完成电路的装配和调试。设计基本框图如下:
.......
四、要求:1>.采用位数码管,显示范围0分00秒——23时59分59秒。
2>.提出至少两种设计实现方案,并优选方案进行设计。
3>.详细说明设计方案,并计算元件参数。包括选择的依据和原理,参数确定的根据。
4>当电路发生走时误差时,要求电路具有校时功能。3、要求电路具有整点报时功能,报时声响为四低一高,最后一响正好为整点。
五、数字钟的基本原理
数字电子钟的原理方框图如图1所示。干电路系统由秒信号发生器,"时、分、秒计数器、译码器及显示器、校时电路、整点报时电路组成。秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,一般用石英晶体振荡器加分频器来实现。将标准秒信号送入"秒计数器","秒计数器"采用60进制计数器,每累计60秒发一个"分脉冲"信号,该信号将作为"分计数器"的时钟脉冲。"分计数器"也采用60进制计数器,每累计60分钟,发出一个"时脉冲"信号,该信号将被送到"时计数器"。"时计数器"采用24进制计时器,可实现对一天24小时的累计。译码显示电路将"时"、"分"、"秒"计数器的输出状态菁七段显示译码器译码,通过六位LED七段显示器显示出来。整点报时电路时根据计时系统的输出状态产生一脉冲信号,然后去触发一音频发生器实现报时。校时电路时用来对"时"、"分"、"秒"显示数字进行校对调整的

热点内容
美发店认证 发布:2021-03-16 21:43:38 浏览:443
物业纠纷原因 发布:2021-03-16 21:42:46 浏览:474
全国著名不孕不育医院 发布:2021-03-16 21:42:24 浏览:679
知名明星确诊 发布:2021-03-16 21:42:04 浏览:14
ipad大专有用吗 发布:2021-03-16 21:40:58 浏览:670
公务员协议班值得吗 发布:2021-03-16 21:40:00 浏览:21
知名书店品牌 发布:2021-03-16 21:39:09 浏览:949
q雷授权码在哪里买 发布:2021-03-16 21:38:44 浏览:852
图书天猫转让 发布:2021-03-16 21:38:26 浏览:707
宝宝水杯品牌 发布:2021-03-16 21:35:56 浏览:837