1、单片机AT89C51的P2口接8个发光二极管,让这8个发光二极管显示闪烁功能,即八灯亮2S,熄灭3S,如此循环。

参考程序:

ORG 0000H

start: MOV P1,#0H

CALL delay

MOV P1,#0FFH

CALL delay

CALL delay

LJMP start

delay:

MOV R7,#200

d2: MOV R6,#250

d1: DJNZ R6,d1

DJNZ R7,d2

RET

END

;200*250次*2*1us=1000ms=1s

2、单片机AT89C51的P1口接8个发光二极管,让这8个发光二极管能够双灯左移之后再双灯右移,

形成霹雳灯的效果,如此循环5次后全灭,延时0.5S。灯右移,形成霹雳灯的效果,

如此循环5次后全灭。延时0.5S。

参考程序1:

ORG 0000H

MOV A,#11111100B

start:

MOV P1,A

CALL delay

RL A

RL A

INC R0

CJNE R0,#4,start

MOV R0,#00H

s:

RR A

RR A

MOV P1,A

CALL delay

INC R0

CJNE R0,#4,s

MOV R0,#00H

LJMP start

delay: MOV R5,#100

k1: MOV R6,#250

k2: MOV R7,#250

k3: DJNZ R7,k3

DJNZ R6,k2

DJNZ R5,k1

RET

END

参考程序2:

ORG 0000H

MOV R0,#5

start:

MOV P2,#11111100B

CALL delay0_5s

MOV P2,#11110011B

CALL delay0_5s

MOV P2,#11001111B

CALL delay0_5s

MOV P2,#00111111B

CALL delay0_5s

MOV P2,#11001111B

CALL delay0_5s

MOV P2,#11110011B

CALL delay0_5s

MOV P2,#11111100B

CALL delay0_5s

DJNZ R0,start

MOV P2,#0FFH

SJMP $

delay0_5s:

MOV R7,#20

d3: MOV R6,#200

d2: MOV R5,#250

d1: NOP

NOP

DJNZ R5,d1

DJNZ R6,d2

DJNZ R7,d3

RET

END

3、单片机AT89C51的P2口接8个发光二极管,让这8个发光二极管先交互闪烁5次,

然后双灯左移之后再双灯右移,如此循环,形成流水灯的效果,延时0.5S。

ORG 0000H

MOV R0,#5

start:

MOV P1,#10101010B

CALL delay

MOV P1,#01010101B

CALL delay

DJNZ R0,start

MOV R0,#5

MOV A,#11111100B

s1: MOV P1,A

CALL delay

RL A

RL A

CJNE A,#11111100B,s1

s2: RR A

RR A

MOV P1,A

CALL delay

CJNE A,#11111100B,s2

JMP start

delay: MOV R5,#100

k1: MOV R6,#250

k2: MOV R7,#250

k3: DJNZ R7,k3

DJNZ R6,k2

DJNZ R5,k1

RET

END

4、单片机AT89C51的P1口和P2口分别接八个发光二极管,P2口八灯实现左移,延时0.5S,

要求左移第一次,P1.0对应灯点亮,P2口灯左移第二次,P1.1对应灯亮,如此延续下去,

直至左移八次后,所有灯全灭。

ORG 0000H

MOV R0,#11111110B

start: MOV A,#11111110B

MOV P2,A

s: CALL delay

RL A

MOV P2,A

CALL delay

CJNE A,#01111111B,s

MOV A,R0

MOV P1,A

RL A

MOV R0,A

JMP start

delay: MOV R5,#100

k1: MOV R6,#250

k2: MOV R7,#250

k3: DJNZ R7,k3

DJNZ R6,k2

DJNZ R5,k1

RET

END

5、单片机AT89C51的P2.0、P2.1和P2.2分别接按钮开关PB1、PB2和PB3;P1.0接一个LED。按下PB1,

则LED亮;按下PB2则LED灭;按下PB3则LED闪烁。延时为0.1S。

原理图:

参考程序:

ORG 0000H

MOV P2,#0FFH

s1: JNB P2.0,s3

JNB P2.1,s2

JNB P2.2,s4

JMP s1

s2: SETB P1.0

JMP s1

s3: CLR P1.0

JMP s1

s4: SETB P1.0

CALL delay

CLR P1.0

CALL delay

JNB P2.0,s3

JNB P2.1,s2

JMP s4

delay: MOV R5,#100

k1: MOV R6,#250

k2: MOV R7,#250

k3: DJNZ R7,k3

DJNZ R6,k2

DJNZ R5,k1

RET

END

6、单片机AT89C51的P2.0、P2.1和P2.2分别接按钮开关PB1、PB2和PB3;P1口接8个LED。

按下PB1,则8个LED闪烁;按下PB2则8个LED单灯右移;按下PB3则8个LED单灯左移。延时为0.1S。

源代码:

ORG 0

MOV P2,#0FFH

LOOP: JNB P2.0,LOOP_1

JNB P2.1,LOOP_2

JNB P2.2,LOOP_3

JMP LOOP

LOOP_1: MOV R0,#2

LOOP_1_1: MOV A,#10101010B

MOV P0,A

CALL D100MS

MOV A,#01010101B

MOV P0,A

CALL D100MS

MOV P0,#11111111B

DJNZ R0,LOOP_1_1

LOOP_1_2: JB P2.0,LOOP

JMP LOOP_1_2

LOOP_2: MOV A,#11111110B

MOV R0,#8

LOOP_2_1: MOV P0,A

RL A

CALL D100MS

DJNZ R0,LOOP_2_1

MOV P0,#11111111B

LOOP_2_2: JB P2.1,LOOP

JMP LOOP_2_2

LOOP_3: MOV A,#01111111B

MOV R0,#8

LOOP_3_1: MOV P0,A

RR A

CALL D100MS

DJNZ R0,LOOP_3_1

MOV P0,#11111111B

LOOP_3_2: JB P2.2,LOOP

JMP LOOP_3_2

D100MS: MOV R7,#250

D1: MOV R6,#200

DJNZ R6,$

DJNZ R7,D1

RET

END

7、单片机AT89C51的P2口分别接8个指拨开关;P0口接8个LED。指拨开关闭合之前8个LED全亮,

闭合指拨开关P2.0,则P0.0所对应的LED灭,以此类推。

源代码:

ORG 0

MOV A,#00000000B

MOV P0,A

MOV P2,#0FFH

LOOP: MOV A,P2

CPL A

MOV P0,A

JMP LOOP

END

8、单片机AT89C51的P2口分别接8个指拨开关;P0口接8个LED。

指拨开关闭合之前8个LED单灯左移3次后,全亮,闭合指拨开关P2.0,

则P0.0所对应的LED灭,以此类推。延时为0.2S。

原理图:

源代码:

ORG 0

MOV R1,#3

LOOP1: MOV R0,#8

MOV A,#11111110B

LOOP2: MOV P0,A

RL A

CALL D200MS

DJNZ R0,LOOP2

DJNZ R1,LOOP1

MOV A,#00000000B

MOV P0,A

MOV P2,#0FFH

LOOP: MOV A,P2

CPL A

MOV P0,A

JMP LOOP

D200MS:

MOV R7,#250

D1: MOV R6,#200

D2: MOV R5,#2

DJNZ R5,$

DJNZ R6,D2

DJNZ R7,D1

RET

END

9、单片机AT89C51的P2.0、P2.1和P2.2口分别接一个按钮开关,

P1口低4位接译码器7447,7447输出部分接共阳极LED数码管。要求按一下P2.0口对应按钮,数码管显示数字“0”;

按一下P2.1口对应按钮,数码管显示数字“8”;按一下P2.2口对应按钮,数码管所显示的数字被关闭。

原理图:

源代码:

ORG 0000H

START: MOV P2,#0FFH

LOOP: JNB P2.0,ON

JNB P2.1,ON8

JNB P2.2,OFF

JMP LOOP

ON: MOV P1,#00H

ON_1: JB P2.0,LOOP

JMP ON_1

ON8: MOV P1,#08H

ON_8: JB P2.1,LOOP

JMP ON_8

OFF: MOV P1,#0FFH

OFF_1: JB P2.2,LOOP

JMP OFF_1

END

10、单片机AT89C51的P2口接7447驱动一个共阳极七段数码管。让该数码管循环显示数字“9~0”,延时为1S。

ORG 0000H

MOV R0,#10

start:

DJNZ R0,s

MOV P2,R0

CALL delay

MOV R0,#10

JMP start

s: MOV P2,R0

CALL delay

JMP start

delay: MOV R5,#100

k1: MOV R6,#250

k2: MOV R7,#250

k3: DJNZ R7,k3

DJNZ R6,k2

DJNZ R5,k1

RET

END

11、单片机AT89C51的P2口接7447驱动一个共阳极七段数码管。

让该数码管显示数字“2~6”,之后显示“9~0”,如此循环,延时为1S。

ORG 0

START: MOV R0,#5

MOV A,#2

LOOP_1: MOV P2,A

INC A

CALL D1000MS

DJNZ R0,LOOP_1

MOV R0,#10

MOV A,#9

LOOP_2: MOV P2,A

DEC A

CALL D1000MS

DJNZ R0,LOOP_2

JMP START

D1000MS:

MOV R7,#250

D1: MOV R6,#200

D2: MOV R5,#250

DJNZ R5,$

DJNZ R6,D2

DJNZ R7,D1

RET

END

12、四个集成共阳极七段数码管的公共端以PNP三极管做开关分别连接到单片机AT89C51的P1低四位,

数码管的各显示引脚a~dP分别连接到P2.0~2.7。让4个数码管稳定显示“2012”。

ORG 0

LOOP:

MOV P1,#11111110B

MOV P2,#10100100B

CALL D4MS

MOV P1,#11111101B

MOV P2,#11000000B

CALL D4MS

MOV P1,#11111011B

MOV P2,#11111001B

CALL D4MS

MOV P1,#11110111B

MOV P2,#11111001B

CALL D4MS

JMP LOOP

D4MS:

MOV R7,#10

D1: MOV R6,#200

DJNZ R6,$

DJNZ R7,D1

RET

END

13、四个集成共阳极七段数码管的公共端以PNP三极管做开关分别连接到单片机AT89C51的P1低四位,

数码管的各显示引脚a~dP分别连接到P2.0~2.7。让LED先稳定显示“2012”,

约1秒之后再稳定显示“12.21”,如此循环。

ORG 0

LOOP: MOV R0,#65

LOOP_1: MOV P1,#11111110B

MOV P2,#10100100B

CALL D4MS

MOV P1,#11111101B

MOV P2,#11000000B

CALL D4MS

MOV P1,#11111011B

MOV P2,#11111001B

CALL D4MS

MOV P1,#11110111B

MOV P2,#11111001B

CALL D4MS

DJNZ R0,LOOP_1

MOV R1,#65

LOOP_2:

MOV P1,#11111110B

MOV P2,#11111001B

CALL D4MS

MOV P1,#11111101B

MOV P2,#00100100B

CALL D4MS

MOV P1,#11111011B

MOV P2,#10110000B

CALL D4MS

MOV P1,#11110111B

MOV P2,#11000000B

CALL D4MS

DJNZ R1,LOOP_2

JMP LOOP

D4MS: MOV R7,#10

D1: MOV R6,#200

DJNZ R6,$

DJNZ R7,D1

RET

END

14、单片机AT89C51的P0口接8个LED,用INT0产生中断。主程序正常执行时,P0口的8个LED单灯左移。

当进入中断状态时,P0口的8个LED将变成单灯右移,3个循环后,恢复中断前的状态,

即继续执行8个LED单灯左移。延时为0.5S。

ORG 0000H

JMP main

ORG 0003H

JMP int_0

main:

SETB IT0

SETB EX0

SETB EA

MOV A,#11111110B

s: RL A

MOV P2,A

CALL delay

JMP s

delay:

MOV R7,#100

d3: MOV R6,#200

d2: MOV R5,#250

d1: DJNZ R5,d1

DJNZ R6,d2

DJNZ R7,d3

RET

int_0:

MOV P2,A

MOV R0,#24

k: RR A

MOV P2,A

CALL delay

DJNZ R0,k

MOV R0,#24

RETI

END

15、功能要求:用 产生中断,主程序正常执行时,数码管循环显示“0~9”,

每0.5S增加1。当进入中断状态时,数码管循环显示“9~0”,

每0.5S减少1,一圈之后恢复中断前的状态。

ORG 0000H

JMP main

ORG 0003H

JMP int_0

main:

SETB IT0

SETB EX0

SETB EA

s: MOV P2,A

CALL delay

INC A

CJNE A,#10,s

MOV A,#0

JMP s

delay:

MOV R7,#100

d3: MOV R6,#200

d2: MOV R5,#250

d1: DJNZ R5,d1

DJNZ R6,d2

DJNZ R7,d3

RET

int_0:

MOV A,#10

k: DEC A

MOV P2,A

CALL delay

CJNE A,#0H,k

RETI

END

c51单片机渐变流水灯汇编语言,单片机闪烁灯流水灯汇编代码大全相关推荐

  1. 80c51流水灯程序汇编语言,单片机闪烁灯流水灯汇编代码大全

    1.单片机AT89C51的P2口接8个发光二极管,让这8个发光二极管显示闪烁功能,即八灯亮2S,熄灭3S,如此循环. 参考程序: ORG 0000H start: MOV P1,#0H CALL de ...

  2. 80c51流水灯汇编语言,单片机AT89C51可控流水灯课程设计报告(汇编语言).docx

    单片机AT89C51可控流水灯课程设计报告(汇编语言).docx 目录目录1第一章 课题的意义及应用2第二章 系统的总体设计32.1 设计方法32.2 数码管显示方案32.3 键盘输入方案4第三章 硬 ...

  3. 【汇编语言与计算机系统结构笔记05】汇编的系统结构,从C代码生产汇编代码,一个具体的、经典的数据传送指令(mov)实例与分析

    本次笔记内容: 06.寻址模式与数据传输指令等 文章目录 汇编程序员眼中的系统结构 如何从C代码生产汇编代码 如何装gcc? 汇编语言数据格式 第一条汇编指令实例 数据传送指令(mov) 语法与操作数 ...

  4. 单片机八灯交替闪烁c语言代码,单片机闪烁灯汇编语言源代码大全(四款闪烁灯的汇编语言源代码)...

    单片机闪烁灯汇编语言源代码大全(一) 1.单片机AT89C51的P2口接8个发光二极管,让这8个发光二极管显示闪烁功能,即八灯亮2S,熄灭3S,如此循环. 参考程序 ORG 0000H start: ...

  5. 单片机p1口亮灯c语言代码,单片机闪烁灯汇编语言源代码大全(四款闪烁灯的汇编语言源代码)...

    描述 单片机闪烁灯汇编语言源代码大全(一) 1.单片机AT89C51的P2口接8个发光二极管,让这8个发光二极管显示闪烁功能,即八灯亮2S,熄灭3S,如此循环. 参考程序 ORG 0000H star ...

  6. 51单片机实验——LED灯(点亮、闪烁、流水)

    文章目录 前言 一.keil创建工程 二.proteus professional搭建仿真电路 三.点亮LED灯 四.闪烁LED灯 五.流水式LED灯 总结 前言 STC89C51RC是采用8051核 ...

  7. 89c52流水灯汇编语言,89c52单片机流水灯汇编程序

    8路流水灯汇编语言程序的写法 汇编语言程序如下: ;假设1:D1~D8八个彩灯接在P1口,输出低电平发光 ;假设2:系统晶振为12MHz ;假设3:N = 5 ;程序如下: ORG 0000H MOV ...

  8. 80c51流水灯程序汇编语言,单片机流水灯汇编语言源代码大全(六款流水灯汇编语言源代码)...

    描述 单片机流水灯汇编语言源代码大全(一) 单片机AT89C51的P1口接8个发光二极管,让这8个发光二极管能够双灯左移之后再双灯右移,形成霹雳灯的效果,如此循环5次后全灭,延时0.5S.灯右移,形成 ...

  9. 51单片机实验之流水灯和交替闪烁

    先上仿真图: 流水灯代码段: #include <reg51.h> #include <intrins.h> void delay(unsigned int j) {unsig ...

  10. 学习笔记(01):巫妖王51单片机开发板配套视频课程-LED闪烁和流水灯效果

    立即学习:https://edu.csdn.net/course/play/6735/133119?utm_source=blogtoedu 2020-5-14 keil LED 闪烁,流水灯

最新文章

  1. (0034) iOS 开发之UIView动画(过渡效果)
  2. 2017202110104-高级软件工程第二次作业个人项目之-四则运算生成程序
  3. 图:BFS/DFS java实现
  4. 你一定会用的18个linux网络监控工具
  5. IIS7下使用urlrewriter.dll配置
  6. vb连接mysql出现的问题_连接数据库问题用户定义类型未定义【vb6】
  7. 如何加精准粉丝,一个巧妙实用的方法!
  8. mysql 性能调优 参数随写
  9. [实践项目]Udacity self-driving-car-sim
  10. 维纳(Wiener)滤波及Matlab代码
  11. 数车计算机编程教学caxa,caxa数控车软件编程全套视频教程2016/2015
  12. [Qt]QLabel的显示圆形
  13. 华为鸿蒙OS精品资料汇总,持续更新中
  14. DOM2和DOM3——JavaScript高级程序设计第三版第12章知识总结
  15. ubuntu中U盘硬盘格式化(NTFS,FAT12,FAT16,FAT32,EXT4,EXT3,EXT2)
  16. 6.Spring Cloud初相识-------Zool路由
  17. 任正非,你也太能装逼了吧?
  18. Apache AzKaban 环境搭建与入门使用
  19. Excel常用办公技巧(持续更新)
  20. 格林童话 猫和老鼠做朋友

热门文章

  1. linux系统添加网卡驱动,linux添加网卡及驱动
  2. Awesome Blockchain 区块链技术导航
  3. 爬取斗鱼4300W热度的小姐姐是一种什么样的体验?
  4. 数字贸易标准体系框架
  5. 163邮箱登录页面在哪儿?如何在手机、电脑上登陆163邮箱?
  6. 词干提取(stemming)和词形还原(lemmatization)比较
  7. 虚拟机自省XenAccess和vmitools
  8. photoshop制作透明背景图片1
  9. python绘制隐含波动率曲面_使用python+tushare计算期权隐含波动率并作图
  10. 良心杀软-智量终端安全软件官方中文版V3.0.1 | 智量终端安全官网下载 | 智量终端安全和火绒是黄金搭档