目錄 一、 實驗一··········································1 二、 實 驗二··········································7 三、 實驗三·········································11 四、 實驗四·········································15
一 實驗一驗實證驗器數計/時定? 定時/計數器驗證實驗
一、
實驗目得
熟悉定時/計數器T0得特點,學會合理選擇定時方式并能根據具體情況結合軟件得方式定時。
二、
實驗 設備及器件
IBM PC機 一臺 PROTEUS 硬件仿真軟件 Keil C51。
三、
實驗內容
用AT89C51單片機得定時/計數器T0產生1s得定時時間,作為秒計數時間,當1s產生時秒計數加1;秒計數到60時,自動從0開始。
四、
實驗要求
要求采用Proteus軟件實現上述實驗.
五、
實驗步驟
1. 打開Proteus ISIS編輯環境,按照表1-1所列得元件清單添加元件。
元件名稱 所屬類 所屬子類 AT89C51 Microprocessor 8051 Family CAP Capacitors Generic CAP-ELEC Capacitors Generic CRYSTAL Miscellaneous —— RES Resistors Generic 7SEG--CAT—GRN Optoelectronics 7—Segment Displays PULLUP Modeling Primitives Digital[Miscellaneous] 表1- 1 元件清單
元件全部添加后,在Proteus ISIS得編輯區域中按圖1—1所示得原理圖連接硬件電路。
圖1 — 1 電路原理圖
2. 根據參考程序繪出流程圖,并輔以適當得說明。
流程圖如圖1 1 —2 2 所示: :
開始單片機數碼管初始化設置定時器0初始化開中斷是否有中斷?進入中斷程序送時間常數COUNT+1是否計夠1秒?YN中斷返回NSECOND+1是否等于60秒?YSECOND歸零Y分離計數值十位個位N查表顯示十位個位 圖1 1- - 2 程序流程圖
3. 打開KeilμVision4,新建Keil項目,選擇AT89C51單片機作為CPU,將參考程序導入到“Source Group 1”中.在“Options for Target”對話窗口中,選中“Output”選項卡中得“Create HEX File”選項與“Debug”選項卡中得“Use:Proteus VSM Simulator”選項。編譯匯編源程序,改正程序中得錯誤。
4. 在Proteus ISIS中,選中AT89C51并單擊鼠標左鍵,打開“Edit ponent"對話窗口,設置單片機晶振頻率為12MHz,在此窗口中得“Program File”欄中,選擇先前用Keil生成得、HEX文件。在Proteus ISIS得菜單欄中選擇“File"→“Save Design”選項,保存設計,在Proteus ISIS得菜單欄中,打開“Debug”下拉菜單,在菜單中選中“Use Remote Debug
Monitor”選項,以支持與Keil得聯合調試. 5. 在Keil得菜單欄中選擇“Debug”→“Start/Stop Debug Session“選項,或者直接單擊工具欄中得“Debug”→“Start/Stop Debug Se
ssion"圖標,進入程序調試環境。按“F5”鍵,順序運行程序。調出“Proteus ISIS"界面可以瞧到7段數碼管顯示從0~59s得計數值,每個數值顯示1s,如圖1—3所示。
圖
1 1 — 3
程序運行結果
六、
實驗 程序
SECOND EQU 30H COUNT H13 UQE?0GRO??0 H?
LJMP START
ORG0 HB??
LJMP INT_T0 START: H00#,DNOCES??VOM?
H00#,TNUOC? VOM? ELBAT#,RTPD? VOM?? A??RLC??
MOV
A,0P?
MOV
A,2P?
MOV H00#,DOMT??
652/)00005—63556(#,0HT? VOM? 652 DOM)00005—63556(#,0LT? VOM?? 0RT BTES?? 0TE BTES??
AE?BTES?
H28#,EI
VOM?
LJMP $?INT_T0:MOV 652/)00005—63556(#,0HT?? VOM??
652 DOM)00005—63556(#,0LT? CNI??
COUNT
MOV
TNUOC,A? ? CJNE 2I,02#,A?
VOM?? COUNT,#00H
? CNI? SECOND
? MOV
A,SECOND
CJNE 1I,06#,A? ? MOV
H00#,DNOCES?I1:
MOV DNOCES,A?? ? MOV H01#,B??
VID?? AB
MOVC A,A+DPTR
VOM? P0,A
B,A??VOM?
RTPD+A,A?CVOM? A,2P??VOM??I2:
ITER?TABLE:
DB3 H66,HF4,HB5,H60,HF?
DB 6DH,7DH,07H,7FH,6FH
DNE?七、
思考題
1. 羅列一下 Proteus 軟件得能帶給我們得好處, , 指出一點最能幫助您得地方。
使用Proteus軟件能使我們方便得搭建電路,同時在沒有元器件得情況下進行便于仿真,方便我們在將程序寫入單片機前確認運行就是否正確,同時可在采購器件之前即可開始開發產品,而不必等到器件采購完后搭建電路才進行程序調試。
2. 用 用 Proteu s 界面中得播放鍵運行仿真與 Ke i lμVision4 得環境中聯調運行它們兩者得區別在什么地方?
用Proteus界面中得播放鍵運行仿真僅可以觀察運行結果,即程序運行在硬件表面上得表現。而聯調得時候可以再Keil軟件里查瞧各寄存器與存儲器得狀況,即硬件得內部情況。
3. K K eil 軟件軟件仿真與 P r ote us 得仿真對比. .
使用Proteus仿真可從硬件得角度觀察仿真結果,使仿真結果更加形象直觀,使我們可從硬件運行狀態清楚得判斷運行結果就是否正確。而在Keil環境中則就是從程序得角度通過觀察程序中數據得變化來觀察仿真結果,需要對程序運行結果充分了解. 八、
實驗總結 及相關問題
通過本次實驗了解了Ptoteus軟件得使用方法,以及在掌握了Keil得使用方法下,學會了Proteus與Keil軟件聯調得方法。
在用Proteus中由于忽略了要在總線處放置網絡標號導致聯調失敗,最后通過觀察發現數碼管引腳電平無變化發現此問題,放置網絡標號后運行仿真時數碼管引腳電平發生變化可就是數碼管卻沒有變亮,經過多次檢查接線,未發現接線錯誤后,覺得可能就是軟件本身錯誤,故將總線及數碼管周圍硬件線路重新繪制一遍后再次運行仿真及可得到圖1—3得結果。
二 實驗二機片單? 單片機 O I/O 口控制實驗
一、
實驗目得
利用單片機得P1 口作IO 口,使同學學會利用P1 口作為輸入與輸出口。
二、
實驗設備及器件
IBM PC 機 一臺 DP—51PRO、NET 單片機仿真器、編程器、實驗儀三合一綜合開發平臺一臺
三、
實驗內容
1. 編寫一段程序,用P1 口作為控制端口,使D1 區得LED 輪流亮。
2. 編寫一段程序,用P1、0~P1、6 口控制LED,P1、7 控制LED 得亮與滅(P1、7 接按鍵,按下時LED 亮,不按時LED 滅) .
四、
實驗要求
學會使用單片機得P1 口作IO 口,如果有時間同學也可以利用P3 口作IO 口來做該實驗.
五、
實驗步驟
1. 用導線把A2 區得J61 接口與D1 區得J52 接口相連。原理如圖2—1 所示。
圖2 — 1 實驗二 原理圖
2. 先編寫一個延時程序。
延時程序 見程序1 1 子程序 DELAY 。
3. 將LED 輪流亮得程序編寫完整并使用TKStudy ICE 調試運行。
LED 輪流亮程序見程序1 。
調試運行結果 :D1 區 LE D輪流亮. .
4. 使用導線把A2 區得J61 接口得P1、0~P1、6 與D1 區得 J52 接口得LED1~LED7 相連,另外A2 區J61 接口得P1、7 與D1 區得J53 得KEY1 相連. 5. 編寫P1、7 控制LED 得程序,并調試運行。(按下K1 瞧就是否全亮). P1 、7 控制L ED 得程序見程序2 2 。
調試運行結果:按下 P1 、7 7 后 D1 區LE E D全滅。
6. A2 區J61 接口得P1、7 與D1 區得J54 得SW1 相連。然后再使用TKStudy ICE 運行程序,查瞧結果。
P1 、7 控制L ED 得程序見程序2 2 。
調試運行結果:按下P1 1 、7后D1 1 區LE E D全亮。
六、
實驗參考程序
序 程序 1: :
ORG
0000 H?LJMP
NIAM?ORG
0100H MAIN: MOV
A,#0FFH
CLR C??MAINLOOP:CALL YALED? A
CLR??
A,1P? VOM?
SJMP POOLNIAM?DELAY: MOV
R7,#0 LOOP: MOV
0#,6R?
DJNZ $,6R? $,6R ZNJD?? ? DJNZ R6,$
? DJNZ R7,LOOP
RET
? END 程序 2 2: :
ORG
000H LJMP MAIN ORG 0010 H?MAIN: JB
DELTES,7、1P?CLRLED:CLR
0、1P?
CLR 1、1P??
RLC? P1、2
? CLR
3、1P?
CLR 4、1P?? ? CLR
P1、5
RLC? P1、6
? SJMP MAIN SETLED:SETB P1、0
? SETB 1、1P?
2、1P BTES? 3、1P?BTES??
SETB 4、1P?
SETB 5、1P?
6、1P?BTES? NIAM?PMJS?? DNE??七、
實驗思考題
1. 請同學思考一下, , 想出幾個實現以上功能得編程方法。
程序1可利用單片機得定時計數器通過選擇定時計數器工作方式與預置初值設定延時時間,通過定時計數器產生得中斷在中斷程序中對A進行移位后輸出至P1口. 程序2可在判斷P1、7高低電平后根據判斷結果直接將#80H或#7F直接送P1口而不必逐位進行位操作。
2. 請同學再思考一下, , 第二個程序中如果使用 KEY1 作為外部中斷控制 LED D 得亮與滅時, , 程序應如何修改。
此時將KEY1接/INT0口,在主程序中開啟外部中斷設置外部中斷觸發方式,通過中斷服務子程序控制LED亮滅。程序如下所示: 0GRO?00 H? LJMP MAIN
ORG3000 序程務服斷中?;H? LJMP DELTES?MAIN: MOV H04#,PS? 斷中部外開; 0TE BTES? CLR 0TI? ;設置為電平觸發
SETB AE?CLRLED:CLR P1、0
CLR P1、1
2、1P?RLC? CLR 3、1P? 4、1P?RLC? CLR P1、5
CLR 6、1P? DELRLC PMJS?SETLED:SETB P1、0
1、1P?BTES? SETB P1、2
3、1P?BTES? 4、1P BTES? SETB 5、1P? 6、1P BTES? ITER?
DNE?八、
實驗總結 及相關問題
通過本次實驗掌握了使用 TKStudy ICE 進行硬件仿真調試得方法,在設置仿真器驅動程序聲明時對 C:\Keil 目錄下得Tools、ini 文件添加描述時,由于添加得路徑錯誤導致無法進行硬件仿真調試,修改為正確路徑后方可在DEBUG 窗口中得 Use 選項中找到對應得選項。使用 TKStudy ICE 進行硬件仿真調試相比本學期得電子系統設計中用到得調試方法更快捷,使用更方便. 與此同時,通過本次實驗對單片機得 I/O 控制有了更深入得了接,同時加深入對單片機I/O 編程得理解. 實驗三
串轉并 O I/O 口實驗
一、
實驗目得
熟悉并掌握串轉并得I/O口擴展方法。
二、
實驗設備及器件
IBM PC機 一臺 DP-51PRO、NET單片機仿真器、編程器、實驗儀三合一綜合開發平臺 一臺
三、
實驗內容
1. 寫程序,通過單片機得P1口控制74HC164得串行輸入端口,實現串并轉換.
2. 驗證串并轉換數據得正確性。
四、
實驗要求
熟悉串并轉換芯片得工作原理,學會使用串并轉換芯片擴展單片機得I/O 口資源.
表3-1 74HC 164 真值表
五、
實驗步驟
1. 短接C5區JP10接口,將C5區J43接口與A2區J61接口得P10~P13對應相連 (CLK對P10等等)。如圖3-1所示。
圖3 —1 實驗 三 原理圖
2。
運行編寫好得軟件程序,完成一次串并轉換。
實驗 程序 見 實驗參考程序。
2. 使用C2區得邏輯筆或D1區得J52接口(LED指示燈)測試并行輸出數據Q0~Q7數據得正確性。
調試運行結果:通過觀察 LE D得亮滅情況可判斷完成一次串并轉換, , 且轉換結果正確無誤. .
六、
實驗參考程序
CLK
0、1P UQE?DINA
EQU P1、1 DINB
EQU P1、2 CLR164 3、1P UQE?ORG0000 H??LJMP NIAM?ORG0010 H??MAIN:
MOV
SP,#60H
? NOP
CLR
CLK
SETB BNID?
RLC?? CLR164
461RLC BTES??
HFF0#,A? VOM? VOM??
H80#,4R?SLCHG: RLC
A?
C,ANID? VOM?
SETB
CLK
PON?
KLC
RLC?
PON? GHCLS,4R
ZNJD?? $ PMJS??
END 七、
實驗思考題
參考圖 3—2電路圖,嘗試編寫軟件程序,實現 8 位 LED 流水燈得控制。
圖 圖 3 、2 實驗原理圖
可利用單片機得定時計數器通過選擇定時計數器工作方式與預置初值設定延時時間,通過定時計數器產生得中斷在中斷程序中對A進行移位。程序如下所示:
CLK
EQU
0、1P? ? DINA
1、1P UQE? ? DINB
2、1P
UQE?
CLR164 EQU P1、3
0 GRO?000 H?
LJMP MAIN
? ORG
000BH
;定時器 0 中斷服務程序
LJMP SLCHG MAIN:
H06#,PS? VOM?
NOP
CLR
CLK
BNID BTES?
461RLC??RLC? ? SETB 461RLC?
MOV
HFF0#,A?
MOV
1式方作工 0 器時定?;H10#,DOMT? VOM??
數常間時 sm2 送?;H81#,0HT?
HCF0#,0LT? VOM? ? SETB
0RT? ;開中斷
0TE?BTES?
AE?BTES?
$ PMJS?SLCHG: MOV ? H81#,0HT?
MOV
HCF0#,0LT? A
CLR?? C,ANID
VOM?? ? SETB
CLK
NOP
KLC? RLC? RETI
DNE?八、
實驗總結 及相關問題
由于具有之前實驗得基礎所以本實驗基本沒碰到什么問題,調試運行都符合實驗要求,通過本次實驗對串并轉化程序得編寫有了一定了解,通過編寫流水燈程序加深了對單片機串并口得了解。
實驗四
繼電器控制實驗
一、
實驗目得
加深理解繼電器得工作原理與特點,掌握利用單片機得IO口控制繼電器得一般方法。
二、
實驗設備及器件
IBM PC機 一臺 DP—51PRO、NET單片機仿真器、編程器、實驗儀三合一綜合開發平臺 一臺
三、
實驗內容
1. 利用D1區得撥動開關與LED,學習繼電器得工作原理與特點。
2. 編寫一段程序,用P1、0口控制繼電器,繼電器控制LED得亮與滅,(與CLOSE連通時,一盞LED亮;不連通時該LED滅。與OPEN連通時,另一盞LED亮,不通時該LED滅).
四、
實驗要求
學會繼電器得使用與利用單片機得IO口控制繼電器得方法。
五、
實驗步驟
圖4 -1 繼電器驅動控制電路圖
1. 用短路帽短接JP7,使用導線把D1區J54接口得SW1與C7區J9接口得KJ(任意一根針)相連接。
2. 使用導線把D1區J52接口得LED1、LED2與C7區J103接口得OPEN1,CLOSE1分別相連,另外C7區J103接口得1接地(GND)。
3. 接好線后,同學可以撥動D1區得SW1撥動開關,觀察現象(撥到1時LED2亮,撥到0時LED1亮),并得出結論。
運行結果: : 撥到1 時LED 2 亮,撥到0 時L ED 1 亮 ,說明每撥動一次開關改變一次繼電器得狀態。
4. 然后把C7 區J9 接口得KJ 改接到A2 區得J61 接口得P10。再編寫一個程序程序(參考實驗二), 使P1、0 口延時一段時間后改變電平值,來控制繼電器得開關。
實驗 程序見實驗參考程序。
調試運行結果: : 兩 個 LED 交替變亮, , 繼電器狀態不斷改變。
六、
實驗參考程序
ORG 0000 H?LJMP MAIN ORG
0100H MAIN: MOV
R7,#0 LOOP: MOV
0#,6R? ? DJNZ $,6R? $,6R?ZNJD?? ? DJNZ $,6R? POOL,7R?ZNJD?? ? CPL
0、1P? NIAM PMJS??
DNE?
七、
實驗思考題
1. 請同學思考一下,改由 OPEN 2 、2 、CLOSE2 時本實驗如何進行。
同使用OPEN1、1與CLOSE1時連接方法類似,把D1區J52接口得LED1、LED2與C7區J103接口得OPEN2,CLOSE2分別相連,另外C7區J103接口得2接地(GND)即可。
2. 請同學再思考一下, 繼電器得用途,并舉例說明。
繼電器就是一種電控制器件,就是當輸入量(激勵量)得變化達到規定要求時,在電氣輸出電路中使被控量發生預定得階躍變化得一種電器。它具有控制系統(又稱輸入回路)與被控制系統(又稱輸出回路)之間得互動關系。通常應用于自動化得控制電路中,它實際上就是用小電流去控制大電流運作得一種“自動開關”。故在電路中起著自動調節、安全保護、轉換電路等作用。
按照其工作原理可有以下應用:電磁繼電器固體繼電器溫度繼電器舌簧繼電器時間繼電器高頻繼電器極化繼電器其她類型得繼電器 八、
實驗總結 及相關問題
由于具有之前實驗得基礎所以本實驗基本沒碰到什么問題,調試運行都符合實驗要求,通過本次實驗了解了繼電器得控制方法。對繼電器這一器件有了一定了解。
推薦訪問: 單片機 實驗 報告上一篇:信號與系統實驗報告,(2)
下一篇:仿真實驗報告
同志們:今天這個大會,是市委全面落實黨要管黨、從嚴治黨要求的一項重大舉措,也是對縣市區委書記履行基層黨建工作第一責任人情況的一次集中檢閱,同時是對全市基層黨建工作的一次再部署、再落實的會議。前面,**
***年,我認真履行領班子、帶隊伍、抓黨員、保穩定的基層黨建工作思路,以學習貫徹習近平新時代中國特色社會主義思想和黨的十九大歷次全會精神為主線,以市局基層黨建工作考核細則為落腳點,落實全面從嚴治黨主體
根據會議安排,現將2022年履行抓基層黨建工作職責情況報告如下:一、履職工作特色和亮點1 突出政治建設,著力在思想認識上提高。牢固樹立抓黨建就是抓政績的理念,以“黨建工作抓引領、社區治理求突破,為民服
2022年以來,在**黨委的正確領導下,堅持以習近平新時代中國特色社會主義思想為指導,深入學習宣傳貫徹黨的二十大精神,以黨建工作為統領,扎實開展夯實“三個基本”活動,以“四化四力”行動為抓手,聚力創建
各位領導,同志們:根據會議安排,現就2022年度抓基層黨建工作情況匯報如下:一、主要做法及成效(一)強化政治引領。一是不斷強化理論武裝。堅持通過黨組會、中心組學習會和“三會一課”,第一時間、第一議題學
2022年度抓基層黨建工作述職報告按照黨委工作部署,現將本人2022年度抓基層黨建工作情況報告如下:一、2022年度抓基層黨建工作情況(一)旗幟鮮明講政治將旗幟鮮明講政治放在全局發展首要位置,積極開展
2022年,是我在數計系黨總支書記這個新崗位上度過的第一個完整的工作年度。回首一年來在校黨委的正確領導下,與數計系領導班子和全體師生共同走過的日子,艱辛歷歷在目,收獲溫潤心田。作為黨總支書記,我始終牢
按照考核要求,現將本人一年來,作為統戰部長履行職責、廉潔自律等方面情況報告如下:一、著眼增強政治素質,不斷深化理論學習堅持把旗幟鮮明講政治作為履職從政的第一位要求,帶領統戰系統干部堅決擁護“兩個確立”
**年,緊緊圍繞黨工委、管委會的決策部署,全體人員團結協作、凝心聚力,緊扣黨工委“**”基本工作思路,全力開拓進取,認真履職盡責,圓滿完成各項工作任務。一、個人思想政治狀況檸檬文苑www bgzjy
按照縣委關于開展抓基層黨建述職評議會議的有關要求,經請示縣委組織部同意,今天,我們在此召開2022年度基層黨組織書記抓基層黨建述職評議會議。1 首先,請**黨委書記,**同志述職。**黨委能夠主動研究