導航:首頁 > 電器電路 > 時鍾電路編程

時鍾電路編程

發布時間:2021-02-04 17:01:08

❶ 求一個單片機電子時鍾電路程序 (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

❷ 單片機電子時鍾程序設計以及電路圖

書上不是有原圖和原程序嗎,北航出版社的書都有,還不敢緊找去呀-----圖書館

❸ 基於80C51單片機,編寫電子時鍾,要求有電路圖、PCB圖和代碼(C語言或者VB)

1.2 RS485介面與RS-422介面比較:
RS485介面是在RS-422介面基礎上發展而來的,它們有許多電氣規定相似如同樣採用平衡電壓傳輸方式,傳輸電纜終端都需要接終結電阻等。但RS-485介面匯流排能力與RS-422介面不同。傳輸線可以採用兩線或四線方式,兩線方式連接可實現真正的多點雙向通信,而採用四線方式連接時,與RS-422介面一樣只能實現一點對多點的雙向通信,即只能有一個主設備,其餘均為從設備。但無論四線還是兩線連接方式下,RS485介面匯流排上均可連接最多128個設備。RS-485介面與RS-422介面的不同還在於其共模輸出電壓不同。RS-485介面的共模輸出電壓是一7V至+12V之間,而RS-422介面的共模輸出電壓在一7V至+7V之間。另外RS-485介面齋要2個終結電阻,這一點也與RS422介面不同。
1.2.1 RS-485標准優點
(1)通常標准介面的電氣特性,都有滿足可靠傳輸具有相關性,適當的降低通信速度,可以提高通信距離,反之亦然,例如:採用RS-232C標准進行單向數據傳輸時,最大數據傳輸速率為20kbitPs,最大傳送距離為15m,若改用RS-485標准時,最大傳輸速率可達10MbitPs,最大傳送距離為300m,降低數據傳輸速率,可傳送距離可達到1200m。
(2)抗干擾能力
通常選擇的標准介面,在保證不超過其使用范圍時都有一定的抗干擾能力,以保證可靠的信號傳輸,但在一些工業測控系統,通信環境往往十分惡劣,因此在通信介面標准選擇時要充分注意其抗干擾能力,並採取必要的抗干擾措施"例如長距離傳輸時使用RS-422標准能有效的抑制共模信號干擾,使用20mA電流環技術,能大大降低對雜訊的敏感程度"在高雜訊污染環境中,通過使用光纖介質網路"減少雜訊干擾,通過光電隔離提高通信系統的安全性等都是一些行之有效的方法。

(3)RS-232C與RS-422,RS-485性能參數比較
在RS-232連接的串列通信系統中實際上只用到RXDTXD和地,在本設計中用到RS-232C,RS-485標准,RS-485標準是一種多發送器的電路標准,它擴展了RS-422A的性能,允許雙導線上一個發送驅動32個負載設備,負載設備可以是被動發送器!接收器或收發器"RS-485標准沒有規定在何時控制發送器發送或接收機接收數據的規則,電纜選擇比RS-485更嚴格"對驅動器和接收器規定了雙端電氣介面形式,把電位差轉變成邏輯電平,實現終端的信息接收".
採用RS-485最大的優點在於它的多點匯流排互連功能,它可以連接一台主機和多台終端同時通信,由於它是半雙工的,同時只能有一方發送,一方接收,而且它採用差動電平接收的方法來提高抗干擾能力,適合在比較惡劣的環境下工作,因為在同一對電纜中所受到的干擾是很類似的,採用差動方法可以用作差的方法將干擾抵銷一大部分。
由於RS-485通信是一種半雙工通信,發送和接收共用同一物理信道"在任意時刻只允許一台單機處於發送狀態"因此要求應答的單機必須在監聽到匯流排上呼叫信號已經發送完畢,並且沒有其它單機發出應答信號的情況下,才能應答"半雙工通信對主機和從機的發送和接收時序有嚴格的要求"如果在時序上配合不好,就會發生匯流排沖突,使整個系統的通信癱瘓,無法正常工作"要做到匯流排上的設備在時序上的嚴格配合,必須要遵從以下幾項原則:
(1)復位時,主從機都應該處於接收狀態PRE和DE端相連為低時,從機處於接收狀態,在上電復位時,由於硬體電路穩定需要一定的時間,並且單片機各埠復位後處於高電平狀態,這樣就會使匯流排上各個分機處於發送狀態,加上上電時各電路的不穩定,可能向匯流排發送信息"因此,如果用一根口線作發送和接收控制信號,應該將口線反向後接入MAX485的控制端,使上電時MAX485處於接收狀態.

(2)控制端RE,DE的信號要求
在RS-232,RS-422等全雙工通訊過程中,發送和接收信號分別在不同的物理鏈路上傳輸,發送端始終為發送端,接收端始終為接收端,不存在發送!接收控制信號切換問題"在RS-485半雙工通信中,由於MAX485的發送和接收都由同一器件完成,並且發送和接收使用同一物理鏈路,必須對控制信號進行切換"控制信號何時為高電平,何時為低電平,一般以單片機的TI,RI信號作參考"發送時,檢測TI是否建立起來,當TI為高電平後關閉發送功能轉為接收功能;接收時,檢測RI是否建立起來,當RI為高電平後,接收完畢,又可以轉為發送.
(3)發送控制信號在時序上的要求
匯流排上所連接的各單機的發送控制信號在時序上完全隔開"為了保證發送和接收信號的完整和正確,避免匯流排上信號的碰撞,對匯流排的使用權必須進行分配才能避免競爭,連接到匯流排上的單機,其發送控制信號在時間上要完全隔離"總之,發送和接收控制信號應該足夠寬,以保證完整地接收一幀數據,任意兩個單機的發送控制信號在時間上完全分開避免匯流排爭端。
第二章總體設計方案

第三章 硬體設計電路
為更清楚表達系統設計中的詳細過程,以下對較多採用的晶元如單片機AT89C51,MAX 485晶元74LB14, CH371、帶串列EEPROM的可編程看門狗定時器等做簡要介紹。
3.1 RS-485標准及介面晶元
MAX485是一種差分平衡型收發器晶元,包含一個驅動器和一個接收器,採用單+5V電源供電,專用於TTL協議(即通用於各種CPU的通信協議)與485協議間的轉換.

MAX485晶元由8個管腳組成,其功能如下
1)RO腳(接收器輸出端):若A比B大200mV,RO為高;若A比B小200mV,RO為低。
2)/RE腳(接收器輸出使能端):PRE為低時,RO有效;PRE為高時,RO成高阻狀態.
3)DE腳(驅動器輸出使能端):若DE為高,驅動輸出A和B有效;若DE為低,它們成高阻狀態,若驅動器輸出有效,器件作為線驅動器用;若為高阻狀態時,PRE為低,它們作線接收器用。
4)DI腳:(驅動器輸入):DI為低,將迫使輸出Y為低,Z為高;若DI為高,將迫使輸出Y為高,Z為低。
5)GND腳:接地
6)B腳:反相接收器輸入和反相驅動器輸出
7)A腳:同相接收器輸入和同相驅動器輸出
8)Vcc:電源正極4.75~5.25V.RS2485最大的優點在於它的多點匯流排互連功能,它可以連接1台主機和多台終端同時通信,由於它是半雙工的方式,只能有一方發送,一方接收,而且它採用差動電平接收的方法提高抗干擾能力,適合在比較惡劣的環境下工作。
MAX485為8引腳封裝,RO與89C51的RXD相連,DI與89C51的TXD相連,/RE作為接收器輸出使能端,DE作為驅動器輸出使能端,這兩個引腳用一個控制腳進行控制,在切換器主機中使用P1.7進行控制,在鍵盤從機中使用P1.0進行控制,進行半雙工通訊"主機部分MAX485的輸出端A!B與各從機部分MAX485的輸出端A!B通過雙絞線連在一起。在多機通訊系統中,多個驅動器和接收器可共享一共用傳輸線,對於MAX485網路而言,網路上最多可掛32個站,傳輸距離可達1.2Km。
3.2單片機-----AT89C51的功能及晶元介紹
AT89C51是一種低功耗高性能的8位單片機,片內帶有一個4K位元組 的Flash可編擦除只讀存儲器(RF}ROM ),它採用了CMOS工藝和高密度非易失性存儲器(NURAM)技術,而且其輸出引腳和指令系統與MCU-51系列單片機兼容。片內Flash存儲器允許在系統內可改編程序或用常規的非易失性的存儲器編程器來編程。主要用在工業控制方面。其中央處理器由ALU,專用寄存器組,定時控制部件等組成,具有較強的調用、跳轉、判斷、豐富的數據傳輸功能,以及提供存放中間結果、常用參數寄存器等功能。它可以擴展64K位元組程序ROM,外部數據存儲器或介面地址64K位元組。同時它具有5個中斷,包括兩個外部中斷,兩個定時器中斷,一個串列口中斷。
綜上所述AT89C51是功能強大的MCU,適用於本系統設計的需要。
下面就設計中使用到的AT89C51的各功能模塊分別簡單介紹。
3.2.1 AT89C51方框圖如下所示:

單片機是整個控制系統的核心,他的性能直接決定整個系統的性能。從整個系統的要求和經濟方面考慮,我門選用了ATMEL公司生產的8位單片AT98C51單片機,他兼顧指令系統的需要,他可作為系統的外部擴展,內部還有電可擦除只讀存儲器,大大方便初學者。
3.2.2 AT89C51的特性:
1. 與MCS—51的產品兼容。
2. 是具有4Kbyte可重復編程的內容,可寫入/擦除1000次以上,數拒保存10年以上。
3. 操作頻率:0HZ—24MHZ。
4. 三層可編程的存儲器上鎖。
5. 128*8位內部RAM。
6. 32可編程I/O線。
7. 兩組16位定時器/計數器。
8. 5個中斷源。
9. 可編程的串列通道。功耗的閑置和掉電模式。
10. 片內振盪器和時鍾電路。
二. 引腳功能
AT89C51單片機採用40引腳雙列直插封裝(DIP—40)。其引腳圖如下:

下面分別對AT89C51引腳功能:
1.電源引腳:
VCC(40 腳):主電源+5v,正常操作和對EEPROM編程及驗證時均接+5v 電源。GND(20 腳):接地。
2.外接晶振引腳XTAL1和XTAL2
XTAL1 (19 腳):反向振盪放大器的輸入及內部時鍾工作電路的輸入。
XTAL2 (18 腳):來自反向振盪器的輸出

3.控制信號引腳RST .ALE/PROG. PSEN 和EA/VPP。
RST(9 腳):單片機復位引腳,剛接上電源時,其內部各寄存器處於隨機狀態,在引腳上輸入兩個機器周期(既24個振盪周期)的高電平將史單片機復位。
ALE/PROG(30 腳):地址鎖存/編程脈沖輸入引腳,他訪問片外寄存器時,ALE端仍以時鍾頻率1/6周期性地輸出正脈沖信號。因此,他可以用作對外輸出的時鍾。或用於定時目的。當訪問片外數拒存儲器時,將跳過一輸出個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時,ALE只有在執行MOVX, MOVC指令時ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執行狀態ALE禁止,置位無效。ALE端可以驅動(吸收還輸出電流)8個LSTTL(低功耗高速TTL)輸出。在FLASH編程期間,此引腳用於輸入編程脈沖。
PSEN(29J 腳):輸出訪問片外程序存儲器的讀選通信號。CPU在由片外程序存儲器取指令(或常用)期間,每個機器周期兩次有效。每當訪問片外數拒存儲器時,這兩次有效的PSEN信號將不會出現。PSEN端同樣可驅動(吸收或輸出電流)8個LSTTL負載。
EA/VPP(31 腳):程序存儲器訪問標志/編程電壓輸入,當輸入高電平時,CPU可訪問片內4KB的地址范圍的程序存儲器。若PC值超出4KB地址時,將自動轉向訪問片外程序存儲器。在FLASH編程期間,此引腳也用於施加12V編程電源。
4.輸入/輸出引腳 P0. P1. P2. P3.
P0.0—P0.7(39—32 腳):P0口是一個8位漏極開路雙向埠。在訪問片外存儲器時,他分別做為8位地址線和8位雙向數拒匯流排用。在編程時,有P0口輸入指令位元組:而在驗證程序時,則輸出指令位元組。驗證程序時,要求外接上拉電阻。P0能以吸收電流的方式驅動8LSTTL負載。當P0口的管腳第一次被寫如1時,被定義為高電阻輸入。P0能夠用於外部程序數拒存儲器,他可以被定義為數拒/地址的第八位。在FLASH編程時,P0作為原碼輸入口。當FLASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。
P1.0—P1.7 (1—8 腳):P1是一個內部帶上拉電阻的8位雙向I/O口。在訪問外部存儲時,由輸入低8位地址。P1能可以驅動(吸收或輸出電流)4個LSTTL負載,P1口管腳寫入1後,被內部上拉為高,可用做輸入,P1口被外不下拉為低電平時,將輸出電流,著是由於內部上拉的餓緣故。在FLASH編程和效驗時,P1口作為第八位地址接收。
P2.0—P2.7 (21—28 腳): P2是一個內部帶上拉電阻的8位雙向I/O口。在訪問外部存儲時,由輸入高8位地址。P2能可以驅動4個LSTTL負載,當P2口用於外部程序存儲器或16位地址外部數拒存儲器進行存儲時,P2口輸出地址是高8位。在給地址「1」時,他利用外部上拉優勢,當對外布八位地址數拒存儲進行讀寫時,P2口輸出其特殊功能寄存器的內容。P2口在FLASH編程和效驗時接受高8位地址信號和控制信號。
P3.0—P3.7 (10—17腳):P3也是一個內部帶上拉電阻的8位雙向I/O口。當P3口寫入「1」後,他門被內部上拉為高電平,並用做輸入。作為輸入,有於外部下拉為低電平,P3口將輸出電流(ILL)這是由於上拉的緣故。AT89C51單片機是高性能單片機,因受到引腳數目的限制,所以P3口引腳具有第二功能。如圖所示見下表能驅動4個LSTTL負載。

口線
第二功能
P3.0口
RXD(串列口輸入)
P3.1口
TXD(串列口輸出)
P3.2口
/INT0(外部中斷輸入)
P3.3口
/INT1(外部中斷輸出)
P3.4口
T0(定時器0的外部輸入)
P3.5口
T1(定時器0的外部輸入)
P3.6口
/WR(片內數拒存儲寫選通)
P3.7口
/RD(片內數拒存儲寫選通)

3.3 AT89C51組成的最小系統介紹
單片機AT89C51最小系統是由復位電路和振盪電路組成。
3.3.1.復位電路
復位是使和系統中其他部件都處於有個確定的初始態,並從這個狀態開是工作。在振盪器正在運行情況下,復位是靠在RERST引腳步出現高電平後的第二個周期執行內部復位,以後每個周期重復一次,直至RET變低。
復位時,將ALE和/PSEN置位輸入狀態,既SLE=1和PSEN=1。片內RAM不受復位影響,復位後PC指向0000H單元,單片機從開始地址0000H單元開始執行程序。所以當單片機運行出錯或進入死循環時,可按復位鍵重新啟動。本系統所使用的復位電路如下圖:

3.3.2.振盪電路
MCS-51的時鍾電路可以有兩種方式產生,一種是內部方式,利用晶元內部的振盪電路:另一種方式是外部方式。由於MCS-51有HMOS和CHMOS型,他門的時鍾電路有一定的區別,這里緊介紹通常使用的HMOS型的時鍾電路。
XTAL1和XTAL2分別為反向放大的輸入和輸出。該反向放大器可以配置為片內振盪器。石晶振盪和陶瓷振盪均可採用。如採用外部時鍾源驅動器件,XTAL2應不接。由於輸入至內部時鍾信號要通過一個二分頻觸發器。因此對外部時鍾信號的脈沖無任何要求,但必須保證脈沖的高低電平要求的寬度。
內部時鍾方式:MCS-51內部有一個用於夠成振盪器的高增益反向放大器,引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端,這個放大器作為反饋元件的外部晶體或陶瓷諧振盪器一起夠成一個自激振盪器。MCS-51雖然有內部振盪電路,但要形成時鍾,必須外接元件,外接晶體以及電容CX1和CX2構成的並聯諧振電路,接在放大器的反饋迴路中。對外接電容的值雖然沒有嚴格要求,但電容的大小會影響振盪器頻率的高低,振盪器的穩定性,起振的快性和溫度的穩定性。晶體可在1.2MHZ—12MHZ之間任選,電容CX1和CX2的典型值在20PF—100PF之間選擇,但在60PF—70PF時振盪器有較高的頻率穩定性,典型值通常選擇為30PF左右(這時對應的時鍾頻率為12MHZ)外接陶瓷諧振器時,CX1和CX2的典型值約為47PF。在設計印刷電路板時,晶體或陶瓷振盪器和電容應進可能安裝的與單片機晶元靠近,以及減少寄生電容,更好的保證振盪器穩定和可靠的工作。為了提高溫度的穩定性,應採用溫度性能好的高頻電容。
外部時鍾方式:外部時鍾方式是利用外部振盪器信號源(時鍾源)直接接入XTAL1和XTAL2。通常XTAL1接地,XTAL2接外部時鍾,由於XTAL的邏輯電平不是TTL的,故建議外接一個4.7K-10K上拉電阻。
振盪電路是單片機工作的前提,只有晶振能可靠的起振,單片機引腳按規定的時序進行工作。本次設計所採用的是內部時鍾方式:振盪電路是單片機工作的前提,單片機各個引腳才能按規定的時序進行工作。本系統採用的晶振為12MHZ.其電路如下圖

AT89C51是一種帶4位元組可編程可擦除只讀存儲器的低電平,高性能CMOS 8位微處理器,俗稱單片機。該器件採用ATEML高密度非易失存儲器製造技術製造,與工業標準的MCS51指令集合輸出管腳相兼容。處於將多功能8位CPU和閃爍存儲組合在單個晶元中ATEML的AT89C51是一種高效微控制器,為很多嵌入式控制系統提供了一種靈活性高且價廉的方案。
整個ROM陣列三個鎖定位的電擦除可通過正確的控制信號組合,並保持ALE管腳處於低電平10ms來完成。在晶元擦除操作中,代碼陣列全被寫成「1」且在任何非空存儲位元組被重復編程以前,該操作必須執行。
此外,AT89C51設有穩態邏輯,可以在低到零頻率的條件下靜態邏輯,支持兩種軟體可選的掉電模式。在閑置模式下。CPU停止工作。但RAM,定時器,計數器,串列口和中斷系統仍在工作。在掉電模式下,保存RAM的內容並且凍結振盪器,禁止所有其他晶元功能,直到下一個硬體復位為止。
3.3.3 串列I/0口
AT89C51還有一個可編程的、全雙工的串列I/O口,可以作為UART(通用非同步接收/發送器),也可以作為同步移位寄存器用。AT89C51的串列I/O設有緩沖寄存器SBUF,是能夠直接定址的SFR,在物理上對應著兩個緩沖寄存器:接收和發送緩沖寄存器。接收器是雙緩沖器,可避免在接收下一幀數據前,未能及時把接收到的數取走而產生數據重疊。它的串列I/O口有四種工作方式供選擇。

方式0用同步的方式串列輸出或輸入數據,但並非真正的同步通信方式,在此方式下,串列口相當於一個並入串出或串入並出的移位寄存器。由TXD引腳發送出同步移位脈沖,由RXD引腳送出或接收串列數據。串列數據形式是8位數據,同步脈沖的寬度也是固定的,為單片機時鍾頻率的1/12,等於AT89C51的一個機器周期。
方式1非同步接收發送方式,此方式為經常使用的工作方式串列數據位由TXD引腳傳送出去,由RXD引腳將對方發來的串列數據位接收進來。至於傳輸的波特率是由定時器決定,設置不同的定時器初始值可以得到不同的波特率。通信雙方應約定使用相同的波特率。
方式2 11位非同步接收發送方式,與方式1相比不同的是方式2字元格式的最後可以插入第9位數據位,可以用一些指令將這一位設置為奇偶校驗位等。其波特率有兩種選擇,分別為單片機時鍾頻率的1/32和1/64.
方式3 11位非同步接收發送方式,其字元格式和方式2相同,波特率受定時器控制(設置不同的定時器初始值可以得到不同的波特率),並和電源控制寄存器中的SMOD位有關。
串列波特率的設定是串列介面應用中最重要的一步,如果不能合理設置,通信則無法正常進行。對於方式0,波特率是固定的,發送的同步脈沖的頻率為單片機時鍾頻率的1/12,即fosc/12:對於方式2,波特率有兩種可供選擇,即fosc/32和 fosc/64.對應於公式:

中的SMOD為PCON寄存器中的控制位。
對於方式1和方式3,波特率都由定時器1的滋出率來決定,而在串列通信時,定時器經常採用定時器方式2,即8位重裝計數方式,對應於公式:
3.3.4 AT89C51內部定時/計數器
51系列單片機內部都帶有定時/計數器,AT89C51內部有兩個16位的定時/計數器:TO和T1。與一般的定時/計數器類似,主要有以下特點:
第一:定時/計數可有多種工作方式,可以是計數方式也可以是定時方式等;
第二:計數器模值是可變的,其最大值取決於計數器的位數,該位數同時限定了定時的最大值;
第三:可以計算由TO或T1引腳的輸入脈沖數,用作計數器或頻率計。
這兩個定時/計數器都有4種工作方式

見表a定時/計數器表

工作方式
功能
工作方式1
13位計算器
工作方式2
16位計算器
工作方式3
可自動裝入記數初值8位重裝計數器
工作方式4
T0分為兩個計數器,T1停止計數器

在方式3中計數器Tl停止計數時,計數器TO分為兩個獨立的8立計數器,由TLO和THO來負責計數工作。
AT89C51的定時/計數器是可編程的,因此,在進行定時或計數之前也要用程序進行初始化。在初始化的過程中,要置入定時值或計數值狗初值,為計算此值就要從計數最大值倒退回去一個計數模值才是應置入的初值。設計數器的最大值為M,計數器的初值設定由下面公式算得:
計數方式時:
X=M一計數模值·
之時方式時:
(M一X)}T=定時值
可以X=M一定時值產,其高8位為寄存器TH1的初值,低8位為TLO溝初值。其中T為計數周期,它是單片機時鍾周期的12倍。
3.3.5 AT89C51中斷
AT89C51有五個中斷源,即兩個外部中斷,兩個定時/計數器中斷和一個串列口中斷。當某種中斷源產生中斷時,便設定在SFR中的中斷示志位一一TCON中的各位,MCU在從標志位識別出中斷種類並響應和請時,立刻從主程序轉去執行中斷服務子程序以進行中斷服務,並呆護現場。關鍵就在於確定中斷服務程序的入口地址。表給出了中斷的向量地址,即是中斷服務程序的入口地址 表b中斷的向量表

中斷源

工作標志

向量地址

外部中斷0

IE0
03H

定時/計數器0
TF0

0BH

外部中斷1

IE1
13H

定時/計數器

TF1
1BH

串列斷口接收

TI

23H
串列斷口發送
RI
23H

中斷程序結束之後恢復程序運行環境,回到斷點處繼續執行程序。在應用時應注意中斷的嵌套,防止中斷溢出。

第四章 USB數據通訊介紹
USB介面可以有很多方法完成,如可以使用專用的USB介面晶元,也可以用帶有USB介面的單片機或直接用FPGA來完成USB介面。但由於USB介面的設計必須考慮USB通訊協議、驅動程序、自動配置過程等,增加了它的開發難度。本文介紹了一種USB匯流排通用介面晶元CH371,基於CH371套件設計USB介面不必考慮USB通訊協議、驅動程序、自動配置過程、底層數據傳輸過程等,簡化了USB介面的設計。
4.1 CH371簡介
CH371套件包括CH371晶元和計算機端的CH371通用驅動程序.CH371晶元以硬體邏輯而不是額外編寫的固件程序實現了USB通訊協議,驅動程序則通過軟體向計算機應用層提供了設備級介面以及應用層介面。CH371套件屏蔽了USB 通訊中的相關協議和驅動程序,在計算機應用層與本地端控制器之間提供端對端的接。它具有以下特點:
① 屏蔽USB 協議,在計算機應用層與本地端之間提供端對端的連接。
② 自動完成USB配置過程,完全不需要本地端控制器作任何處理。
③ 標準的USB V1.1介面,即插即用,D+引腳內置上拉電
④ 通用Windows驅動程序。提供設備級介面和應用層介面。
⑤內置可選的看門狗電路Watch—Dog,為本地端控制器提供監控。
⑥內置輸入輸出緩沖區,以中斷方式通知本地端控制器傳輸數據.
⑦ 內置上電復位,提供高電平有效復位輸出和低電平有效復位輸出。
⑧ 具有16個地址,可選直接地址方式或者復用地址方式。上電復位後,CH371晶元默認選擇直接地址方式,即由A3~A0引腳輸入地址直接作為內部地址:當ALE引腳檢測到上升沿後,CH371晶元自動切換為復用地址方式,即控制器將地址輸出到數據匯流排的D3~DO上,由CH371晶元在ALE的下降沿將其鎖存為內部地址。一般情況下,基於CH371實現MCU與PC之間的USB通信需要完成兩件事情:一是當上位機端發出數據傳輸請求時,CH371接收下傳數據並以中斷方式通知下位機接收。將下傳數據寫入下位機端數據緩沖區中;二是當下位機端有數據需要上傳時,CH371接收上傳數據並在成功接收後以中斷方式通知下位機端數據上傳成功。
4.2 CH371的功能和使用簡介
CH371 USB介面晶元是一種利用硬體邏輯封裝了USB通信協議的28腳晶元。為方便使用,同時提供了配套的Pc機USB口驅動軟體。圖l是CH371的引腳功能圖。由圖l可見
CH371的引腳功能
1腳: INT#中斷輸入
ALE 地址鎖存使能(輸入)
WR# 寫選通(輸入)
RD# 讀選通(輸入)
A0-A3 片內寄存器定址地輸入)
OFF 關閉D+上拉電阻(輸入)
D+、D-USB 數據線(雙向)
XI、Xo 晶振連接
D0- D7 數據匯流排(雙向)
SDAI=C 介面數據線(雙向)
SCL I℃ 介面時鍾線(輸出)
RST,RST# 上電復看門狗復位(輸出)
CS# 片選線(輸入)
VCC、GND 電源與地線

❹ AT89C51 、AT89C52、AT89S51、AT89S52這四種晶元的時鍾電路,復位電路以及編程是不是一樣 的

時鍾和復位電路一樣。編程方式也可以一樣。但AT89S51/S52還多了個ISP編程方式,即在線下載方式。
C52比C51,S52比S51多了點可用的資源而已。

❺ 多功能電腦時鍾程序設計(C++單片機程序)

採用at89c2051兼容晶元製作六位數顯多路定時電子鍾 電路特點
這里介紹的電子鍾,電路可稱得內上極簡,它僅使容用單片的20引腳單片機完成電子鍾的全部功能,而筆者見到的其它設計方案均採用二片以上的多片ic實現。
電路見圖1。一片20引腳的單片機stc2032(引腳排列與at89c2051完全相同)為電子鍾主體,其顯示筆畫數據從p1口分時輸出,p3口則輸出對應的六位選通信號。由於led數碼管點亮時耗電較大,故不能使用at89c2051單片來完成,但是可以可以用stc89c2032來完成。另外,本站製作時用超高亮的發光二極體代替昂貴的大數碼管,成本低,效果獨特。本電子鍾設計有三個輕觸式按鍵,這里我們分別命名為:模式設定鍵k1、加調整鍵k2、減調整鍵k3。由於stc89c2032內部已經集成有復位電阻,所裕

❻ 求救:單片機數字時鍾電路圖和51編程語言

dhsig552.blog.163.com
這里有一個基於51的最簡單電路萬年歷數字鍾時鍾,設計完美!

❼ 時鍾電路設計需要哪些元件

方案的論證與選擇
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,但實際上程序還要作其它運算,使得時間偏長,經調整
很高興回答樓主的問題 如有錯誤請見諒

❽ 主要晶元stc89c52的時鍾程序。已經有電路板了。不知道怎麼編程。哪位大俠幫個忙。不勝感激。急需呀。

你這個圖怎麼看啊,下載下來都看不清楚,

❾ 那個單片機電子時鍾的電路圖和編程可以給我嗎我QQ372039611

我給你發了一份,你看一下 我這邊卡,看不到你回復的郵件了

❿ 單片機時鍾程序編寫及電路設計方面的一些問題

單片機簡介可以說,二十世紀跨越了三個「電」的時代,即電氣時代、電子時代和現已進入的電腦時代。不過,這種電腦,通常是指個人計算機,簡稱PC機。它由主機、鍵盤、顯示器等組成。還有一類計算機,大多數人卻不怎麼熟悉。這種計算機就是把智能賦予各種機械的單片機(亦稱微控制器)。顧名思義,這種計算機的最小系統只用了一片集成電路,即可進行簡單運算和控制。因為它體積小,通常都藏在被控機械的「肚子」里。它在整個裝置中,起著有如人類頭腦的作用,它出了毛病,整個裝置就癱瘓了。現在,這種單片機的使用領域已十分廣泛,如智能儀表、實時工控、通訊設備、導航系統、家用電器等。各種產品一旦用上了單片機,就能起到使產品升級換代的功效,常在產品名稱前冠以形容詞——「智能型」,如智能型洗衣機等。現在有些工廠的技術人員或其它業余電子開發者搞出來的某些產品,不是電路太復雜,就是功能太簡單且極易被仿製。究其原因,可能就卡在產品未使用單片機或其它可編程邏輯器件上。
學習單片機是否很困難呢?應當說,對於已經具有電子電路,尤其是數字電路基本知識的讀者來說,不會有太大困難,如果你對PC機有一定基礎,學習單片機就更容易。為使絕大多數讀者能用上單片機。我們這里將盡量按深入淺出、刪繁就簡、理論聯系實際的原則把單片機的基本工作原理、使用方法交給讀者,以達到把大家領進單片機之「門」的目的。不過,單片機和PC機一樣,是實踐性很強的一門技術,有人說「計算機是玩出來的」,單片機亦一樣,只有多「玩」,也就是多練習、多實際操作,才能真正掌握它。因此,本講座會提供各種練習和實驗,並介紹一些適用於初學者且性價比較高的單片機和開發系統的貨源。你只有認真完成成這些實踐環節,才能為進一步深造,打好基礎。

單片機的組成
單片機要自動完成計算,它應該具有哪些最重要的部分呢?
我們以打算盤為例計算一道算術題。例:36+163×156-166÷34。現在要進行運算,首先需要一把算盤,其次是紙和筆。我們把要計算的問題記錄下來,然後第一步先算163×156,把它與36相加的結果記在紙上,然後計算166÷34,再把它從上一次結果中減去,就得到最後的結果。
現在,我們用單片機來完成上述過程,顯然,它首先要有代替算盤進行運算的部件,這就是「運算器」;其次,要有能起到紙和筆作用的器件,即能記憶原始題目、原始數據和中間結果,還要記住使單片機能自動進行運算而編制的各種命令。這類器件就稱為「存貯器」。此外,還需要有能代替人作用的控制器,它能根據事先給定的命令發出各種控制信號,使整個計算過程能一步步地進行。但是光有這三部分還不夠,原始的數據與命令要輸入,計算的結果要輸出,都需要按先後順序進行,有時還需等待。如上例中,當在計算163×156時,數字36就不能同時進入運算器。因此就需要在單片機上設置按控制器的命令進行動作的「門」,當運算器需要時,就讓新數據進入。或者,當運算器得到最後結果時,再將此結果輸出,而中間結果不能隨便「溜出」單片機。這種對輸入、輸出數據進行一定管理的「門」電路在單片機中稱為「口」(Port)。在單片機中,基本上有三類信息在流動,一類是數據,即各種原始數據(如上例中的36、163等)、中間結果(如166÷34所得的商4、余數30等)、程序(命令的集合)等。這樣要由外部設備通過「口」進入單片機,再存放在存貯器中,在運算處理過程中,數據從存貯器讀入運算器進行運算,運算的中間結果要存入存貯器中,或最後由運算器經「出入口」輸出。用戶要單片機執行的各種命令(程序)也以數據的形式由存貯器送入控制器,由控制器解讀(解碼)後變為各種控制信號,以便執行如加、減、乘、除等功能的各種命令。所以,這一類信息就稱為控制命令,即由控制器去控制運算器一步步地進行運算和處理,又控制存貯器的讀(取出數據)和寫(存入數據)等。第三類信息是地址信息,其作用是告訴運算器和控制器在何處去取命令取數據,將結果存放到什麼地方,通過哪個口輸入和輸出信息等。
存貯器又分為只讀存貯器和讀寫存貯器兩種,前者存放調試好的固定程序和常數,後者存放一些隨時有可能變動的數據。顧名思義,只讀存貯器一旦將數據存入,就只能讀出,不能更改(EPROM、E2PROM等類型的ROM可通過一定的方法來更改、寫入數據——編者注)。而讀寫存貯器可隨時存入或讀出數據。
實際上,人們往往把運算器和控制器合並稱為中央處理單元——CPU。單片機除了進行運算外,還要完成控制功能。所以離不開計數和定時。因此,在單片機中就設置有定時器兼計數器,其基本結構與本連載之(二)中的舉例類似。到這里為止,我們已經知道了單片機的基本組成,即單片機是由中央處理器(即CPU中的運算器和控制器)、只讀存貯器(通常表示為ROM)、讀寫存貯器(又稱隨機存貯器通常表示為RAM)、輸入/輸出口(又分為並行口和串列口,表示為I/O口)等等組成。實際上單片機裡面還有一個時鍾電路,使單片機在進行運算和控制時,都能有節奏地進行。另外,還有所謂的「中斷系統」,這個系統有「傳達室」的作用,當單片機控制對象的參數到達某個需要加以干預的狀態時,就可經此「傳達室」通報給CPU,使CPU根據外部事態的輕重緩急來採取適當的應付措施。
現在,我們已經知道了單片機的組成,餘下的問題是如何將它們的各部分連接成相互關聯的整體呢?實際上,單片機內部有一條將它們連接起來的「紐帶」,即所謂的「內部匯流排」。此匯流排有如大城市的「幹道」,而CPU、ROM、RAM、I/O口、中斷系統等就分布在此「匯流排」的兩旁,並和它連通。從而,一切指令、數據都可經內部匯流排傳送,有如大城市內各種物品的傳送都經過幹道進行。
單片機的指令系統和匯編語言程序
前面已經講述了單片機的幾個主要組成部分,這些部分構成了單片機的硬體。所謂硬體(Hardware),就是看得到,摸得到的實體。但是,光有這樣的硬體,還只是有了實現計算和控制功能的可能性。單片機要真正地能進行計算和控制,還必須有軟體(Software)的配合。軟體主要指的是各種程序。只有將各種正確的程序「灌入」(存入)單片機,它才能有效地工作。單片機所以能自動地進行運算和控制,正是由於人把實現計算和控制的步驟一步步地用命令的形式,即一條條指令(Instruction)預先存入到存貯器中,單片機在CPU的控制下,將指令一條條地取出來,並加以翻譯和執行。就以兩個數相加這一簡單的運算來說,當需要運算的數已存入存貯器後,還需要進行以下幾步: 第一步:把第一個數從它的存貯單元(Location)中取出來,送至運算器。
第二步:把第二個數從它所在的存貯單元中取出來,送至運算器;
第三步:相加;
第四步:把相加完的結果,送至存貯器中指定的單元。
所有這些取數、送數、相加、存數等等都是一種操作(Operation),我們把要求計算機執行的各種操作用命令的形式寫下來,這就是指令。但是怎樣才能辨別和執行這些操作呢?這是在設計單片機時由設計人員賦予它的指令系統所決定的。一條指令,對應著一種基本操作;單片機所能執行的全部指令,就是該單片機的指令系統(Iustruction Set),不同種類的單片機,其指令系統亦不同。
使用單片機時,事先應當把要解決的問題編成一系列指令。這些指令必須是選定的單片機能識別和執行的指令。單片機用戶為解決自己的問題所編的指令程序,稱為源程序(Source Program)。指令通常分為操作碼(Opcode)和操作數(Operand)兩大部分。操作碼表示計算機執行什麼操作,即指令的功能;操作數表示參加操作的數或操作數所在的地址(即操作數所存放的地方編號)。因為單片機是一種可編程器件,只「認得」二進碼(0、1)。要單片機運作,單片機系統中的所有指令,都必須以二進制編碼的形式來表示。例如,在Intel公司的MCS-51系列單片機中,從存貯器中取出一數到CPU中的累加器(在運算器中,參與運算、存放運算結果的專用寄存器)的指令代碼為74H,累加器內容加立即數的代碼為24H,再加上立即數代碼,累加器送數到內部RAM存貯器的代碼為F6H~F7H等。這些指令是用十六進製表示二進制的機器碼。MCS-51單片機的字長為8位,有時,要完成某些操作用一個位元組尚不能充分表達。所以,在指令系統中有單位元組指令,也有多位元組指令。機器碼是由一連串的0和1組成,沒有明顯的特徵,不好記憶,不易理解,易出錯。所以,直接用它來編寫程序十分困難。因而,人們就用一些助記符(Mue monic)——通常是指令功能的英文縮寫來代替操作碼,如MCS-51中數的傳送常用MOV(Move的縮寫)、加法用Add(Addition的縮寫)來作為助記符。這樣,每條指令有明顯的動作特徵,易於記憶和理解,也不容易出錯。用助記符來編寫的程序稱為匯編語言程序。但是,助記符編寫的程序便於人理解,可單片機卻只認識二進制機器代碼,因此,為了讓單片機能「讀懂」匯編語言程序必須再轉換成由二進制機器碼構成的程序,這種轉換過程,就稱為「匯編」。匯編可藉助於人工查表法來實現,也可藉助PC機通過所謂「交叉匯編程序」來完成。由機器碼構成的用戶程序一旦「進入」了單片機,再「啟動」單片機,就可讓它執行輸入程序所規定的任務。
MCS-51的CPU和存儲器
CPU結構
單片機8051的CPU由運算器和控制器組成。
一、運算器
運算器以完成二進制的算術/邏輯運算部件ALU為核心,再加上暫存器TMP、累加器ACC、寄存器B、程序狀態標志寄存器PSW及布爾處理器。累加器ACC是一個八位寄存器,它是CPU中工作最頻繁的寄存器。在進行算術、邏輯運算時,累加器ACC往往在運算前暫存一個操作數(如被加數),而運算後又保存其結果(如代數和)。寄存器B主要用於乘法和除法操作。標志寄存器PSW也是一個八位寄存器,用來存放運算結果的一些特徵,如有無進位、借位等。其每位的具體含意如下所示。PSW
CY AC FO RS1 RS0 OV - P對用戶來講,最關心的是以下四位。
1

閱讀全文

與時鍾電路編程相關的資料

熱點內容
a4l轉向故障維修多少錢 瀏覽:860
北京愛彼手錶售後維修中心 瀏覽:807
陽台封窗靠最外面裝如何防水 瀏覽:961
賓得廣州維修點電話 瀏覽:570
鬱金香家居傢具怎麼樣 瀏覽:865
航班管家電子券是什麼 瀏覽:885
橫崗創新家電維修號碼 瀏覽:616
現在什麼家用電器落後 瀏覽:733
手機維修儀器有哪些 瀏覽:567
怎麼把自己家電腦變為網吧 瀏覽:725
勞力士日本售後服務 瀏覽:842
賽楠屬傢具 瀏覽:946
國家電網謝什麼 瀏覽:137
宜昌歐派凈水器售後電話 瀏覽:620
液晶電視電腦板維修視頻教程 瀏覽:317
順達電腦家電維修一分店怎麼樣 瀏覽:939
物也傢具 瀏覽:383
後車門撞壞了維修費用明細怎麼寫 瀏覽:952
最新的家用電器租 瀏覽:804
傢具門店設計 瀏覽:491