熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
發(fā)布時(shí)間: 2018-4-10 00:08
正文摘要:學(xué)習(xí)了一段時(shí)間單片機(jī),用網(wǎng)上賣的數(shù)字時(shí)鐘電路改了一下,做了一個(gè)可以定時(shí)通斷的插座,用于手機(jī)充電等,非常方便。最大定時(shí)99小時(shí)59分,最小定時(shí)1分鐘。程序?qū)懙牟缓,?shí)用就行。 |
給個(gè)電路圖吧,數(shù)碼管怎么接線啊 |
制版工藝強(qiáng)! |
東西不錯(cuò),支持一下! |
樓主,圖一是用什么鉆頭的? |
有想法,肯動(dòng)手,這是好習(xí)慣! |
能不能給個(gè)電路圖和HEX燒寫文件嗎?謝謝! |
數(shù)碼管的掃描程序有點(diǎn)問題,P1=0xff;要改成P1=0x00; |
樓主老師做得東西不錯(cuò)! |
#include <reg52.h> #include <intrins.h> #define uchar unsigned char #define uint unsigned int sbit key1=P3^0; sbit key2=P3^6; sbit key3=P3^5; sbit JDQ=P3^7; sbit we1=P3^1; sbit we2=P3^2; sbit we3=P3^3; sbit we4=P3^4; bit dian; uchar code table[]={ 0xfc,0x60,0xda,0xf2,0x66, 0xb6,0xbe,0xe0,0xfe,0xf6 }; void keyscan(); void init(); uchar num,fen,miao,shi; void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void display(shi,fen)//dis) { we1=0; P1=table[shi/10]|dian;//時(shí)十位 delay(5); P1=0xff; we1=1; we2=0; P1=table[shi%10]|dian;//時(shí)個(gè)位 delay(5); P1=0xff; we2=1; we3=0; P1=table[fen/10]|dian;//分十位 delay(5); P1=0xff; we3=1; we4=0; P1=table[fen%10]|dian;//分個(gè)位 delay(5); P1=0xff; we4=1; } void display1(fen,miao)//dis) { we1=0; P1=table[fen/10]|dian;//時(shí)十位 delay(5); P1=0xff; we1=1; we2=0; P1=table[fen%10]|dian;//時(shí)個(gè)位 delay(5); P1=0xff; we2=1; we3=0; P1=table[miao/10]|dian;//分十位 delay(5); P1=0xff; we3=1; we4=0; P1=table[miao%10]|dian;//分個(gè)位 delay(5); P1=0xff; we4=1; } void main() { init(); while(1) { keyscan(); if(shi==0) display1(fen,miao); else display(shi,fen); } } void init() { TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=0; JDQ=1; } void keyscan() { if(key1==0) { delay(10); if(key1==0) { miao=0; fen=fen+1;//分加一 if(fen==60) fen=0; while(!key1); } } if(key2==0) { delay(10); if(key2==0) { shi=shi+1; if(shi==100) shi=0; while(!key2); } } if(key3==0) { delay(10); if(key3==0) { TR0=1; JDQ=0; while(!key3); } } } void T0_time() interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; num++; if(num%10==0) dian=~dian; if(num==20) { num=0; miao--; if(miao==0xff) { miao=59; fen--; if(fen==0xff) { fen=59; shi--; } } } if(shi==0&&fen==0&&miao==0) { TR0=0; JDQ=1; we1=we2=we3=we4=1; P1=0x02; we1=we2=we3=we4=0; while(1); } } |
參與人數(shù) 1 | 黑幣 +80 | 收起 理由 |
---|---|---|
![]() | + 80 | 回帖助人的獎(jiǎng)勵(lì)! |
很實(shí)用希望能分享源碼 |
不錯(cuò)的設(shè)計(jì) |
實(shí)用!漂亮。 |
工具不全,做工不精 |
好東東啊 能分享源碼嗎? |
Powered by 單片機(jī)教程網(wǎng)