导航:首页 > 操作系统 > 单片机汇编语言大佬

单片机汇编语言大佬

发布时间:2022-08-11 17:34:10

㈠ 求大佬教51单片机代码,汇编语言

灯亮期间,又有按键按下,单片机,将怎么操作?

㈡ 汇编语言写单片机串口控制程序,求大佬

//发送端
#include "common.h"

uchar keyStatusList[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
uchar keyValueList[]={1,2,3,4,5,6,7,8};

void main()
{
uchar keyStatus=0,i;
TMOD=0x20;
TH0=0xFD;
TL0=0xFD;
TR1=1;
SCON=0x40;

while(1)
{
keyStatus=P1;
for(i=0;i<8;i++)
{
if(keyStatus==keyStatusList[i])
{
SBUF=keyValueList[i];
while(TI==0);
TI=0;
}
}
}

}
//接收端
#include "common.h"

void main()
{
TMOD=0x20;
TH0=0xFD;
TL0=0xFD;
TR1=1;
SCON=0x50;
while(1)
{
while(RI==0);
RI=0;
P1=font[SBUF];
}

}

㈢ 单片机AD转换,汇编语言,求助大佬!!!

汇编来做这个题,花费时间很长的,没人愿意白白浪费好几个小时来做。

㈣ 单片机 汇编语言 求助。

ORG 0000H ;汇编标志,伪指令,就是单片机不执行
;的,表示汇编时从程序地址0000H开始
RESET:AJMP MAIN ;跳转到MAIN
ORG 000BH ;同上,从000BH开始
AJMP ITOP ;跳转到ITOP,不要用LCALL
ORG 0100H ;继续伪指令...从0100H开始
MAIN: MOV SP,#60H ;堆栈从61H开始
MOV TMOD,#01H ; 定时器0在16位方式下工作
ACALL PTOMO ;调用PTOMO
HERE: AJMP HERE ;跳转到HERE
PTOMO:MOV TLO,#0CH ;这句打错了,是TL0
MOV THO,#0FEH ;也错了,是TH0
;这两句是给T0赋初值
SETB TR0 ;启动定时器T0
SETB ET0 ;允许T0中断
SETB EA ;中断使能
RET ;返回
ITOP:MOV TLO,#0CH ;和PTOMO的前两句是一样的
MOV TH0,#0FEH ;这个就打对了呢~~
CPL P1.0 ;P1.0取反
RETI ;中断返回

定时器的内容就看书吧~

RET
调用返回,弹出堆栈顶的两字节作为PC值,然后转向这个地址

RETI
中断返回,除了RET的功能外,还会改变一些其它寄存器的值,比如中断优先标志等等...

PC
指向当前执行语句的下一条语句

单片机执行一条指令可以分为两个阶段:取指令 、执行指令
在取指令阶段PC会自动增加,增加值为当前要执行指令字节数
跳转、调用、返回指令会在执行阶段改变PC内容

假设
ACALL这句地址为 0104H,
HERE为0106H,
PTOMO 为0108H,
ITOP为XXXXH

执行过程如下:

首先从0000H开始
AJMP MAIN 取指时PC=0002H 执行后PC=0100H,下一条执行MAIN

MAIN执行到MOV TMOD,#01H这句时 PC=0104H

到ACALL ... 的时候,先取指令,PC=0106H,再执行ACALL
ACALL执行时,先将PC值0106H压栈,然后将PC改为PTOMO这句的值,也就是PC=0108H

接下来到PTOMO这句,取指,PC增加,执行......直到RET

执行RET时,取指阶段后PC=XXXXH,然后执行时将0106H弹回PC

于是到HERE这句,取指,PC=0108H, 执行,将PC改为0106H

响应中断时,先将当前PC压栈,然后机器内部自动执行一条调用指令,执行000BH地址的指令

然后又是转移,去执行ITOP,直到RETI

如果单片机是在执行完HERE这句响应中断,会返回到HERE处
否则,也可能返回到PTOMO这句...

此外,我猜测,PTOMO、ITOP中的O可能也是0,不过这个就无所谓了~
================ 以上

㈤ 单片机汇编语言编写延时程序,求大佬帮看一下程序哪里错了

因为语言不统一,所以听不懂。

㈥ 关于汇编语言的问题,我们学习单片机的汇编语言,但是有些语言的意思不是很懂,求大佬帮我编一下如图的几

1、
MOVR0,#20H
LOOP:
MOVA,R0
MOV@R0,A
INCR0
CJNER0,#50H,LOOP
2、
ORG0000H
LJMPMAIN
ORG000BH
LJMPT0ISR
ORG0030H
MAIN:
MOVTMOD,#01H
MOVTH0,#HIGH(65536-50000)
MOVTL0,#LOW(65536-50000)
SETBTR0
SETBET0
SETBEA
MOVR2,#5
SJMP$
T0ISR:
CLRTR0
MOVTH0,#HIGH(65536-50000)
MOVTL0,#LOW(65536-50000)
SETBTR0
DJNZR2,T0E
MOVR2,#5
CPLP1.0
T0E:
RETI
END
3、
MOVDPTR,#500H
MOVR2,#30
MOVR0,#20H
LOOP:
CLRA
MOVCA,@A+DPTR
MOV@R0,A
INCR0
INCDPTR
DJNZR2,LOOP
4、
MOVDPTR,#500
MOVR2,#30
MOVR0,#20H
LOOP:
MOVXA,@DPTR
MOVA,@R0
INCR0
INCDPTR
DJNZR2,LOOP

㈦ 单片机汇编语言有一道题不会做!各位大佬帮帮我

51单片机的程序89C51,通讯波特率9600/N/8/1
org 0000H
LJMP MAIN1
ORG 0023H
LJMP PCTX;
ORG 0100H
MAIN1:////////-------51单片机初始化程序------
MOV SP,#30H;
MOV TMOD,#20H;
MOV TL1,#0FDH;
MOV TH1,#0FDH;
MOV SCON,#50H;
MOV PCON,#00H;
SETB TR1;
SETB ES;
SETB EA;(总中断开关控制,1为开,0为关)51单片机串口通信开启
MOV R7,#00H;
MOV P1,#0FFH;
RUN1: MOV A,R7;
JZ A,RUN1;
CLR EA;//关闭总中断处理数据
MOV R0,#70H;
MOV R3,#00H;
MOV R4,#04H;
LO: MOV 55H,@R0;
MOV A,R3;
MOV DPTR,#DATE1;
MOVC A,@A+DPTR;
CJNZ A,55H,OUT_1;//字符比对"CMD1"
INC R3;
INC R0;
DJNZ R4,LO;
CLR P1.0;
MOV R7,#00H;
SETB EA;
LJMP RUN1;
OUT_1: MOV A,#05H;
MOVC A,@A+DPTR;
CJNZ A,55H,OUT_2;//第四个字符比对”2"
MOV P1,#00H;
MOV R7,#00H;
SETB EA;
LJMP RUN1;
OUT_2: SET EA;
SETB ES;
MOV R4,#11H;//反馈错误数据串,带空格17个
MOV R3,#00H;
MOV DPTR,#ERRO_D;
LOOP7: MOV A,R3;
MOV A,@A+DPTR;
MOV SBUF,A; 发送数据
JNB TI,$;
INC R3;
CLR TI;
DJNZ R4,LOOP7;
SETB EA;
MOV R7,#00H;
LJMP RUN1;
PCTX: NOP;
MOV R1,#70H;
LOOP:
MOV A,SBUF;
MOV @R1,A;
INC R1;存入数据个数(未用)
INC R7;
CLR RI;
LCALL DELAY10;
JB RI,LOOP;
LCALL DELAY10;
JB RI,LOOP;
RETI
ORG 0F00H
DATA1:
DB 43H,4DH,44H,31H,32H;// "CMD1""2"AIICS码专成16进制
ERRO_D:
DB 74H,68H,65H,20H,63H,6FH,6DH,6DH,61H,6EH,64H,20H,65H,72H,72H,6FH,72H;//“the command error”

㈧ 大佬们,51单片机用汇编语言编流水灯,八个同时闪烁,老师给了一部分,求大佬补充完

在补充程序,也得发原程序呀,别发截图。发原程序可以复制,再补充,可是这样,还得照着截图现敲那些程序,看着都费劲,就别是敲程序了。

㈨ 求助大佬用汇编语言实现 闪烁灯实验

#include<reg51.h>
#include<intrins.h>
#defineucharunsignedchar
ucharled=0xfe;
sbitk1=P1^0;
sbitk2=P1^1;
voiddelay(uchara)
{
uchari;
while(a--)for(i=0;i<120;i++);
}
main()
{
while(1)
{
P0=led;
led=_crol_(led,1);
delay(250);
while(k1==0)
{
P0=0x0f;
delay(250);
P0=0x00;
delay(250);
}
while(k2==0)
{
P0=0x00;
delay(200);
P0=0xff;
delay(200);
}
}
}

阅读全文

与单片机汇编语言大佬相关的资料

热点内容
雷军的编程代码 浏览:451
怎么把wps转换为pdf格式的文件 浏览:54
天津网关服务器云空间 浏览:688
韩国电影交换的的一天BH的女演员 浏览:552
腐剧网耽美电影 浏览:910
台湾绝版电影一箭双雕 浏览:883
训诫文sp管教mf 浏览:932
搜索软件如何加密 浏览:905
车载高清视频下载的网站 浏览:656
吃哺乳妈妈奶水小说 浏览:960
进栈算法代码 浏览:786
抗日战争电影100部老电影 浏览:139
重生为杨过 浏览:579
吃甜品点心解压的声音 浏览:580
苹果软件安卓手机如何下载 浏览:130
宝书网txt下载全文 浏览:519
尺度大的Les电影 浏览:309
免费V片在线观看 浏览:726
word无法转pdf 浏览:911
玩具现实版解压视频 浏览:924