单片机【数码管】

位选,就是选择你想要点亮哪个数码管
段选,就是选择你想要点亮哪个数码管的哪个一段。

===============================================================

#include<reg52.h>
#include "bstv51.h"

sbit Duan=P2^6; //数码管段选
sbit Wei=P2^7; //数码管位选

void main()
{
P0=0x7c;
Duan=1;
Duan=0;

P0=0xfe;   // 1111 1110
Wei=1;
Wei=0;
while(1);

}

=================================================================阴极数码管===

#include<reg52.h>
sbit DUAN=P2^6;
sbit WEI=P2^7;

void delay(unsigned int x)
{
unsigned char i;
while(x--)
{
for(i=0;i<120;i++);
}
}
unsigned char code leddata[]={

0x3F, //"0"
0x06, //"1"
0x5B, //"2"
0x4F, //"3"
0x66, //"4"
0x6D, //"5"
0x7D, //"6"
0x07, //"7"
0x7F, //"8"
0x6F, //"9"
0x77, //"A"
0x7C, //"B"
0x39, //"C"
0x5E, //"D"
0x79, //"E"
0x71, //"F"
0x76, //"H"
0x38, //"L"
0x37, //"n"
0x3E, //"u"
0x73, //"P"
0x5C, //"o"
0x40, //"-"
0x00, //??
0x3F //???

};

void main()
{
unsigned char i;
WEI=1;
P0=0xfe;
WEI=0;

while(1)
{

DUAN=1;
P0=leddata[i];
DUAN=0;
delay(500);
i++;
if(i==10)
{
i=0;
}
}

}

 

posted @ 2017-12-30 19:55  Justice-V  阅读(162)  评论(0)    收藏  举报