51单片机汇编教程,51单片机汇编指令集

http://www.itjxue.com  2023-01-21 15:41  来源:未知  点击次数: 

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单片机中如何用汇编语言编写流水灯

流水灯就是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;汇编程序结束

扩展资料:

实现流水灯的三个方法:

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

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

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

51单片机教程,要通俗易懂版的

我是一名单片机工程师,下面的讲解你参考一下.

.

51单片机共有40只引脚.下面这个就是最小系统原理图,就是靠这四个部分,这个单片机就可以运行起来了.(看下面的数字标记,1234)

.

.

我们来一,一讲解一下:

1 第一部分:电源组(标记为1的部分)

.

40脚接电源5V(右上角),

20脚接电源负极(左下角),

在单片机里面,负极也可以叫GND或者”地”,

我们在单片机的应用中,习惯说负极为”地”,上面GND就是英文ground的缩写,翻译过来就是”地”的意思.

.

.

2 第二部分:晶振组(标记为2的部分)

.

11.0592M晶振Y1与单片机的18,19脚并联,因为这两只脚,就是晶振的工作引脚.

22p电容C2一端接18脚,一端接地.

22p电容C3一端接19脚,一端接地.

这两个电容,我们在10~30P之间选择都是可以的,主要作用是,过滤掉晶振部分的高频信号,让晶振工作的时候更加稳定.

.

.

3 第三部分:复位组(标记为3的部分)

10u电容C1正极接电源5V,C1负极接单片机的复位脚,第9脚.

1K电阻R17一端接单片机的复位脚,第9脚,一端接地.

就是通过这个10u和1k,就可以让单片机一开始供电时候,单片机自动复位,从零开始执行程序,这个就是复位的概念.

.

.

4 第四部分:其它功能组(标记为4的部分)

这个脚是存储器使用选择脚,当这个脚接”地”时,那么就是告诉单片机,选择使用外部存储器,当这个脚接”5V”时,说明单片机使用内部存储器.

如果选择外部的存储器,太浪费单片机仅有的资源,所以这一脚永远接电源5V(如上图所示),使用单片机的内部存储器.

5 如果内部存储器不够容量,最多选择更高级的容量,就可以解决容量不够的问题了,就是这么简单。如果你想学习更多单片机和程序的知识,百度一下:单片机教程刘思源

就看到有全套视频教程了。希望同学们喜欢了

资源提取码:cabe

满意的朋友请点赞,谢谢!

(责任编辑:IT教学网)

更多

推荐安全技术文章