设计一个单片机时钟。要求显示时、分、秒,并能修改时间,能进行定时控制,用汇编语言写程序,谢谢

作者&投稿:台邢 (若有异议请与网页底部的电邮联系)
单片机数字钟设计 汇编语言~

我的博客上有相关的程序,你可以去看看,是我05年带课程设计时写的。

模拟真实时钟显示 原理是扫描LED灯

/*********************************************
作品名称:基于单片机的二十四进制数字时钟
实现功能:正常显示、调时调分、秒位清零、整点报时
*********************************************/
ORG 0
START: MOV R0,#100
MOV R1,#0
MOV R2,#0
MOV R3,#0
MOV R4,#0
MOV R5,#0
MOV R6,#0
MOV 20H,#20
/***************查表显示部分*****************/
NEXT1: MOV A,R1
MOV DPTR,#TABLE2
MOVC A,@A+DPTR
MOV P0,A
MOV P2,#11111110B ;秒针个位
CALL DELAY1

MOV A,R2
MOV DPTR,#TABLE1
MOVC A,@A+DPTR
MOV P0,A
MOV P2,#11111101B ;秒针十位
CALL DELAY1

MOV A,R3
MOV DPTR,#TABLE2
MOVC A,@A+DPTR
MOV P0,A
MOV P2,#11111011B ;分针个位
CALL DELAY1

MOV A,R4
MOV DPTR,#TABLE1
MOVC A,@A+DPTR
MOV P0,A
MOV P2,#11110111B ;分针十位
CALL DELAY1

MOV A,R5
MOV DPTR,#TABLE2
MOVC A,@A+DPTR
MOV P0,A
MOV P2,#11101111B ;时针个位
CALL DELAY1

MOV A,R6
MOV DPTR,#TABLE1
MOVC A,@A+DPTR
MOV P0,A
MOV P2,#11011111B ;时针十位
CALL DELAY1
/***************按键扫描部分********************/
MOV R7,#0FEH
MOV A,R7
MOV P1,A
JNB P1.6,KEY1 ;秒位清零按键
JNB P1.5,KEY2 ;分位调整按键
JNB P1.4,KEY3 ;时位调整按键
/***************判断进制部分********************/
DJNZ R0,NEXT1 ;判断循环延迟
MOV R0,#100 ;(循环100圈即为1s)
INC R1
LOOP1: CJNE R1,#10,NEXT1 ;秒位判断进位
MOV R1,#0
INC R2
CJNE R2,#6,NEXT1
MOV R2,#0
INC R3
LOOP2: CJNE R3,#10,NEXT1 ;分位判断进位
MOV R3,#0
INC R4
CJNE R4,#6,NEXT1
MOV R4,#0
INC R5
CLR P2.7 ;整点报时
CALL DELAY2 ;报时延迟
LOOP3: CJNE R6,#2,NEXT2 ;二十四进制部分
CJNE R5,#4,NEXT2
MOV R5,#0
MOV R6,#0
JMP START
NEXT3: LJMP NEXT1
NEXT2:
CJNE R5,#10,NEXT3
MOV R5,#0
INC R6
CJNE R6,#3,NEXT3
/***************按键功能部分********************/
KEY1:
DJNZ 20H,NEXT3 ;判断循环延迟
MOV 20H,#20 ;二十圈即为防抖延迟
MOV R1,#0
MOV R2,#0
JMP LOOP1
KEY2:
DJNZ 20H,NEXT3
MOV 20H,#20
INC R3
JMP LOOP2
KEY3:
DJNZ 20H,NEXT3
MOV 20H,#20
INC R5
JMP LOOP3
/***************时钟延迟部分*********************/
DELAY1:

MOV 0011H,#10
D1: MOV 0012H,#90
DJNZ 0012H,$
DJNZ 0011H,D1
RET
/***************蜂鸣器延迟部分*******************/
DELAY2:
MOV 0013,#255
D2: MOV 0014,#255
DJNZ 0014,$
DJNZ 0013,D2
RET
/***************数码表格部分*********************/
TABLE1: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
TABLE2: DB 0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H,0FFH,0EFH
END


如何分析一个单片机的时钟?
1、观察该系统输入输出波形可以确定该系统为时钟的四分频(2位2进制)2、使用双D触发器对时钟进行四分频,一个D触发器可以完成2分频,级联即可完成4分频,根据D触发器分频基本电路设计电路原理图如下:图中数字信号D(3)为时钟信号二分频,数字信号D(5)为D(3)信号的二分频 3、观察输出波形如下图,...

用单片机设计一个时钟,可显示时和分,可以调时间,也要有闹钟功能,要有设...
while(h==24)小时进一位,到24清0 { h=00;} } }

51单片机做数字电子钟
数字电子钟是以1s为最小定时单位的,51单片机自身具有两个16位定时\/计数器,当晶振频率为6MHz时,最大定时时间为0.13s。而具有时、分和秒的数字电子钟只能以1s定时,所以要实现实现1s定时,必须采用软件计数和定时器定时相结合的方法。每1s定时到,修改显示值,送6位LED显示。本课题需用6个LED数码管显示时间值,并且需...

用AT89S51(单片机)设计一个电子钟
以AT89S51为核心组成一个电子钟。电路主要由微处理器(AT89S51)、电源电路、键盘电路和显示电路组成。系统运行时,由8个LED数码管分别显示时、分、秒。在任何时候都可以通过键盘来调... 以AT89S51为核心组成一个电子钟。电路主要由微处理器(AT89S51)、电源电路、键盘电路和显示电路组成。系统运行时,由8个LED数码管分别...

单片机做时钟程序
单片机做时钟程序 (1)定时器一秒定时(2)小时、分钟、秒显示(3)按键设置时间,使用四个按键如下:KEY_SET、KEY_UP、KEY_DN、KEY_ENTER第一按KEY_SET,设置小时;第二次按KEY_SET设置分钟;第三次按KE... (1)定时器一秒定时(2)小时、分钟、秒显示(3)按键设置时间,使用四个按键如下:KEY_SET、KEY_UP、KEY_DN...

求一个用汇编语言编写一个8051单片机的时钟程序(急急急啊)
K2 BIT P1.5 RSEG DATA_SEG KEY_S: DS 1 KEY_V: DS 1 DIS_DIGIT: DS 1 SEC: DS 1 DIS_INDEX: DS 1 HOUR: DS 1 MIN: DS 1 SEC100: DS 1 DIS_BUF: DS 8 BUF_HOUR_H EQU DIS_BUF ; 小时十位 BUF_HOUR_L EQU DI...

用单片机设计一个数字时钟
用单片机设计一个数字时钟要求:以24个小时为一个周期,显示时分秒。有校时功能,可以分别对时分秒进行单独校时,使其校正到标准时间。计时过程具有报时功能,当时间到达整点前5秒进行... 用单片机设计一个数字时钟 要求:以24个小时为一个周期,显示时分秒。有校时功能,可以分别对时分秒进行单独校时,使其校正到标准...

用单片机设计一个电子时钟
F1 BIT PSW.1 MAIN: MOV SP, #50H ;设置堆栈区 MOVX DPTR, #PORT MOV A, #03H MOVX @DPTR, A ;8155初始化 CLR F1 ;清零闹钟标志位 CLR F0 ;允许计时显示 MOV AHOUR, #0FFH MOV AMIN, #0FFH MOV ASEC, #0FFH MOV R7, #10H MOV R0, #DISP0 CLR A...

求一个简单的单片机时钟程序
disdat[1]=sec\/10;disdat[2]=min%10;disdat[3]=min\/10;disdat[4]=hour%10;disdat[5]=hour\/10;}void t0isr() interrupt 1\/\/秒计时{TR0=0;TH0=0x3c;TL0=0xb0;TR0=1;time++;if(time==20){time=0;sec++;if(sec>59){sec=0;min++;if(min>59){min=0;hour++;if(...

怎么计算单片机的定时时间?
单片机的定时时间的计算公式=计数值(定时值)* 机器周期= 计数值(定时值)* 12 \/ 晶振频率。上面的两个等号是等价的,因为,单片机的机器周期=12秒\/晶振频率,因此两个公式通用。完成一个基本操作所需要的时间称为机器周期。一般,一个机器周期由 若干个S周期(状态周期)组成。80C51系列单片机一个...

门源回族自治县17381254130: 设计一个数字时钟电路.要求:具有时,分,秒,计数显示功能,以24小时循环计时.具有清零,调节小时、分钟功能.具有整点报时功能.谢谢大家,最好快一点... -
亓妮稀甘:[答案] 数字钟电路的 要求有什么 任务是

门源回族自治县17381254130: 基于8051单片机的高精度时钟设计 要求 LCD显示当前的年、月、日,时、分、秒,按键可修改 利用定时器
亓妮稀甘: 可以根据以下程序修改,数码管显示 此程序为国信长天51板子的程序,用到38译码器 #include<reg52.h> #define uchar unsigned char #define uint unsigned int sbit HC138A=P2^5; sbit HC138B=P2^6; sbit HC138C=P2^7; uchar num,num0,...

门源回族自治县17381254130: 单片机课程设计(数字时钟 要求:显示年月日 时分秒能通过按键设置初值.能进行阴阳 -
亓妮稀甘: 设计一个按键,或者定时自动切换. 显示的话就是将数据传送给显示模块(调用显示程序).

门源回族自治县17381254130: 求一个基于AT89C51单片机的数字时钟程序,显示时、分、秒不要求闹钟!就在开发板上的数码管显示 -
亓妮稀甘: 时钟的话 你把数码管的显示的变量值放在定时器里 通过你的定时器 来实现时分秒的定时

门源回族自治县17381254130: 求大神写c语言程序 电子时钟的 要求时间可调 可显示时分 可显示日期 -
亓妮稀甘: (1)用数字逻辑集成块实现; (2)时间以24小时为一个周期,显示时、分、秒; (3)计时过程具有报时功能,当时间到达整点前5秒进行蜂鸣报时; (4)为了保证计时的稳定及准确须由晶体振荡器提供表针时间基准信号. c51单片机 晶振为...

门源回族自治县17381254130: 单片机AT89S52制作一个4未显示只显示分跟秒的电子时钟.急求用C语言写的程序 -
亓妮稀甘: 硬件:用四位共阳数码管,位选用s8550驱动,段选用74HC595或者164驱动 计时芯片采用DS1302,在宏晶网站上有DS1302的驱动程序库,可以引用 程序:用数码管的动态扫描,4位每位之间每位显示时间(1到3ms都行),放在大循环里 ( while(1) { ;//显示程序 } ) 轮流显示四位,

门源回族自治县17381254130: 求程序用AT89C51单片机......用六位数码管实现数字时钟,显示时分秒,用两个按键可分别调整时、分. -
亓妮稀甘: #include<reg52.h> #define uint unsigned int #define uchar unsigned char uchar temp,aa,miao,fen,shi; sbit m=P3^0; sbit n=P3^1; uchar code table[]={ //数码管编码表 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f}; void display(uchar miao,...

门源回族自治县17381254130: 求一份设计一个以51单片机为核心的数字钟,要求能够实时显示小时、分钟、秒钟三个数据. -
亓妮稀甘: 自己做的,带年月日的 P1口接8个按键 P2低四位接74ls48P2.4接数码管dp高三位接74ls138#include<reg51.h> //头文件//#define uchar unsigned char#define uint unsigned int#define ulint unsigned long int #define tn0h 0x70#define tn0l 0x00#...

门源回族自治县17381254130: 单片机时钟 《AT89S51》 1、四位数码管显示时分、分秒,以24小时计时运行 -
亓妮稀甘: 调时程序: MAIN:JNB P3.0,DATETZ;按下0键时,显示日期并可对日期进行调整JNB P3.1,ZSTZ1;按下1键时,显示时间,并可调时JNB P3.2,NLTZ1;按下2键进行闹铃设置JNB P3.3,DSTZ;按下3键进行定时设置ACALL DISP;调用显...

门源回族自治县17381254130: 用c语言编写程序,用于c51单片机四位共阴数码管显示,显示分秒的计时器. -
亓妮稀甘: 用proteus做的时钟 可以显示年月日时分秒 可调整时间 有图*/#includereg52.h

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网