青岛专业做网站的公司中企动力制作的网站后台
文章目录
- 前言
 - 1.打开IDE
 - 2.设置编辑器
 - 3.设置输出
 - 4. 原理图
 - 5.编写代码
 - 6 编译
 - 7.下载
 - 8.其它代码
 - 1.LED闪烁
 - 2.跑马灯
 
前言
51单片机基础
 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
