《電子技術(shù)》課程設(shè)計(jì)報(bào)告數(shù)字時(shí)鐘和溫度器_第1頁
《電子技術(shù)》課程設(shè)計(jì)報(bào)告數(shù)字時(shí)鐘和溫度器_第2頁
《電子技術(shù)》課程設(shè)計(jì)報(bào)告數(shù)字時(shí)鐘和溫度器_第3頁
《電子技術(shù)》課程設(shè)計(jì)報(bào)告數(shù)字時(shí)鐘和溫度器_第4頁
《電子技術(shù)》課程設(shè)計(jì)報(bào)告數(shù)字時(shí)鐘和溫度器_第5頁
已閱讀5頁,還剩37頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、天津職業(yè)技術(shù)師范大學(xué)電子工程學(xué)院電 子 技 術(shù)課程設(shè)計(jì)報(bào)告同組學(xué)生姓名(學(xué)號(hào)): 班 級(jí): 電子工程學(xué)院 應(yīng)用電子技術(shù)教育0711 任務(wù)分工:軟、硬件調(diào)試和部分程序編程 :軟件部分編程和仿真 *:硬件焊接和調(diào)試 設(shè)計(jì)時(shí)間: 2011年02月21 日 2011 年 03月11日指導(dǎo)教師: 目錄題目一 數(shù)字時(shí)鐘一、 課程設(shè)計(jì)的目的和要求······················&

2、#183;······3二、 方案論證及選擇···································3三、 原理設(shè)計(jì)·····

3、····································5四、 方案實(shí)現(xiàn)與測(cè)試············&

4、#183;······················11五、 參考書目·························

5、3;···············12題目二 溫度顯示器一、 課程設(shè)計(jì)的目的和要求·····························13二、 方案論證及

6、選擇···································13三、 原理設(shè)計(jì)·············&

7、#183;···························15四、 方案實(shí)現(xiàn)與測(cè)試····················&

8、#183;··············20五、 參考書目·································

9、3;·······20課程設(shè)計(jì)總結(jié)·········································&#

10、183;21個(gè)人總結(jié)··············································22附:數(shù)字時(shí)鐘程序

11、3;·····································25 溫度顯示器程序···········

12、·························34題目一 數(shù)字時(shí)鐘一、課程設(shè)計(jì)的目的和要求1、課題來源:老師和學(xué)生共同擬定。2、類型:實(shí)做。3、目的和意義:掌握單片機(jī)的編程。4、基本要求:設(shè)計(jì)和制作一個(gè)顯示時(shí)分秒的數(shù)字時(shí)鐘,具有校時(shí)功能,可對(duì)小時(shí)和分鐘單獨(dú)校時(shí),對(duì)分鐘校時(shí)時(shí),停止向小時(shí)的進(jìn)位。校時(shí)時(shí)鐘可以手動(dòng)輸入或借用電路中的時(shí)鐘;實(shí)現(xiàn)秒表功能

13、;省電狀態(tài)(不顯示);顯示年、月、日、學(xué)號(hào);刻意24小時(shí)和12小時(shí)轉(zhuǎn)換5、設(shè)計(jì)過程根據(jù)課程設(shè)計(jì)的要求,經(jīng)過查閱資料和小組討論,我們先分析任務(wù)要求、確定解題思路,決定了大概的系統(tǒng)結(jié)構(gòu),其中包括主控電路、復(fù)位電路、時(shí)鐘電路、顯示電路和設(shè)置電路。如下圖所示。然后畫流程圖、編寫程序最后進(jìn)行總體系統(tǒng)的調(diào)試和修改。6、設(shè)計(jì)圖主控電路顯示電路時(shí)鐘電路復(fù)位電路設(shè)置電路圖一 方案設(shè)計(jì)圖二、方案論證和選擇本系統(tǒng)我們決定以at89s52單片機(jī)為控制核心,通過內(nèi)部定時(shí)器獲得時(shí)間,并將得到的數(shù)據(jù)通過顯示模塊顯示出來,同時(shí)通過相應(yīng)的按鍵調(diào)整相應(yīng)的值。因此本設(shè)計(jì)可分為一下模塊:主控模塊、時(shí)鐘模塊、顯示模塊、設(shè)置模塊(時(shí)間設(shè)

14、置模塊、年月日設(shè)置模塊、12/24切換模塊、秒表計(jì)數(shù)模塊)。下面對(duì)各個(gè)模塊逐一進(jìn)行論證分析:1、 主控模塊方案一:?jiǎn)纹瑱C(jī)和數(shù)字芯片結(jié)合使用,這樣的好處是能減少單片機(jī)的工作量,使電路不單純的只依賴于單片機(jī)工作,但是如果使用數(shù)字芯片,就有點(diǎn)違背題目初忠,單片機(jī)的功能也不能直觀的顯現(xiàn)出來。而且相對(duì)來說成本要高。電路也不夠簡(jiǎn)略。方案二:?jiǎn)为?dú)使用at89s52單片機(jī),該單片機(jī)采用的mcu51內(nèi)核,因此具有很好的兼容性,內(nèi)部帶有8kb的rom,能夠存儲(chǔ)大量的程序,最突出特點(diǎn)是具有isp在系統(tǒng)燒寫功能,使得燒寫程序更加方便。它的好處是外圍電路比較簡(jiǎn)單直觀,所有的控制都只需用軟件程序來實(shí)現(xiàn),對(duì)于單片機(jī)來說,時(shí)

15、鐘程序遠(yuǎn)不夠它自身的承受量,所以只要程序編的合理,就能比較方便的實(shí)現(xiàn)。2、 時(shí)鐘模塊方案一:采用dallas公司的涓細(xì)充電時(shí)鐘芯片ds1302,該芯片通過簡(jiǎn)單的串行通信與單片機(jī)進(jìn)行通信,時(shí)鐘/日歷電路能夠?qū)崟r(shí)提供年、月、日、時(shí)分、秒信息,采用雙電源供電,當(dāng)外部電源掉電時(shí)能夠利用后備電池準(zhǔn)確計(jì)時(shí)。方案二:at89s52內(nèi)部含有2個(gè)定時(shí)器,可以利用一個(gè)定時(shí)器與程序計(jì)數(shù)器相結(jié)合的方式,在系統(tǒng)晶振的驅(qū)動(dòng)下,產(chǎn)生標(biāo)準(zhǔn)時(shí)鐘頻率。由于此方案具有較好的靈活性、較少的電路器件和較高的性價(jià)比,而且通過精確的軟件補(bǔ)償使精度完全可以滿足控制需要,所以我們選擇該方案完成設(shè)計(jì)。3、顯示模塊(1)顯示器件的選擇數(shù)碼管是利用

16、發(fā)光二極管的特性組合而成數(shù)字顯示器件,通過控制相應(yīng)的二極管的狀態(tài)顯示相應(yīng)的數(shù)字方案一:靜態(tài)顯示。靜態(tài)顯示就是當(dāng)顯示器顯示某一字符時(shí),相應(yīng)的發(fā)光二極管恒定的導(dǎo)通或截止。這種方式每一位都需要為輸出口控制,顯示位多的時(shí)侯,會(huì)造成資源浪費(fèi),不符合經(jīng)濟(jì)原則。方案二:動(dòng)態(tài)顯示。動(dòng)態(tài)顯示就是一位一位的輪流點(diǎn)兩各個(gè)位,對(duì)于顯示器的每一位來說就是每隔一段時(shí)間點(diǎn)亮一次。掃描速度夠快的話字符就不會(huì)閃爍。這個(gè)方案降低了功耗。方案三:采用液晶顯示。1602字符型液晶是一種專門用來顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣型液晶模塊 它有若干個(gè)5x7或者5x11等點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符。每位之間有一個(gè)點(diǎn)距的間

17、隔,每行之間也有也有間隔,起到了字符間距和行間距的作用。1602的驅(qū)動(dòng)電路帶有11條指令,可以很方便的控制液晶的現(xiàn)實(shí)效果如:清屏、左移右移、光標(biāo)顯示。而且1602顯示的字符在下一條指令為到來之前不會(huì)改變,也就是能夠維持顯示的字符,1602液晶占用的系統(tǒng)資源也少。但成本較高。方案四:采用點(diǎn)陣顯示,可做成表盤顯示,但是點(diǎn)陣顯示成本較高,同時(shí)所需資源也較多,控制比較繁瑣,編程較繁瑣。在考慮后我們選擇了數(shù)碼管動(dòng)態(tài)顯示。共需要8數(shù)碼管。(2)數(shù)碼管與單片機(jī)的接口選擇方案一:用74ls138集成芯片連接,對(duì)輸出端口進(jìn)行擴(kuò)展,這樣可以減少輸出端口,但在時(shí)鐘電路中所需控制的輸出設(shè)備不多,用這種方案會(huì)使外圍電路

18、復(fù)雜,而且一些p口閑置浪費(fèi)。方案二:直接與端口連接,使得外圍電路直觀簡(jiǎn)單,在編程序時(shí)也會(huì)顯得簡(jiǎn)單明了。4、設(shè)置模塊方案一:使用鍵盤控制,它的效果比較直觀,能直接根據(jù)需要按鍵,直接得出所需的數(shù)值,而且對(duì)程序的要求也不需很大,但使用的按鈕量較多,占的空間也較大,而且實(shí)際實(shí)用性不強(qiáng)。方案二采用獨(dú)立式按鍵電路,每個(gè)鍵單獨(dú)占有一根i/o接口線,每個(gè)i/o口的工作狀態(tài)互不影響,此類鍵盤采用端口直接掃描方式。缺點(diǎn)是當(dāng)按鍵較多時(shí)占用單片機(jī)的i/o數(shù)目較多,優(yōu)點(diǎn)是電路設(shè)計(jì)簡(jiǎn)單,且編程極其容易??紤]到時(shí)鐘控制在實(shí)際使用時(shí)的資源量并不大,使用按鈕控制可以大大減少按鍵的使用量。綜上,在完成任務(wù)所需的要求的前提下,我們

19、選擇盡量節(jié)約系統(tǒng)硬件的成本,能用軟件實(shí)現(xiàn)的都用軟件完成,如按鍵的消抖動(dòng)采用軟件延時(shí),顯示采用動(dòng)態(tài)顯示等。所以我們做選擇的方案是:at89s52芯片為核心,數(shù)碼管動(dòng)態(tài)顯示,利用按鈕開關(guān)進(jìn)行功能設(shè)置。三、原理設(shè)計(jì)1、基本原理電路是由控制部分和顯示部分兩大部分組成。利用單片機(jī)程序進(jìn)行控制,單片機(jī)以晶體振蕩器的振蕩周期(或外部引入的時(shí)鐘周期)為最小的時(shí)序單位,片內(nèi)的各種微操作都以此周期為時(shí)序基準(zhǔn)。在單片機(jī)內(nèi)部存儲(chǔ)器設(shè)6個(gè)字節(jié)分別存放時(shí)鐘的時(shí)、分、秒信息。利用定時(shí)器與軟件結(jié)合實(shí)現(xiàn)1秒定時(shí)中斷,每產(chǎn)生一次中斷,存儲(chǔ)器內(nèi)相應(yīng)的秒值加1;若秒值達(dá)到60,則將其清零,并將相應(yīng)的分字節(jié)值加1;若時(shí)值達(dá)到24,則將

20、十字節(jié)清零。年月日同理。2、電路仿真圖二3、 系統(tǒng)組成框圖(1)硬件結(jié)構(gòu)圖主控模塊數(shù)碼管顯示電路時(shí)鐘電路復(fù)位電路按鍵設(shè)置電路圖三(2)程序流程圖主程序開始設(shè)定定時(shí)器常數(shù)開中斷到一秒?顯示時(shí)間yn圖四t0中斷現(xiàn)場(chǎng)保護(hù)重裝定時(shí)器初值滿20次否?秒值加1滿60秒否?秒緩沖單元清零分值加1滿60分否?分緩沖單元清零時(shí)值加1滿24小時(shí)否?時(shí)緩沖單元清零恢復(fù)現(xiàn)場(chǎng)結(jié)束y圖五按鍵程序開始按下1次按下2次按下3次按下4次按下5次按下6次按下7次按下8次學(xué)號(hào)顯示秒表模式省電模式12/24切換日期調(diào)整日期顯示時(shí)間調(diào)整時(shí)間顯示返回圖六4、單元電路設(shè)計(jì)·主控單元方案一:?jiǎn)纹瑱C(jī)和數(shù)字芯片結(jié)合使用,這樣的好處是能

21、減少單片機(jī)的工作量,使電路不單純的只依賴于單片機(jī)工作,但是如果使用數(shù)字芯片,就有點(diǎn)違背題目初忠,單片機(jī)的功能也不能直觀的顯現(xiàn)出來。而且相對(duì)來說成本要高。電路也不夠簡(jiǎn)略。方案二:?jiǎn)为?dú)使用單片機(jī)控制,它的好處是外圍電路比較簡(jiǎn)單直觀,所有的控制都只需用軟件程序來實(shí)現(xiàn),對(duì)于單片機(jī)來說,時(shí)鐘程序遠(yuǎn)不夠它自身的承受量,所以只要程序編的合理,就能比較方便的實(shí)現(xiàn)。·晶體振蕩單元at89s52單片機(jī)的時(shí)鐘信號(hào)通常用兩種電路形式得到:內(nèi)部振蕩方式和外部振蕩方式。在引腳xtal1和xtal2外接晶體振蕩器(簡(jiǎn)稱晶振)或陶瓷諧振器,就構(gòu)成了內(nèi)部振蕩方式。由于單片機(jī)內(nèi)部有一個(gè)高增益反相放大器,當(dāng)外接晶振后,就

22、構(gòu)成了自激振蕩器并產(chǎn)生振蕩時(shí)鐘脈沖。圖七圖中,電容器c01,c02起穩(wěn)定振蕩頻率、快速起振的作用,其電容值一般在5-30pf。晶振頻率的典型值為12mh2。內(nèi)部振蕩方式所得的時(shí)鐘情號(hào)比較穩(wěn)定,實(shí)用電路中使用較多。·時(shí)鐘單元利用芯片內(nèi)部的振蕩器,然后在引腳xtal1和引腳 xtal2兩端接晶體諧振器,就構(gòu)成了穩(wěn)定的自激振蕩器,其發(fā)出的脈沖直接送入內(nèi)部的時(shí)鐘電路,如圖外接晶振時(shí),c1和c2的值通常選擇20pf; c1、c2對(duì)頻率有微調(diào)作用,晶體諧振器的頻率12mhz。為了減少寄生電容,更好地保證振蕩器穩(wěn)定、可靠地工作,振蕩器和電容應(yīng)盡可能安裝得與單片機(jī)芯片靠近。設(shè)置了24顯示狀

23、態(tài),調(diào)整星期、年、月、日、時(shí)、分、秒的調(diào)整的按鍵。·復(fù)位單元復(fù)位單元起到對(duì)系統(tǒng)進(jìn)行復(fù)位的功能。圖八·數(shù)碼管顯示單元設(shè)計(jì)八位數(shù)碼管作為時(shí)、分、秒顯示和年月日顯示的共用管,通過按鍵切換;一排顯示星期和溫度, 共陽極數(shù)碼管中8個(gè)發(fā)光二極管的陽極(二極管正端)連在一起。通常,公共陽極接高電平(一般接電源),其它管腳接段驅(qū)動(dòng)電路輸出端。當(dāng)某段驅(qū)動(dòng)電路的輸入端為低電平時(shí),該端所連接的字段導(dǎo)通并點(diǎn)亮。根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。圖九·按鍵設(shè)置單元本電路設(shè)計(jì)按鍵的時(shí)候,發(fā)揮部分要求按鍵控制盡量少,所以本電路只設(shè)計(jì)了四個(gè)按鍵。各按鍵功能如下:“模式切換” 按鍵:用

24、來切換不同的系統(tǒng)模式?!耙莆弧?按鍵:用來進(jìn)行調(diào)整模式下的移位?!凹右弧?按鍵:用來對(duì)要進(jìn)行改變的位進(jìn)行加一操作。“減一” 按鍵:用來對(duì)要進(jìn)行改變的位進(jìn)行減一操作。圖十5、總體電路圖圖十一6、元件列表at89s52 1片74ls04 2片共陽數(shù)碼管 8個(gè)按鈕開關(guān) 5個(gè)470電阻 8個(gè)1k電阻 4個(gè)10k電阻 1個(gè)10uf電容 2個(gè)40uf電容 1個(gè)0.1uf電容 1個(gè)30pf電容 2個(gè)12mhz晶振 1個(gè)四、方案實(shí)現(xiàn)與測(cè)試首先確保各器件的完好性,其次檢測(cè)各芯片的電源線和底線是否接觸良好,然后焊接期間,接好電源用萬用表檢測(cè)各電源端、地端的狀態(tài)是否正常。檢查無誤后插上at89s52并燒寫一個(gè)簡(jiǎn)易的

25、程序,觀察電路是否能協(xié)同工作。最后燒寫工作程序,更具現(xiàn)實(shí)現(xiàn)象調(diào)試程序直至成功。上電運(yùn)行時(shí),數(shù)碼管開始顯示設(shè)置的初始時(shí)間,時(shí)鐘開始走時(shí)。1、上電默認(rèn)下8位數(shù)碼管依次顯示xx-xx-xx,表示xx時(shí)xx分xx秒。2、按下“模式切換”鍵,依次顯示正常時(shí)間、時(shí)間調(diào)整、正常年月日、年月日調(diào)整、12/24小時(shí)切換、節(jié)電模式、秒表模式、學(xué)號(hào)顯示。3、在時(shí)間調(diào)整和年月日調(diào)整模式下,按下“移位”鍵改變調(diào)整的位置。再按“加一”“減一”鍵可改變所在位的值。4、12/24小時(shí)切換狀態(tài)下,按下“移位”鍵,對(duì)時(shí)間狀態(tài)進(jìn)行切換。5、在秒表模式下,按下“移位”鍵,對(duì)秒表進(jìn)行開始、停止、復(fù)位操作。五、參考書目李光飛,樓然苗,單

26、片機(jī)課程設(shè)計(jì)實(shí)例指導(dǎo),北京,北京航空航天大學(xué)出版社,2004常喜茂,孔英會(huì),c51基礎(chǔ)與應(yīng)用實(shí)例,北京,電子工業(yè)出版社,2009楊居義,單片機(jī)課程設(shè)計(jì)指導(dǎo),北京,清華大學(xué)出版社,2009樓然苗,李光飛,51系列單片機(jī)設(shè)計(jì)實(shí)例,北京,北京航空航天大學(xué)出版社,2006李廣弟,朱月秀,單片機(jī)基礎(chǔ)(第三版),北京,北京航空航天大學(xué)出版社,2007題目二一、課程設(shè)計(jì)的目的和要求1課題來源:老師和學(xué)生共同擬訂。2類型:實(shí)做。3目的和意義:掌握單片機(jī)的編程。4基本要求: 設(shè)計(jì)和制作一個(gè)溫度顯示器,可用鍵盤設(shè)置溫度的上限和下限,測(cè)量的溫度高于或低于設(shè)置的溫度時(shí),溫度顯示器報(bào)警。5設(shè)計(jì)過程:按照課程設(shè)計(jì)的要求,

27、經(jīng)過查閱資料和小組討論,我們先分析任務(wù)要求、確定解題思路,決定了大概的系統(tǒng)結(jié)構(gòu),共有5個(gè)模塊組成:主控制器、溫度傳感器、報(bào)警電路、按鍵預(yù)置溫度值電路及顯示電路。確定系統(tǒng)程序主要包括主程序、溫度控制子程序及顯示子程序等。然后畫流程圖、編寫程序最后進(jìn)行總體系統(tǒng)的調(diào)試和修改。6設(shè)計(jì)圖主控電路顯示電路溫度電路復(fù)位電路設(shè)置電路報(bào)警電路圖十二二、方案論證和選擇1、主控制器模塊主控制器的選擇對(duì)電路功能的實(shí)現(xiàn)尤為重要。方案一:?jiǎn)纹瑱C(jī)和數(shù)字芯片結(jié)合使用,這樣的好處是能減少單片機(jī)的工作量,使電路不單純的只依賴于單片機(jī)工作,但是如果使用數(shù)字芯片,就有點(diǎn)違背題目初忠,單片機(jī)的功能也不能直觀的顯現(xiàn)出來。而且相對(duì)來說成本

28、要高。電路也不夠簡(jiǎn)略。方案二:?jiǎn)为?dú)使用單片機(jī)控制,它的好處是外圍電路比較簡(jiǎn)單直觀,所有的控制都只需用軟件程序來實(shí)現(xiàn),對(duì)于單片機(jī)來說,時(shí)鐘程序遠(yuǎn)不夠它自身的承受量,所以只要程序編的合理,就能比較方便的實(shí)現(xiàn)。2、設(shè)置模塊方案一:使用鍵盤控制,它的效果比較直觀,能直接根據(jù)需要按鍵,直接得出所需的數(shù)值,而且對(duì)程序的要求也不需很大,但使用的按鈕量較多,占的空間也較大,而且實(shí)際實(shí)用性不強(qiáng)。方案二:采用獨(dú)立式按鍵電路,每個(gè)鍵單獨(dú)占有一根i/o接口線,每個(gè)i/o口的工作狀態(tài)互不影響,此類鍵盤采用端口直接掃描方式。缺點(diǎn)是當(dāng)按鍵較多時(shí)占用單片機(jī)的i/o數(shù)目較多,優(yōu)點(diǎn)是電路設(shè)計(jì)簡(jiǎn)單,且編程極其容易??紤]到時(shí)鐘控制在

29、實(shí)際使用時(shí)的資源量并不大,使用按鈕控制可以大大減少按鍵的使用量。3、溫度傳感模塊方案一:熱敏電阻是開發(fā)早、種類多、發(fā)展較成熟的敏感元器件熱敏電阻由半導(dǎo)體陶瓷材料組成,利用的原理是溫度引起電阻變化。通過一定的電路可以將周圍環(huán)境的溫度變化轉(zhuǎn)化成電壓的變化,通過ad轉(zhuǎn)化器件將信號(hào)傳輸給單片機(jī)進(jìn)行分析,從而測(cè)出當(dāng)前環(huán)境溫度,但誤差大,不穩(wěn)定,對(duì)環(huán)境要求較高。方案二:主控芯片使用51系列at89s52單片機(jī)設(shè)計(jì)時(shí)溫度模塊設(shè)計(jì)溫度元件用ad590,利用ad590以及接口電路把溫度轉(zhuǎn)換成模擬電壓,經(jīng)由adc0804轉(zhuǎn)換成數(shù)字信號(hào),然后經(jīng)at89s52處理顯示溫度。但由于ad590價(jià)錢比較貴,且只能轉(zhuǎn)換成模擬

30、電壓,這樣一來硬件就要增加更多的器件且又不經(jīng)濟(jì)方案三:18b20溫度傳感器價(jià)錢便宜且可以直接把溫度轉(zhuǎn)換成數(shù)字量測(cè)溫范圍為-55125度,最大分辨率可達(dá)0.0625度,采用3線制與單片機(jī)相連,減少了外部的硬件電路,具有低成本和易使用的特點(diǎn),所以我們選擇了18b20溫度傳感器。4、聲光報(bào)警模塊方案一:取用蜂鳴器和數(shù)只發(fā)光二極管組成,電路簡(jiǎn)單,單片機(jī)編程容易,調(diào)試簡(jiǎn)單,但電路的可觀性與娛樂性不高。方案二: 利用單片機(jī)編程控制音樂芯片和發(fā)光管作不同的閃爍,可觀性與娛樂性都大大提高,又能突出單片機(jī)在多功能控制的特點(diǎn)。5、顯示電路模塊(1)顯示器件的選擇:方案一:采用數(shù)碼管顯示,這種顯示方法比較直觀,也比

31、較切合現(xiàn)實(shí)生活,而且對(duì)于電路的設(shè)計(jì)來說比較方便,節(jié)省了電路板的空間,使用三極管驅(qū)動(dòng)后所需電壓也相對(duì)較低,穩(wěn)定性也相對(duì)較高,而且編程較簡(jiǎn)單。方案二:使用液晶顯示器液晶顯示器可以顯示多種字符及圖形,擁有友好的人機(jī)界面及強(qiáng)大的顯示功能。特別適用于智能控制的可編程人性化顯示。但是技術(shù)含量過高,實(shí)現(xiàn)非常復(fù)雜,需要完成大量的顯示工作,其功能也是最強(qiáng)大的。但由于我們所設(shè)計(jì)系統(tǒng)無須如此復(fù)雜便可加以實(shí)現(xiàn),而且考慮到市場(chǎng)價(jià)格問題(2)由于先前的數(shù)字時(shí)鐘的顯示器件數(shù)量夠本系統(tǒng)使用,故不作變動(dòng)。5、聲光報(bào)警模塊方案一:取用蜂鳴器和一個(gè)發(fā)光二極管組成,電路簡(jiǎn)單,單片機(jī)編程容易,調(diào)試簡(jiǎn)單,但電路的可觀性與娛樂性不高。綜上

32、,在完成任務(wù)所需的要求的前提下,我們選擇盡量節(jié)約系統(tǒng)硬件的成本,能用軟件實(shí)現(xiàn)的都用軟件完成,如按鍵的消抖動(dòng)采用軟件延時(shí),顯示采用動(dòng)態(tài)顯示等。所以我們做選擇的方案是:at89s52芯片為核心,數(shù)碼管動(dòng)態(tài)顯示,利用按鈕開關(guān)進(jìn)行功能設(shè)置,溫度傳感選用ds18b20芯片,報(bào)警選用蜂鳴器和發(fā)光二極管。三、原理設(shè)計(jì)1、基本原理利用單片機(jī)89s52作為本系統(tǒng)的中控模塊。電路設(shè)有四個(gè)按鍵,一個(gè)為功能選擇開關(guān),能夠選擇顯示測(cè)量的環(huán)境溫度及設(shè)置溫度的上、下限;第二個(gè)為“移位”按鈕,能夠?qū)崿F(xiàn)數(shù)碼管的位移動(dòng);第三個(gè)為“加”按鈕,能夠?qū)崿F(xiàn)數(shù)字的遞增;第四個(gè)為“減”按鈕。電路程序取用單片機(jī)內(nèi)部其中一個(gè)定時(shí)中斷系統(tǒng)作為基準(zhǔn)

33、秒頻,這樣能夠使cpu達(dá)到最大利用。功能調(diào)節(jié)時(shí)顯示電路仍然能夠達(dá)到同步顯示。單片基可把有ds18b20讀來的數(shù)據(jù)利用軟件來進(jìn)行處理,從而把數(shù)據(jù)傳輸?shù)絣ed數(shù)碼管顯示模塊中,實(shí)現(xiàn)溫度的顯示。當(dāng)測(cè)量的溫度高于或低于設(shè)置的溫度時(shí),發(fā)光管會(huì)亮同時(shí)蜂鳴器報(bào)警。2、電路仿真圖十三4、 系統(tǒng)組成框圖(1)硬件組成框圖主控電路顯示電路溫度電路復(fù)位電路設(shè)置電路圖十四開始初始化設(shè)置溫度上限、下限測(cè)量環(huán)境溫度顯示設(shè)置溫度環(huán)境溫度與社設(shè)置溫度比較環(huán)境溫度高于設(shè)置溫度?環(huán)境溫度低于設(shè)置溫度?yynn(2)程序流程圖圖十五4、單元電路設(shè)計(jì):·單片機(jī)主控模塊at89s52功能特性描述:at89s52是一種低功耗、

34、高性能cmos8位微控制器,具有8k 在系統(tǒng)可編程flash 存儲(chǔ)器。使用atmel 公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80c51 產(chǎn)品指令和引腳完全兼容。片上flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位cpu 和在系統(tǒng)可編程flash,使得at89s52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。at89s52具有以下標(biāo)準(zhǔn)功能:8k字節(jié)flash,256字節(jié)ram,32 位i/o 口線,看門狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè)16 位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,at89s52 可降至0hz

35、靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,cpu停止工作,允許ram、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,ram內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。圖十六 at89s52引腳結(jié)構(gòu)圖·設(shè)置模塊本電路設(shè)計(jì)按鍵的時(shí)候,發(fā)揮部分要求按鍵控制盡量少,所以本電路只設(shè)計(jì)了四個(gè)按鍵。各按鍵功能如下:a、“切換” 按鍵:用來轉(zhuǎn)換功能。b、“移位” 按鍵:用來控制數(shù)碼管的位。c、“加” 按鍵:用來實(shí)現(xiàn)數(shù)據(jù)遞增。d、“減” 按鍵:用來實(shí)現(xiàn)數(shù)據(jù)遞減。圖十七·溫度傳感模塊主要由ds18b20單線數(shù)字溫度傳感器通過單片機(jī)at89s52

36、中的溫度程序不斷的檢測(cè)溫度來顯示溫度溫度傳感器ds18b20采集溫度信號(hào)送該給單片機(jī)處理,存儲(chǔ)器通過單片機(jī)對(duì)某些時(shí)間點(diǎn)的數(shù)據(jù)進(jìn)行存儲(chǔ),電路如下圖所示:圖十八18b20溫度傳感器工作原理:ds18b20溫度傳感器是美國dallas半導(dǎo)體公司最新推出的一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測(cè)溫元件相比,它能直接讀出被測(cè)溫度,并可根據(jù)實(shí)際要求通過簡(jiǎn)單的編程實(shí)現(xiàn)912位的數(shù)字值讀數(shù)方式。溫度傳感器ds18b20采集溫度信號(hào)送該給單片機(jī)處理,存儲(chǔ)器通過單片機(jī)對(duì)某些時(shí)間點(diǎn)的數(shù)據(jù)進(jìn)行存儲(chǔ);,ds18b20的性能特點(diǎn)如下: 1、獨(dú)特的單線接口僅需要一個(gè)引腳進(jìn)行通信; 2、采用單總線專用技術(shù),既可通過串行

37、口線,也可通過其它i/o口線與微機(jī)接口,無須經(jīng)過其它變換電路,直接輸出被測(cè)溫度值(9位二進(jìn)制數(shù),含符號(hào)位); 3、測(cè)溫范圍為-55-+125,測(cè)量分辨率為0.0625; 4、適配各種單片機(jī)或系統(tǒng)機(jī); 5、零待機(jī)功耗; 6、內(nèi)含64位經(jīng)過激光修正的只讀存儲(chǔ)器rom; 7、用戶可定義的非易失性溫度報(bào)警設(shè)置; 8、用戶可分別設(shè)定各路溫度的上、下限;·顯示模塊顯示部分一路采用普通共陽極數(shù)碼管顯示,采用動(dòng)態(tài)掃描,以減少硬件電路??紤]到一次掃描12位數(shù)碼管顯示時(shí)會(huì)出現(xiàn)閃爍情況,設(shè)計(jì)八位數(shù)碼管作為溫度顯示的共用管,通過按鍵切換。數(shù)碼管的ah分別并聯(lián)在一起,由單片機(jī)的p0口控制,每只數(shù)碼管的共陽極分

38、別接一個(gè)74ls04,具有改變電平作用。圖十九·聲光報(bào)警模塊聲光報(bào)警電路主要由led和蜂鳴器構(gòu)成。當(dāng)測(cè)試的溫度超出限制溫度時(shí),led亮,蜂鳴器發(fā)出聲音。圖二十5、總體電路圖圖二十一6、元件列表at89s52 1片74ls04 2片共陽數(shù)碼管 8個(gè)按鈕開關(guān) 5個(gè)470電阻 8個(gè)1k電阻 5個(gè)10k電阻 1個(gè)10uf電容 2個(gè)40uf電容 1個(gè)0.1uf電容 1個(gè)30pf電容 2個(gè)12mhz晶振 1個(gè)ds18b20 1個(gè)9012 1個(gè)蜂鳴器 1個(gè)發(fā)光二極管 1個(gè)四、方案實(shí)現(xiàn)與測(cè)試1、調(diào)試過程系統(tǒng)的調(diào)試以程序?yàn)橹?。硬件調(diào)試比較簡(jiǎn)單,首先檢查電路的焊接是否正確,然后可用萬用表測(cè)試或通電檢測(cè)。

39、軟件調(diào)試可以先編寫顯示程序并進(jìn)行硬件的正確性檢驗(yàn),然后分別進(jìn)行主程序、預(yù)置數(shù)、報(bào)警子程序等的編程及調(diào)試,由于ds18b20與單片機(jī)串行數(shù)據(jù)傳送,因此,對(duì)ds18b20進(jìn)行編程時(shí)必須嚴(yán)格的保證讀寫時(shí)序,否則將無法讀取測(cè)量結(jié)果。本程序采用c語言編寫,用keil uvision3編譯器編程及isis仿真軟件仿真。軟件調(diào)試到能顯示溫度值,而且在有溫度變化時(shí)(例如用手去接觸)顯示溫度改變。2、測(cè)試結(jié)果當(dāng)電路加上+5v的電源時(shí),數(shù)碼管能顯示環(huán)境的溫度,通過調(diào)節(jié)按鈕,擔(dān)當(dāng)測(cè)量的環(huán)境溫度高于或低于設(shè)置的溫度上下限時(shí),發(fā)光管亮并且蜂鳴器會(huì)響。當(dāng)用手握住傳感器ds18b20一段時(shí)間后,如果數(shù)碼管顯示的溫度高于設(shè)置

40、的溫度上限時(shí),發(fā)光管也會(huì)亮并且蜂鳴器也會(huì)響。五、參考書目李光飛,樓然苗,單片機(jī)課程設(shè)計(jì)實(shí)例指導(dǎo),北京,北京航空航天大學(xué)出版社,2004常喜茂,孔英會(huì),c51基礎(chǔ)與應(yīng)用實(shí)例,北京,電子工業(yè)出版社,2009楊居義,單片機(jī)課程設(shè)計(jì)指導(dǎo),北京,清華大學(xué)出版社,2009樓然苗,李光飛,51系列單片機(jī)設(shè)計(jì)實(shí)例,北京,北京航空航天大學(xué)出版社,2006李廣弟,朱月秀,單片機(jī)基礎(chǔ)(第三版),北京,北京航空航天大學(xué)出版社,2007課程設(shè)計(jì)總結(jié)經(jīng)過三周的課程設(shè)計(jì),讓我們對(duì)數(shù)字時(shí)鐘電路設(shè)計(jì)與制作和數(shù)字溫度計(jì)設(shè)計(jì)與制作有了一定的了解,系統(tǒng)經(jīng)過多次的調(diào)試和修改,最后把電路給完全的成功運(yùn)行。同時(shí)這次的課程實(shí)際也讓我們了解到

41、,光從書上找到的資料有許多的不足之處,要我們有足夠的知識(shí)基礎(chǔ)和對(duì)程序的理解能力,把這些知識(shí)進(jìn)行融會(huì)貫通才能達(dá)到精益求精來確保電路的成功率。在制作數(shù)字時(shí)鐘電路的時(shí)候遇到的問題比較麻煩。在電路硬件設(shè)計(jì)上,我們?cè)仁鞘褂萌龢O管來驅(qū)動(dòng)數(shù)碼管運(yùn)行,但在仿真運(yùn)行時(shí)數(shù)碼管不能顯示數(shù)字。我們改變了一些硬件方面的構(gòu)造,把驅(qū)動(dòng)數(shù)碼管的部分由三極管改為非門來驅(qū)動(dòng),經(jīng)過修改程序之后仿真,系統(tǒng)的運(yùn)行結(jié)果終于能夠能夠達(dá)到任務(wù)的設(shè)計(jì)要求。對(duì)我們來說在設(shè)計(jì)程序上是比較困難的,因?yàn)槠綍r(shí)很少研究這些方面的知識(shí),所以有些棘手。我們選擇用c語言編程,在剛開始編程時(shí),有一些的語句不懂它所包含的意思,通過查閱文獻(xiàn)資料和咨詢老師和同學(xué)慢慢

42、了解并使用編程語句。在程序結(jié)構(gòu)方面,我們采用最簡(jiǎn)單的結(jié)構(gòu),方便編程和程序的后期修改。這次設(shè)計(jì)是用單片機(jī)來主控系統(tǒng)的,在對(duì)單片機(jī)的了解方面,以前只有簡(jiǎn)單的了解51系列的功能,這次是更加深入的理解它每個(gè)管腳所提供的信號(hào)。在制作數(shù)字溫度計(jì)的時(shí)候,在硬件方面讓我們覺得比較簡(jiǎn)單,我們只要在原有的數(shù)字時(shí)鐘電路上添加了溫度傳感器和聲光報(bào)警部分,所以這次硬件設(shè)計(jì)不像設(shè)計(jì)數(shù)字時(shí)鐘那樣麻煩。但在加入的元器件中,有一個(gè)溫度傳感器需要我們?nèi)ザ喽嗟牧私馑?,?jīng)過多方面的查閱資料,確定使用ds18b20來實(shí)現(xiàn)傳感溫度,同時(shí)了解它是如何實(shí)現(xiàn)溫度轉(zhuǎn)換的。在軟件編程方面,我們主要沿用了數(shù)字時(shí)鐘的編程思路,在它的基礎(chǔ)之上,添加有關(guān)

43、ds18b20的編程,例如它的初始化、讀寫字節(jié)及讀出溫度。在進(jìn)行仿真時(shí),不停的調(diào)試程序,直到電路能夠準(zhǔn)確的顯示溫度。在超出設(shè)置溫度時(shí),報(bào)警器報(bào)警。雖然這次的課程設(shè)計(jì)已經(jīng)完成,但它還存在一些待改進(jìn)的方面。1、數(shù)碼管如果能用四位一體的話,就可以減少連線,節(jié)約資源。2、鬧鐘功能,在鬧鐘響時(shí),可以采用一片音樂芯片,使鬧鐘報(bào)時(shí)的聲音更加悅耳。3、整點(diǎn)報(bào)時(shí)功能,在時(shí)鐘到達(dá)整點(diǎn)時(shí),系統(tǒng)發(fā)出整點(diǎn)提示音。4、可以把數(shù)字時(shí)鐘和溫度顯示融合在一起。5、增加星期顯示。6、在響鈴的同時(shí),出現(xiàn)彩燈循環(huán)時(shí),能夠在視覺上有煥然一新的體驗(yàn)。7、在報(bào)警時(shí)設(shè)置不同的響鈴方式,讓我們可以了解溫度是超出上限還是低于下限,有利于觀察和記

44、錄。這次課程設(shè)計(jì)中,我們組經(jīng)過團(tuán)結(jié)努力而設(shè)計(jì)出電路,讓我們有很大的成就感,在協(xié)作的過程中增進(jìn)了同學(xué)之間的友誼和默契,同時(shí)也加深了我們對(duì)單片機(jī)編程的了解與運(yùn)用。通過此次設(shè)計(jì)能夠更加牢固的掌握單片機(jī)的應(yīng)用技術(shù),增強(qiáng)動(dòng)手能力、硬件設(shè)計(jì)能力以及軟件設(shè)計(jì)能力。個(gè)人總結(jié) 應(yīng)電0711 35號(hào) 趙莉課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和解決實(shí)際問題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過程.隨著科學(xué)技術(shù)發(fā)展的日新日異,單片機(jī)已經(jīng)成為當(dāng)今計(jì)算機(jī)應(yīng)用中空前活躍的領(lǐng)域,在生活中可以說得是無處不在。因此作為二十一世紀(jì)的大學(xué)來說掌握單片機(jī)的開發(fā)技術(shù)是十分重要的。回顧起此次單片機(jī)

45、課程設(shè)計(jì),我感慨頗多,其中最深的當(dāng)屬單片機(jī)的編程和調(diào)試了。為了讓自己的調(diào)試結(jié)果更加完善,查閱這方面的設(shè)計(jì)資料十分必要且必不可少。我們做的單片機(jī)實(shí)訓(xùn)任務(wù),一切都按造有據(jù)可依,有理可尋來進(jìn)行,憑空想象是無法無法做出實(shí)物的。同時(shí)軟件與硬件要相對(duì)應(yīng),以免運(yùn)行不了,讓所做的努力白費(fèi)。其次,在這次課程設(shè)計(jì)中,我不僅可以鞏固了以前所學(xué)過的知識(shí),而且學(xué)到了很多在書本上所沒有學(xué)到過的知識(shí)。通過這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。同時(shí)在設(shè)計(jì)的過程中遇到許多問題,畢竟第一次做,

46、難免會(huì)遇到過各種各樣的問題,在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過的知識(shí)理解得不夠深刻,掌握得不夠牢固,比如說不懂一些元器件的使用方法,對(duì)單片機(jī)c語言掌握得不好。課程設(shè)計(jì)之后,一定把以前所學(xué)過的知識(shí)重新溫故。最后,我覺得再做任何事之前都要做好準(zhǔn)備。在設(shè)計(jì)之前,我們要對(duì)所用單片機(jī)的內(nèi)部結(jié)構(gòu)有一個(gè)系統(tǒng)的了解,知道該單片機(jī)內(nèi)有哪些構(gòu)成;在編程之前頭腦中,要有一個(gè)清晰的思路和一個(gè)完整的流程圖;設(shè)計(jì)程序時(shí),不可能一次就將整個(gè)程序設(shè)計(jì)好,反復(fù)修改、不斷改進(jìn)是程序設(shè)計(jì)的必經(jīng)之路;要養(yǎng)成注釋程序的好習(xí)慣,這樣不僅讓自己在修改程序時(shí)方便,也可以讓讀程序的人能夠?qū)δ愕某绦蛴幸粋€(gè)清晰的認(rèn)識(shí),這樣也為學(xué)習(xí)和

47、交流提供了方便。不僅僅是單片機(jī)的內(nèi)部構(gòu)造,還有所用到的其他芯片,我們都必須認(rèn)真仔細(xì)的了解它,才能更好的在電路中運(yùn)用它們,在遇到錯(cuò)誤時(shí)能及時(shí)的修正。在團(tuán)隊(duì)合作時(shí),要把團(tuán)隊(duì)精神發(fā)揮到最大,有事一起做,有錯(cuò)一起改,分工明確,團(tuán)結(jié)一致才能把事情很好的完成。這次課程設(shè)計(jì)終于順利完成了,在設(shè)計(jì)中遇到了很多編程問題,最后在孫秀強(qiáng)、劉新月老師的辛勤指導(dǎo)下,終于游逆而解。同時(shí),在孫秀強(qiáng)、劉新月老師那里我學(xué)得到很多實(shí)用的知識(shí),在此我表示感謝!同時(shí),對(duì)給過我?guī)椭乃型瑢W(xué)和各位指導(dǎo)老師再次表示忠心的感謝! 個(gè)人總結(jié) 應(yīng)電0711 36號(hào) 程春林在這次的課程設(shè)計(jì)作品的制作讓我對(duì)單片機(jī)的理論有了更加深入的了解,同時(shí)在具

48、體的制作過程中我發(fā)現(xiàn):現(xiàn)在書本上的知識(shí)與實(shí)際的應(yīng)用存在著不小的差距,書本上的很多知識(shí)都是理想化后的結(jié)論,忽略了很多實(shí)際的因素,或者涉及的不全面,可在實(shí)際的應(yīng)用時(shí)這些是不能被忽略的,我不得不考慮這方面的問題,這讓我無法根據(jù)書上的理論就直接得到預(yù)想中的結(jié)果,有時(shí)理論結(jié)果與實(shí)際差別很大甚至不對(duì)。通過這次實(shí)踐使我更深刻的體會(huì)到了理論聯(lián)系實(shí)際的重要性,這使我在今后的學(xué)習(xí)工作中會(huì)更加的注重實(shí)際,避免只會(huì)紙上談兵。在本次設(shè)計(jì)的過程中,我發(fā)現(xiàn)很多的問題。雖然以前做過數(shù)字的課程設(shè)計(jì),但這次設(shè)計(jì)真的讓我長(zhǎng)進(jìn)了很多。單片機(jī)課程設(shè)計(jì)重點(diǎn)就在于軟件算法的設(shè)計(jì),需要有很巧妙的程序算法,雖然以前寫過幾次簡(jiǎn)單的程序,但我覺得

49、寫好一個(gè)程序并不是一件簡(jiǎn)單的事。有好多的東西,只有讓我去試著做了,才能真正的掌握,只學(xué)習(xí)理論方面的知識(shí),會(huì)有很多東西是很難理解的,更談不上掌握。 這次的設(shè)計(jì)使我認(rèn)識(shí)到我對(duì)單片機(jī)方面的知識(shí)知道的太少了,對(duì)于書本上的很多知識(shí)還不能靈活運(yùn)用,有很多需要我掌握的知識(shí)在等著我去學(xué)習(xí),我會(huì)在以后的學(xué)習(xí)生活中彌補(bǔ)我所缺少的知識(shí)。本次的設(shè)計(jì)使我從中學(xué)到了一些很重要的東西,那就是如何從理論到實(shí)踐的轉(zhuǎn)化,怎樣將我所學(xué)到的知識(shí)運(yùn)用到我以后的工作中去。在大學(xué)課堂的學(xué)習(xí)只是在給我灌輸專業(yè)知識(shí),而我應(yīng)思考把所學(xué)的知識(shí)如何用到我們現(xiàn)實(shí)的生活中去,此次的數(shù)字時(shí)鐘設(shè)計(jì)給我奠定了一個(gè)實(shí)踐基礎(chǔ),我會(huì)在以后的學(xué)習(xí)、生活中磨練自己,使

50、自己適應(yīng)于以后的競(jìng)爭(zhēng)。本次課程設(shè)計(jì),使得我對(duì)四年來學(xué)習(xí)過的知識(shí)比如:電路,數(shù)、模電子技術(shù),單片機(jī)技術(shù)的使用等有了更進(jìn)一步的認(rèn)識(shí)。同時(shí),也培養(yǎng)了我的動(dòng)手能力以及抗壓能力,也鍛煉了我獨(dú)立思考和獨(dú)立完成任務(wù)的能力。在本次設(shè)計(jì)中,我不但查閱了很多書本上的資料,也通過網(wǎng)絡(luò)查閱到了很多的編程方面知識(shí)(c語言和匯編)以及各種芯片的功能、結(jié)構(gòu)、編程等方面的知識(shí)。特別是關(guān)于ds18b20的知識(shí)都是從網(wǎng)絡(luò)查找的。以前從來沒有特別關(guān)注過各種芯片的資料,只有在需要用到的時(shí)候才會(huì)去了解它,但過沒多久就會(huì)把它給忘了。但我以后會(huì)隨時(shí)隨地去了解在專業(yè)知識(shí)中運(yùn)用到的芯片資料。在這次的課程設(shè)計(jì)中,我負(fù)責(zé)了程序的編寫和修改,并進(jìn)行

51、仿真。雖然編程很難,但在組員的協(xié)助下,還是調(diào)試并完成了。從這次的課程設(shè)計(jì)中,我真正的意識(shí)到,在以后的學(xué)習(xí)中,要理論聯(lián)系實(shí)際,把我們所學(xué)的理論知識(shí)用到實(shí)際當(dāng)中,學(xué)習(xí)單機(jī)片機(jī)更是如此,程序只有在經(jīng)常的寫與讀的過程中才能提高,這就是我在這次課程設(shè)計(jì)中的最大收獲。我也深刻的了解到:只要努力用心的去做每一件事,一定會(huì)有成功的收獲! 個(gè)人總結(jié)應(yīng)電0711 37號(hào) 董江妍經(jīng)過這三周的課程設(shè)計(jì),讓我對(duì)單片機(jī)有了進(jìn)一步的了解,對(duì)單片機(jī)的編程加深了印象。同時(shí)把單片機(jī)的應(yīng)用軟件加以熟練的運(yùn)用。在課程設(shè)計(jì)的第一周,我把從圖書館借來的書仔細(xì)的看一下,然后把所需的課題找出來,再仔細(xì)研究一下。根據(jù)任務(wù)書上的要求,找到與他相

52、對(duì)應(yīng)的硬件圖,同時(shí)分析它能實(shí)現(xiàn)的功能。等研究過后確定方案,列出硬件元件清單,為焊接電路做好準(zhǔn)備。在拿到元件時(shí),檢查各個(gè)元件的好壞,以確保電路能正常運(yùn)行。方案確定了以后就開始為軟件編程做準(zhǔn)備。在找到的編程程序中,不斷分析各句語句所代表的意思,然后在它的基礎(chǔ)上修改程序。我們經(jīng)過一周的準(zhǔn)備工作,在這一周開始進(jìn)行焊接和調(diào)試。我們先做的是數(shù)字時(shí)鐘電路,需顯示的東西有年月日,時(shí)分秒,學(xué)號(hào),秒表及省電。由于用到的數(shù)碼管太多,所以在連接時(shí)較麻煩,每個(gè)數(shù)碼管上“a”“b”“c”“d”“e”“f”“g”“h”都必須相連接,為了確保不讓管腳短接,所以特別的小心。另外,三極管的管腳也必須明確,以免焊錯(cuò),不能使電路運(yùn)行

53、。但是,當(dāng)電路在進(jìn)行調(diào)試時(shí),它還是不能運(yùn)行。通過檢查發(fā)現(xiàn),三極管不能給數(shù)碼管提供低電平。結(jié)合別人的電路,討論過后決定用非門代替三極管,非門可以把高電平轉(zhuǎn)換為低電平,給數(shù)碼管提供低電平。把元件調(diào)整以后,在進(jìn)行調(diào)試數(shù)碼管終于可以正常的顯示了。但在同時(shí)也讓我們思考,為什么有些人用三極管可以讓電路正常的運(yùn)行,我們就不行。為什么書上大多數(shù)都是使用三極管來為數(shù)碼管提供電平。在調(diào)試成功的同時(shí),我們必須了解元器件在電路中的作用。在最后一周,我們要做的是數(shù)字溫度計(jì)。溫度計(jì)的電路是在時(shí)鐘電路的基礎(chǔ)上添加傳感器及報(bào)警器來實(shí)現(xiàn)的,在硬件方面上它不需要大幅度的修改,但在軟件上卻大大相反。它需添加的程序是在原有的基礎(chǔ)上修

54、改按鍵的順序及內(nèi)容。如果不小心把程序改錯(cuò)了,那就又是一個(gè)麻煩。在同時(shí),也必須把程序完全弄懂,才能隨時(shí)隨地的按要求修改程序。在此次課程設(shè)計(jì)時(shí),讓我們對(duì)有關(guān)單片機(jī)方面的知識(shí)及它所使用的軟件有了更進(jìn)一步的了解。俗話說“好的開始是成功的一半”。說這次實(shí)習(xí),我認(rèn)為最重要的就是做好程序調(diào)試,認(rèn)真的研究老師給的題目。同時(shí)要重視程序的模塊化,修改的方便,也要注重程序的調(diào)試,掌握其方法。 與此同時(shí)更讓我對(duì)學(xué)習(xí)態(tài)度以及做人上有了更好的理解,在學(xué)習(xí)態(tài)度上,要檢討自己的失誤和對(duì)做事時(shí)的嚴(yán)謹(jǐn)及毅力和決心。在做人上,要虛心求教,有面對(duì)和挑戰(zhàn)困難的勇氣,這樣就不怕沒啥事是做不成的。同時(shí)學(xué)會(huì)了如何去培養(yǎng)我們的創(chuàng)新精神,從而不

55、斷地戰(zhàn)勝自己,超越自己,這是對(duì)自己的期望。 附數(shù)字時(shí)鐘程序#include "at89x51.h" #define uchar unsigned char #define uint unsigned int uchar code tab=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; uchar n,time; uchar hh,mm,ss; uchar day,mon,year; uchar hhs,hhg,mms,mmg,sss,ssg; uchar days,dayg,mons,mong,years,yearg,w

56、eek;uchar bb,mb;uchar bbs,bbg,mbb,mbs,mbg;uchar set1=1,set2=1; sbit k1=p10; sbit k2=p11; sbit k3=p12; sbit k4=p13; sbit s0=p20; sbit s1=p21; sbit s2=p22; sbit s3=p23; sbit s4=p24; sbit s5=p25; sbit s6=p26; sbit s7=p27; uchar table1=31,31,29,31,30,31,30,31,31,30,31,30,31; /閏年 uchar table2=31,31,28,31

57、,30,31,30,31,31,30,31,30,31; /非閏年 void jishi(); void set_time(); void set_zhuanhuan();void set_mdw(); void key_change();void key_set();void miaobiao();void delay(int m) /延時(shí)程序,延時(shí)m*0.5ms uint i; uint j; for (i=0;i<m;i+) for(j=0;j<500;j+) void timer0() interrupt 1 th0=0x3c;tl0=0xb0;n+; jishi(); /

58、主函數(shù)main() tmod=0x11;tl1=(65536-1000)%256; th1=(65536-1000)/256; /定時(shí)器1賦初值tl0=0xb0; th0=0x3c; /定時(shí)器0賦初值et0=1; /開定時(shí)器1tr0=1; /定時(shí)器0工作pt0=1; /設(shè)置定時(shí)器0為優(yōu)先級(jí)ea=1; /開總中斷hh=10;mm=12;ss=00; year=11;mon=3;day=2;week=4; while(1) hhs=hh/10%10;/時(shí)分秒 hhg=hh%10; mms=mm/10%10; mmg=mm%10; sss=ss/10%10; ssg=ss%10; days=day/

59、10%10;/年月日 dayg=day%10; mons=mon/10%10; mong=mon%10;years=(year%1000)/10%10;yearg=(year%1000)%10;bbs=bb/10%10;bbg=bb%10;mbb=mb/100%100; mbs=mb/10%10; mbg=mb%10;key_change(); /k1按鍵掃描 key_set(); /k2按鍵掃描 set_time(); /設(shè)置時(shí)間 set_mdw(); /設(shè)置年月日 set_zhuanhuan();/設(shè)置轉(zhuǎn)換miaobiao();if(set1=1) /正常走時(shí)顯示 p0=tabhhs;s0

60、=0;delay(1);s0=1;/時(shí)十位 p0=tabhhg;s1=0;delay(1);s1=1;/時(shí)個(gè)位 p0=0xbf;s2=0;delay(1);s2=1;/"-" p0=tabmms;s3=0;delay(1);s3=1;/分十位 p0=tabmmg;s4=0;delay(1);s4=1;/分個(gè)位 p0=0xbf;s5=0;delay(1);s5=1;/"-" p0=tabsss;s6=0;delay(1);s6=1;/秒十位 p0=tabssg;s7=0;delay(1);s7=1;/秒個(gè)位 if(set1=2) /設(shè)置時(shí)間 p0=tabhhs;s0=0;delay(1);s0=1;/時(shí)十位 p0=tabhhg;s1=0;delay(1);s1=1;/時(shí)個(gè)位 p0=0xbf;s2=0;delay(1);s2=1;/"-" p0=tabmms;s3=0;delay(1);s3=1;/分十位 p0=tabmmg;s4=0;delay(1);s4=1;/分個(gè)位 p0=0xbf;s5=0;delay(1);s5=1;/"-"

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論