51单片机用汇编语言实现八个LED的全亮全灭
;以89c51单片机为例,假定用P1控制LED:
IO_LED EQU P1;
led_0 BIT P1.0;
led_1 BIT P1.1;
led_2 BIT P1.2;
led_3 BIT P1.3;
led_4 BIT P1.4;
led_5 BIT P1.5;
led_6 BIT P1.6;
led_7 BIT P1.7;
;定义开关LED的数据,假定LED正极一端接电源,另一端通过限流电阻接I/O端口:
DATA_CloseLED EQU 11111111B;
DATA_OpenLED EQU 00000000B;
ORG 0000H
AJMP MAIN
ORG 0030H
;-----------------------
;延时0.5秒程序(注:此延时函数摘自STC-ISP)
DELAY500MS:;@12.000MHz
PUSH 30H
PUSH 31H
PUSH 32H
MOV 30H,#4
MOV 31H,#205
MOV 32H,#180
NEXT:
DJNZ 32H,NEXT
DJNZ 31H,NEXT
DJNZ 30H,NEXT
POP 32H
POP 31H
POP 30H
RET
;-----------------------
;下面是主程序
MAIN:
MOV IO_LED,#DATA_CloseLED;同时关闭8个LED
LCALLDELAY500MS;延时0.5秒
MOV IO_LED,#DATA_OpenLED;同时打开8个LED
LCALLDELAY500MS;延时0.5秒
LJMP MAIN;循环
END;
上面程序演示了8个LED间隔0.5秒同时亮和灭的变化。
#include
#include
#define uchar unsigned char
#define uint unsigned int
//延时
void DelayMS(uint x)
{
uchar i;
while(x--)
{
for(i=0;i<120;i++);
}
}
//主程序
void main()
{
uint s;
while(1)
{
P0=0xfe;
DelayMS(150);
for(s=8;s>1;s--)
{
P0=_crol_(P0,1); //P0 的值向左循环移动
DelayMS(150);
}
P0=0x00;
DelayMS(150);
P0=0xff;
DelayMS(150);
}
}
单片机用什么语言编写程序?
单片机一般用C语言或者汇编语言来编写程序。建议先学C语言,汇编语言要算地址,汇编语言比较难,所以建议先学C语言。汇编语言要算地址,大多数情况下,单片机运行的程序,都是C语言编写的。不过并不是一般意义上的C语言,而是变种后的C51语言。单片机是典型的嵌入式微控制器(Microcontroller Unit),由运算器...
单片机用什么语言编程
2.单片机的C语言 单片机的C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。C语言具有功能丰富的库函数,运算谏磨快,编译效率高,有良好的可移植性,而且可以实现直接对系统硬件的控制。此外,C语言程序具有完整的程序模块结构,从而为软件开发中栗用模块化程序设计方法...
单片机用什么语言编程
1、C语言。单片机C语言是一种编译语言,具有编译语言的特点。C语言具有功能丰富的库函数、计算速度快、编译效率高、可移植性好,可直接控制系统。此外,C语言程序具有完整的程序模块结构,为软件开发中模块化程序设计方法的使用提供了有力的保证。2、汇编语言。它的主要优点是占用资源少,程序执行效率高。...
学51单片机用汇编还是用C语言比较好?先学汇编可以吗?
绝对可以,我就是先学习的汇编语言,只有学习了汇编才能真正的了解单片机。。 如果不了解单片机的构造及原理,学c很快就会厌倦。不过c就是简单点,容易上手, 我先学的是汇编,也感觉不是很难。
单片机编程用什么语言
1、C语言大多数情况下,单片机运行的程序,都是C语言编写的。不过并不是纯粹的传统C语言,而是变种后的C51语言。单片机C51语言是由C语言继承而来的。和C语言不同的是,C51语言运行于单片机平台,而C语言则运行于普通的桌面平台。C51语言具有C语言结构清晰的优点,便于学习,同时具有汇编语言的硬件操作能力...
单片机用什么语言编写程序
一般是C语言或者汇编语言。1、大多数情况下,单片机运行的程序,都是C语言编写的。不过并不是纯粹的传统C语言,而是变种后的C51语言。单片机C51语言是由C语言继承而来的。和C语言不同的是,C51语言运行于单片机平台,而C语言则运行于普通的桌面平台。C51语言具有C语言结构清晰的优点,便于学习,同时具有...
单片机需要学汇编语言还是c?
至于汇编,我保留意见,的确他拥有独一无二的稳定性和速度,以及对硬件的低成本要求,但是我不发表意见。而就目前的工业设计中的确存在大量的汇编应用,但是哪不是你应该去接触的,你应当在你精通C语言后在去涉足汇编的应用。记住是精通,否则你会大走弯路。还有对单片机的选型上,在你的学习阶段,不要...
单片机开发是用C语言好还是汇编语言好
而汇编语言,一条指令就对应一个机器码,每一步执行什幺动作都很清楚,并且程序大小和堆栈调用情况都容易控制,调试起来也比较方便。所以在单片机开发中,我们还是建议采用汇编语言比较好。对于复杂而开发时间紧的项目时,可以采用C语言,但前提是要求对该MCU系统的C语言和C编译器非常熟悉,特别要注意该C...
汇编语言在单片机中是否通用
汇编语言实际就是机器语言的助记符,只能适用于某一类单片机,不能通用。若学硬件的人,汇编语言比c语言简单,但是学软件的人,c语言更简单。主要是,对于初学者来说,c语言需要有一个转化为机器语言并优化的一个过程,这对于单片即这类有很严格硬件限制的嵌入式系统来说尤为重要。
51单片机学习使用C语言好还是汇编语言好
单片机用C语言还是汇编语言好?当然是C语言了,那是因为如下原因:1、C语言是高级语言,代码移植性好,易于维护;2、编程灵活,随心所欲;3、语言层次分明,思路清晰,可读性强。4. C语言是目前最流行的单片机编程语言,例程代码多,便于参考,单片机技术发展之快,应用之广,学习群体日益庞大,这和keil ...
程受小儿: ;以89c51单片机为例,假定用P1控制LED: IO_LED EQU P1; led_0 BIT P1.0; led_1 BIT P1.1; led_2 BIT P1.2; led_3 BIT P1.3; led_4 BIT P1.4; led_5 BIT P1.5; led_6 BIT P1.6; led_7 BIT P1.7;;定义开关LED的数据,假定LED正极一端接电源,...
宁武县19551654501: 用51单片机汇编语言控制8个发光二极管 - ?
程受小儿: KEY1 BIT P3.2KEY2 BIT P3.3ORG 00HMOV P3,#255MOV A,#254MOV P1,A continue:JNB KEY1,rightJNB KEY2,leftJMP continue right:RR AMOV P1,AACALL DELAYJMP continue left:RL AMOV P1,AACALL DELAYJMP continue DELAY:MOV R7,#250 LP2:MOV R6,#200 LP1:NOPDJNZ R6,LP1DJNZ R7,LP2RETEND
宁武县19551654501: 单片机用汇编语言编写用一个控制器控制8个LED灯亮 - ?
程受小儿: ORG 00HJMP MAINORG 30H MAIN: MOV A,#0FFH ;设置左移初值CLR C ;C=0MOV R2,#08H ;设置左移次数 LOOP: RLC A ;左移1位MOV P2,A ;输出到P2CALL DELAY ;延时DJNZ R2,LOOP ;左移7次MOV R2,#07H ; LOOP1: ...
宁武县19551654501: 求大神编程一个51单片机的8灯点亮程序. - ?
程受小儿: 使用定时器或者delay延时函数,依次按照你的点灯要求进行亮灭灯. void main() {while(1){P2=0xfe;delay1ms(500); P2=0xfd; delay1ms(500); P2=0xfb;delay1ms(500); P2=0xf7; delay1ms(500); P2=0xef; delay1ms(500); P2=0xdf;delay1ms(500); P2=0xbf; delay1ms(500); P2=0x7f;delay1ms(500);}}
宁武县19551654501: 51单片机用汇编语言写下这个程序,谢谢!小弟新手.有8个LED接在P2口,让第一颗灯珠一直亮不灭, - ?
程受小儿: ORG 000H (1亮,0灭) go ret :MOV P2 #0000 0001 第一个灯一直亮 0000 0001 表示第一个灯,0000 0010第二个灯 MOV P2 #0000 0011 第一个灯一直亮 ACALL DELAY(延时2S) MOV P2 #0000 0101 第1、3个灯一直亮,同时灭第二个灯 ACALL DELAY(延时2S) MOV P2 #0000 0101 ACALL DELAY(延时2S) 以下同理,MOV P2 #0 全灭 ACLL go ret 循环下一次 END
宁武县19551654501: 用汇编语言写8个LED同时亮灭三次,延时0.5s - ?
程受小儿: ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV P1,#00 LCALL DELAY MOV P1,#0FFH LCALL DELAY MOV P1,#00 LCALL DELAY MOV P1,#0FFH LCALL DELAY MOV P1,#00 LCALL DELAY MOV P1,#0FFH LCALL DELAY SJMP $ DELAY: MOV R2,#10 DLY: MOV R3,#100 DLY1: MOV R4,#249 DJNZ R4,$ DJNZ R3,DLY1 DJNZ R2,DLY RET END
宁武县19551654501: 求求好心人出现吧51单片机8个按键控制8个发光二极管,单个控制,使用汇编语言,急 - ?
程受小儿: 汇编语言的变成已经很不习惯了.假设 八个开关分别接在 P1.0—— P1.7,八个发光二极管接在 P0.0 -P0.7 .汇编语言编程如下.ORG 0000H start: mov P1,#0ffH mov P0,#0ffH mov A,P1 mov P0,A lcall delay ljmp start delay: mov r7,#100 loop: mov r6,#100 djnz r6,$ djnz r7,loop ret END
宁武县19551654501: 大佬们,单片机汇编语言编写流水灯,全部八次闪烁,怎么编啊 - ?
程受小儿: 51单片机用汇编语言编写流水灯程序,就是控制多个LED ,使其在特定时间间隔内,只有一个LED 发光,其他熄灭,用这种方式顺序移动点亮LED的位置,就形成了流水灯的效果.以下是程序: ;假设晶振12MHZ,P1控制8个LED低电平亮 ;...
宁武县19551654501: 单片机汇编语言写八个灯从左至右点亮,再从右到左点亮程序.谢谢 - ?
程受小儿: ORG 0000HMOV A,#0FEHMOV B,#08 L1: MOV P0,ARL AACALL YS ;延时子程序DJNZ B,L1MOV B,#08H L2: MOV P0,ARR ADJNZ B,L2SJMP $ YS: MOV R6,#00H YS1:MOV R7,#00H YS2:NOPDJNZ R7,YS2DJNZ R6,YS1RETEND
宁武县19551654501: 51单片机8个流水灯,一个按键从左到右,一个按键从右到左,用汇编语言 - ?
程受小儿: KEYR EQU P1.0//改下端口 忘记 p3口 是低还是高了 KEYL EQU P1.1 LED EQU P0 ORG 0000H LJMP MAIN ORG 000BH LJMP T0ISR ORG 0030H MAIN:MOV TMOD,#01HMOV TH0,#HIGH(65536-50000)MOV TL0,#LOW(65536-50000)...