單片機課程設計基于PROTEUS的多功能數字電子鐘的設計_第1頁
單片機課程設計基于PROTEUS的多功能數字電子鐘的設計_第2頁
單片機課程設計基于PROTEUS的多功能數字電子鐘的設計_第3頁
單片機課程設計基于PROTEUS的多功能數字電子鐘的設計_第4頁
單片機課程設計基于PROTEUS的多功能數字電子鐘的設計_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、單片機課程設計基于proteus的多功能數字電子鐘的設計 前 言單片機技術是現代電子工程領域一門迅速發(fā)展的技術,它的應用已經滲透到各種嵌入式系統(tǒng)中??梢院敛豢鋸埖卣f:掌握單片機技術是電子信息類專業(yè)學生就業(yè)的一個重要條件。同時單片機技術又是一門實踐性很強的學科。課程設計教學環(huán)節(jié)的設計和實施,在很大程度上決定了學生對單片機技術的掌握程度。為了更好地完成課程設計這一重要教學環(huán)節(jié),我們采用proteus軟件與keil軟件整合構建單片機虛擬實驗平臺。學生首先在pc上利用proteus軟件自己搭建硬件電路,并利用系統(tǒng)提供的功能完成電路分析、系統(tǒng)調試和輸出顯示的硬件設計部分;同時在keil軟件中編制程序,進

2、行相應的編譯和仿真,完成系統(tǒng)的軟件設計部分。當系統(tǒng)的設計工作完成后,學生可以在pc上看到最終的運行效果。最后再通過proteus設計pcb,再完成真正硬件的調試。采用以上方案具有以下優(yōu)勢:有利于促進課程和教學改革,更有利于人才的培養(yǎng);從經濟性、可移植性、可推廣性角度講,建立這樣的課程設計平臺是非常有意義的;利用仿真系統(tǒng),可以節(jié)約開發(fā)時間和開發(fā)成本;利用仿真系統(tǒng),具有很大的靈活性和可擴展性。第一章 概述proteus isis是英國labcenter公司開發(fā)的電路分析與實物仿真軟件。它運行于windows操作系統(tǒng)上,可以仿真、分析(spice)各種模擬器件和集成電路,該軟件的特點是:實現了單片機

3、仿真和spice電路仿真相結合。具有模擬電路仿真、數字電路仿真、單片機及其外圍電路組成的系統(tǒng)的仿真、rs232動態(tài)仿真、i2c調試器、spi調試器、鍵盤和lcd系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。支持主流單片機系統(tǒng)的仿真。目前支持的單片機類型有:68000系列、8051系列、avr系列、pic12系列、pic16系列、pic18系列、z80系列、hc11系列以及各種外圍芯片。提供軟件調試功能。在硬件仿真系統(tǒng)中具有全速、單步、設置斷點等調試功能,同時可以觀察各個變量、寄存器等的當前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時支持第三方的軟件編譯和調試環(huán)境

4、,如keil c51 uvision2等軟件。具有強大的原理圖繪制功能??傊?,該軟件是一款集單片機和spice分析于一身的仿真軟件,功能極其強大。本章介紹proteus isis軟件的工作環(huán)境和一些基本操作。一、進入proteus isis雙擊桌面上的isis 6 professional圖標或者單擊屏幕左下方的“開始”“程序”“proteus 6 professional” “isis 6 professional”,出現如圖1-1所示屏幕,表明進入proteus isis集成環(huán)境。圖1-1 啟動時的屏幕二、工作界面proteus isis的工作界面是一種標準的windows界面,如圖1-2

5、所示。包括:標題欄、主菜單、標準工具欄、繪圖工具欄、狀態(tài)欄、對象選擇按鈕、預覽對象方位控制按鈕、仿真進程控制按鈕、預覽窗口、對象選擇器窗口、圖形編輯窗口。圖1-2 proteus isis的工作界面第二章 基于單片機的仿真例子單片機電路設計如圖所示。電路的核心是單片機at89c51。單片機的p1口八個引腳接led顯示器的段選碼(a、b、c、d、e、f、g、dp)的引腳上,單片機的p2口六個引腳接led顯示器的位選碼(1、2、3、4、5、6)的引腳上,電阻起限流作用,總線使電路圖變得簡潔。程序設計實現led顯示器的選通并顯示字符。電路圖的繪制 1、將所需元器件加入到對象選擇器窗口。picking

6、 components into the schematic 單擊對象選擇器按鈕,如圖所示彈出“pick devices”頁面,在“keywords”輸入at89c51,系統(tǒng)在對象庫中進行搜索查找,并將搜索結果顯示在“results”中,如圖所示。在“results”欄中的列表項中,雙擊“at89c51”,則可將“at89c51”添加至對象選擇器窗口。 接著在“keywords”欄中重新輸入7seg,如圖所示。雙擊“7seg-mpx6-ca-blue”,則可將“7seg-mpx6-ca-blue”(6位共陽7段led顯示器)添加至對象選擇器窗口。最后,在“keywords”欄中重新輸入res,

7、選中“match whole words”,如圖所示。在“results”欄中獲得與res完全匹配的搜索結果。雙擊“res”,則可將“res”(電阻)添加至對象選擇器窗口。單擊“ok”按鈕,結束對象選擇。經過以上操作,在對象選擇器窗口中,已有了7seg-mpx6-ca-blue、at89c51、res三個元器件對象,若單擊at89c51,在預覽窗口中,見到at89c51的實物圖,如圖所示;若單擊res或7seg-mpx6-ca-blue,在預覽窗口中,見到res和7seg-mpx6-ca-blue的實物圖,如圖所示。此時,我們已注意到在繪圖工具欄中的元器件按鈕處于選中狀態(tài)。 2、放置元器件至圖

8、形編輯窗口placing components onto the schematic在對象選擇器窗口中,選中7seg-mpx6-ca-blue,將鼠標置于圖形編輯窗口該對象的欲放位置、單擊鼠標左鍵,該對象被完成放置。同理,將at89c51和res放置到圖形編輯窗口中。如圖所示。若對象位置需要移動,將鼠標移到該對象上,單擊鼠標右鍵,此時我們已經注意到,該對象的顏色已變至紅色,表明該對象已被選中,按下鼠標左鍵,拖動鼠標,將對象移至新位置后,松開鼠標,完成移動操作。由于電阻r1r8的型號和電阻值均相同,因此可利用復制功能作圖。將鼠標移到r1,單擊鼠標右鍵,選中r1,在標準工具欄中,單擊復制按鈕,拖動

9、鼠標,按下鼠標左鍵,將對象復制到新位置,如此反復,直到按下鼠標右鍵,結束復制。此時我們已經注意到,電阻名的標識,系統(tǒng)自動加以區(qū)分。3、放置總線至圖形編輯窗口單擊繪圖工具欄中的總線按鈕,使之處于選中狀態(tài)。將鼠標置于圖形編輯窗口,單擊鼠標左鍵,確定總線的起始位置;移動鼠標,屏幕出現粉紅色細直線,找到總線的終了位置,單擊鼠標左鍵,再單擊鼠標右鍵,以表示確認并結束畫總線操作。此后,粉紅色細直線被藍色的粗直線所替代,如圖所示。4、元器件之間的連線wiring up components on the schematicproteus的智能化可以在你想要畫線的時候進行自動檢測。下面,我們來操作將電阻r1的

10、右端連接到led顯示器的a端。當鼠標的指針靠近r1右端的連接點時,跟著鼠標的指針就會出現一個“”號,表明找到了r1的連接點,單擊鼠標左鍵,移動鼠標(不用拖動鼠標),將鼠標的指針靠近led顯示器的a端的連接點時,跟著鼠標的指針就會出現一個“”號,表明找到了led顯示器的連接點,同時屏幕上出現了粉紅色的連接,單擊鼠標左鍵,粉紅色的連接線變成了深綠色,同時,線形由直線自動變成了90的折線,這是因為我們選中了線路自動路徑功能。proteus具有線路自動路徑功能(簡稱war),當選中兩個連接點后,war將選擇一個合適的路徑連線。war可通過使用標準工具欄里的“war”命令按鈕來關閉或打開,也可以在菜單欄

11、的“tools”下找到這個圖標。同理,我們可以完成其它連線。在此過程的任何時刻,都可以按esc鍵或者單擊鼠標的右鍵來放棄畫線。 5、元器件與總線的連線畫總線的時候為了和一般的導線區(qū)分,我們一般喜歡畫斜線來表示分支線。此時我們需要自己決定走線路徑,只需在想要拐點處單擊鼠標左鍵即可,如圖所示。6、給與總線連接的導線貼標簽part labels單擊繪圖工具欄中的導線標簽按鈕,使之處于選中狀態(tài)。將鼠標置于圖形編輯窗口的欲標標簽的導線上,跟著鼠標的指針就會出現一個“”號,如圖所示。表明找到了可以標注的導線,單擊鼠標左鍵,彈出編輯導線標簽窗口,如圖所示。 在“string”欄中,輸入標簽名稱(如a),單擊

12、“ok”按鈕,結束對該導線的標簽標定。同理,可以標注其它導線的標簽,如圖所示。注意,在標定導線標簽的過程中,相互接通的導線必須標注相同的標簽名。 至此,完成了整個電路圖的繪制。源程序。源程序如下:#define leds 6#include reg51.h/led燈選通信號unsigned char code select=0x01,0x02,0x04,0x08,0x10,0x20;unsigned char code led_codes= 0xc0,0xf9,0xa4,0xb0,0x99,/0-4 0x92,0x82,0xf8,0x80,0x90,/5-9 0x88,0x83,0xc6,0x

13、a1,0x86,/a,b,c,d,e 0x8e,0xff,0x0c,0x89,0x7f,0xbf/f,空格,p,h,.,- ;void main() char i=0; long int j; while(1) p2=0; p1=led_codesi; p2=selecti; for(j=3000;j0;j-); /該led模型靠脈沖點亮,第i位靠脈沖點亮后,會自動熄來頭。/修改循環(huán)次數,改變點亮下一位之前的延時,可得到不同的顯示效果。 i+; if(i5) i=0; 第三章 基于51單片機的數字鐘的設計任 務 書一、 任務 設計一款電子鐘。二、 設計要求(一)合格要求:用proteus畫出原

14、理圖和pcb圖,并完成下列任務: 用4只led數碼管輸出顯示時和分。 可通過按鍵設置鬧鐘功能,且停鬧無須手工操作。 可通過按鍵設置分校時。(4) 寫出詳細的設計報告。(5) 給出電路的原理圖、pcb圖和源程序。(二)優(yōu)秀要求:根據pcb圖制作pcb板,并焊接元件調試數字電子鐘 目前市場上提供的無論是機械鐘還是石英鐘在晚上無照明的情況下都是不可見的。要知道當前的時間,必須先開燈,故較為不便?,F在市場上也出現了一些電子鐘,它以六只led數碼管來顯示時分秒,與傳統(tǒng)的以指針顯示秒的方式不同,違背了人們傳統(tǒng)的習慣與理念,而且這類電子鐘一般是采用大型顯示器件,適用于銀行、車站等公共場所,且外觀設計欠美觀,

15、很少進入百姓家庭。此外,無論是機械鐘、石英鐘還是電子鐘,都存在著共同的問題:時間誤差。針對以上存在的問題,我們設計了一款采用led顯示器件顯示的電子時鐘,有效克服了時鐘存在的誤差問題。1 系統(tǒng)主要功能 電子鐘的主要功能有:整點報時;四只led數碼管顯示當前時分;并且具有鬧鐘功能。2 系統(tǒng)的硬件構成及功能電腦鐘的原理框圖如圖1所示。它由以下幾個部件組成:單片機89c2051、電源、時分顯示部件。時分顯示采用動態(tài)掃描,以降低對單片機端口數的要求,同時也降低系統(tǒng)的功耗。時分顯示模塊以及顯示驅動都通過89c2051的i/o口控制。電源部分:電源部分有二部分組成。一部分是由220v的市電通過變壓、整流穩(wěn)

16、壓來得到+5v電壓,維持系統(tǒng)的正常工作。 圖1 電子鐘系統(tǒng)原理框圖21 at89c2051單片機及其引腳說明at89c2051單片機是51系列單片機的一個成員,是8051單片機的簡化版。內部自帶2k字節(jié)可編程flash存儲器的低電壓、高性能coms八位微處理器,與intel mcs-51系列單片機的指令和輸出管腳相兼容。由于將多功能八位cpu和閃速存儲器結合在單個芯片中,因此,at89c2051構成的單片機系統(tǒng)是具有結構最簡單、造價最低廉、效率最高的微控制系統(tǒng),省去了外部的ram、rom和接口器件,減少了硬件開銷,節(jié)省了成本,提高了系統(tǒng)的性價比。at89c2051是一個有20個引腳的芯片,引腳

17、配置如圖3所示。與8051相比,at89c2051減少了兩個對外端口(即p0、p2口),使它最大可能地減少了對外引腳下,因而芯片尺寸有所減小。圖2 at89c2051引腳配置at89c2051芯片的20個引腳功能為:vcc 電源電壓。gnd 接地。rst 復位輸入。當rst變?yōu)楦唠娖讲⒈3?個機器周期時,所有i/o引腳復位至“1”。xtal1 反向振蕩放大器的輸入及內部時鐘工作電路的輸入。xtal2 來自反向振蕩放大器的輸出。p1口 8位雙向i/o口。引腳p1.2p1.7提供內部上拉,當作為輸入并被外部下拉為低電平時,它們將輸出電流,這是因內部上拉的緣故。p1.0和p1.1需要外部上拉,可用作

18、片內精確模擬比較器的正向輸入(ain0)和反向輸入(ain1),p1口輸出緩沖器能接收20ma電流,并能直接驅動led顯示器;p1口引腳寫入“1” 后,可用作輸入。在閃速編程與編程校驗期間,p1口也可接收編碼數據。p3口 引腳p3.0p3.5與p3.7為7個帶內部上拉的雙向i/0引腳。p3.6在內部已與片內比較器輸出相連,不能作為通用i/o引腳訪問。p3口的輸出緩沖器能接收20ma的灌電流;p3口寫入“1”后,內部上拉,可用輸入。p3口也可用作特殊功能口,其功能見表1。p3口同時也可為閃速存儲器編程和編程校驗接收控制信號。22 時分顯示部件由于系統(tǒng)要顯示的內容較簡單,顯示量不多,所以選用數碼管

19、既方便又經濟。led有共陰極和共陽極兩種。如圖7所示。二極管的陰極連接在一起,通常此公共陰極接地,而共陽極則將發(fā)光二極管的陽極連接在一起,接入+5v的電壓。一位顯示器由8個發(fā)光二極管組成,其中7個發(fā)光二極管構成字型“8”的各個筆劃(段)ag,另一個小數點為dp發(fā)光二極管。當在某段發(fā)光二極管施加一定的正向電壓時,該段筆劃即亮;不加電壓則暗。為了保護各段led不被損壞,需外加限流電阻。圖3 led數碼管結構原理圖眾所周知,led顯示數碼管通常由硬件7段譯碼集成電路,完成從數字到顯示碼的譯碼驅動。本系統(tǒng)采用軟件譯碼,以減小體積,降低成本和功耗,軟件譯碼的另一優(yōu)勢還在于比硬件譯碼有更大的靈活性。所謂軟

20、件譯碼,即由單片機軟件完成從數字到顯示碼的轉換。從led數碼管結構原理可知,為了顯示字符,要為led顯示數碼管提供顯示段碼,組成一個“8”字形字符的7段,再加上1個小數點位,共計8段,因此提供給led數碼管的顯示段碼為1個字節(jié)。各段碼位與顯示段的對應關系如表1。表1 各段碼位的對應關系段碼位d7d6d5d4d3d2d1d0顯示段dpgfedcba需說明的是當用數據口連接led數碼管adp引腳時,不同的連接方法,各段碼位與顯示段有不同的對應關系。通常數據口的d0位與a段連接,d1位與b段連接,d7位與dp段連接,如表1所示,表2為用于led數碼管顯示的十六進制數和空白字符與p的顯示段碼。表2 l

21、ed顯示段碼字型共陽極段碼共陰極段碼字型共陽極段碼共陰極段碼0c0h3fh990h6fh1f9h06ha88h77h2a4h5bhb83h7ch3boh4fhcc6h39h499h66hda1h5eh592h6dhe86h79h682h7dhf84h71h7f8h07h空白ffh00h880h7fhp8ch73h注:(1)本表所列各字符的顯示段碼均為小數點不亮的情況。 (2)“空白”字符即沒有任何顯示。根據at89c2051單片機灌電流能力強,拉電流能力弱的特點,我們選用共陽數碼管。將at89c2051的p1.0p1.7分別與共陽數碼管的ag及dp相連,高電平的位對應的led數碼管的段暗,低電

22、平的位對應的led數碼管的段亮,這樣,當p0口輸出不同的段碼,就可以控制數碼管顯示不同的字符。例如:當p0口輸出的段碼為1100 0000,數碼管顯示的字符為0。數碼管顯示器有二種工作方式,即靜態(tài)顯示方式和動態(tài)掃描顯示方式。為節(jié)省端口及降低功耗,本系統(tǒng)采用動態(tài)掃描顯示方式。動態(tài)掃描顯示方式需解決多位led數碼管的“段控”和“位控”問題,本電路的“段控”(即要顯示的段碼的控制)通過p0口實現;而每一位的公共端,即led數碼管的“位控”,則由p3口控制。這種連接方式由于多位字段線連在一起,因此,要想顯示不同的內容,必然要采取輪流顯示的方式,即在某一瞬間,只讓其中的某一位的字位線處于選通狀態(tài),其它各位的字位線處于斷開狀態(tài),同時字段線上輸出這一位相應要顯示字符的字段碼。在這一瞬時,只有這一位在顯示,其他幾位則暗。在本系統(tǒng)中,字位線的選通與否是通過pnp三極管的導通與截止來控制,即三極管處于“開關”狀態(tài)。系統(tǒng)的時分顯示部件由4只7段共陽led數碼管構成,前兩只用于時的顯示,后兩只用于分的顯示。值得一提的是,在設計中需要實現

溫馨提示

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

評論

0/150

提交評論