單片機實驗報告2_第1頁
單片機實驗報告2_第2頁
單片機實驗報告2_第3頁
單片機實驗報告2_第4頁
已閱讀5頁,還剩16頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、單片機實驗報告2 目錄 一、 實驗一1 二、 實 驗二 三、 實驗三11 四、 實驗四15 一 實驗一驗實證驗器數計時定 定時計數器驗證實驗 一、 實驗目得 熟悉定時/計數器t0得特點,學會合理選擇定時方式并能根據具體情況結合軟件得方式定時。 二、 實驗 設備及器件 im p機 一臺 roteu 硬件仿真軟件 keil c51。 三、 實驗內容 用atc5單片機得定時/計數器t0產生1s得定時時間,作為秒計數時間,當1s產生時秒計數加1;秒計數到60時,自動從開始。 四、 實驗要求 要求采用roeus軟件實現上述實驗. 五、 實驗步驟 1. 打開proteus iis編輯環境,按照表1-1所列

2、得元件清單添加元件。 元件名稱 所屬類 所屬子類 atc51 miroprocsor 8051 ily ca capcitors gnr c-eec apaitr geeric cstal misclls re resists nrc 7seg-cag opoeletrois 7segme says pullp moig prmitives igitalicellaneos 表 1 元件清單 元件全部添加后,在prteus is得編輯區域中按圖11所示得原理圖連接硬件電路。 圖 1 電路原理圖 2. 根據參考程序繪出流程圖,并輔以適當得說明。 流程圖如圖1 1 2 2 所示: : 開始單片機數

3、碼管初始化設置定時器0初始化開中斷是否有中斷?進入中斷程序送時間常數count+1是否計夠1秒?yn中斷返回nsecond+1是否等于60秒?ysecond歸零y分離計數值十位個位n查表顯示十位個位 圖1 1- - 2 程序流程圖 3. 打開kilviio,新建el項目,選擇t8951單片機作為cu,將參考程序導入到"souce gu 1'中.在"options fo target'對話窗口中,選中"outut'選項卡中得"reate hex fie'選項與"debg'選項卡中得"ue:pote

4、us vsm simulator'選項。編譯匯編源程序,改正程序中得錯誤。 4. 在protus iss中,選中t89c51并單擊鼠標左鍵,打開"di poent對話窗口,設置單片機晶振頻率為2hz,在此窗口中得"program fil'欄中,選擇先前用kei生成得、hex文件。在proteus isi得菜單欄中選擇"file"save design'選項,保存設計,在pous isis得菜單欄中,打開"deg'下拉菜單,在菜單中選中"u reot bug moior'選項,以支持與keil得聯

5、合調試. 5. 在keil得菜單欄中選擇"dbug'"stat/stop debug ssson"選項,或者直接單擊工具欄中得"debug'"stat/to debug s ssio圖標,進入程序調試環境。按"f'鍵,順序運行程序。調出"pots isis界面可以瞧到段數碼管顯示從09s得計數值,每個數值顯示1s,如圖13所示。 圖 1 1 程序運行結果 六、 實驗 程序 second qu 30h cout h3 0gro0 h lmp start org0 hb lp itt stat: h,nc

6、v 00,tnuc om ebat#,rpd vom ac mo a,0p mov a,2p mov 00#,dmt 652)000563556(,t vo 62 dom)0005356(#,lt vo 0rt bt 0e ts aetes 28,ei vm jm $i_t:mv 652)000563556(,0 vom 52 dom)000563556(#,0lt cni cout o nuoc, cje 2i,02#,a vm cunt,00h cni second mov ,ecnd jn 1i,0,a mv #,dnocei1: mo noces, mov h1#,b i movc a

7、,adp o p0,a b,avo tpda,aom a,2vmi2: iterale: db3 h6,f4,h5,h,hf db dh,7dh,07,h,fh ne七、 思考題 1. 羅列一下 proteus 軟件得能帶給我們得好處, , 指出一點最能幫助您得地方。 使用prote軟件能使我們方便得搭建電路,同時在沒有元器件得情況下進行便于仿真,方便我們在將程序寫入單片機前確認運行就是否正確,同時可在采購器件之前即可開始開發產品,而不必等到器件采購完后搭建電路才進行程序調試。 2. 用 用 proteu 界面中得播放鍵運行仿真與 ke lvision4 得環境中聯調運行它們兩者得區別在什么地

8、方? 用prots界面中得播放鍵運行仿真僅可以觀察運行結果,即程序運行在硬件表面上得表現。而聯調得時候可以再k軟件里查瞧各寄存器與存儲器得狀況,即硬件得內部情況。 3. eil 軟件軟件仿真與 ote 得仿真對比. . 使用protus仿真可從硬件得角度觀察仿真結果,使仿真結果更加形象直觀,使我們可從硬件運行狀態清楚得判斷運行結果就是否正確。而在keil環境中則就是從程序得角度通過觀察程序中數據得變化來觀察仿真結果,需要對程序運行結果充分了解. 八、 實驗總結 及相關問題 通過本次實驗了解了ttes軟件得使用方法,以及在掌握了el得使用方法下,學會了rteu與eil軟件聯調得方法。 在用rte

9、us中由于忽略了要在總線處放置網絡標號導致聯調失敗,最后通過觀察發現數碼管引腳電平無變化發現此問題,放置網絡標號后運行仿真時數碼管引腳電平發生變化可就是數碼管卻沒有變亮,經過多次檢查接線,未發現接線錯誤后,覺得可能就是軟件本身錯誤,故將總線及數碼管周圍硬件線路重新繪制一遍后再次運行仿真及可得到圖13得結果。 二 實驗二機片單 單片機 o i/o 口控制實驗 一、 實驗目得 利用單片機得p1 口作io 口,使同學學會利用p1 口作為輸入與輸出口。 二、 實驗設備及器件 im p 機 一臺 dp1pr、nt 單片機仿真器、編程器、實驗儀三合一綜合開發平臺一臺 三、 實驗內容 1. 編寫一段程序,用

10、p 口作為控制端口,使d 區得d 輪流亮。 2. 編寫一段程序,用p、0p、6 口控制led,p1、7 控制led 得亮與滅(p、7 接按鍵,按下時ed 亮,不按時 滅) . 四、 實驗要求 學會使用單片機得p1 口作o 口,如果有時間同學也可以利用3 口作io 口來做該實驗. 五、 實驗步驟 1. 用導線把a2 區得61 接口與d1 區得52 接口相連。原理如圖21 所示。 圖2 實驗二 原理圖 2. 先編寫一個延時程序。 延時程序 見程序1 1 子程序 delay 。 3. 將led 輪流亮得程序編寫完整并使用tkstud ice 調試運行。 led 輪流亮程序見程序 。 調試運行結果 :

11、d1 區 le 輪流亮. . 4. 使用導線把a 區得j61 接口得p1、0p1、6 與1 區得 2 接口得led1ed7 相連,另外a 區j 接口得p、 與1 區得j3 得key1 相連 5. 編寫p、 控制ed 得程序,并調試運行。(按下1 瞧就是否全亮). p1 、7 控制l 得程序見程序2 2 。 調試運行結果:按下 p1 、7 7 后 d1 區e e 全滅。 6. a2 區j6 接口得1、 與d1 區得j54 得sw1 相連。然后再使用tkstudy ice 運行程序,查瞧結果。 p1 、7 控制l d 得程序見程序2 2 。 調試運行結果:按下1 1 、后1 1 區e e 全亮。

12、六、 實驗參考程序 序 程序 1: : org 00 ljp iorg 100 ain: m ,#0ffh clr cmainlop:call yale a clr a,1p vm jmp lnadela: mo r,#0 lop: o 0#,6r nz ,6r $,6r znjd djz r,$ dnz r7,loo et end 程序 2 2: : rg 000h ljmp in org 010 ain: b deltes,7、1ce:clr 0、1p clr 1、1p rlc p1、2 clr 、1p clr 4、1 cr p1、 c p1、 sjmp mai sd:se p、 st 、

13、1p 2、1p btes 、1bts etb 4、1p setb 、1p 6、ptes nampjs d七、 實驗思考題 1. 請同學思考一下, , 想出幾個實現以上功能得編程方法。 程序1可利用單片機得定時計數器通過選擇定時計數器工作方式與預置初值設定延時時間,通過定時計數器產生得中斷在中斷程序中對a進行移位后輸出至1口. 程序2可在判斷1、7高低電平后根據判斷結果直接將#8h或#7f直接送p1口而不必逐位進行位操作。 2. 請同學再思考一下, , 第二個程序中如果使用 key1 作為外部中斷控制 d d 得亮與滅時, , 程序應如何修改。 此時將key1接/int0口,在主程序中開啟外部中

14、斷設置外部中斷觸發方式,通過中斷服務子程序控制ld亮滅。程序如下所示: ro0 h j main rg3000 序程務服斷中;h ljmp deltesmn: mov 4, 斷中部外開; 0te bes clr 0t ;設置為電平觸發 stb aelrled:lr p1、0 clr 、1 2、1plc cl 3、1 4、1prc cl p1、 lr 、1 dlrc pjseled:tb 1、 1、pbt st 1、 3、1pes 、1p btes etb 5、1p 6、1p btes ier dne八、 實驗總結 及相關問題 通過本次實驗掌握了使用 tkstud ie 進行硬件仿真調試得方法,

15、在設置仿真器驅動程序聲明時對 c:eil 目錄下得ools、ni 文件添加描述時,由于添加得路徑錯誤導致無法進行硬件仿真調試,修改為正確路徑后方可在debg 窗口中得 use 選項中找到對應得選項。使用 tkstdy ce 進行硬件仿真調試相比本學期得電子系統設計中用到得調試方法更快捷,使用更方便 與此同時,通過本次實驗對單片機得 io 控制有了更深入得了接,同時加深入對單片機/o 編程得理解. 實驗三 串轉并 o i/o 口實驗 一、 實驗目得 熟悉并掌握串轉并得/o口擴展方法。 二、 實驗設備及器件 bm pc機 一臺 d-po、t單片機仿真器、編程器、實驗儀三合一綜合開發平臺 一臺 三、

16、 實驗內容 1. 寫程序,通過單片機得p口控制4hc164得串行輸入端口,實現串并轉換. 2. 驗證串并轉換數據得正確性。 四、 實驗要求 熟悉串并轉換芯片得工作原理,學會使用串并轉換芯片擴展單片機得i/o 口資源. 表3-1 74hc 4 真值表 五、 實驗步驟 1 短接區j10接口,將c區43接口與a2區61接口得p10p1對應相連 (clk對10等等)。如圖3-1所示。 圖3 1 實驗 三 原理圖 2。 運行編寫好得軟件程序,完成一次串并轉換。 實驗 程序 見 實驗參考程序。 2 使用c2區得邏輯筆或d1區得5接口(led指示燈)測試并行輸出數據q0q7數據得正確性。 調試運行結果:通過

17、觀察 le 得亮滅情況可判斷完成一次串并轉換, , 且轉換結果正確無誤. . 六、 實驗參考程序 lk 、1p qedina eu p1、1 dib qu p1、 lr64 3、1p qerg000 hjmp niamor0010 hmn: v p,#60h nop cl clk setb nid lc clr14 461rlc btes f,a vom vom h0,4lhg: rlc a c,ani vom sb clk pn kl lc po h,4 zd $ pmjs en 七、 實驗思考題 參考圖 3電路圖,嘗試編寫軟件程序,實現 8 位 led 流水燈得控制。 圖 圖 3 、2 實

18、驗原理圖 可利用單片機得定時計數器通過選擇定時計數器工作方式與預置初值設定延時時間,通過定時計數器產生得中斷在中斷程序中對a進行移位。程序如下所示: clk qu 0、1p in 1、1p u din 、1 ue clr14 qu 、3 go00 ljmp main rg 00bh ;定時器 0 中斷服務程序 ljmp slchg main: h0#,ps vom np lr clk bn btes 61rlcrlc st 461lc mov hff#,a mo 式方作工 0 器時定;h10#,omt vom 數常間時 sm2 送;h8,ht h0#,lt om setb rt ;開中斷 0e

19、tes aebte pmjsg: o 81,0h mo hc0,0lt a r c,anid vom stb lk nop l rlc eti n八、 實驗總結 及相關問題 由于具有之前實驗得基礎所以本實驗基本沒碰到什么問題,調試運行都符合實驗要求,通過本次實驗對串并轉化程序得編寫有了一定了解,通過編寫流水燈程序加深了對單片機串并口得了解。 實驗四 繼電器控制實驗 一、 實驗目得 加深理解繼電器得工作原理與特點,掌握利用單片機得io口控制繼電器得一般方法。 二、 實驗設備及器件 ibm c機 一臺 dp51ro、ne單片機仿真器、編程器、實驗儀三合一綜合開發平臺 一臺 三、 實驗內容 1. 利

20、用d1區得撥動開關與led,學習繼電器得工作原理與特點。 2. 編寫一段程序,用p1、0口控制繼電器,繼電器控制led得亮與滅,(與cse連通時,一盞le亮;不連通時該e滅。與en連通時,另一盞led亮,不通時該led滅) 四、 實驗要求 學會繼電器得使用與利用單片機得口控制繼電器得方法。 五、 實驗步驟 圖4 1 繼電器驅動控制電路圖 1. 用短路帽短接jp7,使用導線把d1區j54接口得s1與c7區j9接口得k(任意一根針)相連接。 2. 使用導線把1區52接口得le1、ed2與7區j103接口得open1,clse分別相連,另外c7區j103接口得1接地(d)。 3. 接好線后,同學可以撥動1區得sw撥動開關,觀察現象(撥到1時ld2亮,撥到時l1亮),并得出結論。 運行結果: : 撥到1 時led 亮,撥到0 時l d 亮 ,說明每撥動一次開關改變一次繼電器得狀態。 4. 然后把c7 區j9 接口得kj 改接到2 區得61 接口得p。再編寫一個程序程序(參考實

溫馨提示

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

評論

0/150

提交評論