云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 单片机汇编语言实验程序集合

单片机汇编语言实验程序集合

  • 62 次阅读
  • 3 次下载
  • 2025/12/17 13:16:34

51单片机汇编语言实验程序集合

说明:最近一直在做51的编程,下面的程序是基于AT89S52实验板的汇编练习程序,适合于初学者练习和对实验板进行下载测试用,自己写的目的是熟练一下单片机的硬件和软件编程,呵呵,把所有通过调试和下载的源程序都贴在下面了:

;功能说明:实现p0口输出循环右移的led流水灯,500ms延时 START: MOV R0,#8; MOV A,#01111111B; LOOP: MOV P0,A; ACALL DELAY RR A

DJNZ R0,LOOP JMP START

DELAY: MOV R5,#50 DLY1: MOV R6,#100 DLY2: MOV R7,#100 DJNZ R7,$ DJNZ R6,DLY2 DJNZ R5,DLY1 RET

END

***********************************************************************

;function description: T0 as timer contrled p0.7's led 50ms

; while T1 as counter contrled p0.0's led while T0 reached 100 (--10S) ;hardware: p0.0 p0.7 led; p0.7----p3.5(t1's extern int) ORG 0 JMP MAIN

ORG 000BH ;T0 OVERFLOW JMP EXT0

ORG 001BH ;T1 OVERFLOW JMP EXT1

MOV SP,#60H;SET SP

MAIN: MOV TMOD,#01100001B ;SET T/C MODE MOV TL0,#LOW(65536-50000)

MOV TH0,#HIGH(65536-50000) MOV TL1,#LOW(256-100) MOV TH1,#HIGH(256-100)

MOV IE,#10001010B ;OPEN INT SETB TR0 SETB TR1 JMP $

EXT0: MOV TL0,#LOW(65536-50000) MOV TH0,#HIGH(65536-50000) CPL P0.7 RETI

EXT1: CPL P0.0 RETI END

**************************************************************************** ;用四个按键控制8个led左移右移加闪烁,p2.4-p2.7,p0出LED START: MOV P0,#0FFH MOV A,#0FFH MOV P2,A

LOOP: MOV A,P2 CJNE A,#0FFH,LP0 JMP LOOP

LP0: ACALL DELAY1 MOV A,P2 CJNE A,#0FFH,LP1 JMP LOOP

LP1: JNB P2.4,A1 JNB P2.5,A2 JNB P2.6,A3 JNB P2.7,A4 JMP START

A1: MOV R0,#8 MOV A,#0FEH

LOOP2: MOV P0,A ACALL DELAY RL A

DJNZ R0,LOOP2 JMP START

A2: MOV R0,#8 MOV A,#0FCH LOOP3: RR A MOV P0,A

ACALL DELAY DJNZ R0,LOOP3 JMP START

A3: MOV R0,#6 MOV A,#0F0H

LOOP4: MOV P0,A ACALL DELAY CPL A MOV P0,A

DJNZ R0,LOOP4 JMP START

A4: MOV R0,#10 MOV A,#00H

LOOP5: MOV P0,A ACALL DELAY CPL A MOV P0,A

DJNZ R0,LOOP5 JMP START

DELAY1: MOV R3,#60 ;30MS D2: MOV R4,#248 DJNZ R4,$ DJNZ R3,D2 RET

DELAY: MOV R5,#10 ;200MS DLY1: MOV R6,#100 DLY2: MOV R7,#100 DJNZ R7,$ DJNZ R6,DLY2 DJNZ R5,DLY1 RET END

******************************************************************** ORG 0

JMP START

START: MOV R4,#00H L1: MOV R3,#0F7H MOV R1,#00H L2: MOV A,R3 MOV P2,A

MOV A,P2 ;READ P2 MOV R4,A SETB C

MOV R5,#04H ;SCAN P2.4-P2.7 L3: RLC A JNC KEY INC R1

DJNZ R5,L3 MOV A,R3 SETB C RRC A MOV R3,A JC L2 JMP L1

KEY: ACALL DELAY D1: MOV A,P2 XRL A,R4 JZ D1

MOV A,R1 ACALL DISP JMP L1

DISP: MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,A RET

DELAY: MOV R6,#60 D2: MOV R7,#248 DJNZ R7,$ DJNZ R6,D2 RET

TABLE: DB 0C0H, 0F9H, 0A4H, 0B0H DB 99H, 92H, 82H, 0F8H DB 80H, 90H, 88H, 83H DB 0C6H, 0A1H, 86H, 8EH END

*********************************************************************** ;function description: int0 and int1 contriled p0*8 led shift ;2008.11.16 BY XIAOZ ORG 0

JMP START ; SET JMP S ORG 03H JMP EXT0

搜索更多关于: 单片机汇编语言实验程序集合 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

51单片机汇编语言实验程序集合 说明:最近一直在做51的编程,下面的程序是基于AT89S52实验板的汇编练习程序,适合于初学者练习和对实验板进行下载测试用,自己写的目的是熟练一下单片机的硬件和软件编程,呵呵,把所有通过调试和下载的源程序都贴在下面了: ;功能说明:实现p0口输出循环右移的led流水灯,500ms延时 START: MOV R0,#8; MOV A,#01111111B; LOOP: MOV P0,A; ACALL DELAY RR A DJNZ R0,LOOP JMP START DELAY: MOV R5,#50 DLY1: MOV R6,#100 DLY2: MOV R7,#100 DJNZ R7,$ DJNZ R6,DLY2 DJNZ R5,DLY1

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com