第一篇:單片機綜合實驗報告格式
(在所做過的實驗內(nèi)容里挑選一個自己最有收獲,最有感想的實驗內(nèi)容)
綜合實驗報告標題(可與實驗名稱不同)
一、實驗?zāi)康暮鸵蟆?/p>
二、實驗儀器設(shè)備。
三、實驗設(shè)計及調(diào)試:
(一)實驗內(nèi)容。
(二)實驗電路:畫出與實驗內(nèi)容有關(guān)的簡單實驗電路。
(三)實驗設(shè)計及調(diào)試步驟:
(1)對實驗內(nèi)容和實驗電路進行分析,理出完成實驗的設(shè)計思路。(2)列出程序設(shè)計所需的特殊標志位、堆棧sp、內(nèi)部ram、工作寄存器等資源的分配列表,分配列表時注意考慮資源在程序執(zhí)行過程可能會出現(xiàn)沖突的問題。
(3)畫出程序設(shè)計流程圖,包括主程序和各子程序流程圖。
(4)根據(jù)(2)、(3)的內(nèi)容寫出實驗程序。
(5)調(diào)試程序(可以使用模擬仿真器)。
a、根據(jù)程序確定調(diào)試目的,即調(diào)試時所需觀察的內(nèi)容結(jié)果。
b、根據(jù)各調(diào)試目的分別選擇調(diào)試所需的方法,如單步、斷點等命令,分別列出各調(diào)試方法中所需要關(guān)注記錄的內(nèi)容。
c、調(diào)試程序,按各種調(diào)試方法記錄相應(yīng)的內(nèi)容。
d、分析調(diào)試記錄的內(nèi)容和結(jié)果,找出程序中可能出錯的地方,然后修改程序,繼續(xù)調(diào)試、記錄、分析,直到調(diào)試成功。
(四)實驗調(diào)試過程中所遇到的問題、解決問題的思路和解決的方法。
四、實驗后的經(jīng)驗教訓(xùn)總結(jié)。
第二篇:單片機交通燈綜合實驗報告
河 北 工 業(yè) 大 學
實
驗
報
告
學
院:
專
業(yè):
班
級:
姓
名:
學
號:
實驗課程:單片機應(yīng)用系統(tǒng)設(shè)計開發(fā)入門 指導(dǎo)教師:
實驗名稱:
交通信號燈控制實驗
實驗時間:
2019 年
月 23 日
2019 年 5 月 23 日
一
實驗要求
實驗?zāi)康募皩嶒瀮?nèi)容要求 實驗?zāi)康模?.熟悉外部中斷源的擴展方法。
2.初步掌握單片機綜合應(yīng)用系統(tǒng)設(shè)計。
3.掌握用 Proteus 調(diào)試匯編源程序的方法。
實驗內(nèi)容要求:
用發(fā)光二極管模擬交通信號燈,用邏輯電平開關(guān)模擬控制開關(guān),設(shè)計一個交通信號燈控制系統(tǒng)。設(shè)計要求如下:
(1)A 車道與 B 車道交叉組成十字路口,A 是主道,B 是支道;正常情況下,A、B 兩車道輪流放行。具體放行時間和要求如下:
(2)A 車道放行 50s,其中綠燈常亮 44s,綠燈閃爍 3s(用于警告),黃燈常亮 3s(用于警告)。
(3)B 車道放行 30s,其中綠燈常亮 24s,綠燈閃爍 3s(用于警告),黃燈常亮 3s(用于警告)。
在交通繁忙時,交通信號燈控制系統(tǒng)應(yīng)有手控開關(guān),可人為地改變信號燈的狀態(tài),以緩解交通擁擠狀況??刂埔笕缦拢?/p>
(1)在 B 車道放行期間,若 A 車道有車而 B 車道無車,按下開關(guān)使 A 車道放行 15s。
(2)在 A 車道放行期間,若 B 車道有車而 A 車道無車,按下開關(guān)使 B 車道放行 15s。
(3)有緊急車輛通過時,按下開關(guān)使 A、B 車道均為紅燈,禁行 15s。
實驗設(shè)備或運行軟件平臺 完成本實驗需要使用到單片機仿真軟件 Proteus8,該軟件是英國 Lab Center Electronics 公司出版的 EDA 工具軟件,是目前比較好的仿真單片機及外圍器件的工具。從原理圖布圖、代碼調(diào)試到單片機與外圍電路協(xié)同仿真,一鍵切換到 PCB 設(shè)計,真正實現(xiàn)了從概念到產(chǎn)品的完整設(shè)計。是目前世界上唯一將電路仿真軟件、PCB 設(shè)計軟件和虛擬模型仿真軟件三合一的設(shè)計平臺。在編譯方面,它也支持 IAR、Keil、MATLAB 等多種編譯器。其具有的基本功能特點為:1.原理布圖。2.PCB 自動或人工布線。3.SPICE 電路仿真。革命性的特點是 1.互動的電路仿真。
2.仿真處理器及其外圍電路。
二
實驗內(nèi)容及過程
實驗設(shè)計及分析(或者實驗程序)
實驗原理圖如下所示:
交通信號燈模擬控制系統(tǒng)程序流程圖如下圖所示:
主程序
一道有車另一道無車時
緊急車輛通過時 的中斷服務(wù)程序的中斷服務(wù)程序
A
綠燈閃、B
紅燈延時
s
A
紅燈、B
綠燈閃動延
s
A
紅燈、B
綠燈延時
s
A
綠燈、B
紅燈延時
s
A
紅燈、B
黃燈延時
s
A
黃燈、B
紅燈延時
s
初始化
開中斷
保護現(xiàn)場
關(guān)中斷
A
道有車
B
道有車
A
紅燈、B
綠燈延時
s
A
綠燈、B
紅燈延時
s
關(guān)中斷
恢復(fù)現(xiàn)場
開中斷
返回
中斷響應(yīng)
保護現(xiàn)場
A
紅燈、B
紅燈延時
s
恢復(fù)現(xiàn)場
返回
N
N
Y
Y
中斷響應(yīng)
開始
實驗程序及程序分析如下:
ORG
0000H LJMP
MAIN ;LJMP,轉(zhuǎn)向主程序 ORG
0003H LJMP
INT00 ;轉(zhuǎn)向緊急車輛中斷服務(wù)程序 ORG
0013H LJMP
INT11 ;轉(zhuǎn)向有車車道放行中斷服務(wù) ORG
0030H MAIN : SETB
PX0
;置外部中斷 0 為高優(yōu)先級中斷 MOV
TCON,#00H ;置外部中斷 0、1 為電平觸發(fā) MOV
IE,#85H ;開 CPU 中斷、外部中斷 0、1 中斷 LOOP:
;A 道綠燈亮;B 紅燈亮 MOV
P1,#0F3H MOV
R1,#88 ;44s 延時循環(huán)次數(shù) AP1:
;調(diào)用 0.5s 延時子程序 DELAY LCALL
DELAY DJNZ
R1,AP1 ;44s 不到,繼續(xù)循環(huán)(DJNZ RN,REL 是一條件轉(zhuǎn)移指令,先將工作寄存器Rn 中的數(shù)減“1”,判斷結(jié)果是否為“0”,不為“0”程序就跳轉(zhuǎn)到行標為REL 的地方執(zhí)行,否則,為“0”就不轉(zhuǎn)移,繼續(xù)執(zhí)行下一條指令。)
MOV
R1,#6 ;3s 延時的循環(huán)次數(shù)(循環(huán)一次延時 0.5 秒。)
AP2:
;A 道綠燈閃爍 CPL
P1.2 LCALL
DELAY ;參考程序中缺少此句,若缺失會導(dǎo)致無法延時。
DJNZ
R1,AP2 ;3s 未到,繼續(xù)循環(huán) MOV
P1,#0F5H ;A 道黃燈亮,B 道紅燈亮 MOV
R1,#6
AP3: LCALL
DELAY DJNZ
R1,AP3
;3s 未到,繼續(xù)循環(huán) MOV
P1,#0DEH ;A 道紅燈亮,B 道綠燈亮 MOV
R1,#48
;延時循環(huán) 48 次
BP1: LCALL
DELAY
DJNZ
R1,BP1 ;24s 未到繼續(xù)循環(huán) MOV
R1,#6 BP2: CPL
P1.5 ;B 道綠燈閃爍 LCALL
DELAY DJNZ
R1,BP2 ;3s 未到,繼續(xù)循環(huán) MOV
P1,#0EEH;A 道紅燈亮,B 道黃燈亮 MOV
R1,#6 BP3: LCALL
DELAY DJNZ
R1,BP3 ;3s 未到,繼續(xù)循環(huán) SJMP
LOOP ORG
0200H INT00:
保護 P1 口數(shù)據(jù) PUSH
P1
;PUSH 入棧指令 MOV
P1,#0F6H
;A 道紅燈亮;B 道紅燈亮 MOV
R2,#30
;15 秒延時的循環(huán)次數(shù) DELAY0: LCALL
DELAY DJNZ
R2,DELAY0
POP
P1
;恢復(fù) P1 口數(shù)據(jù) POP 是出棧指令 RETI
;返回主程序 ORG
0300H INT11: CLR
EA
;關(guān)中斷 EA 為總中斷 PUSH
P1
;保護現(xiàn)場 PUSH
04H PUSH
05H PUSH
06H SETB
EA
;開中斷 JNB
P3.0,AP0 ;A 道無車,轉(zhuǎn)向判斷 B 道(JNB 比較轉(zhuǎn)移指令。當 P3.0 是 0 時就轉(zhuǎn)移執(zhí)行 AP0,否則就順序執(zhí)行。)
MOV
P1,#0F3H;A 道綠燈亮,B 道紅燈亮 SJMP
DEL1
;轉(zhuǎn)向 15 秒延時程序 AP0: JNB
P3.1,EXIT ;B 道無車,退出中斷
MOV
P1,#0DEH;A 道紅燈亮,B 道綠燈亮 DEL1 : MOV
R3,#30 ;15s 延時的循環(huán)次數(shù) NEXT : LCALL
DELAY DJNZ
R3,NEXT ;15 秒未到循環(huán)繼續(xù) EXIT : CLR
EA POP
06H
;恢復(fù)現(xiàn)場 POP
05H POP
04H POP
P1 SETB
EA RETI
;返回原程序 ORG
0350H DELAY : MOV
R4,#20;0.5 秒延時子程序參考程序中為#10,經(jīng)實驗發(fā)現(xiàn)只能延時 0.25s 故改為#20,以達到實驗?zāi)康摹?/p>
LP1 : MOV
R5,#50 LP2 : MOV
R6,#248 NOP LP3: DJNZ
R6,LP3 DJNZ
R5,LP2 DJNZ
R4,LP1 RET END
交通信號燈與控制管腳的對應(yīng)關(guān)系如下:
控制狀態(tài)
P1 口控制碼
P1.7
P1.6
P1.5
P1.4
P1.3
P1.2
P1.1
P1.0
未用
未用
B 道
綠燈
B 道
黃燈
B 道
紅燈
A 道
綠燈
A 道
黃燈
A 道
紅燈
A 綠燈亮、B 紅燈亮
F3H
0
0
A 黃燈亮、B 紅燈亮
F5H
0
0
A 紅燈亮、B 綠燈亮
DEH
0
0
A 紅燈亮、B 黃燈亮
EEH
0
0
A 紅燈亮、B 紅燈亮
F6H
0
0
實驗步驟及實驗數(shù)據(jù)記 錄 1.先接線按下表所示的管腳與 LED 或邏輯開關(guān)的對應(yīng)關(guān)系接線。在 Proteus8 中原理圖繪制界面中將接線接好。
管腳
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P3.0
P3.1
P3.3
P3.2
LED 或邏輯開關(guān)
L3
L1
L2
L7
L5
L6
K1
K2
K3
K8
控制對象
A 紅燈
A 黃燈
A 綠燈
B 紅燈
B 黃燈
B 綠燈
A 道
B 道
使有車車道放行低電平有效
緊急車輛放行低電平有效
高電平表示有車低電平表示無車
接線完成后如圖所示:
2.輸入程序,在 Proteus8 中 SourceCode 界面將程序輸入完成后試運行保證程序正確。
出現(xiàn)編譯成功后進行下一步。運行程序。
4.觀察六只發(fā)光二極管的亮滅規(guī)律。
實驗中六只發(fā)光二極管亮滅規(guī)律:(0 代表滅,1 代表亮,2 代表閃)
運行時間(s)
A 綠 A 黃 A 紅 B 綠 B 黃 B 紅 0 1 0 0 0 0 1 44 2 0 0 0 0 1 47 0 1 0 0 0 1 50 0 0 1 1 0 0 74 0 0 1 2 0 0 77 0 0 1 0 1 0 80 1 0 0 0 0 1 八十秒后開始重復(fù) 0-80 秒內(nèi)的亮滅規(guī)律。
5.
部分連接圖如圖所示。
1)
在 A 紅燈、B 綠燈亮時,先將 K1 撥至高電平(表示 A 道有車)、K2 撥至低電平(表示 B 道無車),再將 K3 撥至低電平使有車車道(A 道)放行,A 綠燈、B 紅燈同時亮 5s 后返回原先狀態(tài)。
對邏輯開關(guān) K1、K2、K3 的操作對應(yīng)于 SW2 開關(guān),閉合 SW2 后,A 紅燈滅,綠燈亮,B 綠燈滅,紅燈亮。15s 后恢復(fù)回閉合開關(guān)前的的亮燈狀態(tài)。
2)
在 A 綠燈、B 紅燈亮時,先將 K1 撥至低電平(表示 A 道無車)、K2 撥至高電平(表示 B 道有車),再將 K3 撥至低電平使有車車道(B 道)放行,A 紅燈、B 綠燈同時亮 5s 后返
回原先狀態(tài)。
對邏輯開關(guān) K1、K2、K3 的操作對應(yīng)于 SW1 開關(guān),閉合 SW1 后,A 綠燈滅,紅燈亮,B 紅燈滅,綠燈亮。15s 后恢復(fù)回閉合開關(guān)前的的亮燈狀態(tài)。
(提示:K3 撥至低電平后,應(yīng)在 5s 內(nèi)改為高電平,否則,單片機可能將再一次響應(yīng)中斷。)
6.不論 A 道、B 道的信號燈處于什么狀態(tài),將 K8 撥至低電平后,A 紅燈、B 紅燈同時亮 20s后返回原先狀態(tài)。(提示:K8 撥至低電平后,應(yīng)在 20s 內(nèi)改為高電平,否則,單片機可能將再一次響應(yīng)中斷。)
對邏輯開關(guān) K8 的操作對應(yīng)于 JINJI 開關(guān),閉合 JINJI 后,A 只有紅燈亮,B也只有紅燈亮。20s 后恢復(fù)回閉合開關(guān)前的的亮燈狀態(tài)。
實驗數(shù)據(jù)分析 1.一道有車而另一道無車時,K3 撥至低電平即向單片機發(fā)出中斷請求(低優(yōu)先級別);若此時單片機正在執(zhí)行主程序,會響應(yīng)中斷轉(zhuǎn)入到相應(yīng)的中斷服務(wù)程序,先依次查詢 A、B 車道的空閑狀態(tài),再去控制 A、B 車道的信號燈;若此時單片機正在執(zhí)行緊急車輛通過時中斷服務(wù)程序,單片機不會響應(yīng)中斷。
2.緊急車輛通過時,K8 撥至低電平即向單片機發(fā)出中斷請求(高優(yōu)先級別),不論單片機正在執(zhí)行主程序還是一道有車而另一道無車時的中斷服務(wù)程序,會響應(yīng)中斷轉(zhuǎn)入到相應(yīng)的中斷服務(wù)程序。
3.在進行步驟 5 1)或 2)操作時,若在閉合開關(guān)后沒有在 5s 內(nèi)斷開開關(guān),則在 15 秒時無法按時恢復(fù)回閉合開關(guān)時的亮燈狀態(tài)。
4.操作過程中發(fā)現(xiàn),若操作 SW1 開關(guān)后亮燈狀態(tài)已經(jīng)發(fā)生改變,則在 15 秒內(nèi)再操作 SW2開關(guān)則無法繼續(xù)使亮燈狀態(tài)改變。
三
總結(jié)與體會
實驗任務(wù)完成情況 本實驗完成情況良好。通過老師的精心指導(dǎo)、本人的不懈努力和同學的熱心幫助,能夠基本上完成所有實驗內(nèi)容,且在實驗過程中對單片機的了解更加深入了。但也無法避免地遇到一些問題,比如對實驗程序代碼的理解不夠深入,只停留在表面,且對 51 單片機的 111 條指令仍比較陌生,只能記住一些特別常用的。對于此我的做法是,在分析實驗程序的過程中,一遇到不熟悉的指令就百度搜索一下加深印象。在反復(fù)的搜索過程中我也記住了不少指令。通過課程的學習,目前達到的水平是能夠基本看懂實驗程序,能夠繪制簡單原理圖,但仍無法做到獨立編寫實驗程序。
實驗體會、收獲、建議回答問題
通過對該實驗的學習,本人也有了許多不小的收獲。對于一位非電技專業(yè)的學生來說,我在學習單片機的過程中確實存在許多問題。老師講的東西很多在課堂上都無法及時弄明白,必須要靠課余時間的學習。所以起初在做該實驗的時候也是感覺苦難重重,覺得自己肯定是無法完成的,但我不想輕易放棄,將老師上用的課件反復(fù)查看,發(fā)現(xiàn)很多上課沒有注意到的重要知識點,這讓我的實驗變得更加容易完成了許多。我覺得通過本次實驗我的最大收獲是學會了如何解決難題。首先要做的就是對自己有信心,相信自己一定能夠完成。其次才是去認真解決問題。
第三篇:單片機綜合實驗報告格式
單片機綜合實驗報告格式
(在所做過的實驗內(nèi)容里挑選一個自己最有收獲,最有感想的實驗內(nèi)容)
綜合實驗報告標題(可與實驗名稱不同)
一、實驗?zāi)康暮鸵蟆?/p>
二、實驗儀器設(shè)備。
三、實驗設(shè)計及調(diào)試:
(一)實驗內(nèi)容。
(二)實驗電路:畫出與實驗內(nèi)容有關(guān)的簡單實驗電路。
(三)實驗設(shè)計及調(diào)試步驟:(3)畫出程序設(shè)計流程圖,包括主程序和各子程序流程圖。
(4)根據(jù)(2)、(3)的內(nèi)容寫出實驗程序。
(5)調(diào)試程序(可以使用模擬仿真器)。
a、根據(jù)程序確定調(diào)試目的,即調(diào)試時所需觀察的內(nèi)容結(jié)果。
b、根據(jù)各調(diào)試目的分別選擇調(diào)試所需的方法,如單步、斷點等命令,分別列出各調(diào)試方法中所需要關(guān)注記錄的內(nèi)容。
c、調(diào)試程序,按各種調(diào)試方法記錄相應(yīng)的內(nèi)容。
d、分析調(diào)試記錄的內(nèi)容和結(jié)果,找出程序中可能出錯的地方,然后修改程序,繼續(xù)調(diào)試、記錄、分析,直到調(diào)試成功。
(四)實驗調(diào)試過程中所遇到的問題、解決問題的思路和解決的方法。
四、實驗后的經(jīng)驗教訓(xùn)總結(jié)。
第四篇:單片機實驗報告[范文模版]
實 實 驗 驗 報 報 告
實驗課程:
單片機原理及應(yīng)用
班
級:
自動化 2 班
學
號:
姓
名:
教
師:
張
玲
成績:
實 驗 日 期 :
****年**月**日
實驗名稱:
實驗 1-—計數(shù)顯示器
一、實驗?zāi)康? 學習Proteus 軟件得使用,掌握單片機原理圖得繪圖方法。
二、實驗內(nèi)容:
?1、繪制“計數(shù)顯示器”電路原理圖;2、利用提供得hex 文件驗證此電路得運行效果。
三、實驗要求:
提交得實驗報告中應(yīng)包括:1、繪圖方法簡述,要求說明元件與電源得選取、擺放及屬性編輯,總線與標簽得畫法等內(nèi)容;2、電路原理圖;3、仿真運行效果展示,要求就仿真文件加載方法及 3~4幅運行截圖進行簡要說明;4、實驗小結(jié),說明遇到得主要問題或?qū)嶒?1 體會等.參考電路原理圖如下:
元件類別 電路符號 元件名稱 Microprocessor ICs “U1“ 80C51 Miscellaneous “X1”/12MHz CRYSTAL Capacitors “C1”~“C2”/1nF CAP Capacitors “C3”/22μF CAP—ELEC Resistors Packs “RP1“/7—100Ω RESPACK—7 Resistors “R1"/100Ω RES Optoelectronics “LED1”~“LED2” 7SEG--CAT-GRN Switches & Relays “BUT” BUTTON 1、、及 編程思路及 C51 源程序:
2、電路原理圖:
:
3、仿真運行效果展示:
4、實驗小結(jié) :
熟悉Proteus 軟件,了解軟件得結(jié)構(gòu)組成與功能;學習ISIS 模塊得使用方法,學會設(shè)置圖紙、選元件、線畫總線、修改屬性等基本操作;學會可執(zhí)行文件 加載及程序仿法;理解Proteus在單片機開發(fā)中得作用,完成單片機電路原 理圖得繪制. 實驗名稱:
實驗 2——LED 指示燈循環(huán)控制
一、實驗?zāi)康?熟悉μVision3 編譯軟件、掌握 C51編程與調(diào)試方法。
二、
實驗內(nèi)容 1、按照教材 P243 得圖 A、34,繪制實驗二電路原理圖; 2、編寫 C51 程序,實現(xiàn) 8 個 LED 燈依次點亮得功能: P0、0→P0、1→ P0、2→P0、3→ ┅ →P0、7→P0、6→P0、5→ ┅ →P0、0 得順序,無限循環(huán),間隔約50ms; 3、觀察仿真結(jié)果,完成實驗報告。
三、
實驗要求 1、采用兩種加載并運行可執(zhí)行文件得方法,即proteus獨立運行與prote
us + Keil 聯(lián)合運行,體會其中得差異與意義;2、練習采用單步、斷點以及監(jiān)視窗等手段進行程序調(diào)試得方法;3、觀察仿真結(jié)果,完成實驗報告:繪制得電路原理圖、編程思路分析及 C51源程序、調(diào)試過程簡述,仿真運行效果以及實驗小結(jié)。、電路原理圖:
:
及 2、編程思路及 C51 源程序:、仿真運行效果:、實驗小結(jié) :
通過本次實驗我熟悉 uVision3 編譯軟件了解軟件得結(jié)構(gòu)組成與功能學習C51 語言得程序設(shè)計方法)學會在 uVision3中進行 C51 程序錄入、編譯、與 調(diào)試理解 Proteus 與 Keil 聯(lián)合得仿真原理實現(xiàn) LED 指示燈循環(huán)控制功能。
更好得將 C 語言與 C51 語言聯(lián)系在了一起)學到得知識能準確得利用了出來。
實驗名稱:
實驗3——指示燈與數(shù)碼管得中斷控制
一、實 驗?zāi)康?掌握外部中斷得工作原理,學會中斷程序設(shè)計.二、實驗內(nèi)容 1、按照教材帕圖 A、53,繪制實驗四電路原理圖;2、要求采用外部中斷原理完成本次實驗,其中按鍵 K1、K2 均設(shè)置為下降沿觸發(fā)方式,自然優(yōu)先級; 3、編寫 C51 程序?qū)崿F(xiàn)如下功能:開機后 D1滅燈,LED1黑屏,隨后單擊 K1→D1狀態(tài)反轉(zhuǎn),單擊 K2 →LED1 從 0 開始循環(huán)顯示0~F 字符。
4、觀察仿真結(jié)果,完成實驗報告。
三、
實驗要求 提交得實驗報告中應(yīng)包括:電路原理圖,外部中斷工作原理闡述(以 K1 為例說明中斷響應(yīng)過程),C51 源程序(含流程圖與注釋語句),運行效果(含運行截圖
與說明),實驗小結(jié). 1、電路原理圖 :
2、外部中斷工作原理闡述:
持續(xù)按下 K1 則 D1 將“亮→滅→亮→滅→?→亮→滅如此循環(huán),表明實現(xiàn)了 K1 對應(yīng)于 D1 狀態(tài)反轉(zhuǎn)這個功能;持續(xù)按下持續(xù)按 K2 則數(shù)碼顯示管依次顯 示 1-F,實現(xiàn)了 K2 對應(yīng)于 0~F 間得數(shù)碼管加一計數(shù)顯示.
3、、及 編程思路及 C51 源 源 程序:、仿真運行效果:
5、實驗小結(jié):
通過實驗對 Protues 有了更多得了解,同時了解到中斷系統(tǒng)在實際中得更好 應(yīng)用。經(jīng)過編程操作起來更加熟練能很快得完成繪圖,編程時也得心應(yīng)手,能熟練得運用軟件找出自己所編程中得語法問題及其她問題,并以改正。
實驗名稱:
實驗4—-電子秒表顯示器
一、實 實 驗?zāi)康?掌握定時/計數(shù)器得中斷法工作原理,熟悉 C51 編程與調(diào)試方法
二、實驗要求:
1、實驗電路原理圖如教材 P260 A、65 圖所示.程序開始時顯示“00”;當1s 產(chǎn)生時,秒計數(shù)加1;秒計數(shù)到 59 后,自動從“00”開始。
2、采用12MHz晶振頻率,T0 定時方式 1、50ms 定時中斷法編程(1s 需要經(jīng)過 20 軟循環(huán))(流程圖與參考程序模版如下所示).//定時中斷方式實現(xiàn)得電子秒表
15()件文頭?(定義無符號字符型變量 t—-中斷次數(shù)計數(shù)器,并賦初值0(定義無符號字符型變量 second—-秒計數(shù)器,并賦初值 0(定義位于 ROM 區(qū)得無符號字符型數(shù)組table-—顯示字模)timer0()
(中斷函數(shù)關(guān)鍵詞){ ?()0T 閉關(guān)?(初值重裝載 0x3cb0)
()1增器數(shù)計數(shù)次斷中? {)02==t(fi??
?
// 秒1于當相,次 02斷中若?
;0=t???????? //中斷次數(shù)計數(shù)器清零 ?
;++dnoces?? ? // 零清器數(shù)計秒?
}()零清,06 到達值器數(shù)計秒若??()值示顯得 dnoces 量變出輸別分口 2P與0P?()0T動啟??} main(){
?
;]01/dnoces[elbat=0P?? // 值示顯出輸別分口 2P 與 0P?
;]01%dnoces[elbat=2P?(定義T0 定時方式 1—-TMOD)05()0LT與0HT——載加0bc3x0值初出溢 sm?()AE,0TE——化始初斷中?(啟動 T0)
(死循環(huán))3、編程思路及C1 51 源程序: :
4、仿真運行效果:
5、實驗小結(jié) :
本次實驗進行得比較順利,根據(jù)指導(dǎo)材料中提供得流程圖完成了源程序得編 寫,成功生成了、hex文件,經(jīng)過仿真運行達到了預(yù)期得實驗結(jié)果.通過本次得 實驗,我更加深入得了解到單片機定時/計數(shù)功能實現(xiàn)得機理,通過與單片機中 斷功能得結(jié)合,可以完成更多得預(yù)期功能。但就是進過討論我也發(fā)現(xiàn),程序還就是存 在很大得缺陷,想要實現(xiàn)更加準確實現(xiàn)計時功能還需綜合利用各種知識完善程 序。
第五篇:單片機實驗報告
《單片機原理及應(yīng)用》
實 驗 報 告
2017—2018學年第一學期
班級: 152 專業(yè): 電子科學與技術(shù) 姓名: 子路 學號: 教師:
實驗一:Keil C51
一、實驗?zāi)康?/p>
1、熟悉Keil C51單片機應(yīng)用開發(fā)系統(tǒng)
2、熟悉Keil C51的調(diào)試技巧
二、實驗內(nèi)容
1、安裝好了Keil軟件以后,我們打開它。打開以后界面如下:
2、我們先新建一個工程文件,點擊“Project->New Project?”菜單,如下圖:
3、選擇工程文件要存放的路徑 ,輸入工程文件名 LED, 最后單擊保存.4、在彈出的對話框中選擇 CPU 廠商及型號
5、選擇好 Atmel 公司的 AT89S52 后 , 單擊確定
6、在接著出現(xiàn)的對話框中選擇“是”。
7、新建一個 C51 文件 , 單擊左上角的 New File 如下圖所示:
8、保存新建的文件,單擊SAVE如下圖:
9、在出現(xiàn)的對話框中輸入保存文件名MAIN.C(注意后綴名必須為.C),再單擊“保存”,如下圖:
10、保存好后把此文件加入到工程中方法如下 : 用鼠標在 Source Group1 上單擊右鍵 , 然后再單擊 Add Files to Group ‘Source Group 1' 如下圖:
11、選擇要加入的文件 , 找到 MAIN.C 后 , 單擊 Add, 然后單擊 Close
12、在編輯框里輸入如下代碼:
13、到此我們完成了工程項目的建立以及文件加入工程 , 現(xiàn)在我們開始編譯工程如下圖所示 : 我們先單擊編譯, 如果在錯誤與警告處看到 0 Error(s)表示編譯通過:
14、生成.hex 燒寫文件,先單擊Options for Target,如圖:
15、在下圖中,我們單擊 Output, 選中 Create HEX F。再單擊“確定”
16、打開文件夾‘實驗1’,查看是否生成了HEX文件。如果沒有生成,在執(zhí)行
一遍步驟10到步驟12,直到生成。
三、實驗工具(軟件、硬件等)
1、Keil
2、計算機
實驗二:Proteus軟件學習
一、實驗?zāi)康?/p>
1、了解Proteus的基本功能
2、熟悉Proteus的設(shè)計環(huán)境Preoteus ISIS及第三方編譯工具Keil
3、掌握Proteus中實現(xiàn)單片機系統(tǒng)設(shè)計與仿真的步驟與方法
二、實驗內(nèi)容
設(shè)計與仿真的開發(fā)過程
Proteus強大的單方機系統(tǒng)設(shè)計與仿真功能,使之成為單片機系統(tǒng)應(yīng)用開發(fā)和改進手段之一。
開發(fā)的整個過程都是在計算機上完成的,其過程一般分為三步: 1)Proteus 電路設(shè)計:在ISIS平臺上進行單片機系統(tǒng)電路設(shè)計、選擇元器件、接插件、連接電路和電氣現(xiàn)則檢查等。
2)Proteus 源程序設(shè)計和生成目標代碼文件:在ISIS平臺上或借助第三方編譯工具進行單片機系統(tǒng)程序設(shè)計、編輯、匯編編譯、代碼級調(diào)試,最后生成目標代碼文件(*hex)。
3)Proteus仿真:在ISIS平臺上將目標代碼文件加載到單片機系統(tǒng)中,由此實現(xiàn)系統(tǒng)實時交互與協(xié)同傷真。
三、實驗工具(軟件、硬件等)
1、載有Proteus的計算機一臺
實驗三:LED流水燈
一、實驗?zāi)康?/p>
1、用Keil軟件編寫程序并利用開發(fā)板仿真
2、學習LED燈工作原理
二、實驗內(nèi)容
延時實現(xiàn)LED流水燈效果P2口八個燈作跑馬燈。采用了寄存器存中間數(shù)。
三、實驗工具(軟件、硬件等)1.載有Keil軟件的計算機一臺 2.開發(fā)板一套
四、實驗結(jié)果及分析
實驗四:靜態(tài)數(shù)碼管
一、實驗?zāi)康?/p>
1、用Keil軟件編寫程序并利用開發(fā)板仿真
2、學習靜態(tài)顯示管工作原理
二、實驗內(nèi)容
靜態(tài)數(shù)碼管流動顯示0~9
二、實驗工具(軟件、硬件等)1.載有Keil軟件的計算機一臺 2.開發(fā)板一套
四、實驗結(jié)果及分析
實驗五:按鍵移位動態(tài)顯示
一、實驗?zāi)康?/p>
1、用Keil軟件編寫程序并利用開發(fā)板仿真
2、學習靜態(tài)顯示管工作原理
二、實驗內(nèi)容
靜態(tài)顯示管,按鍵不同顯示不同
三、實驗工具(軟件、硬件等)1.載有Keil軟件的計算機一臺 2.開發(fā)板一套
四、實驗結(jié)果及分析
實驗六:中斷INT0+INT1
一、實驗?zāi)康?/p>
1、用Keil軟件編寫程序并利用開發(fā)板仿真
2、學習中斷INT0和INT1的工作原理
二、實驗內(nèi)容
試驗數(shù)碼管上顯示外部中斷計數(shù),用單片機腳直接控制數(shù)碼管和外部中斷使用
三、實驗工具(軟件、硬件等)1.載有Keil軟件的計算機一臺 2.開發(fā)板一套
四、實驗結(jié)果及分析