单片机汇编时钟程序

来源:百度知道 编辑:UC知道 时间:2024/09/24 13:36:02
这个子程序主要是想送0~9的其中一个去12864显示,其它显示文字的程序都正常了,就差这个子程序~~~~

高手们说说那里出错,,或给个汇编程序参考一下,谢谢!

HZ0:CLR CSAB 选片
MOV DDDD,#00H
LCALL SETLINE ;设置起始 行

MOV FFFF,#0X20
LCALL SETY ;列写
MOV EEEE,#0X06
LCALL SETPAGE ;写页
CLR C
MOV A,#0X05;程序设想是在此送什么数到A,LCD第6页处就显什么数!!
LCALL H8X16

AJMP $

H8X16:MOV B,#0X10;乘16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;写8x16入口,张要显示的数字放入A之后就可调用本程序
MUL AB
ADD A,#0X10

MOV 7FH,A
MOV DPTR,#HZOO
CLR AAA ;AAA=0=上半字
H2:MOV R0,#0X08 ;写上8个Y列
H3:
MOV A,7FH
MOV A,#0X7F
MOVC A,@A+DPTR

LCALL LCDWRDATA

给你个时钟电路的汇编程序吧:

muteM EQU 10h ;静音键 闹铃开/关
timerT EQU 0Ch ;菜单键 进入/退出设置状态
leftL EQU 46h ;左移键
rightR EQU 47h ;右移键
upU EQU 19h ;增加键
downD EQU 1dh ;减少键
d_off EQU 16H ;显示键 LED数码管显示/关闭
recall EQU 44H ;日历键 DS1302初始化操作

K_on BIT P3.0 ;闹铃输出
LED1 BIT P3.3
LED2 BIT P3.4
LED3CLK BIT P3.5 ;DS1302
LED4IO BIT P3.7
RST BIT P3.1

SECOND EQU 60H
;60H 秒
;61h 分
;62h 时
;63h 日
;64h 月 ;65h DAY
;66h 年
;6Ah 闹分 from 00(1302)
;6BH 闹时 from 01(1302)
;***************************
ORG 0000H
AJMP START
ORG 0003H
LJMP S_INT ;IRF
ORG 000BH ;200Us
LJMP P_INT ;
ORG 001BH ;display LED
LJMP DISPLAY
;**************************** ;main program
ORG 0030H
START: CLR RST
MOV SP,#2AH
SETB 05H
CLR 06H
SETB 07H;CLR 07H
CLR 08H
CLR 09H
CLR 0AH
CLR 0BH
CLR 0CH