系統設計
1.實驗內容摘要
本實驗利用微控制器的定時器/計數器定時和記數的原理,結合dvcc實驗箱上的積體電路晶片8032、LED數碼管以及實驗箱上的按鍵來設計計時器。將軟、硬體有機地結合起來,使得系統能夠正確地進行計時,數碼管能夠正確地顯示時間。其中本實驗設計了四個開關按鍵:其中一個按鍵按下去時以1秒加一開始計時,即秒錶開始鍵(本實驗中當開關從1變為0時開始計時),另一個按鍵按下去時暫停計時,使秒錶停留在原先的計時(本實驗中當相應開關從1變為0時即停止計時),第三個按鍵按下去時清0(本實驗中當相應開關從1變為0時即停止計時),第四按鍵按下去則是以每10ms秒快速加一計時(本實驗中當開關從1變為0時開始計時)。本實驗中開始時都要使各按鍵回到各初始位置,即都處於1狀態。
關鍵詞:LED數碼管,計時器,
2.功能:
用AT89C51設計一個2位LED數碼顯示“秒錶”,顯示時間為00~99秒,每秒自動加1。另設計一個“開始”按鍵和一個“復位”按鍵。並且增加了一個“暫停”按鍵和一個“快加”按鍵(每10ms快速加一)
3.實驗目的:
3.1、透過本次課程設計加深對微控制器課程的全面認識複習和掌握,對微控制器課程的應用進一步的瞭解。
3.2、掌握定時器、外部中斷的設定和程式設計原理。
3.3、透過此次課程設計能夠將微控制器軟硬體結合起來,對程式進行編輯,校驗。
4.意義:
該實驗透過微控制器的定時器/計數器定時和計數原理,設計簡單的計時器系統,擁有正確的計時、暫停、清零、快加功能,並同時可以用數碼管顯示,在現實生活中應用廣泛,具有現實意義。
所做工作
根據相關的微控制器材料,利用所學的微控制器知識,結合DVCC系列微控制器微機模擬實驗系統中的軟體和硬體(積體電路晶片8032,七段數碼管,開關電路及時鐘訊號電路,按鍵等),編寫能夠實現該專案的軟體程式,最後將軟、硬體有機的結合起來,進行有效的除錯,達到完成該實驗課程設計的目的要求。
5.實驗內容:
用AT89C51設計一個2位LED數碼顯示“秒錶”,顯示時間為00~99秒,每秒自動加一。另設計一個“開始”按鍵和一個“復位”按鍵。再增加一個“暫停”按鍵和一個“快加”按鍵(每10ms快速加一)。
按鍵說明:按“開始”按鍵,開始計數,數碼管顯示從00開始每秒自動加1;按“復位”按鍵,系統清零,數碼管顯示00;按“暫停”按鍵,系統暫停計數,數碼管顯示當時的計數;按“快加”按鍵,系統每10ms快速加1,即數碼顯示管在原先的計數上快速加1。
6.設計思路及描述:
該實驗要求進行計時並在數碼管上顯示時間,則可利用DVCC系列微控制器微機模擬實驗系統中的晶片8032(晶片的功能類似於晶片AT89C51,其管腳功能也和AT89C51的管腳功能類似)中的P3.2管腳做為外部中斷0的入口地址,並實現“開始”按鍵的功能;將P3.3做為外部中斷1的入口地址,並實現“清零”按鍵的功能;將P3.0做為資料訊號DATA輸入的入口地址;將P3.1做為時鐘訊號CLK輸入的入口地址。定時器T0作為每秒加一的定時器;定時器T1作為“快加”鍵的定時器。其中“開始”按鍵當開關由1撥向0(由上向下撥)時開始計時;“清零”按鍵當開關由1撥向0(由上向下撥)時數碼管清零,此時若再撥“開始”按鍵則又可重新開始計時。
7.原理圖:
10、實驗程式
;******************************************************
;設計選題:秒錶系統設計
;描述:2位LED數碼顯示"秒錶",顯示時間為00~99秒,每秒自動加1,
;一個"開始"鍵,一個"復位"鍵,一個"暫停"鍵,一個“快加”鍵。
;呼叫子程式:暫停鍵子程式,計時鍵子程式,清0鍵子程式,加一子程式
;顯示子程式,定時子程式
;所用特殊暫存器:暫存器A,暫存器C
;所用中斷:外部中斷INT0、INT1,定時器T0、T1
org0000h
ajmpmain;主程式入口地址
org0003h
ajmpzhongduan0;中斷0入口地址
org000bh
ajmpyanshi;定時器T0入口地址
org0013h
ajmpzhongduan1;中斷1入口地址
org001bh
ajmpdingshi1;定時器T1入口地址
org0030h
;*****************************************************
;主程式
main:movtcon,#05h;主程式開始外部中斷跳變模式
movtmod,#11h;定時器0,1模式1
movie,#8fh;開總中斷,中斷0,1,定時器0,1
movdptr,#tab
movr1,#00h
movr2,#00h
movr3,#40;迴圈次數40
movtl0,#2Ch;置初值,定時25MS
movth0,#0CFh
movtl1,#78h;置初值,定時10MS
movth1,#0ech
clrtr0;關定時器
clrtr1
;暫停鍵K3,快加鍵K4程式
here:jbp1.0,here
show:clrtr1
clrtr0
acallxianshi
kuaijia:jbp1.2,kuaijia;等待P1.2為0快加
setbtr1
here3:jnbp1.2,here3
ajmphere
;外部中斷INT0子程式-----計時按鍵K1子程式
zhongduan0:setbtr0;計時按鍵
reti
;外部中斷INT1子程式----復位按鍵K2子程式
zhongduan1:clrtr0;復位按鍵
mov12h,#00h
mov11h,#00h
acallxianshi;呼叫顯示子程式
;加一子程式
jia1:incr1;加1子程式
cjner1,#0ah,loop;判斷是否到表尾
incr2
cjner2,#0ah,loop
loop:mov12h,r1;重新賦值
mov11h,r2
ret
;顯示子程式
xianshi:movr7,#02h;2個數碼管顯示子程式
movr0,#12h
loop5:movr6,#08h;8位2進位制數
mova,@r0
movca,@a+dptr
loop6:rlca;迴圈左移
clrp3.1
movp3.0,c
setbp3.1
djnzr6,loop6
decr0
djnzr7,loop5
;定時器T0子程式
yanshi:movtl0,#2Ch;定時子程式
djnzr3,loop7
acalljia1;呼叫加1子程式
movr3,#40
loop7:reti
;定時器T1子程式
dingshi1:movtl1,#78h;置初值,定時10MS
mov12h,r1
jnbp1.0,show
acalljia1
lop7:reti
tab:db3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh
end
十一、課程設計心得體會
1、認真審題,看懂題目的要求!選擇適當的課題,不益太簡單或者太難。做到既能把課題完成又能鍛鍊自己的能力!
2、根據課題要求,複習相關的知識,查詢相關的資料。
3、根據實驗條件,找到適合的方案,找到需要的元器件及工具,準備實驗。
4、根據課程設計的要求和自己所要增加的功能寫好程式流程圖,在程式流程圖的基礎上,根據晶片的功能寫出相應的程式。然後再進行程式除錯和相應的修改,以達到能夠實現所要求的功能的目的。
5、還要根據實驗的實際情況,新增些額外程式來使系統更加的穩定,如開關的消震盪(採用延遲)。
6、程式要儘量做到由各個子程式組成,在有些程式後面最好加註釋,這樣在程式出錯的檢查過程中可以更容易查詢的到,也更簡潔,更明白易懂。
7、該實驗的程式可以參考DVCC系列微控制器微機模擬實驗系統實驗指導書中的串並轉換實驗,也可自己根據自己熟悉的方法來程式設計。
8、在設計控制開關時,注意2箇中斷的開啟和關閉的先後順序,否則就會出錯。
9、這次的微控制器課程設計重點是理論與實際的相結合。不再只讀書了。
10、該設計從頭到尾都要自己參與,熟悉了對整個設計的過程,更系統的鍛鍊了自己。
希望可以幫到你.!
系統設計
1.實驗內容摘要
本實驗利用微控制器的定時器/計數器定時和記數的原理,結合dvcc實驗箱上的積體電路晶片8032、LED數碼管以及實驗箱上的按鍵來設計計時器。將軟、硬體有機地結合起來,使得系統能夠正確地進行計時,數碼管能夠正確地顯示時間。其中本實驗設計了四個開關按鍵:其中一個按鍵按下去時以1秒加一開始計時,即秒錶開始鍵(本實驗中當開關從1變為0時開始計時),另一個按鍵按下去時暫停計時,使秒錶停留在原先的計時(本實驗中當相應開關從1變為0時即停止計時),第三個按鍵按下去時清0(本實驗中當相應開關從1變為0時即停止計時),第四按鍵按下去則是以每10ms秒快速加一計時(本實驗中當開關從1變為0時開始計時)。本實驗中開始時都要使各按鍵回到各初始位置,即都處於1狀態。
關鍵詞:LED數碼管,計時器,
2.功能:
用AT89C51設計一個2位LED數碼顯示“秒錶”,顯示時間為00~99秒,每秒自動加1。另設計一個“開始”按鍵和一個“復位”按鍵。並且增加了一個“暫停”按鍵和一個“快加”按鍵(每10ms快速加一)
3.實驗目的:
3.1、透過本次課程設計加深對微控制器課程的全面認識複習和掌握,對微控制器課程的應用進一步的瞭解。
3.2、掌握定時器、外部中斷的設定和程式設計原理。
3.3、透過此次課程設計能夠將微控制器軟硬體結合起來,對程式進行編輯,校驗。
4.意義:
該實驗透過微控制器的定時器/計數器定時和計數原理,設計簡單的計時器系統,擁有正確的計時、暫停、清零、快加功能,並同時可以用數碼管顯示,在現實生活中應用廣泛,具有現實意義。
所做工作
根據相關的微控制器材料,利用所學的微控制器知識,結合DVCC系列微控制器微機模擬實驗系統中的軟體和硬體(積體電路晶片8032,七段數碼管,開關電路及時鐘訊號電路,按鍵等),編寫能夠實現該專案的軟體程式,最後將軟、硬體有機的結合起來,進行有效的除錯,達到完成該實驗課程設計的目的要求。
5.實驗內容:
用AT89C51設計一個2位LED數碼顯示“秒錶”,顯示時間為00~99秒,每秒自動加一。另設計一個“開始”按鍵和一個“復位”按鍵。再增加一個“暫停”按鍵和一個“快加”按鍵(每10ms快速加一)。
按鍵說明:按“開始”按鍵,開始計數,數碼管顯示從00開始每秒自動加1;按“復位”按鍵,系統清零,數碼管顯示00;按“暫停”按鍵,系統暫停計數,數碼管顯示當時的計數;按“快加”按鍵,系統每10ms快速加1,即數碼顯示管在原先的計數上快速加1。
6.設計思路及描述:
該實驗要求進行計時並在數碼管上顯示時間,則可利用DVCC系列微控制器微機模擬實驗系統中的晶片8032(晶片的功能類似於晶片AT89C51,其管腳功能也和AT89C51的管腳功能類似)中的P3.2管腳做為外部中斷0的入口地址,並實現“開始”按鍵的功能;將P3.3做為外部中斷1的入口地址,並實現“清零”按鍵的功能;將P3.0做為資料訊號DATA輸入的入口地址;將P3.1做為時鐘訊號CLK輸入的入口地址。定時器T0作為每秒加一的定時器;定時器T1作為“快加”鍵的定時器。其中“開始”按鍵當開關由1撥向0(由上向下撥)時開始計時;“清零”按鍵當開關由1撥向0(由上向下撥)時數碼管清零,此時若再撥“開始”按鍵則又可重新開始計時。
7.原理圖:
10、實驗程式
;******************************************************
;設計選題:秒錶系統設計
;描述:2位LED數碼顯示"秒錶",顯示時間為00~99秒,每秒自動加1,
;一個"開始"鍵,一個"復位"鍵,一個"暫停"鍵,一個“快加”鍵。
;呼叫子程式:暫停鍵子程式,計時鍵子程式,清0鍵子程式,加一子程式
;顯示子程式,定時子程式
;所用特殊暫存器:暫存器A,暫存器C
;所用中斷:外部中斷INT0、INT1,定時器T0、T1
org0000h
ajmpmain;主程式入口地址
org0003h
ajmpzhongduan0;中斷0入口地址
org000bh
ajmpyanshi;定時器T0入口地址
org0013h
ajmpzhongduan1;中斷1入口地址
org001bh
ajmpdingshi1;定時器T1入口地址
org0030h
;*****************************************************
;主程式
;*****************************************************
main:movtcon,#05h;主程式開始外部中斷跳變模式
movtmod,#11h;定時器0,1模式1
movie,#8fh;開總中斷,中斷0,1,定時器0,1
movdptr,#tab
movr1,#00h
movr2,#00h
movr3,#40;迴圈次數40
movtl0,#2Ch;置初值,定時25MS
movth0,#0CFh
movtl1,#78h;置初值,定時10MS
movth1,#0ech
clrtr0;關定時器
clrtr1
;*****************************************************
;暫停鍵K3,快加鍵K4程式
;*****************************************************
here:jbp1.0,here
show:clrtr1
clrtr0
acallxianshi
kuaijia:jbp1.2,kuaijia;等待P1.2為0快加
clrtr0
setbtr1
here3:jnbp1.2,here3
ajmphere
;*****************************************************
;外部中斷INT0子程式-----計時按鍵K1子程式
;*****************************************************
zhongduan0:setbtr0;計時按鍵
reti
;*****************************************************
;外部中斷INT1子程式----復位按鍵K2子程式
;*****************************************************
zhongduan1:clrtr0;復位按鍵
clrtr1
mov12h,#00h
mov11h,#00h
acallxianshi;呼叫顯示子程式
movr1,#00h
movr2,#00h
reti
;*****************************************************
;加一子程式
;*****************************************************
jia1:incr1;加1子程式
cjner1,#0ah,loop;判斷是否到表尾
movr1,#00h
incr2
cjner2,#0ah,loop
movr2,#00h
loop:mov12h,r1;重新賦值
mov11h,r2
ret
;*****************************************************
;顯示子程式
;*****************************************************
xianshi:movr7,#02h;2個數碼管顯示子程式
movr0,#12h
loop5:movr6,#08h;8位2進位制數
mova,@r0
movca,@a+dptr
loop6:rlca;迴圈左移
clrp3.1
movp3.0,c
setbp3.1
djnzr6,loop6
decr0
djnzr7,loop5
ret
;*****************************************************
;定時器T0子程式
;*****************************************************
yanshi:movtl0,#2Ch;定時子程式
movth0,#0CFh
djnzr3,loop7
acalljia1;呼叫加1子程式
acallxianshi;呼叫顯示子程式
movr3,#40
loop7:reti
;*****************************************************
;定時器T1子程式
;*****************************************************
dingshi1:movtl1,#78h;置初值,定時10MS
movth1,#0ech
clrtr0
setbtr1
mov12h,r1
mov11h,r2
jnbp1.0,show
acalljia1
acallxianshi
lop7:reti
;*****************************************************
tab:db3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh
end
十一、課程設計心得體會
1、認真審題,看懂題目的要求!選擇適當的課題,不益太簡單或者太難。做到既能把課題完成又能鍛鍊自己的能力!
2、根據課題要求,複習相關的知識,查詢相關的資料。
3、根據實驗條件,找到適合的方案,找到需要的元器件及工具,準備實驗。
4、根據課程設計的要求和自己所要增加的功能寫好程式流程圖,在程式流程圖的基礎上,根據晶片的功能寫出相應的程式。然後再進行程式除錯和相應的修改,以達到能夠實現所要求的功能的目的。
5、還要根據實驗的實際情況,新增些額外程式來使系統更加的穩定,如開關的消震盪(採用延遲)。
6、程式要儘量做到由各個子程式組成,在有些程式後面最好加註釋,這樣在程式出錯的檢查過程中可以更容易查詢的到,也更簡潔,更明白易懂。
7、該實驗的程式可以參考DVCC系列微控制器微機模擬實驗系統實驗指導書中的串並轉換實驗,也可自己根據自己熟悉的方法來程式設計。
8、在設計控制開關時,注意2箇中斷的開啟和關閉的先後順序,否則就會出錯。
9、這次的微控制器課程設計重點是理論與實際的相結合。不再只讀書了。
10、該設計從頭到尾都要自己參與,熟悉了對整個設計的過程,更系統的鍛鍊了自己。
希望可以幫到你.!