导航:首页 > 操作系统 > 汇编51单片机

汇编51单片机

发布时间:2023-02-05 15:42:48

① 用汇编怎么写51单片机的延时程序

DEL1S:MOV R7,#10x0dx0aD1: MOV R6,#200x0dx0aD2: MOV R5,#250x0dx0a DJNZ R5,$x0dx0a DJNZ R6,D2x0dx0a DJNZ R7,D1x0dx0a RETx0dx0ax0dx0a说明:1、如果不使用R5、R6、R7可以用别的单元替换,比如换成30H、31H、32H等等x0dx0a 2、这个程序是12M时钟,如果时钟不同,要修改数值。如6M时钟,要把MOV R7,#10 修改成:MOV R7,#5

② 51单片机汇编题目

DATDEAL:
MOV30H,#34H
MOV31H,#58H
MOV32H,#23H
MOV33H,#45H
MOVDPTR,#1000H
MOVA,31H
ADDA,33H
MOVDPL,#02H
MOVX@DPTR,A
MOVA,30H
ADDCA,#32H
MOVDPL,#01H
MOVX@DPTR,A
CLRA
ADDCA,#0
MOVDPL,#00H
MOVX@DPTR,A
RET

③ 51单片机汇编语言后缀

51单片机汇编语言后缀为c语言中指令功能。51单片机汇编语言后缀为c语言中指令功能。51汇编语言extrndata,51单片机汇编伪指令功能:这一伪指令用来自定义名字,以替换源程序中原来的保留字,替换的保留字均可等效地用于子程序中。

④ 用汇编语言编写一个51单片机的程序

首先搞清LED管是高电平导通还是低电平导通。
如果是低电平导通,P1赋0x00时,发光管全亮,0xff时,全灭。
具体程序:
#define uint unsigned int
#define uchar unsigned char
void delay(uint time_out)
{
uint i,j;
for(i=0;i<time_out;i++)
{
for(j=0;j<110;j++)
{;}
}
}

void main(){
while(1)
{
P1=0xfe; //第1个管亮
delay(500);
P1=0xfd; //第2个管亮
delay(500);
P1=0xfb; //依次类推
delay(500);
P1=0xf7;
delay(500);
P1=0xef;
delay(500);

P1=0xdf;
delay(500);

P1=0xbf;
delay(500);

P1=0x7f;
delay(500);
}
}

程序大致如此,delay函数负责延迟500ms.有问题自己再调试调试

⑤ 51单片机中如何用汇编语言编写流水灯

流水灯就是51单片机控制led灯依次点亮的控制方式。具体程序如下:

ORG 0000H;复位启动
AJMP START;
ORG 001BH;T1中断
AJMP T1INT;

;定义变量========================
YSJSEQU 30H;延时计数器
LEDEQU 31H;LED控制缓冲器

;主程序==========================
START:MOV LED,#0FEH;初始化数据
MOV YSJS,#0;
MOV TMOD,#10H;定时器1工作于方式1,16位定时器
MOV TL1,#0B0H;设置定时初值
MOV TH1,#3CH;定时时间=50mS
SETB ET1;使能定时器1中断
SETB TR1;启动定时器1
SETB EA;开总中断

MOV P1,LED;初始化流水灯
LOOP:JMP LOOP;循环等待中断
T1INT:PUSH PSW;定时器1中断程序
PUSH ACC;保护现场
MOV TH1,#3CH;定时时间=50mS
MOV TL1,#0B0H;
INC YSJS;

PUSH ACC;保护ACC
MOV A,YSJI;
CJNE A,#2,QT1;50mS*2=100mS
MOV P1,LED;
MOV A,LED;
RL A;累加器A的值循环左移1位
MOV LED,A;
MOV YSJS,#0;
QT1:POP ACC;恢复现场
POP PSW;
RETI;返回主程序
END;汇编程序结束

(5)汇编51单片机扩展阅读:

实现流水灯的三个方法:

第一种,总线方法实现流水灯。这是一种比较笨但又最易理解的方法,采用顺序程序结构,用位指令控制P1口的每一个位输出高低电平,加上延时函数,即可控制每个LED灯的亮灭。

第二种,移位方法实现流水灯采用循环程序结构编程。首先在程序开始给P1.0口送一个低电平,其它位为高。然后延时一段时间再让低电平往高位移动,这样就实现“流水”的效果了。

第三种,库函数实现流水灯。利用左移函数进行。

⑥ MCS-51单片机汇编语言的SP指令有什么作用

MCS-51单片机汇编语言中,没有SP这条指令,只有针对SP操作的指令。51单片机中SP是堆栈指针寄存器,存放着当前堆栈地址。堆栈用于存储子程序调用、中断程序调用时程序返回的地址,或者用来临时保存某一寄存器的值。x0dx0a除了初始化堆栈时直接给SP赋值,SP显式存在,其它的对SP有影响的指令,对SP的操作都是隐式的,就是说SP并不出现在指令操作数当中。x0dx0a例如:x0dx0aMOVSP,#80H;初始堆栈指针,(SP)=80Hx0dx0aLCALLXXXX;调用XXXX处的子程序,下一条指令PC值压栈,(SP)=(SP)+2x0dx0aNOP;子程序返回时,RET指令从堆栈中弹出PC值,所以会返回到这里,(SP)=(SP)-2x0dx0aPUSHACC;累加器A的内容压栈保存,(SP)=(SP)+1x0dx0aPOPB;堆栈内保存的累加器A的内容弹出到B寄存器中,(SP)=(SP)-1x0dx0ax0dx0a使用PUSH、POP指令使用堆栈,要注意进出栈的匹配,否则将引起不可预期的后果。

⑦ 51单片机定时器的汇编语言程序编程,

LED BIT P1.0 ;定义LED的引脚
ORG 0000H

LJMP MAIN
ORG 000BH
LJMP T0ISR
ORG 0030H
MAIN:
MOV TMOD,#01H ;定时器0工作模式1
MOV TH0,#HIGH(65536-50000) ;初值,50毫秒中断一次
MOV TL0,#LOW(65536-50000)
SETB TR0 ;启动定时器
SETB ET0 ;启动定时器中断
SETB EA ;开总中断
MOV R2,#40 ;中断计数初始值
SJMP $
T0ISR:
CLR TR0
MOV TH0,#HIGH(65536-50000)
MOV TL0,#LOW(65536-50000)
SETB TR0
DJNZ R2,T0E ;R2减到0重新赋值,否则退出
MOV R2,#40
CPL LED ;LED亮灭转换
T0E:
RETI
END

⑧ 51单片机汇编编程

1:
KEY1 EQU P2.2
KEY2 EQU P2.1
KEY3 EQU P2.0
RED EQU P1.4
YELLOW EQU P1.5
GREEN EQU P1.6
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
SETB RED
SETB YELLOW
SETB GREEN
LP:
JB KEY1,LP1
CLR RED
SJMP LP
LP1:
JB KEY2,LP2
CLR YELLOW
SJMP LP
LP2:
JB KEY3,MAIN
CLR GREEN
SJMP LP
END
2:
KEY1 EQU P2.2
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV R0,#0
LP:
JB KEY1,DISP
JNB KEY1,$
INC R0
CJNE R0,#10,DISP
MOV R0,#0
DISP:
MOV DPTR,#LEDTAB
MOV A,R0
MOVC A,@A+DPTR
MOV P0,A
SJMP LP
TABLE: ; 共阴极数码管显示代码表
DB 3FH,06H,5BH,4FH,66H ;01234
DB 6DH,7DH,07H,7FH,6fh ;56789
END

⑨ 51单片机汇编语言

K1EQUP3.2

K2EQUP3.3

ORG0000H

LJMPMAIN

ORG0030H

MAIN:

MOVDPTR,#LEDTAB1

MOVR2,#0

LOOP:

MOVA,R2

MOVCA,@A+DPTR

MOVP0,A

JBK1,LOOP1

JNBK1,$

INCR2

SJMPLOOP

LOOP1:

JBK2,LOOP

JNBK2,$

CJNER2,#0,LOOP3

SJMPLOOP


LOOP3:

DECR2

SJMPLOOP

;--------------------

LEDTAB1:

DB0C0H ;"0" 00H

DB0F9H ;"1" 01H

DB0A4H ;"2" 02H

DB0B0H ;"3" 03H

DB99H ;"4" 04H

DB92H ;"5" 05H

DB82H ;"6" 06H

DB0F8H ;"7" 07H

DB80H ;"8" 08H

DB90H ;"9" 09H

DB88H ;"A" 0AH

DB83H ;"B" 0BH

DB0C6H ;"C" 0CH

DB0A1H ;"D" 0DH

DB86H ;"E" 0EH

DB8EH ;"F" 0FH

DB0FFH ;"" 10H

阅读全文

与汇编51单片机相关的资料

热点内容
哪个网站下载源码不要钱 浏览:738
筹码源码指标公式股旁网 浏览:402
农商银行的app是什么名字 浏览:247
德国服务器适合做什么 浏览:138
java权限系统源码 浏览:163
androidmk编译aidl 浏览:880
单片机取8位 浏览:994
如何在云服务器上安装2s 浏览:7
怎么把王者安卓号转移到苹果 浏览:779
思科密码加密后怎么登录 浏览:591
安卓手机生态垃圾怎么办 浏览:113
fy187 浏览:597
python中文文字识别 浏览:882
日本蕾丝边电影 浏览:796
斯坦福编译原理讲义 浏览:147
国外大尺度漏器官电影 浏览:433
玩具解压神器怎么做 浏览:299
安卓手机如何共存歌曲 浏览:426
简单的游戏代码源码 浏览:346
金蝶服务器怎么改 浏览:595