導航:首頁 > 編程語言 > 單片機四個數碼管全亮程序

單片機四個數碼管全亮程序

發布時間:2024-04-22 03:37:01

Ⅰ 鐢ㄥ崟鐗囨満鎺у埗4浣峀ED鏁扮爜綆℃樉紺猴紝鍏堜粠宸﹁嚦鍙蟲參閫熷姩鎬佹壂鎻忔樉紺烘暟瀛13572468 澶т漿奼傚憡鐭

涓昏佺▼搴忓備笅錛
uchar table[8]={1,3,5,7,2,4,6,8};//瑕佹樉紺虹殑鏁板瓧
uchar qian_tab[10]={.........};//涓冩電爜
while(1)
{
for(i=0;i<5;i++)//鍏堟樉紺1357錛岀浜屾℃樉紺3572 絎涓夋℃樉紺5724
{
for(j=0;j<20;j++)//鍒鋒柊20嬈$害0.4縐掞紝鎺ㄨ繘涓浣
{
wei1=0;P0= table[qian_tab[ i]; delayms(5);wei1=1;
wei2=0;P0= table[qian_tab[ i+1];delayms(5); wei2=1;
wei3=0;P0= table[qian_tab[ i+2]; delayms(5);wei3=1;
wei4=0;P0= table[qian_tab[ i+3]; delayms(5);wei4=1;
}
}
}

Ⅱ 51單片機四位一體共陽極數碼管顯示編程

不清楚你的電路構成如何,因此先按下面的假設執行段碼及位碼的輸出;
其中,延時值可根據實驗效果予以調整;
設 P0 為輸出七段碼(共陽極數據);
四位數碼管有4個陽極,設位碼分別與P2.4--P2.7對應,並且=1時表示可點亮數碼管;
sbit wma1=b2^4; //對應左起第1個數碼管的陽極

sbit wma2=b2^5; //對應左起第2個數碼管的陽極
sbit wma3=b2^6;
sbit wma4=b2^7;
void main()
{
wma1=0; wma2=0; wma3=0; wma4=0;
while(1)
{
P0=table[0]; wma1=1; delay(10); wma1=0;
P0=table[1]; wma1=2; delay(10); wma2=0; P0=table[2]; wma1=3; delay(10); wma3=0; P0=table[3]; wma1=4; delay(10); wma4=0; P0=table[4]; wma1=1; delay(10); wma1=0; P0=table[5]; wma1=2; delay(10); wma2=0; P0=table[6]; wma1=3; delay(10); wma3=0; P0=table[7]; wma1=4; delay(10); wma4=0;
}
}

Ⅲ 如何利用單片機讓4位數碼管顯示

程序如下(用的是STC89C52晶元):

#include<reg52.h>//52系列單片機頭文件

#defineucharunsignedchar

#defineuintunsignedint

uintx,y;

ucharcodetable[]={

0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,

0x39,0x5e,0x79,0x71};//共陰極數碼管編碼

voiddisplay(uchar,uchar,uchar,uchar);//聲明子函數

voiddelay(int);//聲明子函數

voidmain()

{

while(1)

{

display(1,2,3,4);//主程序始終調用數碼管顯示子程序

}

}

voiddisplay(uchara,ucharb,ucharc,uchard)

{

P2=0xef;

P0=table[a];//給第一個數碼管送"a"

delay(1);//延時1ms

P2=0xdf;

P0=table[b];//給第二個數碼管送"b"

delay(1);//延時1ms

P2=0xbf;

P0=table[c];//給第三個數碼管送"c"

delay(1);//延時1ms

P2=0x7f;

P0=table[d];//給第三個數碼管送"d"

delay(1);//延時1ms

}

voiddelay(uintz)//延時子函數

{

uintx,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

(3)單片機四個數碼管全亮程序擴展閱讀

led數碼管是由多個發光二極體封裝在一起組成「8」字型的器件,引線已在內部連接完成,只需引出它們的各個筆劃,公共電極。led數碼管常用段數一般為7段有的另加一個小數點,還有一種是類似於3位「+1」型。

位數有半位,1,2,3,4,5,6,8,10位等等,led數碼管根據LED的接法不同分為共陰和共陽兩類,了解LED的這些特性,對編程是很重要的,因為不同類型的數碼管,除了它們的硬體電路有差異外,編程方法也是不同的。

Ⅳ 51單片機4個數碼管顯示程序

#include<reg52.h> //52系列單片機頭文件
#define uchar unsigned char //宏定義
#define uint unsigned int
sbit la=P2^6; //申明u1鎖存器的鎖存端
sbit wela=P2^7; // u2
uchar num1,num2;
uchar code table[]={ //數組定義
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
uchar code aable[]={ //位選數組定義
0xfe,0xfd,0xfb,0xf7,0xef,0xdf};
void delays(uint); //子函數申明

void main()
{
while(1)
{
for(num1=0;num1<48;num1++) //6個數循環顯示
{
wela=1; //打開u2鎖存端
P0=aable[num1%6]; //送入位選信號
wela=0; //關閉u2鎖存端
// delays(1);
la=1; //打開u1鎖存端
P0=table[num1%16]; //送入段選信號
la=0; //關閉u1鎖存端
delays(1);
}
}
}
/*---------主函數-----------------------------------------------*/

void delays(uint xs)
{
uint i,j,k;
for(i=xs;i>0;i--)
for(j=1000;j>0;j--)
for(k=110;k>0;k--);
}
/*----------------延時程序-----------------------------------------------*/

Ⅳ 哪位高手幫幫忙幫我編個程序,用8051單片機控制4位LED共陽數碼管。。

#include<reg52.h>
sbit KEY=P3^3; //定義按鍵輸入埠
sbit LED=P1^2; //定義led輸出埠,一個四個都是一樣的定義方法
void main (void)
{

KEY=1; //按鍵輸入埠電平置高
while (1) //主循環
{

if(!KEY) //如果檢測到低電平,說明按鍵按下
LED=0;
else
LED=1; //這里使用if判斷,如果按鍵按下led點亮,否則熄滅
//如果需要四個亮就寫LED1=1;LED2=1,LED3=1;LED4=1;不過上面得先定義好這四個led的引腳 }
}

希望對你有幫助

閱讀全文

與單片機四個數碼管全亮程序相關的資料

熱點內容
qq60017個人文件夾 瀏覽:651
小米手機電話錄音在哪個文件里 瀏覽:860
不支持打開此類文件apk 瀏覽:186
看網球王子用什麼網站 瀏覽:104
如何用移動app查賬單 瀏覽:918
在u盤系統里怎麼開桌面文件 瀏覽:847
word有母版 瀏覽:89
計算機網路開發有什麼 瀏覽:184
如何免費帶格式的文件 瀏覽:729
外星人和蘋果哪個貴 瀏覽:880
小程序網址 瀏覽:285
qq裡面的文件怎麼刪除 瀏覽:908
aspnet資料庫操作 瀏覽:378
電子編程在哪裡下載 瀏覽:682
核桃編程如何新建目標文件夾 瀏覽:348
移動網路架構 瀏覽:349
文件放哪個盤里好 瀏覽:794
經檢測網速正常為什麼網路還卡 瀏覽:430
怎麼創建一個Linux腳本文件 瀏覽:150
xbox2011年自製版本 瀏覽:788

友情鏈接