標(biāo)題: STC8G1K08T單片機(jī)LED數(shù)碼管自動(dòng)掃描顯示相關(guān)程序 [打印本頁(yè)]

作者: liuchong    時(shí)間: 2021-7-26 11:41
標(biāo)題: STC8G1K08T單片機(jī)LED數(shù)碼管自動(dòng)掃描顯示相關(guān)程序
STC單片機(jī)LED應(yīng)用電路原理圖

  1. /*********************************************************/

  2. #define MAIN_Fosc        11059200L        //定義主時(shí)鐘

  3. #include        "..\..\STC8Gxxx.h"

  4. /*************        功能說(shuō)明        *************

  5. 驅(qū)動(dòng)8個(gè)共陰數(shù)碼管自動(dòng)掃描顯示.

  6. P3.0~P3.7對(duì)應(yīng)SEG0~SEG7(對(duì)應(yīng)LED數(shù)碼管A~G, GP). 這8根SEG線(xiàn)跟LED連接要串聯(lián)限流電阻(建議200歐姆以上).
  7. P1.0 P1.1 P5.4 P1.3~P1.7對(duì)應(yīng)COM0~COM7.

  8. ******************************************/


  9. /*************        本地常量聲明        **************/

  10. /*************        本地變量聲明        **************/

  11. /*************        本地函數(shù)聲明        **************/



  12. /****************  外部函數(shù)聲明和外部變量聲明 *****************/

  13. u8 code t_display[]={                                                //標(biāo)準(zhǔn)字庫(kù)
  14. //         0    1    2    3    4    5    6    7    8    9    A    B    C    D    E    F
  15.         0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71,};

  16. /**********************************************/
  17. void main(void)
  18. {
  19.         u8        i;
  20.         u8        xdata *px;

  21.         P_SW2 |= 0x80;        //允許訪(fǎng)問(wèn)XSFR(擴(kuò)展特殊功能寄存器)
  22. //        XOSCCR = 0xc0;           //啟動(dòng)外部晶振
  23. //        while (!(XOSCCR & 1));   //等待時(shí)鐘穩(wěn)定
  24. //        CLKDIV = 0x00;           //時(shí)鐘不分頻
  25. //        CKSEL = 0x01;            //選擇外部晶振

  26.         P1DR = 0x00;        //COM線(xiàn)設(shè)置為強(qiáng)電流驅(qū)動(dòng)
  27.         P5DR = 0x00;        //COM線(xiàn)設(shè)置為強(qiáng)電流驅(qū)動(dòng)
  28. //        P3DR = 0x00;        //SEG線(xiàn)設(shè)置為強(qiáng)電流驅(qū)動(dòng)

  29.         COMEN  = 0xff;        //允許8個(gè)COM
  30.         SEGENL = 0xff;        //允許8個(gè)SEG
  31.         LEDCTRL = 0x80 + (2<<4) + 0;        //B7=1: ON,  B5 B4: 0共陰, 1共陽(yáng), 2共陰共陽(yáng), 3保留, B2 B1 B0: 0占空比100%, 1~7占空比7/8~1/8
  32.         LEDCKS = 8;        //1位LED掃描的主頻時(shí)鐘數(shù) = 1280*n, 頻率=fosc/(1280*n)

  33.         for(px = &COM0_DCL, i=0; i<8; i++, px++)        *px = t_display[i+1];        //共陰,顯示12345678
  34.         for(px = &COM0_DAL, i=0; i<8; i++, px++)        *px = t_display[8-i];        //共陽(yáng),顯示87654321 以示區(qū)分
  35.        
  36. //        P_SW2 &= ~0x80;
  37.        
  38.         while (1)
  39.         {
  40.                 //刷新COM0_DCL~COM7_DCL,即可刷新共陰顯示內(nèi)容.
  41.                 //刷新COM0_DAL~COM7_DAL,即可刷新共陽(yáng)顯示內(nèi)容.
  42.         }
  43. }
  44. /**********************************************/
復(fù)制代碼


代碼下載: STC8G1K08T-LED數(shù)碼管自動(dòng)掃描顯示相關(guān)程序.RAR (409.13 KB, 下載次數(shù): 49)

作者: 在線(xiàn)    時(shí)間: 2021-8-20 20:59
本帖最后由 在線(xiàn) 于 2021-8-20 21:01 編輯

懂了懂了




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1