時鍾電路編程
① 求一個單片機電子時鍾電路程序 (at89s52)有4個led數碼管組成,分別表示時針和分針
寫了我一個小時,我用的是七段LED數碼管,我用了6個,把秒鍾也顯示出來了,一般電子時鍾秒鍾也是需要顯示的呀,如果你覺得沒有必要就把秒鍾代碼部分刪了,自己看懂了改一下就ok了,K1每按一下時針會加1,K2每按一下分針會加1.K3是硬體電路,中斷電路連接第九個復位引腳就行了,不是編程實現。按一下就會實現復位。下面是我的匯編程序,把懸賞給我吧,我認認真真寫了好久了~即使有些小小的不足,我相信你可以改進的,獎勵我吧~
SECONDGEWEI EQU 31H
SECONDSHIWEI EQU 32H
MINUTEGEWEI EQU 33H
MINUTESHIWEI EQU 34H
HOURGEWEI EQU 35H
HOURSHIWEI EQU 36H
SECOND EQU 60H
MINUTE EQU 61H
HOUR EQU 62H
ORG 0000H
SJMP START
ORG 0003H
AJMP INTE0
ORG 000BH
AJMP TIMER0
ORG 0013H
AJMP INTE1
ORG 0030H
START: MOV SP, #60H
MOV P0 ,#0FFH
MOV DPTR ,#TAB
MOV 30H, #0
MOV SECOND #0
MOV MINUTE #0
MOV HOUR ,#0
MOV TMOD, #00000001B
MOV TH0 ,#3CH
MOV TL0 ,#0B0H
STEB EXO
STEB EX1
SETB TRO
STB ET0
SETB EA
MAIN: CALL CHUFA
CALL DISPLAY
SIMP MAIN
INTE0: INC HOUR
RETI
INTE1: INC MINUTE
RETI
TIMER0: PUSH A
INC 30H
MOV A ,30H
CINE A #20 ,FANHUI
MOV 30H ,#0
INC SECOND
MOV A SECOND
CJNE A #60 FANHUI
MOV SECOND #0
INC MINUTE
MOV A ,MINUTE
CJNE A #60 ,FANHUI
MOV MINUTE ,#0
INC HOUR
MOV A , HOUR
CJNE A #12, FANHUI
MOV HOUR ,#0
FANHUI: POP A
MOV TH0 #3CH
MOV TL0 #0B0H
RETI
CHUFA: MOV A ,SECOND
MOV B,#10
DIV AB
MOV SECONDSHIWEI ,A
MOV SECONDGEWEI , B
MOV A,MINUTE
MOV B, #10
DIV AB
MOV MINUTESHIWEI , A
MOV MINUTEGEWEI , B
MOV A,HOUR
MOV B ,#10
DIV AB
MOV HOURSHIWEI ,A
MOV HOURGEWEI ,B
RET
DISPLAY:MOV A,SECONDSHIWEI
MOVC A ,@A+DPTR
MOV P0 ,A
CLR P2.1
CALL DELAY
SETB P2.1
MOV A ,SECONDGEWEI
MOVC A ,@A+DPTR
MOV P0 ,A
CLR P2.0
CALL DELAY
SETB P2.0
MOV A ,MINUTESHIWEI
MOVC A ,@A+DPTR
MOV P0 ,A
CLR P2.3
CALL DELAY
SETB P2.3
MOV A ,MINUTEGEWEI
MOVC A ,@A+DPTR
MOV P0 ,A
CLR P2.2
CALL DELAY
SETB P2.2
MOV A ,HOURSHIWEI
MOVC A ,@A+DPTR
MOV P0 ,A
CLR P2.5
CALL DELAY
SETB P2.5
MOV A ,HOURGEWEI
MOVC A ,@A+DPTR
MOV P0 ,A
CLR P2.4
CALL DELAY
SETB P2.4
RET
DELAY: MOV R0 ,#20
D2: MOV R1 ,#50
D1: DJNZ R1 ,D1
DJNZ R0 ,D2
RET
TAB: DB 0COH 0F9H 0A4H 0B0H 99H
DB 92H 82H F8H 80H 90H
② 時鍾電路設計需要哪些元件
方案的論證與選擇
1.1方案論證
1.1.1採用MCS—51系列單片機和壓力感測器來完成
壓力感測器是雞蛋鬧鍾必須用到的感測器,它具有結構簡單、體積小、重量輕、使用壽命長等優異的特點。控制電路主要由單片機和程序來實現,這樣的設計具有性能穩定,做工可靠,價格低廉,結構簡單的優點,但也存在編程難度大的缺點。這種設計是目前工業中最常用的一種設計,產品整體價成本格較低,硬體結構簡單,容易實現。
1.1.2採用TTL集成門電路和壓力感測器來實現
這種設計同樣採用壓力感測器,但是控制電路採用集成門電路,電路主要由振盪器,分頻器,計數器,解碼器,顯示電路組成。它的特點在於精度高,抗干擾能力強,允許的工作電壓范圍大,不需要編程,但同時也在產品體積大,硬體結構復雜,工作不可靠,技術老化,成本相對較高的缺點。這種設計目前在市場上已經基本淘汰。
1.1.3採用MCS—51系列單片機,時鍾晶元和壓力感測器來設計
這種設計在控制電路中加入了一個時鍾晶元,總體來說,產品需要的編程難度降低,但是產品的硬體結構復雜了,而且時鍾晶元的價格也很昂貴,提高了成本,這種設計在目前的市場上很少見。
1.2方案的選擇
綜上所述,應選用方案一來完成雞蛋鬧鍾的設計。
這里介紹的電子鍾,電路可稱得上極簡,它僅使用單片的20引腳單片機完成電子鍾的全部功能,而筆者見到的其它設計方案均採用二片以上的多片IC實現。
電路見圖1。
一片20引腳的單片機AT89C2051為電子鍾主體,其顯示數據從P1口分時輸出,P3.0~3.3則輸出對應的位選通信號。由於LED數碼管點亮時耗電較大,故使用了四隻PNP型晶體管VT1~VT4進行放大。本來筆者還有一種更簡的設計方案(見圖2),可省去VT1~VT4及R1~R4八個元件,但這種設計由於單片機輸出口的灌入電流有限(約20mA),數碼管亮度較暗而不向讀者介紹,除非你採用了高亮度的發光數碼管。
P3.4、P3.5、3.7外接了三個輕觸式按鍵,這里我們分別命名為:模式設定鍵set(P3.4)、時調整鍵hour(P3.5)、分調整鍵min(P3.7)。C1、R13組成上電復位電路。VT5及蜂鳴器Bz為鬧時訊響電路。三端穩壓器7805輸出的5V電壓供整個系統工作。此電子鍾可與任何9~20V/100mA的交直流電源適配器配合工作,適應性強。
電子鍾功能
1.走時:通過模式設定鍵set選擇為走時,U1、U2顯示小時,U3、U4顯示分。U2的小數點為秒點,每秒閃爍一次。
2.走時調整:通過模式設定鍵set選擇為走時調整,按下hour鍵對U1、U2的走時「時」顯示進行調整(每0.2秒遞加1)。按下min鍵對U3、U4的走時「分」顯示進行調整(每0.2秒遞加1)。
3.鬧時調整:通過模式設定鍵set選擇為鬧時調整,按下hour鍵對U1、U2的鬧時「時」顯示進行調整(每0.2秒遞加1)。按下min鍵對U3、U4的鬧時「分」顯示進行調整(每0.2秒遞加1)。
4.鬧時啟/停設定:通過模式設定鍵set選擇為鬧時啟/停設定,按下min鍵U3的小數點點亮,鬧時功能啟動;按下hour鍵U3的小數點熄滅,鬧時功能關停。
由於電路設計得極其簡單,因此豐富的功能只能由軟體完成,這里軟體設計成為了關鍵。下面介紹軟體設計要點。
圖3為主程序狀態流程。
圖3
運行時建立的主要狀態標志如下:
flag—掉電標志。掉電後,flag內為一隨機數;重新設定時間後flag內寫入標志數55H。
set—工作模式設定標志。
hour—走時「時」單元。
min—走時「分」單元。
sec—走時「秒」單元。
deda—走時5mS計數單元
t_hour—鬧時「時」單元。
t_min—鬧時「分」單元。
d_05s—0.5秒位標志。每秒鍾的前0.5秒置1,後0.5秒置0,以使秒點閃爍。
o_f—鬧時啟/停位標志。鬧時啟動置1,鬧時關停置0。
另外將定時器T0設定為5mS的定時中斷。這里晶振頻率為12MHz,因此5mS的初值為-5000,但實際上程序還要作其它運算,使得時間偏長,經調整
很高興回答樓主的問題 如有錯誤請見諒
③ AT89C51 、AT89C52、AT89S51、AT89S52這四種晶元的時鍾電路,復位電路以及編程是不是一樣 的
時鍾和復位電路一樣。編程方式也可以一樣。但AT89S51/S52還多了個ISP編程方式,即在線下載方式。
C52比C51,S52比S51多了點可用的資源而已。
④ 8051單片機時鍾電路
8051單片機時鍾電路如下所示:
電容C2、C3對頻率有微調的作用,電容容量的選擇范圍在30pF±10pF。震盪頻率的選擇范圍為1.2-12MHz。時鍾周期=石英振盪器頻率的倒數。
單片機是一種集成電路晶元,是採用超大規模集成電路技術把具有數據處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統、定時器/計數器等功能(可能還包括顯示驅動電路、脈寬調制電路、模擬多路轉換器、A/D轉換器等電路)集成到一塊矽片上構成的一個小而完善的微型計算機系統,在工業控制領域廣泛應用。
⑤ 時鍾電路基本原理
一、時鍾電路原理- -簡介
時鍾電路,就是產生象時鍾一樣准確的振盪電路。時鍾電路主要由晶體振盪器、晶震控制晶元和電容三部分構成,具有價格低廉、介面簡單、使用方便等特點,目前已有了很廣泛的應用,如電子表的時鍾電路、電腦的時鍾電路、MP3/4的時鍾電路等。目前流行的串列時鍾電路有DS1302、DS1307、PCF8485等,其中,DS1302是DALLAS公司的一種具有涓細電流充電能力的電路,採用串列數據傳輸,並為掉電保護電源提供可編程的充電功能。本文我們就以DS1302為例來對時鍾電路原理進行詳細的講解。
二、時鍾電路原理- -引腳
實時時鍾電路DS1302包括VCC1、VCC2、X1、X2、SCLK、I/O、RST、GND八個引腳。其中,VCC1用作主電源,VCC2用作備用電源,當滿足VCC1>VCC2時,由主電源向DS1302供電,當滿足VCC2>VCC1+0.2時,由備用電源向DS1302進行供電;X1和X2是32867Hz的晶振管腳,主要用於為晶元提供時鍾脈沖;SCLK為串列時鍾,主要用於提供時鍾信號以控制數據的輸入與輸出;I/O為輸入輸出設備,用作三線介面時的雙向數據線;RST主要提供復位功能,其在數據的讀寫過程中,必須保持為高電位;GND引腳用於和大地相連。
三、時鍾電路原理
DS1302的控制位元組的最高有效位即位7必須是邏輯1,若該位為0,則不能把該數據寫入進DS1302中;位6為1表示存取RAM數據,為0表示存取日歷時鍾數據;位5至位1表示操作單元的地址;最低有效位即位0為1表示要進行讀操作,為0表示要進行寫操作;其控制位元組總是從最低位開始進行輸出。
在控制指令字輸入後的下一個SCLK時鍾的上升沿時,數據被寫入DS1302,數據輸入從最低有效位即位0開始。同樣,在緊跟8位的控制指令字後的下一個SCLK脈沖的下降沿讀出DS1302的數據,數據輸出時也是從最低有效位即位0開始。
⑥ 時鍾產生電路
時鍾電路就是產生象時鍾一樣准確的振盪電路。任何工作都按時間順序。用於產生這個時間的電路就是時鍾電路。
產品:
現在流行的串列時鍾電路很多,如DS1302、DS1307、PCF8485等。這些電路的介面簡單、價格低廉、使用方便,被廣泛地採用。實時時鍾電路DS1302是DALLAS公司的一種具有涓細電流充電能力的電路,主要特點是採用串列數據傳輸,可為掉電保護電源提供可編程的充電功能,並且可以關閉充電功能。採用普通32.768kHz晶振。
⑦ 求救:單片機數字時鍾電路圖和51編程語言
這個是不是你所想要的???
⑧ 用單片機設計一個時鍾,可顯示時和分,可以調時間,也要有鬧鍾功能,要有設計的電路圖
其實不用定時中斷也能實現功能:
#include<reg51.h> 主函數
unsigned char tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};定義0-9數組
unsigned int tmp;定義變數
void delay(unsigned int xms)定義延時函數
{unsigned int j,i;
for(i=0;i<xms;i++)
for(j=0;j<100;j++);
}
void disp()定義子函數
{
P1=tmp;
delay(1);
P2=0xff;
tmp=tmp<<1;
}
void main( )
{
unsigned char z,s=00,m=00,h=00;給時鍾初始值
while(1)
{
for(z=0;z<100;z++)
{
tmp=0x01;
P2=tab[h/10];小時顯示
disp();
P2=tab[h%10];
disp();
P2=tab[m/10];分鍾顯示
disp();
P2=tab[m%10];
disp();
P2=tab[s/10];秒顯示
disp();
P2=tab[s%10];
disp();
}
s++;
while(s==60)秒進一位,到60清0
{
m++;
s=00;
}
while(m==60)分鍾進一位,到60清0
{
h++;
m=00;
}
while(h==24)小時進一位,到24清0
{
h=00;
}
}
}