|
原本只是想做個(gè)TM1650驅(qū)動(dòng)4位共陰數(shù)碼管的板子,但是想了想,還有足夠空間(主要是窮,打板子貴,而且麻煩,想盡一切辦法在10*10cm中塞入東西),就放了STC8F2K16S2芯片上去,動(dòng)態(tài)掃描,推挽輸出。連限流電阻都省了。
Altium Designer畫的原理圖和PCB圖如下:(51hei附件中可下載工程文件)
]`_23P[H7GM_S`[PSX@0F8A.png (34.08 KB, 下載次數(shù): 74)
下載附件
PCB圖,原本件看附件
2019-1-4 23:21 上傳
制作出來的實(shí)物圖如下:
IMG_20190104_231817.jpg (1.74 MB, 下載次數(shù): 65)
下載附件
實(shí)物
2019-1-4 23:24 上傳
單片機(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
}
}
}
0.png (3.72 KB, 下載次數(shù): 59)
下載附件
2019-1-5 01:05 上傳
詳細(xì)代碼見附件
TM1650驅(qū)動(dòng)4位共陰數(shù)碼管 STC8F2K16S2直驅(qū).rar
(479.72 KB, 下載次數(shù): 154)
2019-1-4 23:28 上傳
點(diǎn)擊文件名下載附件
PCB文件,AD打開 下載積分: 黑幣 -5
TIME.rar
(85.26 KB, 下載次數(shù): 108)
2019-1-4 23:01 上傳
點(diǎn)擊文件名下載附件
STC8F2K16S2代碼 下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|