文章目录
- 前言
- 1.打开IDE
- 2.设置编辑器
- 3.设置输出
- 4. 原理图
- 5.编写代码
- 6 编译
- 7.下载
- 8.其它代码
- 1.LED闪烁
- 2.跑马灯
前言
51单片机基础
本章主要介绍打开一个led,具体采用51汇编
1.打开IDE
选择STC89C52RC
后缀是.asm
2.设置编辑器
3.设置输出
4. 原理图
5.编写代码
ORG 00H;伪代码,程序起始位置
MOV A,#11111110B ;存入显示灯的位置数据为累加器A
MOV P1,A
JMP $ ;程序在这里停止
END
其中#11111110可以写为0FEH,不要忘了前面的0
上面可以不用A,直接可以负值,因为P1是片内ram,所以不需要A,如果是片外ram,就需要A
ORG 00H
MOV P1,#11111110B ;存入显示灯的位置数据为累加器A
JMP $ ;程序在这里停止
END
ORG
CLR P1.7 ;清除1bit
JMP $ ;程序在这里停止
END
6 编译
7.下载
8.其它代码
1.LED闪烁
ORG 00H
START:CLR P1.0CALL DELAYSETB P1.0CALL DELAYJMP STARTDELAY:MOV R5, #25
D1:MOV R6,#100
D2:MOV R7,#100DJNZ R7, $ ;$表示继续执行这一句DJNZ R6,D2DJNZ R5,D1RETEND
延时1s
`
2.跑马灯
从P1.0开始,循环依次点亮
ORG 00H
START:MOV R0,#7MOV A, #0FEHLOOP:MOV P1,ACALL DELAYRL A ;左移一位DJNZ R0, LOOPDELAY:MOV R5, #50
D1:MOV R6, #100
D2:MOV R7, #100DJNZ R7,$DJNZ R6,D2DJNZ R5,D1RETEND
加强版
ORG 00H
START:MOV R0,#7MOV A, #0FEHLOOP:MOV P1,ACALL DELAYRL A ;左移一位DJNZ R0, LOOPMOV R1 , #3MOV A,#00HLOOP1:MOV P1, ACALL DELAYCPL A;DJNZ R1,LOOP1JMP STARTDELAY:MOV R5, #50
D1:MOV R6, #100
D2:MOV R7, #100DJNZ R7,$DJNZ R6,D2DJNZ R5,D1RETEND