51单片机简易电子钟设计。汇编语言编写

作者&投稿:鬱顾 (若有异议请与网页底部的电邮联系)
急求!!!!!!!!!!! MCS51单片机 基于DS1302的电子钟设计,要用汇编语言编写~

液晶显示
http://hi.baidu.com/47okey/blog/item/8055791a69d3400f8618bf87.html?timeStamp=1303796541046
数码管显示
http://hi.baidu.com/47okey/blog/item/6e6daa58171f723c2834f0f6.html
以上仅供参考,和你实验箱不一定对得上,得修改IO口。

已发

1.关键词规范
  关键词是反映论文主题概念的词或词组,通常以与正文不同的字体字号编排在摘要下方。一般每篇可选3~8个,多个关键词之间用分号分隔,按词条的外延(概念范围)层次从大到小排列。
  关键词一般是名词性的词或词组,个别情况下也有动词性的词或词组。
  应标注与中文关键词对应的英文关键词。编排上中文在前,外文在后。中文关键词前以“关键词:”或“[关键词]”作为标识;英文关键词前以“Key words:”作为标识。
  关键词应尽量从国家标准《汉语主题词表》中选用;未被词表收录的新学科、新技术中的重要术语和地区、人物、文献等名称,也可作为关键词标注。关键词应采用能覆盖论文主要内容的通用技术词条。
2.选择关键词的方法
  关键词的一般选择方法是:由作者在完成论文写作后,从其题名、层次标题和正文(出现频率较高且比较关键的词)中选出来。
  论文正文
  要点
⑴引言:引言又称前言、序言和导言,用在论文的开头。引言一般要概括地写出作者意图,说明选题的目的和意义,并指出论文写作的范围。引言要短小精悍、紧扣主题。
  〈2)论文正文:正文是论文的主体,正文应包括论点、论据、论证过程和结论。主体部分包括以下内容:
a.提出问题-论点;
b.分析问题-论据和论证;
c.解决问题-论证方法与步骤;
d.结论。
  为了做到层次分明、脉络清晰,常常将正文部分分成几个大的段落。这些段落即所谓逻辑段,一个逻辑段可包含几个小逻辑段,一个小逻辑段可包含一个或几个自然段,使正文形成若干层次。论文的层次不宜过多,一般不超过五级。

KEYVAL EQU 30H
KEYTM EQU 31H
KEYSCAN EQU 32H
DAT EQU 33H
SCANLED EQU 39H
CLK EQU 77H
SEC EQU 78H
MIN EQU 79H
HOUR EQU 7AH
PAUSE BIT 00H
DOT BIT 01H
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP T0ISR ;50ms定时
ORG 001BH
LJMP T1ISR ;扫描显示
ORG 0030H
MAIN:
  MOV SP,#5FH
  MOV TMOD,#11H
  MOV TH0,#03CH
  MOV TL0,#0B0H
  MOV TH1,#0ECH
  MOV TL1,#078H
  MOV KEYVAL,#0
  MOV SCANLED,#0
  MOV 33H,#10H
  MOV 34H,#10H
  MOV 35H,#10H
  MOV 36H,#10H
  MOV 37H,#10H
  MOV 38H,#10H
  MOV SEC,#0
  MOV MIN,#0
  MOV HOUR,#0
  MOV CLK,#0
  CLR PAUSE
  SETB EA
  SETB ET1
  SETB TR1
LOOP:
  LCALL KEYSEL
  MOV A,KEYVAL
  CJNE A,#0FFH,LOOP1
  SJMP LOOP
LOOP1:
  CJNE A,#10,LOOP2 ;“ON”启动
  SETB TR0
  SETB ET0
  SETB PAUSE
  SJMP LOOP
LOOP2:
  CJNE A,#11,LOOP3 ;“=”清零
  MOV SEC,#0
  MOV MIN,#0
  MOV HOUR,#0
  LCALL DISCHG
  SJMP LOOP
LOOP3:
  CJNE A,#15,LOOP4 ;“+”暂停
  CLR TR0
  CLR ET0
  CLR PAUSE
  SJMP LOOP
LOOP4:
  CJNE A,#14,LOOP5 ;“-”清显示暂停
  MOV 33H,#10H
  MOV 34H,#10H
  MOV 35H,#10H
  MOV 36H,#10H
  MOV 37H,#10H
  MOV 38H,#10H
  CLR TR0
  CLR ET0
  CLR PAUSE
  SJMP LOOP
LOOP5:
  CJNE A,#10,LOOP6  ;数字键
LOOP6:
  JC LOOP7
  LJMP LOOP
LOOP7:
  JNB PAUSE,LOOP8   ;暂停状态可以输入数字键
  LJMP LOOP
LOOP8:
  MOV 33H,34H
  MOV 34H,35H
  MOV 35H,36H
  MOV 36H,37H
  MOV 37H,38H
  MOV 38H,KEYVAL
  MOV A,33H
  SWAP A
  ORL A,34H
  LCALL BCDH
  MOV HOUR,A
  MOV A,35H
  SWAP A
  ORL A,36H
  LCALL BCDH
  MOV MIN,A
  MOV A,37H
  SWAP A
  ORL A,38H
  LCALL BCDH
  MOV SEC,A
  LJMP LOOP

;------------------
;BCD转换为十六进制
BCDH:
  MOV B,#10H
  DIV AB
  MOV R7,B
  MOV B,#10
  MUL AB
  ADD A,R7
  RET
;------------------
;十六进制转换为BCD
HBCD:
  MOV B,#10
  DIV AB
  SWAP A
  ORL A,B
  RET
;------------------
KEYSEL: 
  MOV KEYVAL,#0
  MOV KEYSCAN,#0EFH
  LCALL GETKEY
  MOV A,KEYTM
  JZ KEYS1
  MOV KEYVAL,A
  SJMP KEYRTN
KEYS1: 
  MOV KEYSCAN,#0DFH
  LCALL GETKEY
  MOV A,KEYTM
  JZ KEYS2
  CLR C
  ADD A,#4
  MOV KEYVAL,A
  SJMP KEYRTN
KEYS2: 
  MOV KEYSCAN,#0BFH
  LCALL GETKEY
  MOV A,KEYTM
  JZ KEYS3
  CLR C
  ADD A,#8
  MOV KEYVAL,A
  SJMP KEYRTN
KEYS3: 
  MOV KEYSCAN,#7FH
  LCALL GETKEY
  MOV A,KEYTM
  JZ KEYRTN
  CLR C
  ADD A,#12
  MOV KEYVAL,A
KEYRTN: 
  LCALL CHGKEY
  RET
;--------------------
GETKEY: 
  MOV KEYTM,#0
  MOV A,KEYSCAN
  MOV P3,A
  NOP
  MOV A,P3
  ANL A,#0FH
  XRL A,#0FH
  JZ NOKEY
  MOV R2,#10
  LCALL DELAY
  MOV A,P3
  ANL A,#0FH
  XRL A,#0FH
  JZ NOKEY
  MOV A,P3
  ANL A,#0FH
  MOV R7,A
SF:
  MOV A,P3
  ANL A,#0FH
  XRL A,#0FH
  JNZ SF
  MOV A,R7
  CJNE A,#0EH,NK1
  MOV KEYTM,#1
  SJMP NOKEY
NK1:
  CJNE A,#0DH,NK2
  MOV KEYTM,#2
  SJMP NOKEY
NK2:
  CJNE A,#0BH,NK3
  MOV KEYTM,#3
  SJMP NOKEY
NK3:
  CJNE A,#07H,NOKEY
  MOV KEYTM,#4
NOKEY: RET
;--------------------
DELAY:
  MOV R3,#50
DELAY1:
  MOV R4,#100
  DJNZ R4,$
  DJNZ R3,DELAY1
  DJNZ R2,DELAY
  RET
;--------------------
T0ISR:
  PUSH ACC
  CLR TR0
  MOV TH0,#3CH
  MOV TL0,#0B0H
  SETB TR0
  INC CLK
  MOV A,CLK
  CJNE A,#20,T0ISRE
  MOV CLK,#0
  INC SEC
  MOV A,SEC
  CJNE A,#60,T0ISRE
  MOV SEC,#0
  INC MIN
  MOV A,MIN
  CJNE A,#60,T0ISRE
  MOV MIN,#0
  INC HOUR
  MOV A,HOUR
  CJNE A,#24,T0ISRE
  MOV SEC,#0
  MOV MIN,#0
  MOV HOUR,#0
T0ISRE:
  LCALL DISCHG
  POP ACC
  RETI
;--------------------
DISCHG:
  MOV A,HOUR
  LCALL HBCD
  PUSH ACC
  ANL A,#0FH
  MOV 34H,A
  POP ACC
  ANL A,#0F0H
  SWAP A
  MOV 33H,A
  MOV A,MIN
  LCALL HBCD
  PUSH ACC
  ANL A,#0FH
  MOV 36H,A
  POP ACC
  ANL A,#0F0H
  SWAP A
  MOV 35H,A
  MOV A,SEC
  LCALL HBCD
  PUSH ACC
  ANL A,#0FH
  MOV 38H,A
  POP ACC
  ANL A,#0F0H
  SWAP A
  MOV 37H,A
  RET
;--------------------
T1ISR:
  PUSH ACC
  CLR TR1
  MOV TH1,#0ECH
  MOV TL1,#78H
  SETB TR1
  MOV DPTR,#LEDTAB
T100:
  MOV R0,#DAT
  MOV A,SCANLED
  ADD A,R0
  MOV R0,A
  MOV A,SCANLED
  JNZ T101
  MOV P2,#01H
  CLR DOT
  SJMP T1DIS
T101:
  DEC A
  JNZ T102
  MOV P2,#02H
  SETB DOT
  SJMP T1DIS
T102:
  DEC A
  JNZ T103
  MOV P2,#04H
  CLR DOT
  SJMP T1DIS
T103:
  DEC A
  JNZ T104
  MOV P2,#08H
  SETB DOT
  SJMP T1DIS
T104:
  DEC A
  JNZ T105
  MOV P2,#10H
  CLR DOT
  SJMP T1DIS
T105:
  MOV P2,#20H
  CLR DOT
T1DIS:
  MOV A,@R0
  MOVC A,@A+DPTR
  JNB DOT,T1DIS1
  ORL A,#01H
T1DIS1:
  CPL A
  MOV P0,A
  INC SCANLED
  MOV A,SCANLED
  CJNE A,#6,T1END
  MOV SCANLED,#0
T1END:
  POP ACC
  RETI
;--------------------
CHGKEY:
  MOV A,KEYVAL
  JZ KV16
  DEC A
  JNZ KV01
  MOV KEYVAL,#7
  RET
KV01:
  DEC A
  JNZ KV02
  MOV KEYVAL,#4
  RET
KV02:
  DEC A
  JNZ KV03
  MOV KEYVAL,#1
  RET
KV03:
  DEC A
  JNZ KV04
  MOV KEYVAL,#10
  RET
KV04:
  DEC A
  JNZ KV05
  MOV KEYVAL,#8
  RET
KV05:
  DEC A
  JNZ KV06
  MOV KEYVAL,#5
  RET
KV06:
  DEC A
  JNZ KV07
  MOV KEYVAL,#2
  RET
KV07:
  DEC A
  JNZ KV08
  MOV KEYVAL,#0
  RET
KV08:
  DEC A
  JNZ KV09
  MOV KEYVAL,#9
  RET
KV09:
  DEC A
  JNZ KV10
  MOV KEYVAL,#6
  RET
KV10:
  DEC A
  JNZ KV11
  MOV KEYVAL,#3
  RET
KV11:
  DEC A
  JNZ KV12
  MOV KEYVAL,#11
  RET
KV12:
  DEC A
  JNZ KV13
  MOV KEYVAL,#12
  RET
KV13:
  DEC A
  JNZ KV14
  MOV KEYVAL,#13
  RET
KV14:
  DEC A
  JNZ KV15
  MOV KEYVAL,#14
  RET
KV15:
  DEC A
  JNZ KV16
  MOV KEYVAL,#15
  RET
KV16:
  MOV KEYVAL,#0FFH
  RET
;--------------------
LEDTAB: DB 0FCH ;"0" 00H
  DB 60H ;"1" 01H
  DB 0DAH ;"2" 02H
  DB 0F2H ;"3" 03H
  DB 66H ;"4" 04H
  DB 0B6H ;"5" 05H
  DB 0BEH ;"6" 06H
  DB 0E0H ;"7" 07H
  DB 0FEH ;"8" 08H
  DB 0F6H ;"9" 09H
  DB 0EEH ;"A" 0AH
  DB 3EH ;"B" 0BH
  DB 9CH ;"C" 0CH
  DB 7AH ;"D" 0DH
  DB 9EH ;"E" 0EH
  DB 8EH ;"F" 0FH
  DB 00H ;" " 10H
;--------------------
END



51单片机简易电子钟设计。汇编语言编写
答:JC LOOP7 LJMP LOOPLOOP7: JNB PAUSE,LOOP8 ;暂停状态可以输入数字键 LJMP LOOPLOOP8: MOV 33H,34H MOV 34H,35H MOV 35H,36H MOV 36H,37H MOV 37H,38H MOV 38H,KEYVAL MOV A,33H SWAP A ORL A,34H LCALL BCDH MOV HOUR,A MOV A,35H SWAP A ORL...

如何用51单片机制作简易电子钟
答:汇编程序如下:ORG 0000H AJMP main ORG 000BH ;定时器0的中断向量地址 AJMP TIME0 ;跳转到真正的定时器程序处 ORG 30H main:mov dptr,#k1;start:MOV P0,#00H ;中断预处理程序 MOV P1,#00H MOV P3,#00H ;关所有灯 MOV R0,#00H ;软件计数器预清0 MOV R7,#00H MOV R6,#00H M...

用51单片机编一个电子时钟的程序 八个数码管 要汇编编的 最简单的 只...
答:MAIN:MOV SP,#60H MOVR4,#20 MOVTMOD,#01H MOVTH0,#03CH;12M晶振时定时初值 MOVTL0,#0B0H SETBEA SETBET0 SETBTR0 MOVR0,#20 DISP:MOVA,26H MOVB,#10 DIVAB MOV20H,B;余数(百分秒位数)MOV21H,A;商(十分秒位数)MOVA,27H MOVB,#10 DIVAB MOV22H,B;余数(秒个位数)MOV23H...

51单片机 制作 日历时钟 用汇编语言 要详细的代码和硬件图示
答:你好这是基于DS1302日历时钟的单片机汇编程序 51单片机 ORG 0000H MOV SP,#30H LOAD EQU P2.0 CLR LOAD MOV R0,#0FH MOV R1,#0AH ;亮度 ACALL TRT MOV R0,#02H MOV R1,#0BH ;扫描位数 ACALL TRT MOV R0,#0FFH MOV R1,#09H ;译码 ACALL TRT MOV R0,#01H MOV R1...

51单片机控制数字钟原理图及汇编程序设计
答:P0=display_code[time[i]/10];//存放十位数字 P0=~P0;P2=k;k=k<<1;delay();//调用延时程序 } P2=0;} void calc()//计算程序 { time[0]++;if(time[0]>59){ time[0]=0;time[1]++;if(time[1]>59){ time[1]=0;time[2]++;if(time[2]>12){ time[2]=1;} } } } ...

求一个用汇编语言编写一个8051单片机的时钟程序(急急急啊)
答:STACK_SEG SEGMENT IDATA K1 BIT P1.4 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...

求单片机课程设计实验 用汇编语言,基于51单片机的定时闹钟
答:求单片机课程设计实验 用汇编语言,基于51单片机的定时闹钟 任务:设计一个简易的定时闹钟时钟。功能要求:(1)可手动利用键盘设置当前时间和目标提醒时间;(2)显示格式为“时时:分分”,且在数码管上显示;(3)提醒时间到达,则用LED灯闪... 任务:设计一个简易的定时闹钟时钟。功能要求:(1)可手动利用键盘设置当前时间...

51单片机做数字电子钟
答:51单片机做数字电子钟 设计一个数字电子钟,要求可以进行时、分、秒显示,最大显示时间为23:59:59,并且可以通过按键进行时、分调整。画出硬件连接电路图,说明各个控制信号的作用。᠑...  设计一个数字电子钟,要求可以进行时、分、秒显示,最大显示时间为23:59:59,并且可以通过按键进行时、分调整。

求基于51单片机P01,P2 LED接数码管,用三极管驱动的电子时钟程序,大神...
答:程序名称:51单片机数码管电子钟汇编程序 简要说明:实现24小时制电子钟,8位数码管显示,显示时分秒 显示格式:23-59-59(小时十位如果为0则不显示)P0口输出段选信号,P2口输出位选信号 P1.0为调时按钮,P1.1为调分按钮;晶振12M 编 写:JiangX.net / ORG 0000H ;程序入口地址 LJMP START ...

哪位大神能帮我写一个基于单片机C51的电子时钟设计报告?
答:电子钟设计 1、 电路图:2功能实现:(1. 把“单片机系统”区域中的P1.0-P1.7端口用8芯排线连接到“动态数码显示”区域中的A-H端口上;(2. 把“单片机系统:区域中的P3.0-P3.7端口用8芯排线连接到“动态数码显示”区域中的S1-S8端口上;(3. 把“单片机系统”区域中的...