proteus單片機技術(shù)課程實驗指導(dǎo)書2011_第1頁
proteus單片機技術(shù)課程實驗指導(dǎo)書2011_第2頁
proteus單片機技術(shù)課程實驗指導(dǎo)書2011_第3頁
proteus單片機技術(shù)課程實驗指導(dǎo)書2011_第4頁
proteus單片機技術(shù)課程實驗指導(dǎo)書2011_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、單片機技術(shù)實驗指導(dǎo)書(080431080432班適用)編寫者:張卓 楊立華長春工業(yè)大學(xué)人文信息學(xué)院2011年3月1日仿真實驗?zāi)夸泴嶒炓? Keil uVision3工具軟件的使用與MCS-51單片機匯編指令練習(xí)實驗二. PROTEUS仿真軟件的使用實驗三. 基本輸入輸出的PROTEUS設(shè)計實驗四. 計數(shù)顯示綜合實驗實驗五. 外部中斷實驗實驗六. 單片機定時/計數(shù)實驗實驗七. 串行通信-雙機通信仿真實驗實驗八. 鍵盤輸入液晶顯示C51編程實驗實驗九. 基于單片機的按鍵發(fā)聲實驗實驗十. 串行通信-串并轉(zhuǎn)換仿真實驗實驗十一. 串行通信-多機通信仿真實驗實驗十二. 雙機并行通信仿真實驗實驗十三. 串行

2、并行通信仿真實驗實驗十四. 單片機數(shù)據(jù)存儲器擴展仿真實驗附錄:部分實驗源程序?qū)嶒炓? Keil uVision3工具軟件的使用與MCS-51單片機匯編指令練習(xí)一、實驗要求: 必做二、實驗類型: 驗證三、實驗學(xué)時:2四、實驗地點與環(huán)境:機房,Keil uVision3軟件五、實驗?zāi)康?1、熟悉Keil uVision3工具軟件的使用方法(可參見Keil uVision3軟件的菜單“幫助”)。2、掌握利用Keil uVision3進行源程序編寫、編譯、程序運行、觀察運行結(jié)果的基本過程及操作方法。3、掌握MCS-51系列單片機的指令系統(tǒng)。六、實驗內(nèi)容:1Keil uVision3工具軟件的使用方法(

3、步驟)(1)、在電腦上新建一文件夾并命名(如EX1) (2)、打開Keil uVision3軟件。(3)、選擇菜單Project-New Project(若打開軟件時,己含有一工程(項目)則應(yīng)先關(guān)閉該工程,方法是:Project-Close Project ),在打開的新建窗口中輸入一工程(項目)名(如EX1),點保存,選擇一單片機如Atmel-At89c52等,在隨后出現(xiàn)的提示窗口,選擇“否”。(4)、新建一文件。File-New File,在打開的窗口中輸入下面的內(nèi)容(源程序),點保存,文件名如為EX1.ASM(注這里的擴展名.ASM必須要寫,若是用C語言寫成的源程序,則擴展名應(yīng)為.C)。

4、(5)、將源程序文件包含在項目中。右單擊,打開快捷菜單,左擊“Add file to”,在打開的窗口中將EX1.ASM增加進去。(6)、對Target做必要的設(shè)置。右單擊,左擊“Options for Target”或單擊工具按鈕,根據(jù)需要,在打開的窗口中做必要的設(shè)置,如晶振頻率、是否要生成.HEX文件等。(7)、編譯。點擊工具欄這兩個按鈕中的一個,也可通過Project菜單中的來實現(xiàn)編譯,編譯后在輸出窗口中會輸出對應(yīng)的信息(編譯是否通過等)(8)、調(diào)試、觀察結(jié)果。點擊按鈕,進入調(diào)試狀態(tài),這時點擊或F11可實現(xiàn)“跟蹤”,點擊可實現(xiàn)“單步”調(diào)試,也可通過DEBUG菜單來實現(xiàn)相應(yīng)的操作,然后可通過

5、View和菜單等打開相應(yīng)的觀察窗口。在調(diào)試狀態(tài)下,可通過點擊,打開存儲器窗口,觀察對應(yīng)存儲單元的內(nèi)容。如要要訪問ROM區(qū)0030H單元中的內(nèi)容,可在存儲器窗口的ADDRESS處輸入:C:0X0030后按回車鍵,其中C是存儲區(qū)前綴,另D表示內(nèi)部RAM的直接尋址區(qū);I表示內(nèi)部RAM的間接尋址區(qū);X表示外部RAM區(qū);C表示ROM區(qū);B表示位尋址區(qū)。2分析下面的源程序,并指出各指令的結(jié)果,并在Keil uVision3中進行調(diào)試、觀察驗證,保存文件為EX2_1.asm。ORG      0000HLJMP    

6、 MAINORG      0030HMAIN:   MOV     30H,#2AHMOV     31H,#33HMOV     R0,#30HMOV     A,R0MOV     R2,AINC         R0MOV 

7、;    03H,R0SJMP    $END3分析下面的源程序,并指出各指令的結(jié)果,并在Keil uVision3中進行調(diào)試、觀察驗證,保存文件為EX2_2.asm。若要將MOVC  A,A+DPTR指令改成MOVC A,A+pc指令,應(yīng)如何實現(xiàn)?ORG      0000HLJMP     MAINORG      0030HMAIN:   MOV &#

8、160;   A,#03HMOV     DPTR,#TABMOVC   A,A+DPTRMOV     R1,ASJMP     $TAB:      DB   30H,31H,32H,33HDB     42H,43H,44H,45HEND4在Keil uVision3中進行調(diào)試、觀察以下幾條命令,保存文件為EX2

9、_3.asm:MOV R0,#12HMOV A,#56HMOVX R0,A5、按要求編寫程序并上機調(diào)試、觀察結(jié)果。 (1).R1的內(nèi)容傳送到R0.(2).片外RAM 20H單元的內(nèi)容送R0.(3).片外RAM 20H單元的內(nèi)容送片內(nèi)RAM 20H單元.(4).片外RAM 1000H單元的內(nèi)容送片內(nèi)RAM 20H單元.(5).ROM 2000H單元的內(nèi)容送R0.(6). ROM 2000H單元的內(nèi)容送片內(nèi)RAM 20H單元.(7). ROM 2000H單元的內(nèi)容送片外RAM 20H單元.實驗二. PROTEUS仿真軟件的使用一、實驗要求: 必做二、實驗類型: 驗證三、實驗學(xué)時:2四、實驗地點與環(huán)

10、境:機房,PROTEUS7.4軟件五、實驗?zāi)康?1、熟悉PROTEUS單片機仿真軟件的使用方法。2、掌握利用PROTEUS軟件進行單片機系統(tǒng)設(shè)計與仿真的過程。3、掌握發(fā)光二極管的控制方法。六、預(yù)備知識1、PROTEUS簡介PROTEUS是英國Labcenter Electronics公司研發(fā)的多功能EDA軟件。它不僅是模擬電路、數(shù)字電路、模/數(shù)混合電路的設(shè)計與仿真平臺,更是目前世界上最先進的單片機和嵌入式系統(tǒng)的設(shè)計與仿真平臺。它真正實現(xiàn)了在計算機上完成從原理圖與電路設(shè)計、電路分析與仿真、單片機代碼級調(diào)試與仿真、系統(tǒng)測試與功能驗證到形成PCB的完整的電子設(shè)計、研發(fā)過程。在目標(biāo)板還沒投產(chǎn)前,就可以

11、對設(shè)計的硬件系統(tǒng)的功能、合理性和性能指標(biāo)進行充分調(diào)整,并可以在沒有目標(biāo)板的情況下,進行相應(yīng)軟件的開發(fā)和調(diào)試,進行完全的虛擬開發(fā),明顯提高企業(yè)的開發(fā)效率,降低開發(fā)風(fēng)險。2、ISIS窗口 3、單片機系統(tǒng)的PROTEUS設(shè)計與仿真的開發(fā)過程(1)、在ISIS平臺上進行單片機系統(tǒng)電路設(shè)計、選擇元器件、接插件、連接電路和電氣檢測等。(電路設(shè)計)(2)、在WAVE或KEIL平臺上進行單片機系統(tǒng)的程序設(shè)計、編輯、編譯、調(diào)試,最后生成目標(biāo)代碼(.HEX)。(軟件設(shè)計,實際上也可以在ISIS平臺上進行此項工作)(3)、在ISIS平臺上將目標(biāo)代碼文件加載到單片機系統(tǒng)中,并實現(xiàn)單片機系統(tǒng)的實時交互、協(xié)同仿真。它在相

12、當(dāng)程度上反映了實際單片機系統(tǒng)的運行情況。(仿真)PROTEUS電路設(shè)計流程和PROTEUS設(shè)計與仿真流程分別如圖1-1(a) 、圖1-1(b)所示。新建設(shè)計文件選擇元器件放置元器件、電源和地電路布線元器件屬性設(shè)置電氣檢測PROTEUS電路設(shè)計PROTEUS仿真源程序設(shè)計、編輯生成目標(biāo)代碼文件加載目標(biāo)代碼設(shè)置時鐘頻率圖1-1(a) PROTEUS電路設(shè)計流程圖1-1(b) PROTEUS設(shè)計與仿真流程 4、鼠標(biāo)操作特點 (1)、放置對象:單擊鼠標(biāo)左鍵(簡稱單擊),放置元器件、連線。 (2)、選中對象:單擊鼠標(biāo)右鍵(簡稱右擊),選擇元器件、連線和其他對象,此時選中的操作對象以高亮紅色(默認(rèn)色)顯示

13、。 (3)、刪除對象:雙擊鼠標(biāo)右鍵(簡稱右雙擊),刪除元器件、連線等。 (4)、塊選擇:按住鼠標(biāo)右鍵拖出方框,選中方框中的多個元器件及其連線。 (5)、編輯對象:先單擊鼠標(biāo)右鍵后單擊鼠標(biāo)左鍵,編輯元器件屬性。 (6)、移動對象:先右單擊選中對象,按住鼠標(biāo)左鍵移動,拖動元器件、連線。 (7)、縮放對象:按住鼠標(biāo)中鍵滾動,以鼠標(biāo)停留點為中心,縮放電路。七、實驗內(nèi)容:1、如圖1-2所示,LED發(fā)光二極管的初始狀態(tài)為亮,用PROTEUS仿真實現(xiàn):按一下接鍵,LED滅,再按一下,LED亮,按此規(guī)律LED亮滅交替。要求在PROTEUS中畫出電原理圖,加載給出的程序目標(biāo)文件(.HEX)后,仿真實現(xiàn)題目。圖1

14、-2 實驗原理圖實驗具體步驟如下:(1)、啟動ISIS環(huán)境:開始程序Proteus 7 professionalISIS 7 professional。(2)、新建設(shè)計文件 單擊“文件-新建文件”,出現(xiàn)選擇模板窗口,選中模板“DETAULT”,再單擊“OK”。(3)、設(shè)定繪圖紙大小 當(dāng)前的用戶圖紙大小默認(rèn)A4,可以通過“系統(tǒng)-設(shè)置圖紙尺寸”來更改圖紙的大小。(4)、選取元器件并添加到對象選擇器中 單擊圖1-3(a) 中的“P”按鈕,彈出如圖1-3(b)所示的選取元器件對話框,在“Keywords(關(guān)鍵字)”一欄中輸入元器件名稱“AT89C51”,則出現(xiàn)與關(guān)鍵字匹配的元器件列表。選中(單擊)AT

15、89C51所在的行后,再單擊“OK”按鈕,便將器件AT89C51加入到ISIS對象選擇器中。同時將相關(guān)的元器件都添入,如圖1-3(c)所示。圖1-3(a) 單擊“P”按鈕圖1-3(b) 元器件列表圖1-3(c) 元器件都添入(5)、網(wǎng)格單位 網(wǎng)格單位默認(rèn)是100th,這也是移運元器件的步長單位,可以根據(jù)需要更改這一單位。方法是單擊“查看”再單擊所要的網(wǎng)格單位即可。(6)、放置、移動、旋轉(zhuǎn)元器件 單擊ISIS對象選擇器中的元器件名,藍(lán)色條出現(xiàn)在該元器件名上。把鼠標(biāo)移至編輯區(qū)某位置后,單擊就可放置元器件于該位置,每單擊一次就放一個元器件。要選中編輯區(qū)中的某一元器件,只要單擊該器件即可。要移動元器件

16、可選中該器件后,再按住鼠標(biāo)左鍵拖動到目的位置即可。旋轉(zhuǎn)元器件可先右擊元器件,再根據(jù)需要選擇菜單進行操作。(7)、放置電源、地(終端) 單擊模式選擇工具欄中的終端按鈕,則ISIS對象選擇器如圖1-4(a)所示。根據(jù)需要選擇即可。(8)、電路圖布線系統(tǒng)默認(rèn)自動布線有效,即按鈕被按下。在這種方式下,只要相繼單擊元器件引腳間、線間等要連線的兩處(起點和終點),系統(tǒng)會自動生成連線。(9)、設(shè)置、修改元器件的屬性右擊放置在編輯區(qū)中的元器件(呈高亮度)后,再單擊它即可打開其屬性窗口,這時可在屬性窗口中設(shè)置、修改元器件的屬性。如圖1-4(b)所示。圖1-4(a) 終端符號圖1-4(b) 設(shè)置、修改元器件的屬性

17、(10)、電氣檢測(有時可先不做)設(shè)計電路完成后,單擊電氣檢查按鈕,會出現(xiàn)檢查結(jié)果窗口,前面是一些文本信息,接著是檢查結(jié)果列表,若有錯,會有詳細(xì)的說明。(11)、源程序的設(shè)計、編輯和目標(biāo)代碼的生成源程序的設(shè)計、編輯和目標(biāo)代碼(.HEX)的生成,可以通過WAVE軟件來實現(xiàn)的,PROTEUS只要用.HEX文件。(12)、加載目標(biāo)代碼和設(shè)置時鐘頻率先右擊ISIS編輯區(qū)中的AT89C51單片機,然后再單擊它即可打開它的屬性窗口,直接雙擊單片機也可打開它的屬性窗口,在窗口中的“programe file”右側(cè)框中輸入或找到.HEX文件所在的路徑。如圖1-4所示。同理在屬性窗口的“clock freque

18、ncy”中輸入或更改單片機的工作頻率。如圖1-5所示。由于仿真時是以該時鐘頻率為準(zhǔn)的,所以在編輯區(qū)設(shè)計時可以略去單片機振蕩電路,另外,對MCS-51系列單片機而言,復(fù)位電路也可以略去,EA控制引腳也可懸空。但要注意若要進行電路電氣檢測,則這些不可略去。圖1-5 加載目標(biāo)代碼和設(shè)置時鐘頻率(13)、單片機系統(tǒng)的PROTEUS交互仿真為與仿真相關(guān)的控制按鈕,單擊第一個仿真按鈕則處于全帶仿真狀態(tài),些時LED亮,可用鼠標(biāo)單擊ISIS編輯區(qū)中的按鈕,實現(xiàn)交互仿真。單擊一次按鈕LED暗,再次單擊,LED亮,如些循環(huán),LED亮滅交替。若單擊最后一個仿真按鈕,則終止仿真。(14)、若達(dá)不到要求應(yīng)檢查電路和編程

19、是否正確。2、在PROTEUS中畫出開關(guān)控制數(shù)碼管實驗的電路原理圖,如圖1-6所示。加載給出的程序目標(biāo)文件(.HEX)后,仿真實現(xiàn)將4位開關(guān)狀態(tài)輸出到數(shù)碼管顯示。實驗用元器件清單提示:(1)、AT89C51-單片機(2)、RES、RESPACK-8-電阻、帶公共端的8排阻(RX8-8排阻)(3)、7SEG-COM-AN-GRN-帶公共端的共陽七段綠色數(shù)碼管(4)、SW-SPST-帶鎖存的單刀單擲開關(guān)(5)、CAP、CAP-ELEC-電容、電解電容(6)、CRYSTAL-晶振八、寫出實驗小結(jié),內(nèi)容包括實驗心得(收獲)、不足之處和今后應(yīng)注意的問題。圖1-6 開關(guān)控制數(shù)碼管實驗電原理圖實驗三.基本輸

20、入輸出的PROTEUS仿真實驗一、實驗要求: 必做二、實驗類型: 設(shè)計三、實驗學(xué)時:2四、實驗地點與環(huán)境:機房,PROTEUS7.4、Keil uVision3等軟件五、實驗?zāi)康?1、進一步熟悉PROTEUS、Keil uVision3軟件的使用方法和系統(tǒng)仿真設(shè)計的方法。2、掌握發(fā)光二極管的控制方法,掌握LED數(shù)碼管的顯示原理與控制方法。3、掌握I/O口的控制方法4、熟悉單片機仿真設(shè)計的一般過程。六、實驗內(nèi)容:1、開關(guān)控制LED實驗(1)、實驗要求實驗原理圖如圖3-1所示,要求在PROTEUS仿真平臺中,編程實現(xiàn):LED發(fā)光二極管的初始狀態(tài)為亮,按一下接鍵,LED滅,再按一下,LED亮,按此規(guī)

21、律LED亮滅交替。圖3-1開關(guān)控制LED實驗原理圖(2)、實驗步驟(A)、在PROTEUS平臺中畫出電原理圖 (B)、在Keil uVision3軟件平臺中進行編程、編譯,生成目標(biāo)文件(.HEX文件) (C)、在PROTEUS平臺中加載目標(biāo)文件(.HEX文件)并進行仿真調(diào)試。若達(dá)不到要求,則要修改程序,反復(fù)調(diào)試,直到成功。2、開關(guān)控制1位數(shù)碼管實驗(1)、實驗要求實驗原理圖如圖3-2所示,要求在PROTEUS仿真平臺中,編程實現(xiàn):將4位開關(guān)狀態(tài)輸出到數(shù)碼管顯示。如4位開關(guān)全閉合,數(shù)碼管顯示“0”,4位開關(guān)全斷開,數(shù)碼管顯示“F”,共16種狀態(tài)。注意:圖4-2中數(shù)碼管(PROTEUS仿真平臺中元

22、器件型號為7SEG-COM-AN-GRN)是帶公共端的共陽七段綠色數(shù)碼管。(2)、實驗步驟(A)、在PROTEUS平臺中畫出電原理圖 (B)、在Keil uVision3平臺中進行編程、編譯,生成目標(biāo)文件(.HEX文件) (C)、在PROTEUS平臺中加載目標(biāo)文件(.HEX文件)并進行仿真調(diào)試。若達(dá)不到要求,則要修改程序,反復(fù)調(diào)試,直到成功。圖3-2 開關(guān)控制1位數(shù)碼管實驗電原理圖實驗四.計數(shù)顯示綜合實驗一、實驗要求: 必做二、實驗類型: 設(shè)計三、實驗學(xué)時:2四、實驗地點與環(huán)境:機房,PROTEUS7.4、Keil uVision3等軟件五、實驗?zāi)康?1、進一步熟悉利用PROTEUS、Keil

23、 uVision3等軟件進行單片機系統(tǒng)仿真設(shè)計的方法。2、熟練應(yīng)用C51單片機程序設(shè)計的基本知識和基本思想,解決單片機的實際應(yīng)用問題。3、掌握多位數(shù)碼管動態(tài)掃描的顯示原理。六、實驗內(nèi)容:1、實驗要求實驗原理圖如圖4-1所示(注圖中4位數(shù)碼管為共陰極數(shù)碼管,型號為7SEG-MPX4-CC-BLUE),要求在PROTEUS仿真平臺中,編程逐步實現(xiàn):(1)、按下一次“加一”按鈕,數(shù)碼管能顯示出加一后的結(jié)果,但加到10000時能自動從0開始“加一”。(2)、完成(1)的要求,同時能實現(xiàn)按一次“減一”按鈕,數(shù)碼管能顯示出減一后的結(jié)果,但減到0后,仍顯示為0。圖4-1 計數(shù)顯示實驗電原理圖2、實驗步驟(1

24、)、在PROTEUS平臺中畫出電原理圖 (2)、在Keil uVision3平臺中進行編程、編譯,生成目標(biāo)文件(.HEX文件) (3)、在PROTEUS平臺中加載目標(biāo)文件(.HEX文件)并進行仿真調(diào)試,逐步實現(xiàn)實驗要求(1)和(2)。若達(dá)不到要求,則要修改程序,反復(fù)調(diào)試,直到成功。3、針對在實驗中存在的顯示范圍、顯示閃爍、顯示實時性不好等問題,應(yīng)分別如何改進、克服?七、寫出實驗小結(jié),內(nèi)容包括實驗心得(收獲)、不足之處和今后應(yīng)注意的問題。實驗五.外部中斷實驗一、實驗要求: 必做二、實驗類型: 設(shè)計三、實驗學(xué)時:2四、實驗地點與環(huán)境:機房,PROTEUS7.4、Keil uVision3等軟件五、

25、實驗?zāi)康?1、進一步熟悉利用PROTEUS、Keil uVision3等軟件的使用方法。2、理解單片機的中斷、中斷優(yōu)先級原理及其中斷過程,掌握中斷服務(wù)子程序的編寫方法。3、進一步熟悉數(shù)碼管的顯示原理。六、實驗內(nèi)容:1、外部中斷實驗(1)、實驗要求實驗原理圖如圖5-1所示,圖中數(shù)碼管為共陽極,元器件型號為7SEG-COM-AN-BLUE;數(shù)碼管驅(qū)動應(yīng)加上拉電阻如RP1。要求:當(dāng)無外部中斷(外部中斷0)時,數(shù)碼管按ag段依次點亮,不斷循環(huán)顯示;當(dāng)有外部中斷(按鈕被按下,P3.2有下降沿電壓)時,數(shù)碼管顯示狀態(tài)改為“8”亮滅閃爍顯示,亮滅閃爍顯示8次后,返回主程序繼續(xù)按段順序點亮。圖5-1外部中斷電

26、原理圖(2)、實驗步驟(A)、在PROTEUS平臺中畫出電原理圖 (B)、在WAVE6000平臺中進行編程、編譯,生成目標(biāo)文件(.HEX文件) (C)、在PROTEUS平臺中加載目標(biāo)文件(.HEX文件)并進行仿真調(diào)試。若達(dá)不到要求,則要修改程序,反復(fù)調(diào)試,直到成功。2、中斷優(yōu)先級實驗(1)、實驗要求實驗原理圖如圖5-2所示,圖中三個數(shù)碼管為共陽極,元器件型號為7SEG-COM-AN-BLUE(GRN/ANODE);數(shù)碼管驅(qū)動應(yīng)分別加上拉電阻。要求:單片機主程序控制P0口數(shù)碼管(紅色)循環(huán)顯示18;外部中斷0(INT0)控制P2口數(shù)碼管(藍(lán)色)顯示,中斷一次將依次顯示18這8個數(shù)據(jù)后返回;外部中

27、斷1(INT1)控制P1口數(shù)碼管(綠色)顯示,中斷一次將依次顯示18這8個數(shù)據(jù)后返回;INT1為高優(yōu)先級,INT0為低優(yōu)先級,外部中斷均為下降沿觸發(fā)方式。圖5-2 中斷優(yōu)先級實驗電原理圖(2)、實驗步驟(A)、在PROTEUS平臺中畫出電原理圖 (B)、在Keil uVision3平臺中進行編程、編譯,生成目標(biāo)文件(.HEX文件) (C)、在PROTEUS平臺中加載目標(biāo)文件(.HEX文件)并進行仿真調(diào)試。若達(dá)不到要求,則要修改程序,反復(fù)調(diào)試,直到成功。 該仿真實驗可以形象直觀地演示單片機高、低兩級優(yōu)先級的工作原理:高優(yōu)先級可中斷低優(yōu)先級,但低優(yōu)先級的中斷請求不能中斷高優(yōu)先級,同一優(yōu)先級不能相互

28、中斷。七、寫出實驗小結(jié),內(nèi)容包括實驗心得(收獲)、不足之處和今后應(yīng)注意的問題。實驗六.單片機定時/計數(shù)實驗一、實驗要求: 必做二、實驗類型: 設(shè)計三、實驗學(xué)時:2四、實驗地點與環(huán)境:機房,PROTEUS7.4、Keil uVision3等軟件五、實驗?zāi)康?1、理解單片機的定時/計數(shù)原理,掌握定時/計數(shù)程序的編寫方法。2、掌握定時/計數(shù)器在定時、計數(shù)、頻率測量、脈沖寬度測量、產(chǎn)生信號、信號檢測方面的應(yīng)用。3、學(xué)會使用PROTEUS中VSM虛擬示波器觀察波形。六、實驗內(nèi)容:1、方波發(fā)生器實驗(1)、實驗要求 實驗電原理圖如圖6-1所示,用單片機的定時/計數(shù)器產(chǎn)生一個周期為400s的方波信號。圖6-

29、1 方波發(fā)生器實驗電原理圖(2)、實驗步驟(A)、在PROTEUS平臺中畫出電原理圖。虛擬檢測儀器的放置: 1)、VSM虛擬示波器 單擊小工具欄中的按鈕(虛擬儀器),在對象選擇器列表中單擊OSCILLOSCOPE(示波器),再在ISIS編輯區(qū)中的適當(dāng)位置單擊,虛擬示波器主放置好了。如圖6-1所示,最后將單片機的P3.5、P3.7分別與示波器的A、B信道相連。 2)、電壓探針 選擇電壓探針,連接到要實時監(jiān)測的電路上,以便仿真時觀察該處的電壓變化。 (B)、在WAVE6000平臺中進行編程、編譯,生成目標(biāo)文件(.HEX文件)。 (C)、在PROTEUS平臺中加載目標(biāo)文件(.HEX文件)并進行仿真調(diào)

30、試。若達(dá)不到要求,則要修改程序,反復(fù)調(diào)試,直到成功。 在仿真調(diào)試中若看不到虛擬示波器,則要分別單擊“調(diào)試”-“VSM OSCILLOSCOPE”將其打開,如圖6-2所示,虛擬示波器有兩個輸入信道CH1和CH2,對應(yīng)虛擬示波器符號圖上的A和B;工作模式有三種:單通道、雙通道和X-Y。1)、單通道:CH1或CH2。此時DUAL和X-Y燈均一亮,CH1、CH2哪個指示燈亮表示哪個通道工作。2)、雙通道:DUAL燈亮、CH1或CH2燈亮。DUAL+CH1表示以CH1為觸發(fā);DUAL+CH12表示以CH2為觸發(fā)。3)、X-Y:(X-Y)+CH1或(X-Y)+CH2,表示以CH1或CH2的數(shù)據(jù)作為X軸及Y

31、軸的數(shù)據(jù)顯示曲線。虛擬示波器的基本操作1)、選擇信道輸入耦合模式:單擊相應(yīng)的CH1、CH2(左下角)的方波按鈕,可在DC、GND、AC各選項間循環(huán)切換。如圖6-2所示,當(dāng)前信道CH1、CH2都是直流耦合,相應(yīng)的DC字符上方的指示燈都亮。2)、工作信道和觸發(fā)信道選擇:選擇單擊右上方兩個方形按鈕配合其右方指示燈CH1、CH2、DUAL、X-Y完成。3)、選擇和調(diào)整波形顯示位置、時基(TIMEBASE)、幅值:可分別轉(zhuǎn)動轉(zhuǎn)盤旋鈕Y-POS1、Y-POS2、Y-GAIN1、Y-GAIN2、TIMEBASE來完成。4)、用鼠標(biāo)拖動,轉(zhuǎn)動轉(zhuǎn)盤旋鈕完成設(shè)置。圖6-2 方波發(fā)生器仿真運行圖2、脈沖計數(shù)器實驗(

32、1)、實驗要求 實驗電原理圖如圖6-3所示,實現(xiàn)在1S的時間內(nèi)對外部輸入的脈沖信號(從P3.4輸入)計數(shù),并將計數(shù)值實時地在四位BCD碼數(shù)碼管上顯示。AT89C51中有兩個定時/計數(shù)器,其中定時/計數(shù)器1(T1)作定時器用,定時1S;定時/計數(shù)器0(T0)作計數(shù)器用;外部輸入的脈沖信號由模擬數(shù)字時鐘DCLOCK產(chǎn)生;用虛擬的計數(shù)器COUNTER TIMER進行計數(shù);將單片機的計數(shù)結(jié)果和COUNTER TIMER的計數(shù)結(jié)果進行比較,看結(jié)果是否相等。(2)、實驗步驟(A)、在PROTEUS平臺中畫出電原理圖。1)、總線的畫法 選擇總線按鈕 繪繪制總線:與普通電線的繪制方法一樣,選擇合適起點、終點單

33、擊。若終點在空白處,左雙擊結(jié)束連線。起點、終點可以是總線引腳、己有的總線或是空白處。 電線與總線連接:把總線當(dāng)做電線連接的一個終端,照常規(guī)連線即可。 電線標(biāo)注:單擊標(biāo)簽(LABEL)按鈕,單再需要標(biāo)注的電線,在彈出線標(biāo)簽編輯框中的STRING一欄中輸入標(biāo)簽名。2)、數(shù)碼管由4個的帶段譯碼器的數(shù)碼管(型號為:7SEG-BCD-GRN)組成。從正面看帶段譯碼器的數(shù)碼管帶段譯碼器的數(shù)碼管時(管腳向下),從左到右各引腳的權(quán)碼分別為8、4、2、1,即若輸入1110時該數(shù)碼管將顯示“E”。3)、數(shù)字時鐘DCLOCK單擊小工具欄中的按鈕,在對象選擇器中選擇DCLOCK(數(shù)字時鐘),在需要添加信號的線或終端單

34、擊即可完成添加DCLOCK輸入信號,雙擊己添加的圖標(biāo),設(shè)置其時鐘頻率為50KHZ,如圖6-4(a)所示。4)、VSM虛擬計數(shù)/計時器單擊小工具欄中的按鈕(虛擬儀器),在對象選擇器列表中單擊COUNTER TIMER(計數(shù)/計時器),雙擊己添加的圖標(biāo)打開其屬性編輯框,單擊運行模式(OPERATING MODE)的下拉菜單,可選擇計時、頻率、計數(shù)模式,當(dāng)前設(shè)置為頻率工作方式,如圖6-4(b)所示。(B)、在WAVE6000平臺中進行編程、編譯,生成目標(biāo)文件(.HEX文件)。 (C)、在PROTEUS平臺中加載目標(biāo)文件(.HEX文件)并進行仿真調(diào)試。若達(dá)不到要求,則要修改程序,反復(fù)調(diào)試,直到成功。

35、由于輸入的頻率是50KHZ,所以頻率計上顯示的是50000如圖6-3所示。同時數(shù)碼管輸出的計數(shù)值為C358H,也就是(TH0)=0XC3,(TL0)=0X58,即為50000的十六進制數(shù)(百分誤差,小于1/1000)。七、寫出實驗小結(jié),內(nèi)容包括實驗心得(收獲)、不足之處和今后應(yīng)注意的問題。圖6-3 脈沖計數(shù)器電原理圖圖6-4(a) 數(shù)字時鐘設(shè)置圖6-4(b) 計數(shù)/計時器設(shè)置實驗七.串行通信-雙機通信仿真實驗一、實驗要求: 必做二、實驗類型: 設(shè)計三、實驗學(xué)時:2四、實驗地點與環(huán)境:機房,PROTEUS7.4、Keil uVision3等軟件五、實驗?zāi)康?1、掌握單片機串行口方式2或3工作方式

36、及編程方法。2、熟悉簡單通信協(xié)議的規(guī)劃。3、進一步熟悉利用PROTEUS、Keil uVision3等軟件進行單片機系統(tǒng)仿真設(shè)計的方法。六、實驗內(nèi)容:1、實驗要求如圖7-1所示,要求甲機(上方的單片機)4個按鍵的所代表的數(shù)據(jù)能傳送到乙機(下方的單片機)并在乙機的數(shù)碼管上顯示,同時乙機4個按鍵所代表的數(shù)據(jù)能傳送到甲機并在甲機的數(shù)碼管上顯示。圖7-1 雙機通信實驗電原理圖2、實驗步驟(1)、在PROTEUS平臺中畫出電原理圖。 (2)、在Keil uVision3平臺中進行編程、編譯,生成目標(biāo)文件(.HEX文件)。 (3)、在PROTEUS平臺中加載目標(biāo)文件(.HEX文件)并進行仿真調(diào)試,逐步實現(xiàn)

37、實驗要求(1)和(2)。若達(dá)不到要求,則要修改程序,反復(fù)調(diào)試,直到成功。七、寫出實驗小結(jié),內(nèi)容包括實驗心得(收獲)、不足之處和今后應(yīng)注意的問題。2、實驗步驟(1)、在PROTEUS平臺中畫出電原理圖。 (2)、在Keil uVision3平臺中進行編程、編譯,生成目標(biāo)文件(.HEX文件) (3)、在PROTEUS平臺中加載目標(biāo)文件(.HEX文件)并進行仿真調(diào)試,若達(dá)不到要求,則要修改程序,反復(fù)調(diào)試,直到成功。七、寫出實驗小結(jié),內(nèi)容包括實驗心得(收獲)、不足之處和今后應(yīng)注意的問題。實驗八.鍵盤輸入液晶顯示實驗一、實驗要求: 必做二、實驗類型: 驗證三、實驗學(xué)時:2四、實驗地點與環(huán)境:機房,PRO

38、TEUS7.4、Keil uVision3等軟件五、實驗?zāi)康?1、理解、掌握LCD1602的顯示原理及編程實現(xiàn)方法。2、掌握4×4鍵盤鍵盤工作原理及編程實現(xiàn)方法。3、熟悉多模塊單片機綜合運用系統(tǒng)的C51編程實現(xiàn)方法。六、實驗內(nèi)容:1、實驗要求 電原理圖如下圖所示,LCD由1602及其相關(guān)電路組成,4×4鍵盤由16個開關(guān)及其相關(guān)電路組成,要求編程實現(xiàn):每按下一按鈕,LCD顯示出對應(yīng)的按鍵序號。圖8-1 鍵盤輸入液晶顯示實驗電原理圖2、實驗步驟(1)、在PROTEUS平臺中畫出電原理圖。 (2)、在WAVE6000平臺中進行編程、編譯,生成目標(biāo)文件(.HEX文件) (3)、在P

39、ROTEUS平臺中加載目標(biāo)文件(.HEX文件)并進行仿真調(diào)試,若達(dá)不到要求,則要修改程序,反復(fù)調(diào)試,直到成功。七、寫出實驗小結(jié),內(nèi)容包括實驗心得(收獲)、不足之處和今后應(yīng)注意的問題。參考程序:31#include<reg51.h>#include<intrins.h>unsigned char a,b,c,d,temp;bit flag=0;unsigned char code dis1="order is: "unsigned char code dis21710="order1","order2",&quo

40、t;order3","order4","order5","order6","order7","order8","order9","order10","order11","order12","order13","order14","order15","order16","NO RUN"sbit rs=P10;s

41、bit rw=P11;sbit ep=P12;bit lcd_bz() bit result; rs=0; rw=1; ep=1; _nop_(); _nop_(); _nop_(); _nop_(); result=(bit)(P0&0x80); ep=0; return(result);void lcd_wcmd(unsigned char cmd) while(lcd_bz(); rs=0; rw=0; ep=0; _nop_(); _nop_(); P0=cmd; _nop_(); _nop_(); _nop_(); _nop_(); ep=1; _nop_(); _nop_(

42、); _nop_(); _nop_(); ep=0;void lcd_pos(unsigned char pos) lcd_wcmd(pos |0x80);void lcd_wdat(unsigned char dat) while(lcd_bz(); rs=1; rw=0; ep=0; P0=dat; _nop_(); _nop_(); _nop_(); _nop_(); ep=1; _nop_(); _nop_(); _nop_(); _nop_(); ep=0; void delay(unsigned char n) unsigned char i,j; for(i=0;i<n;i

43、+) for(j=0;j<125;j+);void lcd_init() lcd_wcmd(0x38); delay(1); lcd_wcmd(0x0c); delay(1); lcd_wcmd(0x06); delay(1); if(d!=a) lcd_wcmd(0x01); delay(1); display() unsigned char k; lcd_pos(0x00); k=0; while(dis1k!='0') lcd_wdat(dis1k); k+; lcd_pos(0x41); k=0; while(dis2tempk!='0') lcd

44、_wdat(dis2tempk); k+; char rl1(unsigned char x) unsigned char k; k=x&0x80; k=k>>7 ; x=x<<1; x=x|k ; return(x);void ks() P2=a; a=P2; a=(a)&0xf0;char key() a=0xf0; ks(); if(a) delay(10); a=0xf0; ks(); if(a) c=0xfe; b=0; while(c!=0xef) a=c; ks(); if(!a) b+; c=rl1(c); else a=a+b; bre

45、ak; flag=1; return(a); void bj() switch (a) case 0x10:temp=0;flag=1;break; case 0x20:temp=1;flag=1;break; case 0x40:temp=2;flag=1;break; case 0x80:temp=3;flag=1;break; case 0x11:temp=4;flag=1;break; case 0x21:temp=5;flag=1;break; case 0x41:temp=6;flag=1;break; case 0x81:temp=7;flag=1;break; case 0x1

46、2:temp=8;flag=1;break; case 0x22:temp=9;flag=1;break; case 0x42:temp=10;flag=1;break; case 0x82:temp=11;flag=1;break; case 0x13:temp=12;flag=1;break; case 0x23:temp=13;flag=1;break; case 0x43:temp=14;flag=1;break; case 0x83:temp=15;flag=1;break; default : if(flag=0) temp=16; else temp=temp;break; ma

47、in() flag=0; while(1) d=a; a=key(); bj(); lcd_init(); display(); 實驗九.基于單片機的按鍵發(fā)聲實驗一、實驗要求: 必做二、實驗類型: 設(shè)計三、實驗學(xué)時:2四、實驗地點與環(huán)境:機房,PROTEUS7.4、Keil uVision3等軟件五、實驗?zāi)康?1、理解發(fā)聲原理。2、掌握單片機控制發(fā)聲的方法。3、進一步熟悉利用PROTEUS、Keil uVision3等軟件進行單片機系統(tǒng)仿真設(shè)計的方法。六、實驗內(nèi)容:1、實驗要求 如圖9-1所示,用AT89C51單片機控制3個按鍵分別發(fā)出DO、RE、MI 3種聲音。圖9-1 按鍵發(fā)聲實驗電原理圖

48、2、實驗步驟(1)、在PROTEUS平臺中畫出電原理圖,其中發(fā)聲器(喇叭)的型號為:SPEAKER。 (2)、在WAVE6000平臺中進行編程、編譯,生成目標(biāo)文件(.HEX文件) (3)、在PROTEUS平臺中加載目標(biāo)文件(.HEX文件)并進行仿真調(diào)試,若達(dá)不到要求,則要修改程序,反復(fù)調(diào)試,直到成功。七、寫出實驗小結(jié),內(nèi)容包括實驗心得(收獲)、不足之處和今后應(yīng)注意的問題。實驗十.串行通信-串并轉(zhuǎn)換仿真實驗一、實驗要求: 必做二、實驗類型: 驗證三、實驗學(xué)時:2四、實驗地點與環(huán)境:機房,PROTEUS7.4、Keil uVision3等軟件五、實驗?zāi)康?1、掌握單片機串行口方式0工作方式及編程方

49、法。2、掌握利用串行口擴展I/O口的方法。3、進一步熟悉利用PROTEUS、WAVE6000等軟件進行單片機系統(tǒng)仿真設(shè)計的方法。六、實驗內(nèi)容:1、實驗要求如圖10-1所示,要求每隔1秒在數(shù)碼管上依次顯示“0”“9”這10個數(shù)字,且一直循環(huán)顯示。圖10-1 串并轉(zhuǎn)換實驗電原理圖2、實驗步驟(1)、在PROTEUS平臺中畫出電原理圖,其中串并轉(zhuǎn)換元器件的型號為:74LS164。 (2)、在WAVE6000平臺中進行編程、編譯,生成目標(biāo)文件(.HEX文件) (3)、在PROTEUS平臺中加載目標(biāo)文件(.HEX文件)并進行仿真調(diào)試,若達(dá)不到要求,則要修改程序,反復(fù)調(diào)試,直到成功。七、寫出實驗小結(jié),內(nèi)容

50、包括實驗心得(收獲)、不足之處和今后應(yīng)注意的問題。實驗十一.串行通信-多機通信仿真實驗一、實驗要求: 必做二、實驗類型: 驗證三、實驗學(xué)時:2四、實驗地點與環(huán)境:機房,PROTEUS7.4、Keil uVision3等軟件五、實驗?zāi)康?1、掌握單片機串行口方式3工作方式及編程方法。2、熟悉數(shù)據(jù)的傳送格式、通信協(xié)議的規(guī)劃與制定。3、進一步熟悉利用PROTEUS、Keil uVision3等軟件進行單片機系統(tǒng)仿真設(shè)計的方法。六、實驗內(nèi)容:1、實驗要求圖11-1 點對多點多機通信實驗電原理圖如圖11-1所示,要求主機(最上方的單片機)以輪詢的方式依次和從機1(中間的單片機)、從機2(最下方的單片機)

51、通信,即主機和兩個從機組成主從的通信方式,從機1上4個按鍵所代表的數(shù)據(jù)能在主機4位數(shù)碼管的前兩位實時顯示出來,從機2上4個按鍵所代表的數(shù)據(jù)也能在主機4位數(shù)碼管的后兩位實時顯示出來。2、實驗步驟(1)、在PROTEUS平臺中畫出電原理圖。 (2)、在WAVE6000平臺中進行編程、編譯,生成目標(biāo)文件(.HEX文件) (3)、在PROTEUS平臺中加載目標(biāo)文件(.HEX文件)并進行仿真調(diào)試,若達(dá)不到要求,則要修改程序,反復(fù)調(diào)試,直到成功。七、寫出實驗小結(jié),內(nèi)容包括實驗心得(收獲)、不足之處和今后應(yīng)注意的問題。實驗十二.雙機并行通信仿真實驗一、實驗要求: 必做二、實驗類型: 驗證三、實驗學(xué)時:2四、

52、實驗地點與環(huán)境:機房,PROTEUS7.4、Keil uVision3等軟件五、實驗?zāi)康?1、掌握利用并行口傳輸數(shù)據(jù)的方法。2、掌握數(shù)據(jù)的傳送格式、聯(lián)絡(luò)信號的的規(guī)劃與通信協(xié)議的制定。3、進一步熟悉利用PROTEUS、Keil uVision3等軟件進行單片機系統(tǒng)仿真設(shè)計的方法。六、實驗內(nèi)容:1、實驗要求如圖12-1所示,要求主機(最上方的單片機)以輪詢的方式依次和從機1(中間的單片機)、從機2(最下方的單片機)通信,即主機和兩個從機組成主從的通信方式,從機1上4個按鍵所代表的數(shù)據(jù)能在主機4位數(shù)碼管的前兩位實時顯示出來,從機2上4個按鍵所代表的數(shù)據(jù)也能在主機4位數(shù)碼管的后兩位實時顯示出來。圖12-1 雙機并行通信實驗電原理圖2、實驗步驟(1)、在PROTEUS平臺中畫出電原理圖。 (2)、在Keil uVision3平臺中進行編程、編譯,生成目標(biāo)文件(.HEX文件) (3)、在PROTEUS平臺中加載目標(biāo)文件(.HEX文件)并進行仿真調(diào)試,若達(dá)不到要求,則要修改程序,反復(fù)調(diào)試,直到成功。七、寫出實驗小結(jié),內(nèi)容包括實驗心得(收獲)、不足之處和今后應(yīng)注意的問題。實驗十三.串行并行通信仿真實驗

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論