❶ 單片機的共陰共陽8段碼的原理及顯示代碼推導
用LED數碼顯示器循環顯示數字0~9
#include<reg51.h> // 包含51單片機寄存器定義的頭文件
/**************************************************
函數功能:延時函數,延時一段時間
***************************************************/
void delay(void)
{
unsigned char i,j;
for(i=0;i<255;i++)
for(j=0;j<255;j++)
;
}
/**************************************************
函數功能:主函數
***************************************************/
void main(void)
{
unsigned char i;
unsigned char code Tab[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
//數碼管顯示0~9的段碼表,程序運行中當數組值不發生變化時,
//前面加關鍵字code ,可以大大節約單片機的存儲空間
P2=0xfe; //P2.0引腳輸出低電平,數碼顯示器DS0接通電源工作
while(1) //無限循環
{
for(i=0;i<10;i++)
{
P0=Tab[i]; //讓P0口輸出數字的段碼92H
delay(); //調用延時函數
}
}
}
❷ 單片機中怎樣根據匯編代碼判斷二極體是共陰極還是共陽極的
程序中紅線標出的,是共陽極LED的段碼表,對應的字元依次是0~9。
例如,首個段碼是 C0h =1100 0000b,
即a,b,c,d,e,f,腳低電平,對應"筆畫"亮,顯示「0」字元。
請參閱下圖:
❸ 在單片機中,怎樣判斷數碼管的陰陽極
1、檢查數碼管是共陰還是共陽,A表示共陽,K表示共陰。或者直接給公共端接高電平或者低電平,段碼端一部分接高電平,一部分接低電平,這樣數碼管亮的話看公共端接的是高還是低電平就可以判斷了。
2、看你接的限流電阻是不是太大,大於1K的值有可能不亮,最好不要接限流電阻。做實際的實物電路再加上470歐姆。
3、是不是接到51單片機的P0口了,接到P0口必須加上拉電阻,否則不會亮。
4、如果是程序控制數碼管,注意延時時間的長短,太短會看不到亮。
❹ 為什麼我的單片機段碼是共陰極的位碼是共陽極的
0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f 這是共陰極的位碼 不是共陽極
陽極就是段碼 寫1 陰極就是位碼 寫0 二極體才能亮 這是共陰極
比如0xfe 是1111 1110 只有一位是0
當位碼寫0 選中 的說明是共陰極
❺ 為什麼我的單片機段碼是共陰極的位碼是共陽極的
一般來說
數碼管是共陰極的,那麼位碼是陽極(如果你想讓數碼管全亮,就把所有陽極並接在一起,但是最好也要每個陽極串個限流電阻,再並接,不過這也不是叫共陽極)。
如果不是這樣那你的數碼管有沒有型號或數據手冊,幫你看一下。
還有多個數碼管的話是可以把不同的數碼管位碼接在一起,這也不叫共陽極,只是因為它們一般不會同時導通而已。
❻ 單片機陰陽級是0亮還是1亮
陰陽極?好吧,如果你說的是 共陰數碼管 就是 1 亮;共陽數碼管 就是 0亮!數碼管就是把LED的某個公共端接在一起,你這樣想就行了,陰的就是0那肯定要有電壓差才能亮,所以要接1。具體的話,你可以看看 數碼管 的內部結構圖,一看不明白了的。就是LED!
如果不是說 數碼管,請追問。
望採納!
❼ 51單片機一到九的段碼
你是說數碼管的段碼嗎? 共陰極與共陽極不同
共陽極段碼:
uchar code table[]={
0xc0,0xf9,0xa4,0xb0,0x99,
0x92,0x82,0xf8,0x80,0x90,
0x88,0x83,0xc6,0xa1,0x86,
0x8e,0xbf};
共陰極段碼:
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
❽ 單片機 共陰數碼管。如何編程
你所說的「8」 0xff是共陰的,那麼要是他點亮,8段數碼管abcdefg都應該為1,h是小數點,沒有用到,則是0.
abcdefgh則為:11111110
把順序倒過來就是01111111
把八為二進制分2組,四位一組
根據8421碼:
8 4 2 1 8 4 2 1
-----------------------------------------------------
0 1 1 1 1 1 1 1
4+2+1=7 8+4+2+1=15 (分數下面是0的不用和上面相加的)
16進制中 10=a 11=b 12=c13=d14=e15=f
即 0x7f
你上面說的8=0xff是把小數點也算上去了的!