![[畢業(yè)設(shè)計精品]教學(xué)樓課鈴系統(tǒng)硬件電路設(shè)計_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/7/e8c3104f-0a7c-4cfa-85fb-7cbee993ddc8/e8c3104f-0a7c-4cfa-85fb-7cbee993ddc81.gif)
![[畢業(yè)設(shè)計精品]教學(xué)樓課鈴系統(tǒng)硬件電路設(shè)計_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/7/e8c3104f-0a7c-4cfa-85fb-7cbee993ddc8/e8c3104f-0a7c-4cfa-85fb-7cbee993ddc82.gif)
![[畢業(yè)設(shè)計精品]教學(xué)樓課鈴系統(tǒng)硬件電路設(shè)計_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/7/e8c3104f-0a7c-4cfa-85fb-7cbee993ddc8/e8c3104f-0a7c-4cfa-85fb-7cbee993ddc83.gif)
![[畢業(yè)設(shè)計精品]教學(xué)樓課鈴系統(tǒng)硬件電路設(shè)計_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/7/e8c3104f-0a7c-4cfa-85fb-7cbee993ddc8/e8c3104f-0a7c-4cfa-85fb-7cbee993ddc84.gif)
![[畢業(yè)設(shè)計精品]教學(xué)樓課鈴系統(tǒng)硬件電路設(shè)計_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/7/e8c3104f-0a7c-4cfa-85fb-7cbee993ddc8/e8c3104f-0a7c-4cfa-85fb-7cbee993ddc85.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、信息與控制工程學(xué)院硬件課程設(shè)計說明書 教學(xué)樓課鈴系統(tǒng)硬件電路設(shè)計學(xué)生學(xué)號: xxx 學(xué)生姓名: xxx 專業(yè)班級: xxx 指導(dǎo)教師: xxx 職 稱: xxx 起止日期: xxx 課程設(shè)計任務(wù)書1、 設(shè)計題目:教學(xué)樓課鈴系統(tǒng)二、設(shè)計目的1、掌握ds1302時鐘芯片的硬件電路構(gòu)成原理及軟件編程方法,熟悉ds1302時鐘芯片的性能指標(biāo)及特點;2、熟悉sst89e/v516rd2單片機的性能特點,并掌握sst89e/v516rd2單片機控制ds1302讀寫時間、日期的硬件電路組成及軟件編程方法;3、了解led顯示及按鍵電路的組成原理,熟悉led動態(tài)顯示原理及實現(xiàn)方法;4、了解7805構(gòu)成直流穩(wěn)壓電
2、源的電路組成及工作原理。三、設(shè)計任務(wù)及要求 設(shè)計并實現(xiàn)具有顯示日期和時間的電子數(shù)字鐘,數(shù)字鐘具有以下基本功能:1、使用7位led顯示時間、日期和星期,正常顯示時、分、秒、星期,使用按鍵可切換顯示年、月、日;2、具有時間、日期調(diào)整功能,通過鍵盤可進行時間、日期的調(diào)整;3、具有鬧鐘功能,使用鍵盤設(shè)定鬧鈴時間,由蜂鳴器產(chǎn)生鬧鈴;4、定時控制功能,使用小型繼電器完成定時控制功能(發(fā)揮部分)。4、定時控制功能,使用小型繼電器完成定時控制功能(發(fā)揮部分)。四、設(shè)計時間及進度安排設(shè)計時間共三周(),具體安排如下表:周安排設(shè) 計 內(nèi) 容設(shè)計時間第一周硬件電路設(shè)計2011.3.282011.4.3第二周硬件電路
3、焊接與調(diào)試2011.4.42011.4.10第三周編寫課程設(shè)計說明書,課程設(shè)計答辯。2011.4.112011.4.155、 指導(dǎo)教師評語及學(xué)生成績指導(dǎo)教師評語:年 月 日成績指導(dǎo)教師(簽字):目 錄課程設(shè)計任務(wù)書2第一章 總體電路說明11.1 總體電路框圖11.2 總體電路工作的基本原理21.2.1 x5045看門狗電路21.2.2 ds1302時鐘芯片21.2.3 鍵盤電路21.2.4 顯示電路21.2.5 晶振電路21.2.6 電源3第二章 硬件電路設(shè)計42.1 sst89e51主控制電路42.2 時鐘模塊系統(tǒng)62.3 看門狗模塊系統(tǒng)92.4顯示模塊系統(tǒng)11圖 2-11 顯示模塊電路11
4、2.5鍵盤接口設(shè)計122.6 響鈴系統(tǒng)設(shè)計12第三章 焊接與調(diào)試133.1.焊接方法133.2 注意事項13第四章 軟件設(shè)計流程圖14總結(jié)15附錄 總體電路圖17附錄 程序18附錄元件清單40第一章 總體電路說明 1.1 總體電路框圖該電路由51系列單片機,x5045,ds1302時鐘芯片,鍵盤,晶振,電源指示,顯示電路,電源7大部分組成。期中x5045和ds1302均與單片機進行雙向數(shù)據(jù)的交換。其余的部件則與單片機直接相連。采用了led動態(tài)掃描作為顯示系統(tǒng),以sst89e51rd單片機為核心。電源x5045或x25045sst51單片機顯示電路電源指示ds1302蜂鳴器鍵盤(4個)晶振圖1-
5、1 課鈴系統(tǒng)基本結(jié)構(gòu)工作原理:教學(xué)課鈴系統(tǒng)以sst51芯片為核心,主要采用ds1302芯片對時間的采集傳遞數(shù)據(jù)給數(shù)碼管顯示,通過寫數(shù)據(jù)初始化。四個按鍵改變ds1302中的數(shù)據(jù)(包括年、月、周、日、時、分、秒)并切換顯示,設(shè)定鬧鈴。當(dāng)設(shè)定的鬧鈴時間與ds1302時鐘芯片內(nèi)的時間數(shù)據(jù)吻合是,系統(tǒng)發(fā)出響鈴命令,此時蜂鳴器鳴叫。1.2 總體電路工作的基本原理1.2.1 x5045看門狗電路x5045看門狗電路,在此電路設(shè)計中,它的主要功能是:(1)硬件復(fù)位;(2)可選時間的看門狗電路;(3)低電壓檢測;(4)擁有512個字節(jié)的eprom。1.2.2 ds1302時鐘芯片ds1302可令系統(tǒng)電路中重要組
6、成部分,它主要作用是:(1)生成時鐘;(2)擁有31個字節(jié)的ram;1.2.3 鍵盤電路鍵盤電路中共有四個按鍵,它們的主要用途是:(1)日期切換;(2)設(shè)置選擇;(3)設(shè)置鬧鈴;(4)加1。1.2.4 顯示電路顯示電路由6個led的8段數(shù)碼管構(gòu)成六位動態(tài)顯示電路,它們按照共陽極的方式互相連接,主要作用是現(xiàn)實時間,日期等數(shù)據(jù),可以切換顯示。三極管9012(pnp型)作為顯示電路的為控制鏈接在電路中。1.2.5 晶振電路經(jīng)真是晶體振蕩器的簡稱。它是一種能把電能和機械能互相轉(zhuǎn)化的晶體,它在共振的狀態(tài)下工作,以提供穩(wěn)定,精確的單頻震蕩。在通常工作條件下,普通的經(jīng)振頻率絕對精度可達百萬分之五十。高級竟真
7、的精度更高。有些晶振還可以通過外加電壓在一定范圍內(nèi)調(diào)整頻率。它是響鈴電路中最重要的部件,它就像個標(biāo)尺,工作頻率不穩(wěn)定就會造成相關(guān)設(shè)備工作頻率不穩(wěn)定,自然容易出現(xiàn)問題。晶振另外一個作用就是在電路產(chǎn)生振蕩電路,發(fā)憷時鐘信號。在此電路設(shè)計中,晶振電路只為51單片機正常工作提供穩(wěn)定的時鐘信號,以確保單片機能夠正常工作,而沒有別的作用,所以在這個電路中,晶振元件沒有輸入端和輸出端之分,只是僅僅與51單片機直接相連,作用也只有前者。圖4-15 晶振 圖1-2 1.2.6 電源在這里,我們原用的是+5v的直流穩(wěn)壓電源,作為外部電源接入,從而保證了電路的正常運行過程中時間精確性最高,因外部干擾產(chǎn)生的誤差最小,
8、為整體電路功能的正常實現(xiàn)提供了保障。為了確保電壓的穩(wěn)定,我們還可以在電路中介入二極管整流,并利用電容進行濾波。第2章 硬件電路設(shè)計2.1 sst89e51主控制電路根據(jù)課題的具體內(nèi)容,任務(wù)要求,計時,校時,定時,鍵盤顯示等功能經(jīng)多方考慮,采用sst89c51低功耗單片機。sst89e51是一種高性能低功耗的采用cmos工藝制造的8位微控制器,它提供下列標(biāo)準(zhǔn)特征:8k字節(jié)的程序存儲器,128字節(jié)的ram,32條i/o線,3個16位定時器/計數(shù)器,9個中斷源4級中斷優(yōu)先權(quán)的中斷結(jié)構(gòu),一個全雙工的串行口,片上振蕩器和時鐘電路,單片機程序和數(shù)據(jù)存儲空間分開獨立尋址,有兩個片內(nèi) flash 存儲塊?;?/p>
9、flash (block 0)占用64k 字節(jié),二級flash 存儲塊block 1 為8k 字節(jié)。圖2-1 sst89e51單片機的片內(nèi)結(jié)構(gòu)圖引腳說明:p07:0 i/o: p0 是一個漏極開路的8位雙向i/o 口。作為輸出口,每位能驅(qū)動多個ls 型ttl 負載。 p0 浮空,鎖存器為“1”,可作為高阻抗輸入。在訪問外部存儲器時,p 0 口 作為低8 位地址和數(shù)據(jù)總線分時復(fù)用。在這種應(yīng)用中,當(dāng)轉(zhuǎn)為高電平時,它用了強大 的內(nèi)部上拉。在外部主模式編程狀態(tài)下,p0 接收代碼字節(jié),在外部主模式校驗過程中 輸出代碼字節(jié)。在程序校驗過程中需要外部上拉電阻。p17:0 : 帶內(nèi)部上拉的i/o:p1 是一個
10、帶內(nèi)部上拉電阻的8 位準(zhǔn)雙向i/o 口。每位能驅(qū)動 ls 型ttl負載。當(dāng)p1 口作為輸入口用時,向內(nèi)部鎖存器寫入“1”,p1 引腳被內(nèi)部上 拉電阻拉為高電平。由于內(nèi)部上拉電阻,被拉為低的p1 引腳能向外提供電流。p15, 6,7 有16 毫安的高電流驅(qū)動能力。當(dāng)外部主模式在編程和測試時,p1 也接收低8 位 地址。p10 i/o t2 :定時器 /計數(shù)器2 外部計數(shù)輸入或時鐘輸出從定時器/計數(shù)器2。p11 i t2ex: 定時器/計數(shù)器2 捕捉/重裝觸發(fā)器和方向控制。p12 i ec1:pca 定時器/計數(shù)器外部輸入。p13 i/o cex0:比較/捕捉外部輸入輸出模塊,每個比較/捕捉模塊連
11、接到一p1口引腳,當(dāng)不用 于pca 時,這個口用作標(biāo)準(zhǔn)i/o。 p14 i/o ss#:主機輸入、從機輸出(spi)或cex1:比較/捕捉外部輸入輸出模塊。p15 i/o mosi:主機輸出,從機輸入(spi)或cex2:比較/捕捉外部輸入輸出模塊。p17 i/o sck: 主機時鐘輸出、從機時鐘輸入或cex4:比較/捕捉外部輸入輸出模塊。p27:0 :帶內(nèi)部上拉的i/o: p2 是一個帶內(nèi)部上拉電阻的8 位準(zhǔn)雙向i/o 端口,當(dāng)被作為 輸入時,向它寫“1”,p2 引腳被內(nèi)部上拉電阻拉為高電平。作為輸入使用時,被內(nèi)部 上拉電阻下拉為低電平的p2 會產(chǎn)生電流。當(dāng)從片外程序存儲器取數(shù)和訪問片外數(shù)據(jù)
12、存 儲器時,p2 能提供高8 位地址。在此應(yīng)用中,當(dāng)轉(zhuǎn)為voh 時,它利用了功能極強的 內(nèi)部上拉電阻。當(dāng)外部主模式在編程和測試時,它還接收控制信號和部分高8 位地址。p37:0 帶內(nèi)部上拉的i/o: p3 是一個帶內(nèi)部上拉電阻的8 位準(zhǔn)雙向i/o 口。p 3 的輸出緩沖能驅(qū)動多個ls 型ttl 。當(dāng)被作為輸入時,向它寫“1”,port 3 引腳被內(nèi)部上拉電阻拉為高電平,作為輸入使用時,被外部拉為低,能驅(qū)動電流。當(dāng)外部主機在編程和校驗時,它還能接收控制信號和部分高8 位地址。p30 i rxd :串行數(shù)據(jù)接收。p31 o txd: 串行數(shù)據(jù)發(fā)送。p32 i int0#:外部中斷0 輸入。p33
13、i int1#:外部中斷1 輸入。p34 i t0:定時/計數(shù)器0 的外部計數(shù)輸入。p35 i t1:定時/計數(shù)器1 的外部計數(shù)輸入。p36 o wr#:外部數(shù)據(jù)存儲器寫選通。p37 o rd#:外部數(shù)據(jù)存儲器讀選通。p47:0 :帶內(nèi)部上拉的i/o: p3 是一個帶內(nèi)部上拉電阻的4 位準(zhǔn)雙向i/o 口。p 3 口輸出緩沖能驅(qū)動多個ls 型ttl 。當(dāng)被作為輸入時,向它寫“1”,port 3 引腳被內(nèi)部上拉電阻拉為高電平,作為輸入使用時,被外部拉為低,能驅(qū)動電流。p40 i rxd :串行數(shù)據(jù)接收。p41 o txd: 串行數(shù)據(jù)發(fā)送。p42 i int3#:外部中斷3 輸入。p43 i int
14、2#:外部中斷2 輸入。 psen# i/o 程序存儲器允許:psen#是外部程序存儲器讀選通。當(dāng)從內(nèi)部程序存 儲器執(zhí)行時,psen#不激活。當(dāng)從外部程序存儲器執(zhí)行時,每個機器周期psen#兩 次有效,除了當(dāng)進入外部數(shù)據(jù)存儲器時,在每個機器周 期都有一個psen#信號跳過。當(dāng)rst 輸入能持續(xù)保持高電平多于10個機器周期時 ,迫使psen#由低到高的轉(zhuǎn)換會使單片機進入主編程模式。rst:振蕩器在工作時,此腳如能保持兩個機器周期以上的高電平復(fù)位器復(fù)位后,當(dāng)rst 輸入 保持高電平,psen#引腳被高到低的電平轉(zhuǎn)換驅(qū)動,器件將進入外部主模式,否則, 器件將進入通用操作模式。ea# i: 外部訪問允
15、許:為了使單片機能從片外程序存儲器取指令,ea#必為低內(nèi)部程序執(zhí)行 時,ea#必為高電平。然而,第四級加密鎖將禁止ea#,程序只能從片內(nèi)程序存儲器 開始執(zhí)行。ea#能承受12v 的高電壓。(“絕對最大承受值 )。ale/prog i/0: 地址允許:在訪問外部存儲器時,ale 用于鎖存出現(xiàn)在p0 口 的低8 位地址。此引腳也是外部主模式編程脈沖輸入端(prog#)。除 了訪問外部數(shù)據(jù)存儲器,ale 在每個機器周期有效兩次,在第二個機 器周期有一個ale 有效被跳過。然而,如果ao 置“1“,ale 被禁止。xtal1/ i/0 振蕩器:輸入輸出來轉(zhuǎn)換振蕩放大器。xtal 1 是內(nèi)部時鐘產(chǎn)生電路
16、的輸入從 外部時鐘源。vdd 輸入 電源輸入:通用、idle、省電、備用模式下的電源供應(yīng)。vss 輸入 接地端:電源接地端(參考電壓為0v)。圖2-2 主控制電路2.2 時鐘模塊系統(tǒng)如圖2-6,該系統(tǒng)采用了ds1302時鐘芯片,ds1302是美國dallas公司推出的一種高性能、低功耗的實時時鐘芯片,工作電壓在2.55.5v,采用雙電源供電(主電源和備用電源),可設(shè)置備用電源充電方式,提供了對后備電源進行涓電流充電的能力,本系統(tǒng)采用5v電源供電。實時時鐘可提供秒、分、時、日、星期、月和年,一個月小于31天時可以自動調(diào)整,且具有閏年補償功能。ds1302的外部引腳分配如圖2-4所示。時鐘芯片ds
17、1302在任何數(shù)據(jù)傳送時必須先初始化,把rst引腳置為高電平,然后把8位地址和命令裝入移位寄存器,數(shù)據(jù)在sclk的上升沿被輸入,無論是讀周期還是寫周期開始8位指定40個寄存器中哪個將被訪問到,在開始8個時鐘周期,把命令字節(jié)裝入撳位寄存器,在寫操作時寫入數(shù)據(jù),時鐘脈沖的個數(shù)在單位字節(jié)下為8加8,在多字節(jié)方式下為8加字節(jié)數(shù),最大可達248字節(jié)數(shù)。為了提高對32個地址的尋址能力,可以把時鐘或ram寄存器規(guī)定為多字節(jié)方式,在多字節(jié)方式中,讀或?qū)憦牡刂?的位0開始,必須按照數(shù)據(jù)傳送的次序最先的8個寄存器。但是當(dāng)以多個字節(jié)寫ram時,為了傳送數(shù)據(jù)不必寫所有31字節(jié),不管是否寫了全部31字節(jié),所寫的每個字節(jié)
18、都將傳送至ram。時鐘暫停:秒寄存器的位7定義位時鐘暫停位,當(dāng)它為1時,ds1302停止振蕩,進入低功耗的備份方式,通常在對ds1302進行寫操作時,停止振蕩,當(dāng)它為0時時鐘將開始啟動。ds1302是spi總線驅(qū)動方式,它不僅要向總線寫入控制字,還需要讀取寄存器數(shù)據(jù)。要想與ds1302通信,首先要了解ds1302的控制字,如圖2-3表2-3 ds1302的控制字 7 6 5 4 3 21 0 1 ram a4 a3a2a1a0rd控制字的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入到 ds1302中。位 6:如果為0,則表示存取日歷時鐘數(shù)據(jù),為1表示存取 ram 數(shù)據(jù);位 5至
19、位1(a4a0):指示操作單元的地址;位 0(最低有效位):如為0,表示要進行寫操作,為1表示進行讀操作??刂谱挚偸菑淖畹臀婚_始輸出。在控制字指令輸入后的下一個sclk時鐘的上升沿時,數(shù)據(jù)被寫入ds1302,數(shù)據(jù)輸入從最低位(0位)開始。同樣,在緊跟8位的控制字指令后的下一個sclk脈沖的下降沿,讀出ds1302的數(shù)據(jù),讀出的數(shù)據(jù)也是從最低位到最高位。ds1302內(nèi)部的ram分為兩類,一類是單個ram單元,共31個,每個單元為一個8位的字節(jié),其命令控制字為cohfdh,其中奇數(shù)為讀操作,偶數(shù)為寫操作;再一類為突發(fā)方式下的ram,此方式下可一次性讀寫所有的ram的31個字節(jié),命令控制字為feh(
20、寫),ffh(讀)。單片機是通過簡單的同步串行通訊與ds1302通訊的,每次通訊都必須由單片機發(fā)起,無論是讀還是寫操作,單片機都必須先向ds1302寫入一個命令幀,最高位bit7固定為1,bit6決定操作是針對ram還是時鐘寄存器,接著的5個bit 是ram或時鐘寄存器在ds1302的內(nèi)部地址,最后一個bit表示這次操作是讀操作還是寫操作。物理上,ds1302的通訊接口由3個口線組成,即 rst,sclk,i/o。其中rst從低電平變成高電平啟動一次數(shù)據(jù)傳輸過程,sclk 是時鐘線,i/o 是數(shù)據(jù)線。圖 2-4 ds1302的內(nèi)部結(jié)構(gòu)圖圖2-5 ds1302外部管腳分配如圖2-5為該芯片的管腳
21、圖,各引腳的功能為:vcc1:主電源;vcc2:備份電源。當(dāng) vcc2vcc1+0.2v 時, 由 vcc2向 ds1302 供電,當(dāng) vcc2 vcc1時,由 vcc1向 ds1302供電。sclk:串行時鐘,輸入,控制數(shù)據(jù)的輸入與輸出;i/o: 三線接口時的雙向數(shù)據(jù)線;ce:輸入信號,在讀、寫數(shù)據(jù)期間,必須為高。該引腳有兩個功能:第一,ce開始控制字訪 問移位寄存器的控制邏輯;其次,ce 提供結(jié)束單字節(jié)或多字節(jié)數(shù)據(jù)傳輸?shù)姆椒?。圖2-6時鐘模塊電路2.3 看門狗模塊系統(tǒng)本系統(tǒng)復(fù)位電路采用了x25045看門狗電路,x25045是美國xicor公司的生產(chǎn)的標(biāo)準(zhǔn)化8腳集成電路,它將eeprom、看
22、門狗定時器、電壓監(jiān)控三種功能組合在單個芯片之內(nèi),大大簡化了硬件設(shè)計,提高了系統(tǒng)的可靠性,減少了對印制電路板的空間要求,降低了成本和系統(tǒng)功耗,是一種理想的單片機外圍芯片。 看門狗定時器的預(yù)置時間是通過x25045的狀態(tài)寄存器的相應(yīng)位來設(shè)定的。如表2所示,x25045狀態(tài)寄存器共有6位有含義,其中wd1、wd0和看門狗電路有關(guān),其余位和eeprom的工作設(shè)置有關(guān)。表2-7 x25045狀態(tài)寄存器 d7 d6 d5 d4 d3 d2 d1 d0 x x wd1 wd0 bl1 bl0 wel wipwd10,wd0=0,預(yù)置時間為1.4s;wd10,wd0=1,預(yù)置時間為0.6s。wd11,wd0=
23、0,預(yù)置時間為0.2s;wd11,wd0=1,禁止看門狗工作??撮T狗電路的定時時間長短可由具體應(yīng)用程序的循環(huán)周期決定,通常比系統(tǒng)正常工作時最大循環(huán)周期的時間略長即可。編程時,可在軟件的合適地方加一條喂狗指令,使看門狗的定時時間永遠達不到預(yù)置時間,系統(tǒng)就不會復(fù)位而正常工作。當(dāng)系統(tǒng)跑飛,用軟件陷阱等別的方法無法捕捉回程序時,則看門狗定時時間很快增長到預(yù)置時間,迫使系統(tǒng)復(fù)位??撮T狗電路硬件連接如圖2-8所示。x25045在讀寫操作之前,需要先向它發(fā)出指令,指令名及指令格式如下表。表2-8 x25045指令及其含義指令名指令格式操作wrenwrdirdsrwrsrreadwrite0000011000
24、00010000000101000000010000a80110000a8010設(shè)置寫使能鎖存器(允許寫操作)復(fù)位寫使能鎖存器(禁止寫操作)讀狀態(tài)寄存器寫狀態(tài)寄存器把開始于所選地址的存儲器中的數(shù)據(jù)讀出把數(shù)據(jù)寫入開始于所選地址的存儲器圖2-9 x25045引腳圖如圖2-9外部引腳封裝,其引腳功能如下:cs:片選擇輸入;so:串行輸出,數(shù)據(jù)由此引腳逐位輸出;si:串行輸入,數(shù)據(jù)或命令由此引腳逐位寫入x25045;sck:串行時鐘輸入,其上升沿將數(shù)據(jù)或命令寫入,下降沿將數(shù)據(jù)輸出;wp:寫保護輸入。當(dāng)它低電平時,寫操作被禁止;vss:地;vcc:電源電壓;reset:復(fù)位輸出。2.4顯示模塊系統(tǒng)顯示部
25、分采用普通的共陽數(shù)碼管顯示,采用動態(tài)掃描,以減少硬件電路,數(shù)碼管分別為十時,時,十分,分,十秒,秒顯示,顯示時采用串行口輸出段碼,用74ls164來驅(qū)動數(shù)碼管掃描只需7ms。74ls164內(nèi)部為8個d觸發(fā)器,用以實現(xiàn)數(shù)據(jù)的串行移位,74ls164為ttl單向8位移位寄存器,可實現(xiàn)串行輸入并行輸出,cpu為時鐘輸入端,可連接到串行口txd端。每個時鐘信號的上升沿加到cp端時,移位寄存器移一位,8個時鐘脈沖過后8位二進制數(shù)全部移入74ls164中,mr腳為復(fù)位端,當(dāng)該位為低電平時,移位寄存器各位復(fù)0。當(dāng)它為高電平時時鐘脈沖才起作用。q1q8并行輸出分別接數(shù)碼管的各段對應(yīng)腳上,在給出8個脈沖后,最先
26、進入74ls164的第一個字節(jié)數(shù)據(jù)到達最高位,再來1個脈沖,第一個脈沖就會從最高位移出,進入下一個74ls164的第一位。圖2-10 74ls164外部封裝圖引腳功能:clock :時鐘輸入端clear: 同步清除輸入端(低電平有效) a,b :串行數(shù)據(jù)輸入端qaqh: 輸出端圖 2-11 顯示模塊電路 引腳功能:clock :時鐘輸入端clear: 同步清除輸入端(低電平有效) a,b :串行數(shù)據(jù)輸入端qaqh: 輸出端2.5鍵盤接口設(shè)計本設(shè)計采用獨立鍵盤按鈕,分別與單片機的p3.1,p3.3,p3.4,p3.5端口相連,p3.1來控制時間的顯示,p3.3來調(diào)節(jié)時間,p3.4來控制時間的加,
27、p3.5來設(shè)置鬧鈴。 圖 2-12電路鍵盤設(shè)計 2.6 響鈴系統(tǒng)設(shè)計響鈴采用了一個pnp三極管來驅(qū)動一個蜂鳴器,簡單方便,響鈴效果好。圖 2-13 響鈴設(shè)計第三章 焊接與調(diào)試3.1.焊接方法焊接是將各種元件與印制導(dǎo)線牢固的連接在一起的過程,是制造電子產(chǎn)品的重要環(huán)節(jié)之一。如果沒有響應(yīng)的工藝質(zhì)量的保證,任何一個設(shè)計精良的電子產(chǎn)品都難以達到設(shè)計要求。(1) 電烙鐵的使用通常握持電烙鐵的方法有握筆法和握拳法:握筆法適用于輕型的烙鐵如30w的內(nèi)熱式。它的烙鐵頭是直的,頭端挫成一個斜面或圓錐狀的,適宜焊接面積較小的焊盤;握拳法,適用于功率較大的烙鐵,我們做電子制作的一般不是大用功率的烙鐵。使用烙鐵時,烙鐵
28、的溫度太低則熔化不了焊錫,或者使焊點未完全熔化而成不好看、不可靠的樣子。太高又會使烙鐵“燒死”(盡管溫度很高,卻不能蘸上錫)。 另外也要控制好焊接的時間,電烙鐵停留的時間太短,焊錫不易完全熔化、接觸好,形成“虛焊”,而焊接時間太長又容易損壞元器件一般一兩秒內(nèi)要焊好一個焊點,若沒完成,寧愿等一會兒再焊一次。焊接時電烙鐵不能移動,應(yīng)該先選好接觸焊點的位置,再用烙鐵頭的搪錫面去接觸焊點。(2) 原件焊接順序先難后易,先帝后高,先貼片后插袋。宗旨:焊接方便,節(jié)省時間。3.2 注意事項要避免虛焊,漏焊的情況;要注意焊錫的多少,太多或太少都不好,要適中;電子元器件在電路板間的距離要合理,同意要注意美觀;注
29、意焊接與元器件的順序;注意電子器件的擺放是否正確以及線路間的連接是否正確。第四章 軟件設(shè)計流程圖本程序采用c語言編程,c語言作為一種非常方便的語言而得到廣泛的支持,國內(nèi)最通用的是keil c51。c語言程序本身不依賴于極其硬件系統(tǒng),基本上不作修改就能將程序從不同單片機中移植過來。c提供了很多數(shù)學(xué)函數(shù)并支持浮點運算,開發(fā)效率高,顧客縮短開發(fā)時間。增加程序可讀性和可維護性。keil c51是美國keil software公司出品的51系列兼容單片機c語言軟件開發(fā)系統(tǒng),與匯編相比,c語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學(xué)易用。用過匯編語言后再使用c來開發(fā),體會更加深刻。c51
30、工具包的整體結(jié)構(gòu),uvision與ishell分別是c51 for windows和for dos的集成開發(fā)環(huán)境(ide),可以完成編輯、編譯、連接、調(diào)試、仿真等整個開發(fā)流程。開發(fā)人員可用ide本身或其它編輯器編輯c或匯編源文件。然后分別由c51及c51編譯器編譯生成目標(biāo)文件(.obj)。目標(biāo)文件可由lib51創(chuàng)建生成庫文件,也可以與庫文件一起經(jīng)l51連接定位生成絕對目標(biāo)文件(.abs)。abs文件由oh51轉(zhuǎn)換成標(biāo)準(zhǔn)的hex文件,以供調(diào)試器dscope51或tscope51使用進行源代碼級調(diào)試,也可由仿真器使用直接對目標(biāo)板進行調(diào)試,也可以直接寫入程序存貯器如eprom中。開始初始化參數(shù)設(shè)置調(diào)
31、用鍵盤子程序調(diào)用顯示子程序調(diào)用控制子程序圖 4-1 主程序流程圖總結(jié)單片機應(yīng)用廣泛,在這次硬件實習(xí)中,通過焊電路板,軟件編程,了解了更多有用的東西,比如在設(shè)計電路時,要考慮電阻的大小,引腳的作用。焊電路板時注意力集中,不要虛焊等等。在這次實踐過程中我也和我們小組的成員共同努力,最終完成了任務(wù),也使我們更加了解實踐的重要性以及同學(xué)間的交流。系統(tǒng)可以被學(xué)校、工廠等企事業(yè)單位應(yīng)用,設(shè)計比較簡單。經(jīng)過我們的努力,使我對單片機有了初步的認(rèn)識,了解了一些軟件編程的技巧。通過本次硬件實習(xí),使我學(xué)會了課堂上學(xué)不到的知識。對單片機又有了更深的認(rèn)識,掌握單片機設(shè)計步驟,知道這門課程在工作中的重要性。在課程設(shè)計過程
32、中也遇到了許多困難,但在老師和同學(xué)們的同共努力下都得到解決,最終看到了成果.我感謝老師這三周來對我們細心的教導(dǎo),使我熟悉了一些軟件方面的知識,相信定會為日后工作打下堅實基礎(chǔ).硬件設(shè)計加深了學(xué)生對所學(xué)理論的理解,擴展了教學(xué)中的實驗內(nèi)容和要求,積累了實踐體驗和經(jīng)驗,讓我們提前感受到畢業(yè)設(shè)計的大致過程,進而為我們的畢業(yè)設(shè)計奠定了良好的基礎(chǔ),也提高學(xué)生實際應(yīng)用能力。參考文獻1閻石.數(shù)字電子技術(shù)基礎(chǔ).北京:高等教育出版社,2009,32翟玉文.電子設(shè)計與實踐.北京:中國電力出版社,2006,83龍可微.x25045芯片及其應(yīng)用:電子技術(shù)應(yīng)用,1999.94張毅剛.單片機原理及其應(yīng)用:高等教育出版社,20
33、03,12 附錄 總體電路圖 附錄 程序/*包含頭文件*/#include#include#define uchar unsigned char#define uint unsigned int#define wei p2#define wren 0x06#define wrdi 0x04#define rdsr 0x05#define wrsr 0x01#define read 0x03#define write 0x02/*端口定義*/sbit ds1302_clk=p14;sbit ds1302_io=p15;sbit ds1302_rst=p16;sbit dat=p37; sbit
34、clk=p36;sbit key1=p31; /時間日期轉(zhuǎn)換sbit set=p33; /設(shè)置選擇鍵sbit up=p34; /+1sbit arm=p35; /設(shè)定鬧鈴sbit bing=p30; /響鈴sbit so=p10; /定義輸出端口sbit cs=p11; /定義片選端口sbit sck=p12; /定義時鐘端口sbit si=p13; /定義輸入端口sbit c=acc7; /*定義位變量*/*共陽led段碼表*/unsigned char code tab= 0x30,0xf9,0x52,0xd0,0x99,0x94,0x14,0xf1,0x10,0x90; /0-9,/*l
35、ed顯示位控碼*/unsigned char code dispbitcode=0xdf,0xef,0xf7,0xfd,0xfb,0xfe;/*led顯示緩存區(qū)*/unsigned char dispbuf8=0,0,10,0,0,10,0,0;unsigned char disp8=0,0,10,0,0,10,0,0;/*定義全局變量*/unsigned char hour,minute,second,year,month,day,key,room;unsigned char shi,fen,miao,nian,yue,ri;unsigned char mscnt,cont;unsigned
36、 char hor,min,sec,nn,yy,rr;unsigned char time=0x06,0x03,0x03,0x03,0x00,0x00,0x00;/初始時間數(shù)組unsigned char id;bit flag;/*函數(shù)功能:數(shù)碼管掃描延時子程序入口參數(shù):出口參數(shù):*/void delay(void) int k;for(k=0;k0;i-) for(j=110;j0;j-); /-bdata unsigned char com;void tran() /*發(fā)送一字節(jié)數(shù)據(jù)子函數(shù)*/ unsigned char i; for(i=0; i8; i+) acc=com; /*將數(shù)據(jù)
37、放入a中*/ si=c; sck=0; /*sck產(chǎn)生一個上跳變*/ sck=1; com=com0;i-) ds1302_io=(bit)(byte1&0x01);/先進最低位 ds1302_clk=1; _nop_(); ds1302_clk=0; byte1=1; /*函數(shù)功能:從ds1302讀取一字節(jié)數(shù)據(jù)入口參數(shù):出口參數(shù):temp*/unsigned char outputbyte(void) unsigned char i; unsigned char temp=0; for(i=8;i0;i-) temp=temp1; if(ds1302_io) temp=temp|0x80;
38、/先出最低位 ds1302_clk=1; _nop_(); ds1302_clk=0; return(temp);/*函數(shù)功能:向ds1302某地址寫入一字節(jié)數(shù)據(jù)入口參數(shù):addr,tdat出口參數(shù):*/void write_ds1302(unsigned char addr,unsigned char tdat) ds1302_rst=0; _nop_(); ds1302_clk=0; _nop_(); ds1302_rst=1; inputbyte(addr); _nop_(); inputbyte(tdat); ds1302_clk=1; _nop_(); ds1302_rst=0;/*
39、函數(shù)功能:從ds1302某地址讀取數(shù)據(jù)入口參數(shù):add出口參數(shù):timedata*/unsigned char read_ds1302(unsigned char add) unsigned char timedata; ds1302_rst=0; _nop_(); ds1302_clk=0; _nop_(); ds1302_rst=1; inputbyte(add); _nop_(); timedata=outputbyte(); ds1302_clk=1; _nop_(); ds1302_rst=0; return(timedata);/*函數(shù)功能:初始化ds1302入口參數(shù):出口參數(shù):*
40、/void initial_ds1302() write_ds1302(0x8e,0x00);/寫保護寄存器,在對時鐘或ram寫前wp一定要為0second=read_ds1302(0x81);if(second&0x80) write_ds1302(0x80,0x00); /ch=0時振蕩器工作允許/*函數(shù)功能:bcd碼時間數(shù)據(jù)轉(zhuǎn)換成十進制數(shù)據(jù)入口參數(shù):x出口參數(shù):y*/unsigned char bcd_dec(unsigned char x) unsigned char y; y=(x/16)*10)+(x%16); return(y);/*函數(shù)功能:十進制時間數(shù)據(jù)轉(zhuǎn)換成bcd碼數(shù)據(jù)入口
41、參數(shù):x出口參數(shù):y*/unsigned char dec_bcd(unsigned char x) unsigned char y; y=(x/10)4)|(x%10); return(y);/*函數(shù)功能:讀取時間子程序入口參數(shù):出口參數(shù): second,minute,hour*/void read() second=read_ds1302(0x81); minute=read_ds1302(0x83); hour=read_ds1302(0x85); year=read_ds1302(0x8d); month=read_ds1302(0x89); day=read_ds1302(0x87)
42、;void read_time(uchar sss,uchar fff,uchar mmm) dispbuf0=tabsss/16; dispbuf1=tabsss%16; dispbuf2=tabfff/16; dispbuf3=tabfff%16; dispbuf4=tabmmm/16; dispbuf5=tabmmm%16;void read_day(uchar nnn,uchar yyy,uchar rrr) disp0=tabnnn/16; disp1=tabnnn%16; disp2=tabyyy/16; disp3=tabyyy%16; disp4=tabrrr/16; disp5=tabrrr%16;/*函數(shù)功能:數(shù)碼管顯示子程序入口參數(shù):出口參數(shù):*/void send(uchar num) unsigned char i; for(i=0;i8;i+) if(num&0x80)dat=1;elsedat=0;num=num1;clk=1; clk=0; void display(u
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年天然植物纖維及人造纖維編織工藝品合作協(xié)議書
- 2025年柔印CTP合作協(xié)議書
- 自動化儀表考試培訓(xùn)試題2
- 2025年二手車帶牌轉(zhuǎn)讓協(xié)議(三篇)
- 2025年個人房屋租賃協(xié)議合同模板(2篇)
- 2025年個人車輛轉(zhuǎn)讓協(xié)議參考樣本(三篇)
- 山西省2024七年級道德與法治上冊第三單元珍愛我們的生命第九課守護生命安全情境基礎(chǔ)小練新人教版
- 2025年互聯(lián)網(wǎng)信息網(wǎng)站公告服務(wù)協(xié)議(2篇)
- 2025年代理銷售商品房協(xié)議樣本(三篇)
- 2025年個人旅游協(xié)議格式版(2篇)
- 柴油機油-標(biāo)準(zhǔn)
- 足療店營銷策劃方案
- 《初三開學(xué)第一課 中考動員會 中考沖刺班會》課件
- 學(xué)校安全一崗雙責(zé)
- 2024年全國版圖知識競賽(小學(xué)組)考試題庫大全(含答案)
- 產(chǎn)后修復(fù)學(xué)習(xí)培訓(xùn)課件
- 高考志愿咨詢培訓(xùn)課件
- mysql課件第五章數(shù)據(jù)查詢
- 超濾培訓(xùn)課件
- 熱線電話管理制度
- 《海峽兩岸經(jīng)濟合作框架協(xié)議》全文
評論
0/150
提交評論