7段數(shù)碼管由8個LED組成,其中7個細(xì)長的LED可以顯示數(shù)字?jǐn)?shù)字0至9,和字母ABCDEF,另外一個圓形的發(fā)光二極管顯示小數(shù)點
類型可分為共陽極和共陰極。
共陰極(Common Cathode):LED的所有陰極都連接在一起。 7SEG-MPX1-CC
共陽極數(shù)碼管(Common Anode):LED的所有陰極都連接在一起 。 7SEG-MPX1-CA
共陰極數(shù)碼管顯示數(shù)字和字符
思路:
1.一個字節(jié)(Byte)是8位。 P2端口P2^0--P2^7也是8位,P2端口可以控制8個led燈的亮滅
利用工具軟件可以生成7段數(shù)碼管的的0-9,a-f的表值
//C語言一行過長時,使用 \\ 結(jié)尾作為換行標(biāo)記,并不會影響語句的編譯
u8 a[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,\\
0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};//0-9,A-F
2.利用for循環(huán)將數(shù)組中的值賦值給P2端口,延時一段時間,動態(tài)地顯示出來
size = sizeof(a)/sizeof(a[0]);//計算數(shù)組有多少個元素
while(1){
for(num=0;num
4位7段共陽極數(shù)碼管動態(tài)顯示數(shù)字1-9999
思路:
1.1-9999本質(zhì)由0-9這10個數(shù)字組成。 4位數(shù)碼管分別顯示千位百位十位個位
2.利用PNP三極管開關(guān)來控制4個數(shù)碼管的顯示,只有高電平,數(shù)碼管才會工作
3.事實上同一時間只有一個數(shù)碼管是工作的,但是延時10毫秒左右,欺騙人的眼睛,讓人感覺4個數(shù)碼管同時亮
#include
#define u8 unsigned char
#define u16 unsigned int
#define led P0
sbit sw1 = P2^0;//控制開關(guān)
sbit sw2 = P2^1;
sbit sw3 = P2^2;
sbit sw4 = P2^3;
u8 a[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//0-9
void delay(u16 ms);//延時函數(shù)
void display(u16 number);//數(shù)碼管上顯示數(shù)字
void main()
{
u16 count=0;
while(1){
count++; //從1開始
display(count);
if(10000 ==count)
count = 0;//計數(shù)到10000時置0
}
}
void display(u16 number)
{
led = a[number/1000];//千位上的數(shù)字
sw1 = 1;
delay(9);
sw1 = 0;
led = a[(number/100)%10];//百位上的數(shù)字
sw2 = 1;
delay(9);
sw2 = 0;
led = a[(number/10)%10];//十位上的數(shù)字
sw3 = 1;
delay(9);
sw3 = 0;
led = a[number%10];//個位上的數(shù)字
sw4 = 1;
delay(9);
sw4 = 0;
}
void delay(u16 ms)
{
u16 x,y;
for(x=0;x
-
led
+關(guān)注
關(guān)注
240文章
22907瀏覽量
650122 -
發(fā)光二極管
+關(guān)注
關(guān)注
13文章
1179瀏覽量
66004 -
數(shù)碼管
+關(guān)注
關(guān)注
31文章
1869瀏覽量
90518 -
字符
+關(guān)注
關(guān)注
0文章
230瀏覽量
25106 -
編譯
+關(guān)注
關(guān)注
0文章
646瀏覽量
32671
發(fā)布評論請先 登錄
相關(guān)推薦
評論