P0口彩燈控制實(shí)驗(yàn)_第1頁
P0口彩燈控制實(shí)驗(yàn)_第2頁
P0口彩燈控制實(shí)驗(yàn)_第3頁
P0口彩燈控制實(shí)驗(yàn)_第4頁
P0口彩燈控制實(shí)驗(yàn)_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

實(shí)驗(yàn)項(xiàng)目名稱: P0口彩燈控制實(shí)驗(yàn)實(shí)驗(yàn)室(中心): 電子實(shí)驗(yàn)室實(shí)驗(yàn)完成時(shí)間:09年10月22日教師評閱意見:簽名:年月曰實(shí)驗(yàn)成績:一、實(shí)驗(yàn)?zāi)康耐ㄟ^實(shí)驗(yàn)了解單片機(jī)最小系統(tǒng);掌握PO口作為輸入、輸出方式使用時(shí),CPU對P0口操作方法。二、 實(shí)驗(yàn)內(nèi)容控制要求為:(1)正常情況下,8個(gè)發(fā)光二極管常亮。(2)按下K1時(shí),第1個(gè)和第8個(gè)發(fā)光二極管閃爍,閃爍間隔時(shí)間為1s°(3)按下K2時(shí),8個(gè)發(fā)光二極管閃爍,閃爍間隔時(shí)間為2s°(4)發(fā)光二極管由單片機(jī)P0口控制。用Proteus仿真軟件運(yùn)行硬件電路仿真設(shè)計(jì)。三、 實(shí)驗(yàn)設(shè)備及材料單片機(jī)AT89C51 、瓷片電容CAP30pF、晶振CRYSTAL12MHZ、電解電容CAP-ELEC電阻RES 、按鈕BUTTON 、發(fā)光二極管LED-BIRG、發(fā)光二極管LED-BIBY開關(guān)SWITCH、排阻RESPACK-8、發(fā)光二極管LED-BIGY、發(fā)光二極管LED-YELLOW四、 實(shí)驗(yàn)電路圖RP1RESPACK-8RRXTAL1P0.0/AD0P01/AD1XTAL2RSTP0.2/AD2P0.3/AD3P0.4/AD4RP1RESPACK-8RRXTAL1P0.0/AD0P01/AD1XTAL2RSTP0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10PSENP2.3/A11ALEP2.4/A12EAP2.5/A13P1.0P1.1P2.6/A14P2.7/A15P3.0/RXDP3.17TXDP1.2P3.2/INT0P1.3P3.3/INT1P1.4P3.4/T0P1.5P3.5/T1P1.6P3.6/WR-P+t7 P3.7/RDI12-3-4567D0Q0D1Q1D2Q2D3Q3D4Q4D5Q5D6Q6D7Q7OE25"r9_12757679LED-BIRGLED-YELLOW五:主要代碼#include<reg51.h>#include<stdio.h>#include<intrins.h>sbitP30=P3A0;sbitP31=P3T;unsignedcharcount;voiddelay(unsignedi){unsignedchara,b,c;for(;i>0;i--)for(c=167;c>0;c--)for(b=171;b>0;b--)for(a=16;a>0;a--);_nop_;}voidmain(void){P0=0XFF;while(1){if(P31==0)while(1){if(P31==1)break;P0=0X81;delay(1);P0=0;delay(1);}if(P30==0)while(1){count=0;if(P30==1)break;P0=0;delay(2);P0=0XFF;delay(2);}}}五:實(shí)驗(yàn)步驟1、安裝protues軟件和keilc-51軟件2、 打開Keil程序,執(zhí)行菜單命令“Project”T“NewProject”創(chuàng)建“P口彩燈控制實(shí)驗(yàn)”項(xiàng)目,并選擇單片機(jī)型號為AT89C51。3、 執(zhí)行菜單命令“File”T“New”創(chuàng)建文件,輸入源程序,保存為“P口彩燈控制實(shí)驗(yàn).c”。在“Project”欄的File項(xiàng)目管理窗口中右擊文件組,選擇“AddFilestoGroup‘SourceGroup1'”將源程序“P口彩燈控制實(shí)驗(yàn).c”添加到項(xiàng)目中。4、執(zhí)行菜單命令“Project”T“OptionsforTarget‘Target1'”,在彈出的對話框中選擇“Output”選項(xiàng)卡,選中“GreateHEXFile”。5、執(zhí)行菜單命令“Project”T“BuildTarget”,編譯源程序。如果編譯成功,則在“OutputWindow”窗口中顯示沒有錯(cuò)誤,并創(chuàng)建了“P口彩燈控制實(shí)驗(yàn).HEX”文件。在proteus仿真平臺上建立仿真原理圖,并將程序上載到虛擬芯片上運(yùn)行。六、實(shí)驗(yàn)總結(jié)及心得1、在控制閃爍時(shí)間的方式上我最先采用了軟件延時(shí),但是由于延時(shí)的精度不高,所以打算選擇用定時(shí)器的方式進(jìn)行定時(shí)觸發(fā)閃爍,對然定時(shí)中斷比延時(shí)更為準(zhǔn)確的控制閃爍的時(shí)間,但是在軟件設(shè)計(jì)的時(shí)候要采用軟件延時(shí)和定時(shí)組合的方式,這樣的話就增加了軟件設(shè)計(jì)的難度。2、最初完成程序設(shè)計(jì)的時(shí)候我運(yùn)行了程序,在檢查無誤后將生成的HEX寫入單片機(jī),仿真圖沒有按照我預(yù)想的方式進(jìn)行,沒有閃爍,于是我不斷的簡短了延時(shí)的時(shí)間,終于有了閃爍,雖然能閃爍了,就是在忽閃忽閃的,原因在于在閃爍的第二個(gè)狀態(tài)的時(shí)候沒有延時(shí),于是我更改程序,閃爍變得正常了。因?yàn)橐郧白鲞^10s鐘的延時(shí),沒有出什么問題啊,我仔細(xì)的檢查了程序,調(diào)試的時(shí)候,中斷還是能正常的進(jìn)行,但是在實(shí)際操作的時(shí)候就是不閃,但減少定時(shí)的時(shí)間就能閃。檢查了很久。把程序也該了很多次,最后發(fā)現(xiàn)是P0端口沒有加地址鎖存器。在調(diào)整了硬件電路之后還是沒有成功。最后我放棄了。決定采用了軟件定時(shí)的方法,我使用一種小工具,能很精確的用軟件延時(shí)。最后我還是使用的軟件進(jìn)行延時(shí)。3、在完成實(shí)驗(yàn)后,我重新用中斷的方式延時(shí),這次我很認(rèn)真做沒一步,結(jié)果成功了。呵呵???步知道是什么原因??偨Y(jié)幾點(diǎn):在第一次做的時(shí)候

溫馨提示

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

評論

0/150

提交評論