用89c51设计一个电子时钟电路图

要求就是电路图 和 调试程序
谢谢了
简略的就行 不用复杂的 刚学 不知道怎么做 头痛死

第1个回答  推荐于2016-11-30
1.功能:
1 开机时,显示12:00:00的时间开始计时;
2 P0.0/AD0控制“秒”的调整,每按一次加1秒;
3 P0.1/AD1控制“分”的调整,每按一次加1分;
4 P0.2/AD2控制“时”的调整,每按一次加1个小时;

2. 电路原理图
http://www.51kaifa.com/upload/eWebUpload/20060216191917106.gif

3. 系统板上硬件连线
(1)把“单片机系统”区域中的P1.0-P1.7端口用8芯排线连接到“动态数码显示”区域中的A-H端口上;
(2)把“单片机系统:区域中的P3.0-P3.7端口用8芯排线连接到“动态数码显示”区域中的S1-S8端口上;
(3)把“单片机系统”区域中的P0.0/AD0、P0.1/AD1、P0.2/AD2端口分别用导线连接到“独立式键盘”区域中的SP3、SP2、SP1端口上;

4. 汇编源程序
SECOND EQU 30H
MINITE EQU 31H
HOUR EQU 32H
HOURK BIT P0.0
MINITEK BIT P0.1
SECONDK BIT P0.2
DISPBUF EQU 40H
DISPBIT EQU 48H
T2SCNTA EQU 49H
T2SCNTB EQU 4AH
TEMP EQU 4BH

ORG 00H
LJMP START
ORG 0BH
LJMP INT_T0
START: MOV SECOND,#00H
MOV MINITE,#00H
MOV HOUR,#12
MOV DISPBIT,#00H
MOV T2SCNTA,#00H
MOV T2SCNTB,#00H
MOV TEMP,#0FEH
LCALL DISP
MOV TMOD,#01H
MOV TH0,#(65536-2000) / 256
MOV TL0,#(65536-2000) MOD 256
SETB TR0
SETB ET0
SETB EA
WT: JB SECONDK,NK1
LCALL DELY10MS
JB SECONDK,NK1
INC SECOND
MOV A,SECOND
CJNE A,#60,NS60
MOV SECOND,#00H
NS60: LCALL DISP
JNB SECONDK,$
NK1: JB MINITEK,NK2
LCALL DELY10MS
JB MINITEK,NK2
INC MINITE
MOV A,MINITE
CJNE A,#60,NM60
MOV MINITE,#00H
NM60: LCALL DISP
JNB MINITEK,$
NK2: JB HOURK,NK3
LCALL DELY10MS
JB HOURK,NK3
INC HOUR
MOV A,HOUR
CJNE A,#24,NH24
MOV HOUR,#00H
NH24: LCALL DISP
JNB HOURK,$
NK3: LJMP WT
DELY10MS:
MOV R6,#10
D1: MOV R7,#248
DJNZ R7,$
DJNZ R6,D1
RET
DISP:
MOV A,#DISPBUF
ADD A,#8
DEC A
MOV R1,A
MOV A,HOUR
MOV B,#10
DIV AB
MOV @R1,A
DEC R1
MOV A,B
MOV @R1,A
DEC R1
MOV A,#10
MOV@R1,A
DEC R1
MOV A,MINITE
MOV B,#10
DIV AB
MOV @R1,A
DEC R1
MOV A,B
MOV @R1,A
DEC R1
MOV A,#10
MOV@R1,A
DEC R1
MOV A,SECOND
MOV B,#10
DIV AB
MOV @R1,A
DEC R1
MOV A,B
MOV @R1,A
DEC R1
RET
INT_T0:
MOV TH0,#(65536-2000) / 256
MOV TL0,#(65536-2000) MOD 256
MOV A,#DISPBUF
ADD A,DISPBIT
MOV R0,A
MOV A,@R0
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV P1,A
MOV A,DISPBIT
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P3,A
INC DISPBIT
MOV A,DISPBIT
CJNE A,#08H,KNA
MOV DISPBIT,#00H
KNA: INC T2SCNTA
MOV A,T2SCNTA
CJNE A,#100,DONE
MOV T2SCNTA,#00H
INC T2SCNTB
MOV A,T2SCNTB
CJNE A,#05H,DONE
MOV T2SCNTB,#00H
INC SECOND
MOV A,SECOND
CJNE A,#60,NEXT
MOV SECOND,#00H
INC MINITE
MOV A,MINITE
CJNE A,#60,NEXT
MOV MINITE,#00H
INC HOUR
MOV A,HOUR
CJNE A,#24,NEXT
MOV HOUR,#00H
NEXT: LCALL DISP
DONE: RETI
TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,40H
TAB: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH
END本回答被提问者采纳

用89c51设计一个电子时钟电路图
1 开机时,显示12:00:00的时间开始计时;2 P0.0\/AD0控制“秒”的调整,每按一次加1秒;3 P0.1\/AD1控制“分”的调整,每按一次加1分;4 P0.2\/AD2控制“时”的调整,每按一次加1个小时;2. 电路原理图 http:\/\/www.51kaifa.com\/upload\/eWebUpload\/20060216191917106.gif 3. 系...

用89c51做时钟万年历显示日期带闹钟(附图最好)谢谢各位大佬
用proteus仿真AT89c51设计的时钟万年历,显示日期带闹,这要用到LCD12864才行,时钟电路用DS1302,加温度传感器DS18B20。这是仿真万年历的典型配置。仿真图如下。

求用C语言编写一个单片机89C51电子时钟程序,有时,分,秒,还有电路图
后读命令\/数据(寄存器多字节方式)调 用:W1302()入口参数:pClock: 设置时钟数据地址 格式为: 秒 分 时 日 月 星期 年 7Byte (BCD码)1B 1B 1B 1B 1B 1B 1B返 回 值:无***\/void Set1302(uchar *pClock) { uchar h; uchar ucAddr = 0x80; W1302(0x8e,0x...

如何设计51单片机系统最小系统?
1、单片机 89C51单片机一片 2、电源 5V直流电源1个 3、晶振电路 包括12MHz晶振1只、30pF瓷片电容2只 4、复位电路 10uF电解电容1只,4k7电阻1只。电路如下:向左转|向右转 注:上图中\/EA(31引脚)也可直接连接电源VCC,2k电阻可去除。51单片机最小系统:1、时钟电路51 单片机上的时钟管脚:XTAL1...

单片机89c51的电子时钟课程设计
lcd1602_rw=1;lcd1602_e=0;lcd1602_e=1;} while(lcd1602_busy);} \/ 函数名称: lcd1602_WriteCmd()函数功能:写命令 入口参数:命令字 出口参数:无 \/ void lcd1602_WriteCmd(const uchar cmd){ lcd1602_CheckBusy();lcd1602_rs=0;lcd1602_rw=0;lcd1602_e=1;LCD1602_PORT=cmd;lcd1602_e=0;}...

89c51单片机的数字钟程序?
1条折叠回答 其他类似问题 2016-11-30 求程序用AT89C51单片机...用八位数码管实现数字... 2015-11-03 利用AT89C51单片机制作多功能数字时钟 2011-11-24 求c51单片机电子钟程序(c语言) 13 2010-12-30 C语言 AT89C52数字钟的程序问题 9 2012-01-09 单片机89C51 电子时钟程序 4位数码管,有4个开关分别...

电工数字钟课程设计 电路图 详细一点啊
本设计采用 89C51 进行 24 小时计时并显示。要求其显示时 间范围是 00:00:00~23:59:59,具备有时分秒校准功能。数字钟上面要带有 闹钟,闹钟与时钟之间能随时切换,闹钟具备时分秒设置功能。设计的详细资料在图片上的网站搜“带整点报时与闹钟功能的数字钟设计,附设计框图,电路图,C语言源程序....

用89c51单片机和4位数码管做一个动态显示的时钟,程序怎么编写,求大神帮 ...
while (1){ char i = 0;for (P3 = 0xfe; P3 != 0xff; P3 = P3*2 + 1) \/\/ P3 位选 { P2 = table[i]; \/\/ P2 段码 delayms(2);++i;} } } void delayms(int k){ int i,j;for (i = 0; i < k; i++)for (j = 0; j < 110; j++);} ...

急求基于单片机AT89C51的多功能数字电子钟的汇编程序,高手进!~_百度知...
用89C51控制3个HC595,前两个595接8段数码显示管,显示“0”~“9”每秒跳动一次.第3个HC595接8个LED灯,每隔1秒闪烁1次.include<at89x52.h> include<intrins.h> define uchar unsigned char define uint unsigned int uchar table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90...

89c51单面机c语言时钟控制器编程
89c51单面机c语言时钟控制器编程、、、就是在数码管上每隔一秒钟显示该秒对应的数字、、当显示第60秒时、、蜂鸣器响一下、、、依次循环就是一个简易的分秒计时器用c语言怎么编程啊那... 89c51单面机c语言时钟控制器编程、、、就是在数码管上每隔一秒钟显示该秒对应的数字、、当显示第60秒时、、蜂鸣器响一下、...

相似回答