導航:首頁 > 編程語言 > 譜中科技單片機靜態數碼管編程

譜中科技單片機靜態數碼管編程

發布時間:2022-08-21 13:17:08

① AT89C51單片機設計獨立按鍵,靜態數碼管電路,並編程實現按下Ki鍵,數碼管顯示對應的數字i(i=1~8)

一位共陽數碼管接在P0口,為靜態顯示。P3口接有8個獨立式按鍵,按鍵為K1~K8,按鍵8個按鍵中的任意一個,數碼管則顯示出按鍵編號。模擬圖如下,這是按下K6時顯示6。

② 51單片機編程 靜態數碼管,倒計時,兩種編法有什麼區別,一種失敗,另一種成功

///////*if(sec == -1)
sec = 9; *//////// 這個成功了,從9開始倒計時,到了0之後又從9開始
--條件唯一。

///////*if(sec <= -1)
sec = 9;*//////// 這個失敗了,到了0之後一直顯示「 8. 」
--這條件,太寬鬆了。

--負一,在計算機裡面,以補碼存放。
--八位補碼,負一就是 255。
--小於等於 255,這條件,也太寬鬆了。
--所有的、任何的數值,都符合這個條件。

③ 利用AT89c51單片機數碼管顯示「HELLO」靜態的編程

數碼管是共陰極的,HELLO[]={0x6e,0x9e,0x1c,0x1c,0xfc}
P0是段選;P2是位選
char i;

void delay()
{
for(i=10000;i>0;i--);
}
void main()
{

for(i=0;i<8;i++)
{
P2=~(0x01<<i);
P0=HELLO[i];
delay();
}
while(1);
}

差不多就是這樣啦

④ 單片機學習中用Keil軟體編寫流水燈或數碼管(靜態)的最簡單的程序內容是什麼,望高人不吝賜教,謝謝

我想這個程序可能最簡單了吧。可以實現流水燈效果。
ORG 0000H
LJMP START
ORG 0050H
START:
MOV A,#0FEH
LOOP:
MOV P1,A
LCALL DELAY
RL A
LJMP LOOP
DELAY:
MOV R1,#20
DLY:
MOV R0,#0
DJNZ R0,$
DJNZ R1,DLY
RET
END

⑤ 單片機 :數碼管靜態顯示程序的編制

你說的是動態顯示,怎樣動態呢??就是先讓十位的數碼管先顯示1,過幾毫秒後再讓個位數碼管顯示2,一直交替,這樣看起來就
數碼管顯示的就是1,2。等累積的時間到了2秒,就讓數碼管的十位顯示3,同上。

以下是顯示12345的程序,參考一下。
原理是一樣的,改一下行了。
#include<reg51.h>
unsigned int num = 12345;
unsigned char shuma[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//段碼
unsigned char weima[8] ={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //位碼

//---------------------------------------------------------
void delay()
{
unsigned int i=500;
while(i--);
} 延時5毫秒
/*---------------------------------------------------------
程序 名: void main()
程序功能: 主程序
---------------------------------------------------------*/
void main()
{
loop1:
P2=0xff; P0=0x40; P2=weima[0]; delay();
P2=0xff; P0=0x40; P2=weima[1]; delay();
P2=0xff; P0=0x40; P2=weima[2]; delay();
P2=0xff; P0=shuma[num/10000]; P2=weima[3]; delay();
P2=0xff; P0=shuma[num%10000/1000]; P2=weima[4]; delay();
P2=0xff; P0=shuma[num%1000/100]; P2=weima[5]; delay();
P2=0xff; P0=shuma[num%100/10]; P2=weima[6]; delay();
P2=0xff; P0=shuma[num%10]; P2=weima[7]; delay();
goto loop1;
}

⑥ 需要一個單片機程序,是基於靜態數碼管的按鍵計數器,要求如下,特別急!!通過了追加不是問題

你再急也沒用,為你的實驗箱寫程序,你連個原理圖也不發,哪怕說明靜態數碼管是共陰,共陽的,怎麼接的。這些都不知道,怎麼寫程序?

⑦ 求單片機 數碼管靜態顯示設計的程序

是要模擬嗎?還是在開發板上運行。
寫C程序,還是匯編程序?

⑧ c51單片機數碼管靜態顯示程序

1.先把顯示函數,按照下列,改一改。
void
display(uchar
shi,uchar
ge)
{
shi
=
num
/
10;
ge
=
num
%
10;
la
=
1;
p0
=
table[shi];
la
=
0;
wela
=
1;
p0
=
0xfe;
wela
=
0;
delay(5);
la
=
1;
p0
=
table[ge];
la
=
0;
wela
=
1;
p0
=
0xfd;
wela
=
0;
delay(5);
}
2.用顯示函數代替延時函數。
把你的程序中,凡是:delay(10);,都改成:display(shi,
ge);。
3.把幾處等待按鍵釋放,都加上顯示函數。
如:
while(!key1);
改為:while(!key1)
display(shi,
ge);
試試看吧。

⑨ 51單片機共陰數碼管利用靜態顯示,讓六個數碼管顯示1~6,程序怎麼寫

代碼如下:

#include <reg52.h>

#define uchar unsigned char

#define uint unsigned int

#define data P0 //P0口宏定義

/* ***************************************************** */

// 數碼管位選數組定義

/* ***************************************************** */

uchar 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, //熄滅

0x00 //自定義};

};

/* ***************************************************** */

// 位定義

/* ***************************************************** */

sbit = P1^7; //段選定義

sbit we = P1^6; //位選定義

/* ***************************************************** */

// 函數名稱:DelayMS()

// 函數功能:毫秒延時

// 入口參數:延時毫秒數(ValMS)

// 出口參數:無

/* ***************************************************** */

void delay(uint z)

{

uint x,y;

for(x = 0; x < z; x++)

for(y = 0; y < 113; y++);

}

/* ***************************************************** */

// 函數名稱:main()

// 函數功能:數碼管靜態顯示

// 入口參數:無

// 出口參數:無

/* ***************************************************** */

void main(void)

{

uchar i;

we = 1; //位選開

data = 0x00; //送入位選數據

we = 0; //位選關

while(1)

{

for(i = 0;i < 16 ; i++)

{

= 1; //段選開

data = leddata[i]; //送入段選數據

= 0; //段選關

delay(500); //延時

}

}

}

(9)譜中科技單片機靜態數碼管編程擴展閱讀

對於74HC573,形象一點,我們只需要將其理解為一扇大門,只不過這扇大門是單向的,其中11引腳(LE)控制著門的開、關狀態,高電平為大門打開,低電平為大門關閉。

D0-D7為輸入,Q0-Q7為輸出,在LE = 1,即輸入高電平時,輸入端=輸出端,輸入是什麼,輸出也就原封不動的輸出;在LE = 0 ,即輸入高電平時,大門關閉,實現鎖存,不再輸出。了解之後,我們按照電路圖,來進行編程,代碼實現。

在實現數碼管的靜態顯示中,用到了兩個鎖存器,兩個I/O口,P1.6和P1.7,分別是位選和段選。

首先定義了個數碼管位選數組,也就是十六進制代碼,這便是後來數碼管顯示數字的核心,接著,用 sbit 定義了位選和段選埠,分別是 P1.6 和 P1.7 ,定義了一個延時函數,其實這一串代碼很有意思,開關開關思想,貫穿始終。

首先把位選打開,送入位選數據後,關閉鎖存器,實現鎖存,進入循環,隨之打開段選鎖存器,送入段選數據後,再次關閉段選。

接下來,這個延時操作對於實際看到數碼管的顯示效果特別重要,因為程序在段選後之後,會馬上消隱,顯示的時間之後幾個微秒,這顯然不太合理,需要在關閉段選後加上延時,這樣一來,才會讓每位數碼管亮度保持均勻。

閱讀全文

與譜中科技單片機靜態數碼管編程相關的資料

熱點內容
度人經pdf 瀏覽:898
怎麼配置android遠程伺服器地址 瀏覽:956
java程序員看哪些書 瀏覽:939
什麼app可以免費和外國人聊天 瀏覽:793
pdf手寫筆 瀏覽:178
別永遠傷在童年pdf 瀏覽:986
愛上北斗星男友在哪個app上看 瀏覽:418
主力散戶派發源碼 瀏覽:667
linux如何修復伺服器時間 瀏覽:58
榮縣優途網約車app叫什麼 瀏覽:476
百姓網app截圖是什麼意思 瀏覽:225
php如何嵌入html 瀏覽:813
解壓專家怎麼傳輸 瀏覽:745
如何共享伺服器的網路連接 瀏覽:134
程序員簡易表白代碼 瀏覽:168
什麼是無線加密狗 瀏覽:64
國家反詐中心app為什麼會彈出 瀏覽:69
cad壓縮圖列印 瀏覽:104
網頁打開速度與伺服器有什麼關系 瀏覽:865
android開發技術文檔 瀏覽:65