#include "reg52.h"
#define led P0
int code light[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
void delay(int i)
{
while(i--);
}
void main()
{
led=0x01;
delay(50000);
int j;//爲什麼int在此處編譯不通過?應該是編譯器的問題
/*
int j;
led=0x01;
delay(50000);
放在上邊這種就可以*/
while(1)
{
for(j=0; j<17; j++)
{
led=light[j];
delay(50000);
}
}
}
74HC138D 是一種三通道輸入、八通道輸出譯碼器,主要應用於消費類電子產
品。
(1)主要特性
①採用 CMOS 工藝
②低功耗
③工作電壓:3.0V-5.0V
④封裝形式:SOP16
(2)管腳功能定義
這裏給大家總結一個方法:A0、A1、A2 輸入就相當於 3 位 2 進制數,A0 是
低位,A1 是次高位,A2 是高位。而 Y0-Y7 具體哪一個輸出有效電平,就看輸入
二進制對應的十進制數值。比如輸入是 101(A2,A1,A0),其對應的十進制數
是 5,所以 Y5 輸出有效電平(低電平)。
這個是爲什麼?電路看不懂
#include "reg52.h" //此文件中定義了單片機的一些特殊功能寄存器
typedef unsigned int u16; //對數據類型進行聲明定義
typedef unsigned char u8;
u8 code smgduan[]={0x6d,0x5b, 0x3f,0x40, 0x06, 0x4f, 0x06, 0x66,};
// 0x6d,0x5b, 0x3f,0x40, 0x06, 0x4f, 0x06, 0x66,
u8 code weixuan[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
void delay(u16 i)
{
while(i--);
}
void DigDisplay()
{
u8 i;
for(i=0;i<8;i++)
{
P1= weixuan[i];
P0=smgduan[i];//發送段碼
delay(1); //間隔一段時間掃描
// P0=0x00;//消隱
}
}
void main()
{
while(1)
{
DigDisplay(); //數碼管顯示函數
}
}
數碼管動態顯示520-1314
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
#define DIGI P0
#define SELECT P2
uchar digivalue[]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
uchar select[]= {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
void delay(uint i)
{
while(i--);
}
main()
{
uchar i=0;
while(1) {
for(i=0; i<8; i++)
{
SELECT=select[i];
DIGI=digivalue[i];
delay(50000);
}
}
}
動態顯示0-7