STC單片機LED應用電路原理圖
- /*********************************************************/
- #define MAIN_Fosc 11059200L //定義主時鐘
- #include "..\..\STC8Gxxx.h"
- /************* 功能說明 *************
- 驅動8個共陰數(shù)碼管自動掃描顯示.
- P3.0~P3.7對應SEG0~SEG7(對應LED數(shù)碼管A~G, GP). 這8根SEG線跟LED連接要串聯(lián)限流電阻(建議200歐姆以上).
- P1.0 P1.1 P5.4 P1.3~P1.7對應COM0~COM7.
- ******************************************/
- /************* 本地常量聲明 **************/
- /************* 本地變量聲明 **************/
- /************* 本地函數(shù)聲明 **************/
- /**************** 外部函數(shù)聲明和外部變量聲明 *****************/
- u8 code t_display[]={ //標準字庫
- // 0 1 2 3 4 5 6 7 8 9 A B C D E F
- 0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71,};
- /**********************************************/
- void main(void)
- {
- u8 i;
- u8 xdata *px;
- P_SW2 |= 0x80; //允許訪問XSFR(擴展特殊功能寄存器)
- // XOSCCR = 0xc0; //啟動外部晶振
- // while (!(XOSCCR & 1)); //等待時鐘穩(wěn)定
- // CLKDIV = 0x00; //時鐘不分頻
- // CKSEL = 0x01; //選擇外部晶振
- P1DR = 0x00; //COM線設置為強電流驅動
- P5DR = 0x00; //COM線設置為強電流驅動
- // P3DR = 0x00; //SEG線設置為強電流驅動
- COMEN = 0xff; //允許8個COM
- SEGENL = 0xff; //允許8個SEG
- LEDCTRL = 0x80 + (2<<4) + 0; //B7=1: ON, B5 B4: 0共陰, 1共陽, 2共陰共陽, 3保留, B2 B1 B0: 0占空比100%, 1~7占空比7/8~1/8
- LEDCKS = 8; //1位LED掃描的主頻時鐘數(shù) = 1280*n, 頻率=fosc/(1280*n)
- for(px = &COM0_DCL, i=0; i<8; i++, px++) *px = t_display[i+1]; //共陰,顯示12345678
- for(px = &COM0_DAL, i=0; i<8; i++, px++) *px = t_display[8-i]; //共陽,顯示87654321 以示區(qū)分
-
- // P_SW2 &= ~0x80;
-
- while (1)
- {
- //刷新COM0_DCL~COM7_DCL,即可刷新共陰顯示內容.
- //刷新COM0_DAL~COM7_DAL,即可刷新共陽顯示內容.
- }
- }
- /**********************************************/
復制代碼
代碼下載:
STC8G1K08T-LED數(shù)碼管自動掃描顯示相關程序.RAR
(409.13 KB, 下載次數(shù): 49)
2021-7-26 11:40 上傳
點擊文件名下載附件
|