51单片机 流水灯 实验(汇编)

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

实验一 单片机I/O 并口视觉实验(流水灯)(仅供参考) 开课学院及实验室:xxxx 实验时间 : xxxx 年 xx 月 xx 日

实验目的

1、了解简单单片机应用系统的设计方法。

2、掌握应用KEIL 软件编辑、编译源程序的操作方法。

3、掌握应用PROTEUS 仿真软件的操作方法。

4、掌握C51的编程方法。

5、培养良好的实验习惯。

实验内容

1、AT89S52为主控芯片,用PROTEUS 仿真设计简单单片机应用系统。

2、编程实现8个发光LED“流水”的现象。

实验原理

1、流水灯

(1)实验原理图

(2)流程图:(我自己没画好请自行画)此处略去

(2)实验程序

1、单灯流水灯

ORG 000H

MOV R7,#0FEH ;初始:11111110 LOOP:

MOV P1,R7

LCALL DELAY

MOV A,R7

RL A ;左移

MOV R7,A

SJMP LOOP

DELAY:

MOV R6,#4H ;最外层4次

DE1:

MOV R5,#250 ;次外层250次

DE2:

MOV R4,#250 ;最外层250次

DJNZ R4,$

DJNZ R5,DE2

DJNZ R6,DE1 ;共:2us*4*250*250=0.5s RET

END

2、来回灯

ORG 000H

LL:

MOV R7,#0FEH;左移初始化

MOV R1,#7

LOOPL:

MOV P1,R7

LCALL DELAY

MOV A,R7

RL A

MOV R7,A

DJNZ R1,LOOPL ;左移7次后跳至右移

LR:

MOV R2,#07FH;右移初始化

MOV R1,#7

LOOPR:

MOV P1,R2

LCALL DELAY

MOV A,R2

RR A

MOV R2,A

DJNZ R1,LOOPR ;右移7次后跳至左移

JJM:

SJMP LL

DELAY:

MOV R6,#4H

DE1:

MOV R5,#250

DE2:

MOV R4,#250

DJNZ R4,$

DJNZ R5,DE2

DJNZ R6,DE1

RET

END

3、自定义灯

ORG 000H

MAIN:

MOV DPTR,#TAB

MOV R0,#0

MOV R1,#18

MLOOP:

MOV A,R0

MOVC A,@A+DPTR

MOV P1,A

CALL DELAY

INC R0

DJNZ R1,MLOOP

JMP MAIN

TAB:DB 0E7H, 0DBH, 0BDH, 07EH, 0F0H, 0E1H, 0C3H, 087H, 00FH, 087H, 0C3H, 0E1H, 000H, 0FFH, 000H, 0FFH, 000H, 0FFH

DELAY:

MOV R6,#4H

DE1:

MOV R5,#250

DE2:

MOV R4,#250

DJNZ R4,$

DJNZ R5,DE2

DJNZ R6,DE1

RET

END

4、级联

ORG 000H

/********R7为灯的寄存**********/

/*R1控制灯的次数R2控制循环几次*/

/*********单灯两次*************/

MOV R2,#2

DANDENG:

MOV R7,#0FEH

MOV R1,#8

LOOP1:

MOV P1,R7

LCALL DELAY

MOV A,R7

RL A

MOV R7,A

DJNZ R1,LOOP1

DJNZ R2,DANDENG

/*********来回一次**************/ LAIHUI:

MOV R7,#0FEH

MOV R1,#7

LOOPLL:

MOV P1,R7

LCALL DELAY

MOV A,R7

RL A

MOV R7,A

DJNZ R1,LOOPLL

LR:

;MOV R2,#07FH

MOV R1,#8

LOOPRR:

MOV P1,R7

LCALL DELAY

MOV A,R7

RR A

MOV R7,A

DJNZ R1,LOOPRR

/**********自定义一次************/ ZIDINGYI:

MOV DPTR,#TAB

MOV R0,#0

MOV R1,#18

MMLOOP:

MOV A,R0

MOVC A,@A+DPTR

MOV P1,A

CALL DELAY

INC R0

相关文档
最新文档