求51单片机控制2个数码管的程序

新手,研究了很久,有的话给我参考参考。。谢谢

第1个回答  2020-06-16
两只数码管段码分别由P0,P2输出控制,P0是十位,P2是个位。P3.2,P3.4分别接两只按键,P32.清0,P3.4计数。
以上程序来自《单片机C语言程序设计实训100例--基于8051+Proteus仿真》
#include
<reg52.h>
#define
uchar
unsigned
char
#define
uint
unsigned
int
uchar
DSY_CODE[]=
{
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f
};
uchar
Count
=
0;
void
main()
{
P0
=
0x00;
P2
=
0x00;
TMOD
=
0x06;
TH0=255;
TL0=255;
ET0=1;
EX0=1;
EA
=1;
IP
=0x02;
IT0=1;
TR0=1;
while(1)
{
P0
=
DSY_CODE[Count/10];
P2
=
DSY_CODE[Count%10];
}
}
void
Clear_Counter()
interrupt
0
{
Count
=
0;
}
void
Key_Counter()
interrupt
1
{
Count
=
(Count
+
1)
%100;
}

求51单片机控制2个数码管的程序
两只数码管段码分别由P0,P2输出控制,P0是十位,P2是个位。P3.2,P3.4分别接两只按键,P32.清0,P3.4计数。以上程序来自《单片机C语言程序设计实训100例--基于8051+Proteus仿真》include <reg52.h> define uchar unsigned char define uint unsigned int uchar DSY_CODE[]= { 0x3f,0x06,0x5b...

求51单片机控制2个数码管的程序
两只数码管段码分别由P0,P2输出控制,P0是十位,P2是个位。P3.2,P3.4分别接两只按键,P32.清0,P3.4计数。以上程序来自《单片机C语言程序设计实训100例——基于8051+Proteus仿真》include <reg52.h> define uchar unsigned char define uint unsigned int uchar DSY_CODE[]= { 0x3f,0x06,0x...

51单片机c语言编程序让两位数码管显示0-99,求指导!!急用!
参考下网上的程序,只要明白两个问题就不难了,第一是数码管的结构及显示原理;第二是动态显示

求C51单片机汇编语言控制两位数码管倒计时程序,最好能说明下思路_百度...
DIV AB ;当前值除以10 MOV 20H,A ;得出的商送给十位 MOV 21H,B ;得出的余数送给个位 MOV A,20H ;十位显示 MOVC A,@A+DPTR MOV P0,A SETB P2.1 LCALL DELAY CLR P2.1 MOV A,21H ;个位显示 MOVC A,@A+DPTR MOV P0,A SETB P2.0 LCALL DELAY CLRP2...

帮忙编个51单片机两个数码管的C语言编程(第一个显示4,第二个显示6)
楼上说得对,通过扫描的方法可以实现,我就让它显示23吧!程序如下:#include<reg52.h>#define uint unsigned intsbit ge=P1^1; \/\/个位控制sbit shi=P1^0; \/\/十位控制void delays(uint xms){ uint i,j; for(i=xms;i>0;i--) for(j=110;j>0;j--);}void main(){ ge=shi=1; ...

c51单片机怎么用两个按键控制两个数码管的加减,加到99就好,求程序
方便仿真程序。2、接着来编写程序,先来写入头函数。2、根据自己在proteus画的图,定义一下管脚根据你的原理图进行编写。3、然后写一个延时函数,来调节流水灯的时间间隔延时时间自己定义。4、下图就是主函数,包括流水灯的反复循环和j流水灯的方向。5、检查没有错误,编译一下,就可以进行仿真了。

51单片机接2个led数码管,怎么让数码管倒计时?
sbit wei1=P1.0;sbit wei2=P1.1;\/\/共阴数码管七段码 uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77};void Delay1ms(uint i) \/\/1ms延时程序 { uint j;for(;i>0;i--){ for(j=0;j<164;j++){;} } } void display( uchar a)) \/...

我用的是51单片机实验板有8个数码管,点亮两位数码管的程序怎么写
MAIN:MOV DPTR,#TAB MOV R7,#00H;十位计数 MOV R2,#00H;个位计数 DSUP0:MOV R6,#00H;扫描速度计数 DSUP:MOV A,R2 MOVC A,@A+DPTR MOV P0,A CLR P20;显示个位 SETB P21 LCALL YSH2S MOV A,R7 MOVC A,@A+DPTR MOV P0,A SETB P20 CLR P21 LCALL YSH2S INC R6 CJNE R6,#3FH...

求C51单片机汇编语言控制两位数码管倒计时程序,从60秒到30秒再到90秒...
LP1: JBC TF0,LP2 ... JP1: ACALL DISP RET 追问 请问您省略的这个子程序LP1: --- --- RET如何编写呀?自己还是不知道如何编写... 追答 就是你原来的啊 追问 LP1: JBC TF0,LP2 ACALL DISP AJMP LP1LP2: DJNZ R0,LP0 CLR TR0 MOV R0,#20 MOV A,R4 CJNE A,#0,DEC1 MOV R4,#60...

求两位数码管显示一个倒数时间的单片机程序,比如显示从99到0
\/\/两位数码管显示倒计数99~00,51单片机。include<reg52.h> \/\/ 倒计数 define uint unsigned int define uchar unsigned char uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};uchar bai,shi;uint a1,a2;sbit D1=P3^...

相似回答
大家正在搜