单片机汇编程序:有八个小灯,要求依次点亮,时间间隔1s
/* 实验目的:初步了解单片机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
ORG 0000HLJMP MAINORG 0030HMAIN: MOV A,#0FEH MOV R2,#8LOOP: MOV P0,A LCALL DELAY CLR C RLC A DJNZ R2,LOOP MOV P0,#0FFH SJMP $DELAY: MOV R3,#10DLY1: MOV R4,#100DLY2: MOV R5,#250 DJNZ R5,$ DJNZ R4,DLY2 DJNZ R3,DLY1 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
这个是简单的:
org 000
main:
mov p1,#11111111b
lcall t1S ;灭1秒
mov p1,#01111111b
lcall t1S
mov p1,#00111111b
lcall t1S
mov p1,#00011111b
lcall t1S
mov p1,#00001111b
lcall t1S
mov p1,#00000111b
lcall t1S
mov p1,#00000011b
lcall t1S
mov p1,#00000001b
lcall t1S
mov p1,#00000000b
lcall t1S
ljmp main
t1s:
mov r2,#10 ;1秒
mov r1,#195
loop1:
djnz r0,$
djnz r1,loop1
djnz r2,loop1
RET
end
最好先明确一下: 8只都点亮后,就静止了吗?
单片机工作总结
刚开始学习是总觉得指令语句太过复杂,怎么也记不住,这时只能多练、多记,刚开始连一个最简单的控制一盏小灯的亮灭的程序都不会写,只能抄写别人做成功的程序,一遍一遍的写,直到能熟练的独自将程序写出来,从简单的入手,逐步的积累,对单片机就会有新的认识,能够自己独立的写一些小的程序,能够将小的程序结合到一起...
单片机实训总结范文5篇
通过以上性能比较,我们不难看出ADC0809满足本设计的要求,所以本设计采用ADC0809作为A\/D转换器 1 按键电路设计 利用单片机的P1口扩展一个8位键盘。 2 晶振与...2 功能子程序设计 2.1 流水灯模块 流水灯模块利用单片机的P3口,通过给P3口的各位送低电平,相应的实现流水灯有规律的点亮。 2.2 30秒倒计时模块 30秒倒...
电脑主板基础实用知识
本文估计很多小白看不懂,但是还是建议你硬着头皮看完,这篇 文章 主要讲解了这几种“BIOS”的启动方式,对电脑启动问题判断的理解会有益处。 BIOS是个程序...此外,BIOS是16位汇编语言程序,只能运行在16位实模式,可访问的内存只有1MB,而UEFI是32位或64位高级语言程序(C语言程序),突破实模式限制,可以达到要求的最...
单片机是干什么用的
集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。硬件特征:1、因为单片机的体积比较小,内部芯片作为计算机系统,其结构简单,但是功能完善,使用起来十分方便,可以模块化应用。2、单片机有着较...
电脑系统的构成计算机系统由哪几部分组成
包括语言处理系统、数据库管理系统、调试与诊断服务程序等。 ①语言处理程序。语言处理系统在层次上介于操作系统与应用软件之间,其功能是把用高级语言编写的应用程序编译(或解释)成计算机能直接执行的等价的机器语言程序。计算机程序设计语言一般分为三类,由低到高分别是:机器语言、汇编语言和高级语言。 a.机器语言。
微控制器实验心得体会范文?
微控制器是计算机发展的一个重要分支领域,那微控制器实验心得体会怎么写呢?下面我就和大家分享微控制器实验心得体会,来欣赏一下吧。 微控制器实验心得体会一 通过今次微控制器实训,使我对微控制器的认识有了更深刻的理解。 系统以51微控制器为核心部件,利用汇编软体程式设计,通过键盘控制和数码管显示实现了基...
用汇编语言编制一个 将内存BUFA单元存放的8个数字传送到BUFB单元中...
使用MOVS指令,复制内存单元。DS:SI指向源,ES:DI指向目标 例:DATA SEGMENT BUFA db 'abcdefgh',0DH,0AH,'$'BUFB db 8 dup(?),0DH,0AH,'$'DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA, ES:DATA START:MOV AX,DATA MOV DS,AX MOV ES,AX MOV CX,8 MOV SI,OFFSE...
汇编语言程序设计_汇编语言程序设计第五版答案钱晓捷
采用汇编语言编写程序虽不如高级程序设计语言简便、直观,但是汇编出的目标程序占用内存较少、运行效率较高,且能直接引用计算机的各种设备资源。它通常用于编写系统的核心部分程序,或编写需要耗费大量运行时间和实时性要求较高的程序段。2.3.单独cmpsb就是逐一比较8个位;加上rep,循环比较,还是比较这8位...
编程课主要是干什么的(编程课主要讲什么)
编程是什么?孩子学有什么好处 编程是编定程序的中文简称,孩子学习以后可以提高逻辑思维能力。 编程(biānchéng)是编定程序的中文简称,就是让计算机代为解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。 孩子学习的好处: 1、可以开阔孩子的逻辑思维能力。通过...
世界上第一个计算机程序是怎样开发出来的?
如果巴贝奇有足够的资源建好分析机并能让Lovelace在上面跑程序的话,世界上第一个计算机程序是干嘛用的...然后出现的是汇编语言,通过二进制的机器代码来实现汇编的编译连接工作, 然后在用汇编语言完善优化汇编语言...计算机功能更强,体积更小。人们开始怀疑计算机能否继续缩小,特别是发热量问题能否解决?人们开始探讨第五...