单片机汇编程序代码(闪烁灯、流水灯、蜂鸣器、点阵)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、闪烁灯
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN:clr p2.1
SETB P2.0
LOOP:CPL P0.0
LCALL DELAY
SJMP LOOP
DELAY:MOV R0,#255
D1:MOV R1,#255
DJNZ R1,$
DJNZ R0,D1
RET

二、流水灯
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN:clr p2.1
SETB P2.0
mov P0 , #01h
MOV A ,P0
LOOP:RL A
LCALL DELAY
MOV P0,A
LCALL DELAY
SJMP LOOP
DELAY:MOV R6,#255
D1: MOV R7,#255
DJNZ R7,$
DJNZ R6,D1
RET

三、蜂鸣器
;注意,P1.1连接BELL
ORG 0000H
LJMP START
ORG 000BH
CLR P2.1
INC 20H ;中断服务,中断计数器加1
MOV TH0,#0D8H
MOV TL0,#0EFH ;12M晶振,形成10毫秒中断
RETI
START:
MOV SP,#50H
MOV TH0,#0D8H
MOV TL0,#0EFH
MOV TMOD,#01H
MOV IE,#82H
MUSIC0:
NOP
MOV DPTR,#DAT ;表头地址送DPTR
MOV 20H,#00H ;中断计数器清0
MOV B,#00H ;表序号清0
MUSIC1:
NOP
CLR A
MOVC A,@A+DPTR ;查表取代码
JZ END0 ;是00H,则结束
CJNE A,#0FFH,MUSIC5
LJMP MUSIC3
MUSIC5:
NOP
MOV R6,A
INC DPTR
MOV A,B
MOVC A,@A+DPTR ;取节拍代码送R7
MOV R7,A
SETB TR0 ;启动计数
MUSIC2:
NOP
CPL P1.1
MOV A,R6
MOV R3,A
LCALL DEL
MOV A,R7
CJNE A,20H,MUSIC2 ;中断计数器(20H)=R7否?
;不等,则继续循环
MOV 20H,#00H ;等于,则取下一代码
INC DPTR
; INC B
LJMP MUSIC1
MUSIC3:
NOP
CLR TR0 ;休止100毫秒
MOV R2,#0DH
MUSIC4:
NOP
MOV R3,#0FFH
LCALL DEL
DJNZ R2,MUSIC4
INC DPTR
LJMP MUSIC1
END0:
NOP
MOV R2,#64H ;歌曲结束,延时1秒后继续
MUSIC6:
MOV R3,#00H
LCALL DEL
DJNZ R2,MUSIC6
LJMP MUSIC0
DEL:
NOP
DEL3:
MOV R4,#02H
DEL4:
NOP
DJNZ R4,DEL4
NOP
DJNZ R3,DEL3
RET
NOP
DAT:
db 26h,20h,20h,20h,20h,20h,26h,10h,20h,10h,20h,80h,26h,20h,30h,20h
db 30h,20h,39h,10h,30h,10h,30h,80h,26h,20h,20h,20h,20h,20h,1ch,20h
db 20h,80h,2bh,20h,26h,20h,20h,20h,2bh,10h,26h,10h,2bh,80h,26h,20h
db 30h,20h,30h,20h,39h,10h,26h,10h,26h,60h,40h,10h,39h,10h,26h,20h
db 30h,20h,30h,20h,39h,10h,26h,10h,26h,80h,26h,20h,2bh,10h,2bh,10h
db 2bh,20h,30h,10h,39h,10h,26h,10h,2bh,10h,2bh,20h,2bh,40h,40h,20h
db 20h,10h,20h,10h,2bh,10h,26h,30h,30h,80h,18h,20h,18h,20h,26h,20h
db 20h,20h,20h,40h,26h,20h,2bh,20h,30h,20h,30h,20h,1ch,20h,20h,20h
db 20h,80h,1ch,20h,1ch,20h,1ch,20h,30h,20h,30h,60h,39h,10h,30h,10h
db 20h,20h,2bh,10h,26h,10h,2bh,10h,26h,10h,26h,10h,2bh,10h,2bh,80h
db 18h,20h,18h,20h,26h,20h,20h,20h,20h,60h,26h,10h,2bh,20h,30h,20h
db 30h,20h,1ch,20h,20h,20h,20h,80h,26h,20h,30h,10h,30h,10h,30h,20h
db 39h,20h,26h,10h,2bh,10h,2bh,20h,2bh,40h,40h,10h,40h,10h,20h,10h
db 20h,10h,2bh,10h,26h,30h,30h,80h,00H

END


四、XP0 EQU 30H
XP2 EQU 31H
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN:
clr p2.1
SETB P2.0
RST: MOV XP0,#0H
MOV XP2,#0H
MOV R4,#0H;
LOOP:
NOP
LCALL LOOP1
NOP
NOP
LCALL LOOP2
INC R4
CJNE R4,#8H,LOOP
LJMP RST

LOOP1:
MOV P0,#0H
MOV DPTR,#TP2
MOV A,XP2
MOVC A,@A+DPTR
MOV P2,A
INC XP2
RET
LOOP2:
MOV DPTR,#TP0
MOV A,XP0
MOVC A,@A+DPTR
MOV P0,A
INC XP0
RET


TP0: DB 30H,48H,44H,22H,44H,48H,30H,00H ;心型
TP2: DB 07F

h,0BFh,0DFh,0EFh,0F7h,0FBh,0FDh,0FEh

;TP0: DB 00H,41H,22H,14H,08H,14H,22H,41H ;叉型
;TP2: DB 07Fh,0BFh,0DFh,0EFh,0F7h,0FBh,0FDh,0FEh

;TP0: DB 00H,08H,14H,22H,41H,22H,14H,08H ;菱型
;TP2: DB 07Fh,0BFh,0DFh,0EFh,0F7h,0FBh,0FDh,0FEh

;TP0: DB 00H,1EH,12H,12H,7FH,12H,12H,1EH ;中字
;TP2: DB 07Fh,0BFh,0DFh,0EFh,0F7h,0FBh,0FDh,0FEh

;TP0: DB 00H,3CH,42H,42H,42H,42H,3CH,00H ;圆形
;TP2: DB 07Fh,0BFh,0DFh,0EFh,0F7h,0FBh,0FDh,0FEh
END

相关文档
最新文档