首页编程单片机数码管0到9编程代码(单片机编程软件)

单片机数码管0到9编程代码(单片机编程软件)

编程之家2026-05-26739次浏览

老铁们,大家好,相信还有很多朋友对于单片机数码管0到9编程代码和单片机编程软件的相关问题不太懂,没关系,今天就由我来为大家分享分享单片机数码管0到9编程代码以及单片机编程软件的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!

单片机数码管0到9编程代码(单片机编程软件)

51单片机c语言设计,按键控制数码管,依次按下显示0到9循环

#include<reg51.h>

sbitk1=P1^0;

#define uint16 unsigned int

#define uchar unsigned char

uchar code shuzu[ ]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

void delay()

单片机数码管0到9编程代码(单片机编程软件)

{

uint16 i=1000;

while(i--);

}

void main()

{

单片机数码管0到9编程代码(单片机编程软件)

uchar n;

P2=0xfe;

P1=0xff;

while(1)

{

if(k1==0)

{

if(n>=9) n=0;

else n++;

P0=shuzu[n];

while(!k1);

delay();

while(!k1);

}

}

}

扩展资料:

51单片机的功能特性

1,可以仿真63K程序空间,接近64K的16位地址空间;

2,可以仿真64Kxdata空间,全部64K的16位地址空间;

3,可以真实仿真全部32条IO脚;

4,完全兼容keilC51 UV2调试环境,可以通过UV2环境进行单步,断点,全速等操作;

5,可以使用C51语言或者ASM汇编语言进行调试;

6,可以非常方便地进行所有变量观察,包括鼠标取值观察,即鼠标放在某变量上就会立即显示出它此的值;

7,可选使用用户晶振,支持0-40MHZ晶振频率;

8,片上带有768字节的xdata,您可以在仿真时选使用他们,进行xdata的仿真;

9,可以仿真双DPTR指针;

10,可以仿真去除ALE信号输出.;

11,自适应300-38400bps的所有波特率通讯;

12,体积非常细小,非常方便插入到用户板中.插入时紧贴用户板,没有连接电缆,这样可以有效地减少运行中的干扰,避免仿真时出现莫名其妙的故障;

13,仿真插针采用优质镀金插针,可以有效地防止日久生锈,选择优质园脚IC插座,保护仿真插针,同时不会损坏目标板上的插座.;

14,仿真时监控和用户代码分离,不可能产生不能仿真的软故障;

15,RS-232接口不计成本采用MAX202集成电路,串行通讯稳定可靠,绝非一般三极管的简易电路可比。

参考资料来源:百度百科-51单片机

...按键如何分别控制4个数码管从0到9到0变化的编程

你这没有给出原理图,数码管和按键是怎么接的?是仿真实现吗,下图是仿真图,用了四位一体的共阴数码管,4个按键在P3.4~P3.7上。

仿真结果,你要是仿真,就按这个仿真图画,程序就完全适用。如果是实物开发板,就是根据开发板,适当修改程序了。

汇编程序如下

S1 BIT P3.4

S2 BIT P3.5

S3 BIT P3.6

S4 BIT P3.7

DISM1 EQU 31H

DISM2 EQU 32H

DISM3 EQU 33H

DISM4 EQU 34H

START:MOV R0,#7FH

CLEAR:MOV@R0,#0

DJNZ R0,CLEAR

MAINP:ACALL DISUP;主程序

TEST1:JB S1,TEST2

ACALL DELK4

JB S1,TEST2

INC DISM1

MOV A,DISM1

CJNE A,#10,CMPM1

CMPM1:JC WAIT1

MOV DISM1,#0

WAIT1:JNB S1,$

AJMP MAINP

TEST2:JB S2,TEST3

ACALL DELK4

JB S2,TEST3

INC DISM2

MOV A,DISM2

CJNE A,#10,CMPM2

CMPM2:JC WAIT2

MOV DISM2,#0

WAIT2:JNB S2,$

AJMP MAINP

TEST3:JB S3,TEST4

ACALL DELK4

JB S3,TEST4

INC DISM3

MOV A,DISM3

CJNE A,#10,CMPM3

CMPM3:JC WAIT3

MOV DISM3,#0

WAIT3:JNB S3,$

AJMP MAINP

TEST4:JB S4,MAINP

ACALL DELK4

JB S4,MAINP

INC DISM4

MOV A,DISM4

CJNE A,#10,CMPM4

CMPM4:JC WAIT4

MOV DISM4,#0

WAIT4:JNB S4,$

AJMP MAINP

DISUP:MOV DPTR,#TABLE;显示子程序

MOV R0,#DISM1

MOV R2,#0FEH

DISB1:MOV P2,R2

MOV A,@R0

MOVC A,@A+DPTR

MOV P0,A

MOV A,R2

RL A

MOV R2,A

ACALL DELAY

INC R0

CJNE R0,#DISM4+1,DISB1

RET

DELK4:MOV R6,#10

SJMP DELA1

DELAY:MOV R6,#2

DELA1:MOV R7,#150

DJNZ R7,$

DJNZ R6,DELA1

RET

TABLE:DB 3FH,06H,5BH,4FH,66H;共阴段码表

DB 6DH,7DH,07H,7FH,6FH

END

如何确定数码管段码表

确定数码管段码表方法如下:共阴:

0、0x3f

1、 0x06

2、0x5b

3、0x4f

4、0x66

5、0x6d

6、0x7d

7、0x07

8、0x7f

9、0x6f

A、0x77

B、0x7c

C、0x39

D、0x5e

E、0x79

F、0x71

无显示:0x00

只显示一点:0x80

共阳:只需和共阴互补即可,比如:

共阳0为:0xc0

共阴0为:0x3f

相加后两位等于ff即可。

数码管的最常见形式有10个阴极,形状为数字0到9,某些数码管还有一个或两个小数点。然而也有其他类型的数码管显示字母、标记和符号。如一种“数码管”,其阴极为一个模板制成的面具,上面有数字形状的孔。

扩展资料:

数码管的驱动方式:数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。

1、静态显示驱动

静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多。

如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。

2、动态显示驱动

数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划“a,b,c,d,e,f,g,d,p”的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码。

参考资料来源:百度百科--数码管

关于单片机数码管0到9编程代码到此分享完毕,希望能帮助到您。

关于ai人工智能的作文800字?人工智能的利与弊的论文dede网站模板(html模板下载)