標(biāo)題: STC8F2K16S2單片機(jī)直驅(qū)共陰極時(shí)鐘數(shù)碼管,PCB+源程序設(shè)計(jì) [打印本頁(yè)]

作者: 天地摩登恒    時(shí)間: 2019-1-4 23:29
標(biāo)題: STC8F2K16S2單片機(jī)直驅(qū)共陰極時(shí)鐘數(shù)碼管,PCB+源程序設(shè)計(jì)
原本只是想做個(gè)TM1650驅(qū)動(dòng)4位共陰數(shù)碼管的板子,但是想了想,還有足夠空間(主要是窮,打板子貴,而且麻煩,想盡一切辦法在10*10cm中塞入東西),就放了STC8F2K16S2芯片上去,動(dòng)態(tài)掃描,推挽輸出。連限流電阻都省了。

Altium Designer畫的原理圖和PCB圖如下:(51hei附件中可下載工程文件)


制作出來的實(shí)物圖如下:


單片機(jī)源碼:

這里只貼出主函數(shù):void main(void)
{
        unsigned int num=0,wei=0;
        unsigned char key=0;
        unsigned char state=STATE_NORMAL;
        init_sysclock();
        delay_1ms(50);
        init_dis_io();
        all_sge_light();
        delay_1ms(500);
        init_time0();
        init_key();
        
//        control_8888_flick(0x01,1);
        //select_wei(2);
        while(1)
        {
                key=GetKeycode();        
                //select_wei(key);
               
                switch (state)
                {
                        case STATE_NORMAL:
                        if(flig_200ms)
                        {
                                flig_200ms=0;                                
                                dis_time(time.hour,time.min);
                        }
                        if(key==KEY_SET)
                        {
                                set_time(key);
                                state=STATE_SET_TIME;                        
                        }

                        break;
                        
                        case STATE_SET_TIME:
                        
                                if(set_time(key)==1)
                                state=STATE_NORMAL;               

                        break;               
                        
                        default:
                        break;
                }
               
               
                if(flig_1s)
                {
                        flig_1s=0;
                        going_time();
                        
                }
                if(flig_05s)
                {
                        flig_05s=0;
                        dis_colon_flick();//unit=500ms ðoÅéá˸
                        dis_8888_flick();//unit=500ms
                }
               

                if(flig_50ms)
                {

                }

                if(flig_20ms)
                {
                        flig_20ms=0;
                        scan_key();//unit=20ms
                }

                if(flig_5ms)
                {
                        flig_5ms=0;
                        dis_4X8();//unit=5ms
                }               
        }
        
}



詳細(xì)代碼見附件
TM1650驅(qū)動(dòng)4位共陰數(shù)碼管 STC8F2K16S2直驅(qū).rar (479.72 KB, 下載次數(shù): 154)
TIME.rar (85.26 KB, 下載次數(shù): 108)



作者: laoguang    時(shí)間: 2019-1-5 02:12
非常感謝分享 我下載了

作者: 海嵌    時(shí)間: 2019-3-10 00:25
學(xué)習(xí)了
作者: 一時(shí)    時(shí)間: 2019-8-11 20:56
如果用灌電流方式的話是不是可以用單片機(jī)的IO直接接數(shù)碼管段位,用共陽(yáng)數(shù)碼管
作者: I'mmmmm    時(shí)間: 2019-10-10 15:06
非常感謝,學(xué)習(xí)了!�。�!
作者: gmail2009@qq.co    時(shí)間: 2020-1-3 19:29
下載學(xué)習(xí)一下,謝謝分享!
作者: tianhehui    時(shí)間: 2020-5-16 20:24
非常感謝樓主您的分享!
作者: 心羽家電    時(shí)間: 2020-5-17 09:10
感謝樓主的分享 下載學(xué)習(xí)啦
作者: zyfzxy    時(shí)間: 2020-7-16 10:06
我都下了一個(gè)就是看不到原理圖
作者: 天地摩登恒    時(shí)間: 2021-3-24 09:31
一時(shí) 發(fā)表于 2019-8-11 20:56
如果用灌電流方式的話是不是可以用單片機(jī)的IO直接接數(shù)碼管段位,用共陽(yáng)數(shù)碼管

可以,不過要注意總的電流不要超過MCU所能承受的最大值。




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