第一篇:數字鐘課程設計答辯題目及答案
課程設計答辯題目
(1-3題選一道作答,4-7題選一道作答)
1.畫出直流穩壓電源的工作原理框圖簡述其工作原理
① 原理方框圖
② 原理圖
③ 原理說明
■用變壓器進行交流降壓,然后經過橋式整流器整成脈動直流,并用大電容C1座平滑濾波后送到7805三端穩壓器穩成5V輸出,并用大電容C4作進一步的平滑濾波,得 到更好的直流輸出。
■兩個小電容C2和.C3是為了旁路電源中的高次諧波而用的。這些高次諧波電解電 容是濾不掉的,因為它本身的潛布電感較大,會阻礙高頻成分的通過。
橋式整流電路巧妙的利用了二極管的單向導電性,將四個二極管分為兩組,根據變壓器次級電壓的極性分別導通。見變壓器次級電壓的正極性端與負載電阻的上端相連,負極性端與負載的電阻的下端相連,使負載上始終可以得到一個單方向的脈動電壓。單項橋式整流電 路,具有輸出電壓高,變壓器利用率高,脈動系數小。
整流后的輸出電壓雖然是單一方向的,但還是有較大的交流成分,會影響電路的正常工作,一般在整流后,還需要利用濾波電路將脈動直流電壓變為平滑的直流電壓。所以需通過低通濾波電路,是輸出電壓平滑。采用LM7805、LM7905三端穩壓器,使輸出的直流電壓在電源發生波動或負載變化時保持穩定。
2.畫出橋式整流電路的原理圖并簡述工作原理 ① 橋式整流電路的原理圖
② 工作原理
橋式整流電路巧妙的利用了二極管的單向導電性,將四個二極管分為兩組,根據變壓器次級電壓的極性分別導通。見變壓器次級電壓的正極性端與負載電阻的上端相連,負極性端與負載的電阻的下端相連,使負載上始終可以得到一個單方向的脈動電壓。單項橋式整流電路,具有輸出電壓高,變壓器利用率高,脈動系數小。
3.78**系列的穩壓集成塊的極限輸入電壓多少?最低輸入電壓為輸出電壓的幾V以上?
78**系列的穩壓集成塊的極限輸入電壓是36V,最低輸入電壓比輸出電壓高3-4V。還要考慮輸出與輸入間壓差帶來的功率損耗,所以一般輸入為9-15V之間。
4.利用74LS90如何構成異步8421碼十進制加法計數器?如何清零和置九?
CD4518是十進制同步加法計數器,內部兩個單元的加法計數器。每個加法計數器有兩個時鐘輸入端CLK和EN,可用時鐘脈沖的上升沿或下降沿觸發
觸發方式
CLK
EN 上升沿
輸入時鐘信號
置一
下降沿
置0
輸入時鐘信號 RS為清零端 當RS=時 計數器清零
置9:將Q3,Q0都置一就用在上升沿有效時EN置一 將Q2,Q1都置0,在下降沿有效時接入脈沖
5.74LS90構成的二十四進制(或六十進制)加法計數器的原理是什么?
簡單介紹下602進制吧 舉一反三啊 5的二進制為0101 6是0110一旦出現進位讓5將要變成6時 11讓與門置一 RSB有效 于是置一了
6.你所設計的電子時鐘是如何校時(或校分)的?
校時電路:與非門G1的一個輸入端為1,將它開通 使得秒計數器輸出的分沖加到G1的另一輸入端,并使G3加到分計數器。而此時G2由于一個輸入端為0,被關斷,校準用的脈沖進不去
校分電路;按下開關S1,情況與上面相反,G1被封閉,G2被打開秒脈沖進行快速校分。
7.CC4511是什么芯片?它的A、B、C、D四個端子輸入什么? g、f、e、d、c、b、a七個端子輸出什么?它所驅動的LED數碼管是共陰還是共陽的?
七段譯碼器 共陰極LED數碼顯示器輸入4位BCD碼輸出1或0數碼管亮LED或滅的數字信號 就是將4位二進制譯碼顯示成10位數碼管顯示
第二篇:數字鐘課程設計
南 昌 大 學
數字電路與邏輯設計實驗報告
姓
名:
付
容 學
號:
6100212236 學
院:
信息工程學院 班
級:
電氣信息I類126班 實驗名稱:
數字鐘設計
一、實驗目的
1、熟悉數字系統的分析和設計方法;
2、熟悉根據任務的要求合理選擇集成器件的方法;
3、學習和掌握數字鐘的工作原理及設計方法,并且通過對數字鐘的制作
進一步了解各種中、小規模集成電路的功能及使用方法;
4、學習使用protel軟件進行電子電路的原理圖設計、印制電路板設計;
5、初步掌握PCB板的制作流程及其工藝;
6、掌握數字系統的調試方法;
7、提高檢查故障和排除故障的能力。
二、實驗任務
利用中、小規模集成電路設計并制作一個數字顯示時、分、秒的時鐘,應具備如下功能:
1、能進行正常的時、分、秒計時功能,以數字形式顯示時、分、秒的時間;
2、時應以24小時計時周期,計數序列為00—23;
3、計時出現誤差時能校正,可以分別對時和分進行校正。
三、實驗器材
計算機、protel軟件、555定時器一個、6個74LS161、3個74LS90、個74LS48、6個數碼管、若干個74LS00和74LS04、電源、開關。
四、實驗原理
1、電路的總體原理框圖
數字鐘是一個將“ 時”,“分”,“秒”顯示于人的視覺器官的計時裝置。它
2、數字鐘的構成的計時周期為24小時,顯示滿刻度為23時59分59秒,另外應有校時功能。因此,一個基本的數字鐘電路主要由譯碼顯示器、“時”,“分”,“秒”計數器、校時電路、振蕩電路組成。數字鐘實際上是一個對標準頻率(1HZ)進行計數的計數電路。由于計數的起始時間不可能與標準時間(如北京時間)一致,故需要在電路上加一個校時電路,同時標準的1HZ時間信號必須做到準確穩定。通常使振蕩電路構成數字鐘。
⑴555振蕩電路
555定時器振蕩電路給數字鐘提供一個頻率穩定準確的1KHz的方波信號,可保證數字鐘的走時準確及穩定。不管是指針式的電子鐘還是數字顯示的電子鐘都使用了555振蕩電路。
⑵分頻器電路
分頻器電路用74LS90芯片將1kHz的高頻方波信號經3次分頻后得到1Hz的方波信號供秒計數器進行計數。分頻器實際上也就是計數器。
⑶時間計數器電路
時間計數電路由秒個位和秒十位計數器、分個位和分十位計數器及時個位和時十位計數器電路構成,其中秒個位和秒十位計數器、分個位和分十位計數器為60進制計數器,而根據設計要求,時個位和時十位計數器為12進制計數器。⑷譯碼驅動電路
譯碼驅動電路將計數器輸出的8421BCD碼轉換為數碼管需要的邏輯狀態,并且為保證數碼管正常工作提供足夠的工作電流。
⑸數碼管
數碼管通常有發光二極管(LED)數碼管和液晶(LCD)數碼管,本設計提供的為LED數碼管。
3、數字鐘工作原理
數字電子鐘的原理方框圖如上圖,該電路系統由秒信號發生器、“時、分、秒”計數器、譯碼器及數碼顯示管、校時電路、整點報時電路等組成。秒信號發生器是整個系統的時基信號,它直接決定計時系統的精度,本實驗用555定時器來實現。將標準秒信號送入“秒計數器”,“秒計數器”采用六十進制計數器,每累計60秒發出一個“分脈沖”信號,該信號作為“分計數器”的時鐘脈沖。“分計數器”采用六十進制計數器,每累計60分鐘發出一個“時脈沖”信號,該信號作為“時計數器”的時鐘脈沖。譯碼顯示電路將“時”、“分”、“秒”計數器的輸出狀態經七段顯示譯碼器譯碼,通過LED七段共陰極數碼顯示管顯示出來。整點報時電路是根據計時系統的輸出狀態產生脈沖信號,然后去觸發一音頻發生器實現報時。校時電路是用來對“時”、“分”、“秒”顯示數字進行校對調整的。
五、實驗設計方案
1、六十進制計數器電路
由兩片74160構成的六十進制計數器如下圖所示。首先將兩片74160構成一百進制計數器,然后采用整體置數法接成六十進制計數器。電路的59狀態譯碼產生LD'=0信號,同時加到兩片74LS161上,在下一個計數脈沖(第60個計數脈沖)到達時將0000同時輸入兩片74LS161中,從而得到六十進制計數器。進位輸出可有門電路G的輸出直接得到。
2、二十四進制計數器電路
由兩片74LS161構成的二十四進制計數器如下圖所示。首先將兩片74160構成一百進制計數器,然后采用整體置數法接成二十四進制計數器。電路的23狀態譯碼產生LD'=0信號,同時加到兩片74LS161上,在下一個計數脈沖(第24個計數脈沖)到達時將0000同時輸入兩片74LS161中,從而得到二十四進制計數器。
3、秒信號發生器電路
秒信號發生器是整個系統的時基信號,它直接決定計時系統的精度,本實驗用555定時器來實現。先將555定時器的2、6管腳連在一起構成施密特觸發器,然后再通過RC積分電路構成多諧振蕩器。接入電路的二極管D1、D2使電容C1的充電電流和放電電流流經不同的路徑,充電電流只流經R1,放電電流只流經R2,因此電容C1的充電時間為
T1=R1C1Ln2 電容C1的放電時間為
T2=R2C1Ln2 輸出脈沖的占空比為
q=R1/(R1+R2)若取R1=R2=71千歐然后與一個2千歐的電位器串聯,則電路的振蕩周期為
T=T1+T2=1s
4、校時電路
校準電路實質上是由一個555定時器接成的頻率為1KHz的多諧振蕩器,如下圖示。從圖中可知,秒脈沖進入計數器,數字鐘正常工作。校時時先按下按鈕J2,若按下J2則10Hz脈沖信號進入分計數器的個位,而分脈沖被阻止進入,因而較快的校準分計數器的計數值;若按下J1則100Hz脈沖信號進入時計數器個位,而時脈沖被阻止進入,因而較快的校準時計數器的計數值。
5、譯碼顯示電路
譯碼電路的功能是將“秒”、“分”、“時”計數器的輸出代碼進行翻譯變成相應的數字。用于驅動LED七段數碼管的譯碼器為74LS48。由74LS48和LED七段數碼管組成的數碼顯示電路如下圖所示。將“秒”、“分”、“時”計數器的每位輸出分別接到相應七段譯碼器的輸入端,便可進行不同數字的顯示。在譯碼器輸出與數碼管之間串聯的為限流電阻。
六、實驗總電路圖
Multisim仿真原理圖
七、實驗仿真結果 1、1kHz脈沖信號:
2、秒時鐘:
3、分時鐘:
4、時時鐘:
5、實驗總仿真圖:
八、實驗總結
1、仿真過程中遇到的問題及解決方法 剛接到數字鐘這個實驗設計的時候,感覺腦子中一片混亂,理不出來一個清晰的思路。但是我先看了一遍課本,充分理解、熟悉課本中所講的每個集成芯片的功能和它們的接法,然后又查閱了相關的資料。經過這個過程之后,我構思出來了數字鐘大致的電路圖和所要用到的集成芯片。但是在真正設計、畫電路圖的時候卻不斷出現了一些細節問題。比如用74LS161芯片構成60進制計數器后,在Multisim里找不到實驗室用到的CD4511BE型號的譯碼器,那我該如何選合適的譯碼器進行譯碼?用555定時器產生1Hz的秒脈沖信號后,在保證原理圖一定正確的情況下,為什么數碼管一直顯示0,不會走數字呢?24進制的地方為什么仿真結果總是會有些不對,從09變成10的時候中間會有一個類似于“8”一樣的數出現,使得24進制與60進制不能同步進行,總是慢一秒?。于是我又去查資料,并請教了一些同學、老師才逐漸掌握了解決這些問題的方法,最后將問題一個個的擊破了。經上網百度后,我知道用74LS48譯碼比較合適;問同學、老師后,我知道1Hz數碼管能走數字,但是周期太長,所以將555定時器改成1KHz的才能很直觀的看到實驗仿真結果;在24進制的個位上加一個非門后就能實現正常功能。經過幾次修改完善之后,我的設計仿真終于做出來了。
2、畫protel原理圖遇到的問題
①用單刀雙擲開關實現校時電路時發現所選開關沒有封裝,后來經老師點撥在“元件庫”中查找到了帶封裝的單刀雙擲開關;
②不知道花PCB板的時候需要在板子的某個角落放總電源,否則整塊板子無法供電使用,就連555定時器也需要電源驅動才能正常產生脈沖信號,加個電源開關更能使整個電路設計的合理、規范;
3、心得體會
此次的數字鐘設計重點在于理論設計、對各種集成芯片的應用和電路本身的原理的熟悉,與電路的仿真和實際的連線有很大的差距。在此次的數字鐘設計過程中,讓我更進一步地熟悉了芯片的結構及掌握了各芯片的工作原理和其具體的使用方法。在連接六十進制及其進位輸出和用555定時器構成多諧振蕩器的接法中,熟悉了邏輯電路及其芯片各引腳的功能,在電路出錯時能準確地找出錯誤所在并及時糾正。
這次電子課程設計讓我收獲很大,通過這次的設計實驗進一步地增強了實驗的動腦、動手能力。讓我體會到了學習知識時理論聯系實際的重要性,并發現自己的知識面是很窄的,對很多簡單的理論問題都比較難于解決,更別說實際的的問題了。所以,以后遇到這種動手操作的能力我一定要格外重視,并且努力完成它,爭取做到最好的效果。
第三篇:數字鐘課程設計
ORG 0000H SJMP ONE ORG 0003H LJMP ELEVEN ORG 000BH LJMP NINE ORG 001BH LJMP TEN ONE:LED12 EQU 30H;數碼管12顯示緩存 LED34 EQU 31H;數碼管34顯示緩存 LED56 EQU 32H;數碼管56顯示緩存
COUNT EQU 33H;定時器T0(用來走時)計數值存儲器(計數中斷20次到1秒)COUNTS EQU 34H;定時器T1(用來預置)計數值存儲器(計數中斷15次到預置值加一)HOUR EQU 40H;以下為時間,日期,鬧鈴時間,生日的存儲地址 MIN EQU 41H SECOND EQU 22H YEAR EQU 50H MONTH EQU 23H DAY EQU 52H RH EQU 60H;鬧鈴小時 RM EQU 61H;鬧鈴分 RE EQU 62H;鬧鈴使能 BM EQU 71H;生日-月份 BD EQU 72H;生日-天 MOV LED12,#0 MOV LED34,#0 MOV LED56,#0 MOV COUNT,#0 MOV COUNTS,#0 MOV HOUR,#0 MOV MIN,#0 MOV SECOND,#0 MOV YEAR,#0 MOV MONTH,#1 MOV DAY,#1 MOV RH,#0 MOV RM,#0 MOV RE,#0 MOV BM,#6 MOV BD,#1 BS BIT 00H;birthday symbol生日標志(到生日那天就為1)
SS BIT 01H;set symbol預置信號(按下中斷預置為1,便開始閃爍和預置)GS BIT 02H;glisten symbol閃爍標志 FC BIT 03H;frequency control頻率控制 NB BIT 04H;neglect bitrhday symbol 忽略生日標志 CLR BS CLR SS CLR GS CLR FC CLR NB SETB 05H;生日顯示有效標志位 MOV IP,#02H;中斷優先級:T0>INT0>T1 MOV TMOD,#11H MOV IE,#8BH SETB IT0 MOV TH0,#3CH;50ms MOV TL0,#0B0H SETB TR0 MOV R1,#50;顯示延時用 MOV R0,#0;顯示延時用
;************************************************************** TWO檢測開關號 TWO:MOV P0,#0FFH JB P0.5,TWO1 MOV RE,#0A0H;0A0表示鬧鈴無效,送0A0是為了方便將使能查表顯示,表中第A項為“-” SJMP TWO2 TWO1:MOV RE,#0A1H TWO2:JB P0.0,TWO4 JB P0.1,TWO3 MOV LED12,HOUR MOV LED34,MIN MOV LED56,SECOND SJMP THREE TWO3:MOV LED12,YEAR MOV LED34,MONTH MOV LED56,DAY SJMP THREE TWO4:JB P0.1,TWO5 MOV LED12,RH MOV LED34,RM MOV LED56,RE SJMP THREE TWO5:MOV LED12,BM MOV LED34,BD MOV LED56,#0BCH SJMP THREE;************************************** THREE顯示主程序(同時包含了鬧鈴,預置閃爍,鬧鈴功能)THREE:MOV P1,#0 MOV P0,#0FFH MOV DPTR,#TAB3 JNB SS,THREEB;判斷預置信號是否有效,預置有效則轉入判斷閃爍顯示模塊,否則轉入正常顯示模塊
SJMP THREEA THREEB:LJMP THREE11;THREE11是正常顯示并判斷整點報時及鬧鈴模塊
THREEA:JNB P0.3,THREE1;開始是判斷閃爍顯示,這句判斷是否預置分/月/生日的日/鬧鈴分
JNB GS,THREE1;是否閃爍?
LCALL TWELVE;閃爍則調用延時不顯示LED34 SJMP THREE4 THREE1:MOV A,LED34 ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE2:SETB P1.3 NOP DJNZ R0,THREE2 CLR P1.3 MOV A,LED34 SWAP A ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE3:SETB P1.2 NOP DJNZ R0,THREE3 CLR P1.2 JNB P0.2,THREE4;判斷是否預置小時/年/生日月/鬧鈴的小時 JNB GS,THREE4;是否顯示小時/年/生日月/鬧鈴的小時 LCALL TWELVE SJMP THREE7 THREE4:MOV A,LED12 ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE5:SETB P1.1 NOP DJNZ R0,THREE5 CLR P1.1 MOV A,LED12 SWAP A ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE6:SETB P1.0 NOP DJNZ R0,THREE6 CLR P1.0 JB P0.0,THREE7;數碼管56只有在顯示日期的天時才有預置閃爍功能,其余三項都不需要判斷閃爍 JNB P0.1,THREE7 JB P0.3,THREE7 JNB P0.4,THREE7 JNB GS,THREE7 LCALL TWELVE SJMP THREE10 THREE7:MOV A,LED56 ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE8:SETB P1.5 NOP DJNZ R0,THREE8 CLR P1.5 MOV A,LED56 SWAP A ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE9:SETB P1.4 NOP DJNZ R0,THREE9 CLR P1.4 THREE10:DJNZ R1,TWOA SJMP TWOB TWOA:LJMP TWO TWOB:MOV R1,#50;判斷閃爍一次是否完成 CPL GS;取反閃爍標志,用于控制閃爍的亮和滅 LJMP TWO;一輪顯示完后再判斷開關號;**************************正常顯示
THREE11:LCALL EIGHT;判斷是否取反P1.6即輸出鬧鈴或整點報時,以下每次顯示都要調用一次
JB NB,THREE12;如果是在整點報時狀態就不顯示生日提醒,報時過后顯示提醒 JNB BS,THREE12 SJMP SEVEN;跳到生日提醒程序
THREE12:CLR NB;開始正常顯示時間及判斷鬧鈴輸出 MOV A,LED34 ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE13:SETB P1.3 NOP DJNZ R0,THREE13 CLR P1.3 MOV A,LED34 SWAP A ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE14:SETB P1.2 NOP DJNZ R0,THREE14 CLR P1.2 LCALL EIGHT MOV A,LED12 ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE15:SETB P1.1 NOP DJNZ R0,THREE15 CLR P1.1 MOV A,LED12 SWAP A ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE16:SETB P1.0 NOP DJNZ R0,THREE16 CLR P1.0 LCALL EIGHT MOV A,LED56 ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE17:SETB P1.5 NOP DJNZ R0,THREE17 CLR P1.5 MOV A,LED56 SWAP A ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE18:SETB P1.4 NOP DJNZ R0,THREE18 CLR P1.4 LJMP TWO;一輪顯示完后判開關
TAB3:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H 7FH,6FH,40H,7CH,5EH;0.1.2.3.4.5.6.7.8.9.-.b.d,的字形表“bd”在顯示生日時間時顯示在LED56;**************************************************SEVEN生日時顯示生日祝福語“HAPPY” SEVEN:MOV P1,#01H MOV P2,#76H DJNZ R0,SEVEN SEVEN1:MOV P1,#02H MOV P2,#77H DJNZ R0,SEVEN1 SEVEN2:MOV P1,#04H MOV P2,#73H DJNZ R0,SEVEN2 SEVEN3:MOV P1,#08H MOV P2,#73H DJNZ R0,SEVEN3 SEVEN4:MOV P1,#10H MOV P2,#6EH DJNZ R0,SEVEN4 LJMP TWO;一輪顯示完后判開關
;******************************************************************EIGHT判斷是否鬧鈴子程序 EIGHT:MOV A,RE CJNE A,#0A1H,EIGHT1 MOV A,MIN CJNE A,RM,EIGHT1 MOV A,HOUR CJNE A,RH,EIGHT1 SJMP EIGHT4;鬧鈴時間到則CPLP1.6一次并忽略生日標志(即NB有效)EIGHT1:MOV A,MIN CJNE A,#59H,EIGHT7 MOV A,SECOND CJNE A,#59H,EIGHT5;是否等于59分59秒 EIGHT2:MOV A,COUNT;是否到達后半秒 CJNE A,#10,EIGHT3 EIGHT3:JC EIGHT7 EIGHT4:CPL P1.6 SETB NB SJMP EIGHT7 EIGHT5:MOV A,SECOND CJNE A,#51H,EIGHT6;是否大于51秒 EIGHT6:JC EIGHT7 JNB 10H,EIGHT7;判斷是否報低音
JB FC,EIGHT7;只有FC有效時才輸出
SJMP EIGHT2 EIGHT7:CPL FC;用來控制報低音和高音,滿足報低音條件時,調用兩次本程序對P1.6取反一次,高音時調用一次取反一次
RET;******** NINE中斷(T0)計時程序(包含了秒-分-時-日-月-年間的進位及判斷大小月,平閏年)
NINE:MOV TH0,#3CH;開定時器 MOV TL0,#0B0H SETB TR0 INC COUNT MOV A,COUNT CJNE A,#20,INEAA SJMP AAA INEAA:LJMP NINE1 AAA:MOV COUNT,#0;計時 MOV A,SECOND ADD A,#01 DA A;換成bcd碼以方便顯示 MOV SECOND,A CJNE A,#60H,INEAA MOV SECOND,#0 MOV A,MIN ADD A,#01 DA A MOV MIN,A CJNE A,#60H,INEAA MOV MIN,#0 MOV A,HOUR ADD A,#01 DA A MOV HOUR,A CJNE A,#24H,INEAA MOV HOUR,#0 MOV A,DAY ADD A,#01 DA A MOV DAY,A;************************判斷平閏年及大小月 MOV A,MONTH CJNE A,#02H,TEN6A MOV A,YEAR;把年由BCD碼換成二進制碼 ANL A,#0F0H SWAP A MOV B,#10 MUL AB MOV 24H,A MOV A,YEAR ANL A,#0FH ADD A,24H JB ACC.0,TEN5A;二進制碼后兩位為00表示為閏年 JB ACC.1,TEN5A MOV 24H,#01 MOV A,DAY CJNE A,#30H,NINE1 MOV DAY,#1 SJMP NINE0 TEN5A:MOV A,DAY CJNE A,#29H,NINE1 MOV DAY,#1 SJMP NINE0;**************判斷大小月;大于等于8月時雙月為大月,小于8月時單月為大月 TEN6A:MOV A,MONTH CJNE A,#08H,TEN7A TEN7A:JC TEN9A JB 18H,TEN8A MOV A,DAY CJNE A,#32H,NINE1 MOV DAY,#1 SJMP NINE0 TEN8A:MOV A,DAY CJNE A,#31H,NINE1 MOV DAY,#1 SJMP NINE0 TEN9A:JNB 18H,TEN10A MOV A,DAY CJNE A,#32H,NINE1 MOV DAY,#1 SJMP NINE0 TEN10A:MOV A,DAY CJNE A,#31H,NINE1 MOV DAY,#1;******************* NINE0:MOV A,MONTH ADD A,#01 DA A MOV MONTH,A SETB 05H CJNE A,#13H,NINE1 MOV MONTH,#1 MOV A,YEAR ADD A,#01 DA A MOV YEAR,A NINE1:MOV A,MONTH CJNE A,BM,NINE2 MOV A,DAY CJNE A,BD,NINE2 JNB 05H,NINE2 SETB BS NINE2:RETI;*****************************************TEN中斷(T1)預置加一程序由INT0控制其的開啟與關閉
;*******************判斷預置項目 TEN:MOV TH1,#3CH MOV TL1,#0B0H SETB TR1 INC COUNTS MOV A,COUNTS CJNE A,#15,TENE MOV COUNTS,#0 JB P0.0,RBRB JB P0.1,DAT SJMP TIME DAT: LJMP DATE RBRB:JB P0.1,BDAT LJMP RTIME BDAT:LJMP BDATE TENE:RETI;**********************預置時間 TIME: JNB P0.3,TEN1 MOV A,MIN ADD A,#01 DA A MOV MIN,A CJNE A,#60H,TENA MOV MIN,#0 SJMP TENA TEN1:JNB P0.2,TENA MOV A,HOUR ADD A,#01 DA A MOV HOUR,A CJNE A,#24H,TENA MOV HOUR,#0 TENA:RETI;******************預置日期 DATE:JNB P0.3,TEN3 MOV A,MONTH ADD A,#01 DA A MOV MONTH,A CJNE A,#13H,TENB MOV MONTH,#1 SJMP TENB TEN3:JNB P0.2,TEN4 MOV A,YEAR ADD A,#01 DA A MOV YEAR,A SJMP TENB TEN4:JNB P0.4,TENB MOV A,DAY ADD A,#01 DA A MOV DAY,A;***************判斷平閏年 MOV A,MONTH CJNE A,#02H,TEN6 MOV A,YEAR ANL A,#0F0H SWAP A MOV B,#10 MUL AB MOV 24H,A MOV A,YEAR ANL A,#0FH ADD A,24H JB ACC.0,TEN5 JB ACC.1,TEN5 MOV A,DAY CJNE A,#30H,TENB MOV DAY,#1 SJMP TENB TEN5:MOV A,DAY CJNE A,#29H,TENB MOV DAY,#1 SJMP TENB;**************判斷大小月 TEN6:CJNE A,#08H,TEN7 TEN7:JC TEN9 JB 18H,TEN8 MOV A,DAY CJNE A,#32H,TENB MOV DAY,#1 SJMP TENB TEN8:MOV A,DAY CJNE A,#31H,TENB MOV DAY,#1 SJMP TENB TEN9:JNB 18H,TEN10 MOV A,DAY CJNE A,#32H,TENB MOV DAY,#1 SJMP TENB TEN10:MOV A,DAY CJNE A,#31H,TENB MOV DAY,#1 TENB: RETI;**************************預置鬧鈴時間 RTIME:JNB P0.3,TEN12 MOV A,RM ADD A,#01 DA A MOV RM,A CJNE A,#60H,TENC MOV RM,#0 SJMP TENC TEN12:JNB P0.2,TENC MOV A,RH ADD A,#01 DA A MOV RH,A CJNE A,#24H,TENC MOV RH,#0 TENC:RETI;************************預置生日日期 BDATE:JNB P0.3,TEN14 MOV A,BD ADD A,#01 DA A MOV BD,A MOV A,BM CJNE A,#02H,TEN15 MOV A,BD CJNE A,#30H,TEND MOV BD,#1 SJMP TEND TEN15:CJNE A,#08H,TEN16 TEN16:JC TEN18 JB 18H,TEN17 MOV A,BD CJNE A,#32H,TEND MOV BD,#1 SJMP TEND TEN17:MOV A,BD CJNE A,#31H,TEND MOV BD,#1 SJMP TEND TEN18:JNB 18H,TEN19 MOV A,BD CJNE A,#32H,TEND MOV BD,#1 SJMP TEND TEN19:MOV A,BD CJNE A,#31H,TEND MOV BD,#1 SJMP TEND TEN14:JNB P0.2,TEND MOV A,BM ADD A,#01 DA A MOV BM,A CJNE A,#13H,TEND MOV BM,#1 TEND:SETB 05H RETI;*******************************ELEVEN中斷(INT0)控制了預置的開關以及生日信號的清除
ELEVEN:JNB SS,ELEVEN1;預置有效時按一次INT0關預置 CLR SS CLR TR1 SJMP ELEVEN3 ELEVEN1:JNB BS,ELEVEN2;預置無效判斷生日信號有效則清除生日信號 CLR 05H CLR BS SJMP ELEVEN3 ELEVEN2:SETB SS;都無效則令預置有效 MOV TH1,#3CH MOV TL1,#0B0H SETB TR1 ELEVEN3:RETI;***************************************************************TWELVE 延時小程序
TWELVE:MOV P1,#0 MOV P2,#0 DJNZ R0,TWELVE TWELVE1:MOV P1,#0 MOV P2,#0 DJNZ R0,TWELVE1 RET
第四篇:數字鐘課程設計
數字電子鐘邏輯電路設計
一、實驗目的:
1、掌握數字鐘的設計方法;
2、熟悉集成電路的使用方法。
二、設計任務和要求:
1、設計一個有“時”,“分”,“秒”(23小時59分59秒)顯示且有校時功能的電子鐘;
2、用中小規模集成電路組成電子鐘;
3、畫出框圖和邏輯電路圖,寫出設計報告;
4、選做:①鬧鐘系統。②整點報時。③日歷系統。
三、方案選擇和論證:
1.分秒功能的實現:用兩片74290組成60進制遞增計數器 2.時功能的實現:用兩片74290組成24進制遞增計數器 3.定點報時:當分秒同時出現為0時,燈亮。
4.日歷系統:月跟日分別用2片74192實現,月份就接成12進制,日則接成31進制,星期由1片74192組成7進制,從星期一至星期天。
四、方案的設計:
1、可調時鐘模塊:
秒、分、時分別為60、60和24進制計數器。用兩片74LS290做一個二十四進制, 輸入計數脈沖CP加在CLKA’端,把QA與與CPLB’從外部連接起來,電路將對CP按照8421BCD碼進行異步加法計數。通過反饋端,控制清零端清零,其中個位接成二進制形式,十位接成四進制形式。其電路圖如下:
同理利用兩片74290組成的六十進制計數器,如下圖所示
將兩個六十進制的加法計數器和一個二十四進制的加法計數器進行級聯:將秒的十位進位脈沖接到分的個位輸入脈沖,將分的十位進位脈沖接到時的個位輸入脈沖,這樣就可以組成最基本的電路。2.校時電路: 例如說時的校準,開關1上端接1HZ脈沖,下端接分的進位。當開關打到上端時電路進入校準功能,當開關打到下端時電路進入正常計時功能。其電路如總電路圖所示
3.整點報時:
分別用2個或非門接到分和秒的各輸出個節點處,再用一個與非門與報時燈鏈接,當輸出同時為零時,即整點時,報時燈就亮了,起到報時功能。本實驗使用LED發光(1s),其電路圖如下:
4日歷系統:
月和日都用2片74192實現。月份功能則接成13進制,因為月份分日都是從1開始計起,所以要求從0001開始,到1101時,立刻清零,清零時應該切換到置數狀態,即將ABCD置1000,通過一個與非門鏈接到LOAD端置零,同時也將計數器置為0001的狀態。其電路圖如下所示
日功能74192三十一進制電路圖:
總電路圖:
四、電路調試:
調試這部分工作在EWB仿真軟件上進行。對于電路的調試應該分為幾個部分,分別對電路各個部分的功能都進行調試,之后,每連接一部分都要調試一次。在實現日歷系統時,如月份需要顯示燈顯示1~31。一開始以為只把計數器鏈接成三十一進制即可,結果顯示燈只顯示0~30,沒有自己預期的結果。經過仔細思考,要把0去掉不顯示,從1開始顯示,而還要顯示31。經過查書,最后,知道開始需置數成0001狀態,到1000才清零,清零的同時回到置數0001狀態,通過多次鏈接、測試,終于實現了。
在實現校時功能過程中,由于之前想得太過復雜了,浪費了大量時間,最后,經過上網搜索,到圖書館查書,簡單的用了個開關連接到脈沖實現了。
五、收獲心得體會:
整個過程花了我不少時間,可當做完時才發現做這個數字鐘是多么簡單的一件事,主要是在調試時花了不少時間,其間換了不少器件,有的器件在理論上可行,但在實際運行中就無法看到效果,所以調試花了我不少時間,有時無法找出錯誤便更換器件重新接線以使電路正常運行。
在實際的操作過程中,能把理論中所學的知識靈活地運用起來,并在調試中會遇到各種各樣的問題,電路的調試提高了我們解決問題的能力,學會了在設計中獨立解決問題,也包括怎樣去查找問題。似乎所有的事都得自己新手去操作才會在腦海中留下深刻的印象,這個小小的課程設計讓我可以熟練的操作EWB軟件,也了解了不少器件的功能的應用,也加深了對數字電路認識和理解。
本次課程設計主要是用軟件仿真,如果是實際加工電路板就更加鍛煉我們的動手能力了,因此,能力還有待提高。
第五篇:數字鐘課程設計
晶體振蕩器電路
晶體振蕩器電路給數字鐘提供一個頻率穩定準確的32768Hz的脈沖,可保證數字鐘的走時準確及穩定。不管是指針式的電子鐘還是數字顯示的電子鐘都使用了晶體振蕩器電路。分頻器電路
分頻器電路將32768Hz的高頻方波信號經74LS4060和74LS250的二分頻的分頻后得到1Hz的方波信號,可以供秒計數器進行計數。分頻器實際上也就是計數器。時間計數器電路
時間計數電路由秒個位和秒十位計數器、分個位和分十位計數器及時個位和時十位計數器電路構成,其中秒個位和秒十位計數器、分個位和分十位計數器為60進制計數器,時個位和時十位計數器可以設計為12進制計數器或者24進制計數器,我們這里根據自己的意愿設計成24進制計數器。譯碼驅動電路
譯碼驅動電路將計數器輸出的8421BCD碼轉換為數碼管需要的邏輯狀態,并且為保證數碼管正常工作提供足夠的工作電流。數碼管
數碼管通常有發光二極管(LED)數碼管和液晶(LCD)數碼管,本設計采用的為LED數碼管。
各單元模塊設計和分析 晶體振蕩器電路
晶體振蕩器是構成數字式時鐘的核心,它保證了時鐘的走時準確及穩定。
圖2 晶體振蕩器電路圖
分頻器電路
通常,數字鐘的晶體振蕩器輸出頻率較高,為了得到1Hz的秒信號輸入,需要對振蕩器的輸出信號進行分頻。
通常實現分頻器的電路是計數器電路,一般采用多級2進制計數器來實現。例如,將32767Hz的振蕩信號分頻為1HZ的分頻倍數為32767(2于15極2進制計數器。時間計數單元
時間計數單元有時計數、分計數和秒計數等幾個部分。
時計數單元一般為24進制計數器計數器,其輸出為兩位8421BCD碼形式;分計數和秒計數單元為60進制計數器,其輸出也為8421BCD碼。
本實驗采取了74LS90 用兩塊芯片進行級聯來產生60進制和24進制
秒個位計數單元為10進制計數器,無需進制轉換,只需將Q0與CP1(下降沿有效)相連即可。CP0(下降沒效)與1HZ秒輸入信號相連,Q3可作為向上的進位信號與十位計數單元的CP1相連。
秒十位計數單元為6進制計數器,需要進制轉換。將10進制計數器轉換為6進制計數器的15),即實現該分頻功能的計數器相當電路連接,其中Q2可作為向上的進位信號與分個位的計數單元的CP0相連。
分個位和分十位計數單元電路結構分別與秒個位和秒十位計數單元完全相同,也是分個位計數單元的Q3作為向上的進位信號應與分十位計數單元的CP0相連,分十位計數單元的Q2作為向上的進位信號應與時個位計數單元的CP0相連。60進制的連接如圖4所示。時個位計數單元電路結構仍與秒或個位計數單元相同,但是要求,整個時計數單元應為24進制計數器,所以在兩塊74LS90構成的100進制中截取24,就得在24的時候進行異步清零。24進制計數功能的電路如圖5所示。
圖5 24進制計數器電路
主要參考文獻
《電子技術基礎》
康華光
高教出版社 《電子線路設計、實驗與測試》
謝自美
華中科技大學出版社 《電子技術實驗》
汪學典
華中科技大學出版社 課程設計摘要 中文摘要
此次課程設計以數字鐘為例,全面的利用了所學的知識,設計出了生活中常見的東西。數字鐘主要有多諧振蕩器、分頻器、計數器、譯碼器組成。主要芯片有74LS90、CC4511。有多諧振蕩器產生約1Mz信號脈沖。滿24計數器自動復位,從而實現24 小時計時。
關鍵詞:多諧振蕩器、分頻器、計數器、74LS90 英文摘要 This design report in detail the digital clock.Making using of our comment study.The digital clock is made of multivibrator type oscillator、divider、counter.Following chips 74LS90 CC4511.When the hour counter reaches the summit of 24,it will return to the beginning point.So ,the whole day is counted.Key word: multivibrator、divider、74LS90