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

单片机亮灯汇编

发布时间:2023-10-19 05:32:16

单片机点亮一盏led灯代码

用MCS51单片机汇编语言编写的点亮一只LED灯源程序LED1.ASM,代码如下:
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN:MOV A,#FEH
MOV P1,A
AJMP $
END

⑵ 51单片机用汇编语言如何设计8个轮流呼吸的呼吸灯

因为我不知道你这个板子的硬件,我就假设一下吧,你自己对照着看看,关键是流程
假设如下这八个灯依次接在P0口的八个口上,高电平为灯亮,低电平为灯灭,程序如下
ORG 0000H
AJMP START
START:MOV P0,#01H;()只有第一个灯亮
ACALL DELAY;延迟,不加延迟的话 你根本看不起清到底那个灯亮的
MOV P0,#02H;()只有第二个灯亮
ACALL DELAY
MOV P0,#04H;()只有第三个灯亮
ACALL DELAY
MOV P0,#08H;()只有第四个灯亮
ACALL DELAY
MOV P0,#10H;()只有第五个灯亮
ACALL DELAY
MOV P0,#20H;()只有第六个灯亮
ACALL DELAY
MOV P0,#40H;()只有第七个灯亮
ACALL DELAY
MOV P0,#80H;()只有第八个灯亮
ACALL DELAY
AJMP START;周而复始
DELAY: MOV R6,#40;延迟程序,晶振为3.57MHZ时大概是0.1S
0.1SL1: MOV R5,#246
0.1SL2: NOP
DJNZ R5,0.1SL2
DJNZ R6,0.1SL1
RET
END

⑶ 单片机汇编程序:有八个小灯,要求从内到外隔一个依次点亮,

/* 实验目的:初步了解单片机I/O口的工作原理,进一步掌握51单片机的汇编指令。
* 实验内容:用汇编指令对单片机I/O口进行编程,控制8个发光二极管的流水亮灭。
*/
/* 程序详细功能介绍:
*做单一灯的左移右移,八个发光二极管L0-L7分别接在单片机的P0.0-P0.7接口上,
*输出“0”时,发光二极管亮,开始时P0.0→P0.1→P0.2→P0.3→┅→P0.7→P0.6→┅→P0.0亮,重复循环。
*/
ORG 0000H
LJMP START
ORG 0030H
START:
MOV R2,#8 ;左移次数
MOV A,#0FEH ;A的初始值,即 P0.0的L0 点亮
SETB C
LOOP: MOV P0,A
LCALL DELAY
RLC A ;左移流水灯(带进位的左移),即亮点向P0口的高位移动
DJNZ R2,LOOP

MOV R2,#8 ;右移次数
LOOP1: RRC A ;右移流水灯
MOV P0,A
LCALL DELAY
DJNZ R2,LOOP1
LJMP START

DELAY: MOV R5,#10 ;延时子程序,改变R5,R6,R7 的值,可以改变延时的时间,从而改变流水灯移动速度
D1: MOV R6,#20
D2: MOV R7,#248
DJNZ R7,$
DJNZ R6,D2
DJNZ R5,D1
RET
END

⑷ 各位单片机达人帮个忙 用汇编语言做一个 发光二极管循环点亮的程序 要求 使八只发光二极管做循环点亮一次

发光二极管循环点亮

八只发光二极管左循环点亮一次、然后右循环点亮一次。

循环。

仿真试验成功。

⑸ 单片机led左移然后右移循环亮灭的汇编语言

ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV A,#0FEH
MOV R2,#8
LOOP1:
MOV P0,A
LCALL DELAY
RL A
DJNZ R2,LOOP1
MOV R2,#8
LOOP2:
MOV P0,A
LCALL DELAY
RR A
DJNZ R2,LOOP2
SJMP MAIN
DELAY:
MOV R2,#200
DLY:
MOV R3,#250
DJNZ R3,$
DJNZ R2,DLY
RET
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;汇编程序结束

(6)单片机亮灯汇编扩展阅读:

实现流水灯的三个方法:

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

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

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

⑺ 用汇编语言让51单片机八个灯从左到右依次点亮且都不灭,每个灯亮的时

用汇编语言让51单片机八个灯从左到右依次点亮且都不灭,每个灯亮的时间间隔0.5秒,然后全灭,再循环之前的步骤。
参考如下:

  1. 电路

    LED_COUNT DATA 30H
    T0_COUNT DATA 31H

    ORG 0000H
    LJMP MAIN
    ORG 000BH
    LJMP T0_INT

    ORG 0030H
    MAIN:
    ANL TMOD,#0F0H
    ORL TMOD,#01H
    MOV TH0,#3CH
    MOV TL0,#0B0H
    ORL IE,#82H
    SETB TR0
    CLR F0
    MOV LED_COUNT,#00H
    MOV T0_COUNT,#00H
    MOV DPTR,#TAB

    M1:
    JNB F0,M2
    CLR F0
    MOV A,LED_COUNT
    MOVC A,@A+DPTR
    MOV P2,A
    INC LED_COUNT
    MOV A,#9
    CJNE A,LED_COUNT,M2
    MOV LED_COUNT,#00H
    M2:
    SJMP M1

    T0_INT:
    MOV TH0,#3CH
    MOV TL0,#0B0H
    INC T0_COUNT
    MOV A,#10
    CJNE A,T0_COUNT,T
    MOV T0_COUNT,#00H
    SETB F0
    T:
    RETI

    TAB:
    DB0FEH,0FCH,0F8H,0F0H,0E0H,0C0H,80H,00H,0FFH
    END

    希望能达到你的要求!!!!!

阅读全文

与单片机亮灯汇编相关的资料

热点内容
pdf转换成word免费版在线转换 浏览:462
荒废了三年还能做程序员吗 浏览:656
阿里云内网vpn服务器 浏览:101
l命令第一个点对第二个点对不上 浏览:829
oracle导出表命令 浏览:909
怎么写域名加密 浏览:1003
手机文件压缩出错 浏览:522
如何登录毒app 浏览:836
汽车中控台加密 浏览:862
海南农村信用社app如何开通短信 浏览:809
phpdns缓存 浏览:415
ipad腾讯视频app如何播放本地视频 浏览:990
虾米服务器关闭如何找到以前的歌 浏览:18
php自动建站 浏览:475
命令与征服3游侠网 浏览:970
腾讯云买哪个地区服务器 浏览:250
香港哪里有app卖内地零食 浏览:684
编译内核找不到工具链 浏览:453
java常见模式 浏览:505
典欣空调压缩机 浏览:426