单片机典型实验汇编程序

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

实验一LED灯控制实验

实验任务:

①试编程用51单片机P0口实现8个LED 灯的交替亮灭控制;

②试编程实现二进制加法的LED显示;

③试编程实现8位LED灯的单方向跑马灯控制。

实验二数码管静态显示控制实验

实验任务:

用P0口驱动LED数码管静态显示0、1、2、3、4五个数码,每两数码时间间隔2S,循环往复显示。

实验三数码管动态显示控制实验

实验任务:

两片四位一体数码管动态显示0—7八个数码,每两位数码时间间隔2S,循环往复显示,P0口用于段码输出,P1口用于位选。

实验四按键识别控制实验

实验任务:

按键识别,用P2口识别按键,K1—K8对应数码为1—8,按下按键,数码管静态显示对应的数码。

参考程序

实验一:

①试编程用51单片机P0口实现8个LED 灯的交替亮灭控制

ORG 0000H ;程序从此地址开始运行

LJMP MAIN ;跳转到MAIN 程序处

ORG 0100H ;MAIN 从0100H处开始

MAIN:

MOV P2 ,#00H ;P2为低电平LED 灯亮

ACALL DELAY ;调用延时子程序

MOV P2 ,#0FFH

ACALL DELAY

AJMP MAIN

DELAY:

MOV R5,#02H ;将立即数传给寄存器R5

F3: MOV R6,#0FFH

F2: MOV R7,#0FFH

F1: DJNZ R7,F1 ;若为0程序向下执行,若不为0程序跳转到

DJNZ R6,F2

DJNZ R5,F3

RET

END

②试编程实现二进制加法的LED显示

ORG 0000H ;程序从0000开始运行

AJMP MAIN

ORG 0100H

MAIN: MOV A ,#000h

LOOP: MOV P2,A ;全不亮

CALL DELAY ;延时。

INC A ;每次加一。

JMP LOOP

DELAY:MOV R5,#50 ;延时。

D1: MOV R6,#40

D2: MOV R7,#248

D3: DJNZ R7,D3

DJNZ R6,D2

DJNZ R5,D1

RET

END

③试编程实现8位LED灯的单方向跑马灯控制

ORG 0000H ;程序从0000开始运行

LJMP MAIN ;跳到主程序MAIN: ;主程序循环点亮

MOV P2,#00H ;全亮

LCALL DELAY ;延时一段时间

MOV A,#0FEH ;每次只亮一个

灯。

LOOP: MOV P2,A ;输出到p2

LCALL DELAY ;延时

RL A ;循环左移。

AJMP LOOP ;跳转main继续循环

DELAY:MOV R5,#20 ;延时子程序1闪烁灯调用

D1:MOV R6,#20

D2:MOV R7,#250

D3:DJNZ R7,D3

DJNZ R6,D2

DJNZ R5,D1

RET

END

实验二:

LED数码管显示0、1、2、3、4,循环进行ORG 0000H

LJMP MAIN

ORG 0100H

MAIN: MOV 30H,#00H

MOV R0,#5

LOOP: MOV A,30H

INC 30H

MOV DPTR,#TABLE

MOVC A,@A+DPTR

MOV P0,A

LCALL DLEAY

DJNZ R0,LOOP

LJMP MAIN

TABLE:DB 0C0H,0F9H,0A4H,0B0H,99H DLEAY:MOV R5,#50

D1: MOV R6,#40

D2: MOV R7,#248

D3: DJNZ R7,D3

DJNZ R6,D2

DJNZ R5,D1

RET

END

实验三:

LED数码管动态显示0—7

ORG 0000H

LJMP MAIN

ORG 0100H MAIN: MOV 30H,#00H

MOV 31H,#0FEH

MOV R0,#8

LOOP: MOV A,30H

INC 30H

MOV DPTR,#TABLE

MOVC A,@A+DPTR

MOV P0,A

MOV P1,31H

MOV A,31H

RL A

MOV 31H,A

LCALL DLEAY

DJNZ R0,LOOP

LJMP MAIN

TABLE:DB

3FH,06H,5BH,4FH,66H,6DH,7DH,07H DLEAY:MOV R5,#50

D1: MOV R6,#40

D2: MOV R7,#248

D3: DJNZ R7,D3

DJNZ R6,D2

DJNZ R5,D1

RET

END

实验四:

按键识别

ORG 0000H

LJMP MAIN

ORG 0100H

MAIN:MOV P0,#00H

MOV P2,#0FFH

MOV A,P2

CJNE A,#0FFH,QDD

LJMP RETURN

QDD:MOV R0,A

LCALL DLEAY1

MOV A,P2

CJNE A,00H,RETURN

MOV A,P2

JNB ACC.0,KEY1

JNB ACC.1,KEY2

JNB ACC.2,KEY3

JNB ACC.3,KEY4

相关文档
最新文档