• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > I/O并行口直接驅動LED顯示

    I/O并行口直接驅動LED顯示

    作者: 時間:2011-02-27 來源:網絡 收藏

    1. 實驗任務

    如圖13所示,利用AT89S51P0端口的P0.0P0.7連接到一個共陰數碼管的ah的筆段上,數碼管的公共端接地。在數碼管上循環顯示09數字,時間間隔0.2秒。

    2. 電路原理圖

    4.7.1

    3. 系統板上硬件連線

    把“系統”區域中的P0.0/AD0P0.7/AD7端口用8芯排線連接到“四路靜態數碼顯示模塊”區域中的任一個數碼管的ah端口上;要求:P0.0/AD0a相連,P0.1/AD1b相連,P0.2/AD2c相連,……P0.7/AD7h相連。

    4. 程序設計內容

    (1. LED數碼顯示原理

    七段LED顯示器內部由七個條形發光二極管和一個小圓點發光二極管組成,根據各管的極管的接線形式,可分成共陰極型和共陽極型。

    LED數碼管的g~a七個發光二極管因加正電壓而發亮,因加零電壓而不以發亮,不同亮暗的組合就能形成不同的字形,這種組合稱之為字形碼,下面給出共陰極的字形碼見表2

    0

    3FH

    8

    7FH

    1

    06H

    9

    6FH

    2

    5BH

    A

    77H

    3

    4FH

    b

    7CH

    4

    66H

    C

    39H

    5

    6DH

    d

    5EH

    6

    7DH

    E

    79H

    7

    07H

    F

    71H

    (2. 由于顯示的數字09的字形碼沒有規律可循,只能采用查表的方式來完成我們所需的要求了。這樣我們按著數字09的順序,把每個數字的筆段代碼按順序排好!建立的表格如下所示:TABLE DB 3FH,06H5BH,4FH,66H,6DH7DH07H,7FH,6FH

    5.程序框圖

    4.7.2

    6.匯編源程序

    ORG 0

    START: MOV R1,#00H

    NEXT: MOV A,R1

    MOV DPTR,#TABLE

    MOVC A,@A+DPTR

    MOV P0,A

    LCALL DELAY

    INC R1

    CJNE R1,#10,NEXT

    LJMP START

    DELAY: MOV R5,#20

    D2: MOV R6,#20

    D1: MOV R7,#248

    DJNZ R7,$

    DJNZ R6,D1

    DJNZ R5,D2

    RET

    TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

    END

    7.C語言源程序

    #include AT89X51.H>

    unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,

    0x6d,0x7d,0x07,0x7f,0x6f};

    unsigned char dispcount;

    void delay02s(void)

    {

    unsigned char i,j,k;

    for(i=20;i>0;i--)

    for(j=20;j>0;j--)

    for(k=248;k>0;k--);

    }

    void main(void)

    {

    while(1)

    {

    for(dispcount=0;dispcount10;dispcount++)

    {

    P0=table[dispcount];

    delay02s();

    }

    }

    }



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 普陀区| 清原| 乌拉特前旗| 宣恩县| 南京市| 远安县| 浦江县| 高要市| 金华市| 运城市| 金门县| 伊宁市| 桂林市| 辽源市| 任丘市| 永登县| 克山县| 佛学| 全南县| 南部县| 阿克陶县| 青田县| 荣昌县| 玉溪市| 甘泉县| 航空| 临沧市| 宜丰县| 五莲县| 甘谷县| 宁乡县| 青岛市| 崇信县| 冷水江市| 铜鼓县| 忻城县| 昌江| 崇左市| 隆安县| 蒲江县| 普兰县|