单片机汇编:LED数码管从0---9之间,依次每按一下亮一位数字,并循环!

作者&投稿:乘璧 (若有异议请与网页底部的电邮联系)
51单片机 编写4个LED数码管同时循环显示0—9的数字 的程序。~

#include
//-----------------------------------------------
void delay(unsigned int i) //延时
{
unsigned char j;
while(i--) for(j = 0; j < 115; j++);
}
//-----------------------------------------------
void main(void)
{
unsigned char n1;
unsigned char code SEG[] = {
0xc0, 0xf9, 0xa4, 0xb0, 0x99, //0-4
0x92, 0x82, 0xf8, 0x80, 0x90};//5-9
while(1) {
P0 = SEG[n1]; //P0口,外接共阳数码管的段选端
delay(2000);
n1++; if(n1 > 9) n1 = 0;
}
}

4个(任意个)共阳数码管的段选端,接在 P0,其位选,都接电源即可。

#include
//-----------------------------------------------
void delay(unsigned int i) //延时
{
unsigned char j;
while(i--) for(j = 0; j < 115; j++);
}
//-----------------------------------------------
void main(void)
{
unsigned char n1;
unsigned char code SEG[] = {
0xc0, 0xf9, 0xa4, 0xb0, 0x99, //0-4
0x92, 0x82, 0xf8, 0x80, 0x90};//5-9
while(1) {
P0 = SEG[n1]; //P0口,外接共阳数码管的段选端
delay(2000);
n1++; if(n1 > 9) n1 = 0;
}
}

4个(任意个)共阳数码管的段选端,接在 P0,其位选,都接电源即可。

START: MOV P3, #0FFH MOV DPTR, #SEGPT MOV A, #0 LOOP: MOVC A, @A+DPTR MOV P1, A KEY: JB P3.2, KEY INC A CJNE A, #10, LOOP MOV A, #0 SJMP LOOP SEGPT: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;共阳极 ABCDEFGH对应x.01234567


在单片机中,使用汇编语言程序,用3个开关和两位LED数码显示管构成简单...
;单字节十进制数3位数码管显示 ADR_DISPLAY:MOV A,@R0 MOV B,#100 DIV AB MOV 42H,A MOV A,#10 XCH A,B DIV AB MOV 41H,A MOV 40H,B RET TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;Define定义段码0、1、2、3、4、5、6、7、8、9 DB 77H,7CH,39H,5EH,...

大家好,这段程序是C51单片机汇编程序定时器查询方式实现LED闪烁...
MOV TMOD,#00000001B 设定定时器0工作方式为1 如果设为工作方式2,则MOV TMOD,#00000010B 如果设为工作方式0,则MOV TMOD,#00000000B TMOD的M1M0位确定定时器工作方式:M1M0 工作方式 功能说明00 方式0 13位定时器\/计数器 01 方式1 16位定时器\/计数器 10 方式2 自动...

5分悬赏-汇编语言 LED逐个点亮
没有R8,延时1秒是可以准确算出来的:当晶振已知的情况,假设为12MHz,那么1个机器周期为1us,而DJNZ指令需2个Tm(机器周期),所以如用DJNZ来延时,则需要执行其次数为500000次.又因为DJNZ是个8位操作指令,所以可把500000分解为250*200*10就好.而且循环点亮完全可以用移位指令来实现.程序如下:ORG 02H START...

看不懂汇编。求把下面的汇编,解释解释,最好能帮忙编个相同意思的c语言...
ORG 0000H LJMP START ORG 000BH LJMP T0_INT ORG 0040H START:MOV TMOD, #01H ;设置定时器0工作模式1 MOV TH0, #(65536-50000) \/ 256 MOV TL0, #(65536-50000) MOD 256 ;50毫秒定时初值 MOV IE, #82H ;开中断 MOV P1, #0FFH ;LED MOV ...

是可以详细给解释一下这个单片机汇编语言?
这是个AD转换控制程序,并将结果在LCD上显示的程序。不过程序比较罗嗦,个人觉得有些程序没用。说明的部分用“\/\/\/”标注了,应该比较清楚了。你自己看吧。LED_0 EQU 30H ;LED_1 EQU 31H LED_2 EQU 32H ;存放段码 ADC EQU 35H ;\/\/\/AD转换结果存储单元 CLOCK BIT P2...

...使用汇编语言编程对开关的拨动次数进行计数,在led灯当中进行二进制...
首先你要将开关连接入电路中,简单的就让开关动作以高低电平来反映,然后把这个信号连接到某端口引脚上,通过软件循环判断该信号电平状态变化来计数就是了。至于显示嘛,也不知道你的LED是个怎样的电路构成,如果是整个端口一一对应八个LED,那么就将计数值直接输出到该端口就是了。

LED数码管动态显示2017的51单片机汇编语言
共阳极接法。abcdefg 为 P0 口,位选端为 P2 口。八个数码管同时显示 01234567。电路与程序,如下所示:

8051用汇编语言将0~9这十个数循环送P1口七段LED上循环显示 。求代码...
ORG 0000H JMP BEGIN ORG 0030H TABLE: ; 共阴极数码管显示代码表 DB 3FH,06H,5BH,4FH,66H ;01234 DB 6DH,7DH,07H,7FH,6fh ;56789 DELAY: MOV R5,#20 LOOP4: MOV R6,#50H ;延时20X20ms LOOP5: MOV R7,#100 DJNZ R7,DJNZ R6,LOOP5 DJNZ ...

汇编语言编程,一个按键,一个2位数码管,实现按键计数显示在数码管上...
\/\/晶振12M KEY BIT P3.2 ;按键接P3.2 LED_bits BIT P3.1;个位显示控制端 LED_ten BIT P3.0;十位显示控制端 DATA_bits DATA 30H;个位 DATA_ten DATA 31H;十位 ORG 00H LJMP MAIN ORG 30H MAIN:;主程序 SETB LED_bits SETB LED_ten SETB KEY MOV DATA_...

用汇编程序实现3个数码管循环闪亮(显示为8),相当于3个LED流水灯...
网上的这种程序比较多,也不是很难,自己学学可以编的。下面是1~8数字循环显示 ;仿照例7.7 ORG 0000H LJMP MAIN ORG 0030H MAIN:;CLR P2.5 ;CLR P2.7 MOV A,#03H ;控制字 MOV DPTR,#6100H;8155的命令状态口地址 MOVX @DPTR,A DISPLY:MOV R0,#8 MOV R3,#0FEH MOV A,R3 ...

牡丹江市18536538187: AT89S51单片机怎么用汇编语言让数码管从0到9显示 -
初秆泰可: START:MOV R5,#00H ;次数计数单元R5,后面的程序应该看得懂了,都是教科书式的 MAIN: MOV A,R5 MOV DPTR,#TAB MOV A,@A+DPTR LCALL DISPLAY CJNE,R5,#10,START ;次数到,从头再来 LJMP MAIN DISPLAY: ;数码管显示...

牡丹江市18536538187: 用单片机c语言写一个数码管从00到99的数字显示,要用到锁存器!!!求大神指教 -
初秆泰可: /*******************************************************************************************************//*******************************************************************************************************/#include //通用89C52头文件 sbit AA=P3^4;//数码管显示用IO端...

牡丹江市18536538187: 单片机求助,用汇编语言写一个双位数码管0到99循环 -
初秆泰可: 一个数码管显示0005~01秒,再换另一个显示,他俩轮流这么显示着(再多几个也可以),这种交替人眼看不出来的单片机求助,用汇编语言写一个双位数码管0到99循环

牡丹江市18536538187: 单片机控制一位数码管显示,数码管从0 - 9依次显示,时间间隔为100ms,循环下去,用定时器编写程序 -
初秆泰可: 只控制一位数码管没啥意思,如果只是研究一下倒是可以的 给你一份我自己写的,利用四位数码管显示模拟时钟的程序吧,供你研究 另外,再给你一个一位数码管的,是你要求的那种 这两个都是利用单片机的定时器中断来产生秒信号的 下面这...

牡丹江市18536538187: 51单片机,如何编写显示数码管00到99,可用电脑键盘(串行口)暂停,继续的程序(用汇编语言) -
初秆泰可: MOV 31H,#00H MOV 32H,#00H MOV 33H,#01H MOV 34H,#06H MOV 35H,#03H MOV 36H,#02H ACALL D0 JMP $-2D0: MOV R0,#31H MOV R2,#11111110B MOV DPTR,#TABD1: ORL P1,#00111111B MOV A,@R0 MOVC A,@A+DPTR ...

牡丹江市18536538187: 关于单片机LED数码管的显示程序 -
初秆泰可: 如果只有一个数码管,那就直接用循环程序进行控制就可以了,当然需要用到数组进行查表运算了;如果是多个数码管,就需要用到循环扫描程序了,此时若是能够合理地使用中断程序,那么主程序的负担就会减轻一些,而且程序的复杂性也相对来说比较简单.

牡丹江市18536538187: 汇编语言 数码管显示0 - 9.每个数字闪烁三次,再显示下一个数字,如此循环.求程序,, -
初秆泰可: ORG 0000H LJMP MAIN ORG 0030H MAIN:MOV R0,#0 MOV R1,#3LOOP:MOV DPTR,#TABLE MOV A,R0 MOVC A,@A+DPTR MOV P1,A LCALL DELAY MOV P1,#00H LCALL DELAY DJNZ R1,LOOP INC R0 MOV R1,#3 ...

牡丹江市18536538187: 求下图的单片机C语言程序、利用外部中断0.1实现数码管从0 -- 9的加一或减一,用下图书中所学知识. -
初秆泰可: #include <reg51.h> unsigned char n=0; unsigned char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; void main() { 回EA=1; EX0=1;IT0=1; EX1=1;IT1=1; while(1){ 答P2=table[n]; } } void add(void) interrupt 0 { n++; } void sub(void) interrupt 2 { n--; }

牡丹江市18536538187: 单片机如何编程把数码管从00 - 24循环 -
初秆泰可: while(1) {for(i=0;i<24;i++){Display(i); Delayms(500); } }

牡丹江市18536538187: 51单片机问题 编写4个LED数码管循环显示2008的程序. 用C语言写.. -
初秆泰可: #include<reg51.h> //----------------------------------------------- void delay(unsigned int i) //延时 {unsigned char j;while(i--) for(j = 0; j < 115; j++); } //----------------------------------------------- void main(void) {unsigned char n1;unsigned char code SEG[] = {0xc0, ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网